@miragon/event-storming-renderer 0.2.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +160 -0
  2. package/dist/EventStormingBaseViewer.d.ts +25 -3
  3. package/dist/EventStormingBaseViewer.d.ts.map +1 -1
  4. package/dist/Modeler.d.ts +1 -1
  5. package/dist/Modeler.d.ts.map +1 -1
  6. package/dist/board-bounds/BoardBounds.d.ts +3 -0
  7. package/dist/board-bounds/BoardBounds.d.ts.map +1 -1
  8. package/dist/board-menu/ShortcutsDialog.d.ts +27 -0
  9. package/dist/board-menu/ShortcutsDialog.d.ts.map +1 -0
  10. package/dist/board-menu/index.d.ts +7 -0
  11. package/dist/board-menu/index.d.ts.map +1 -0
  12. package/dist/board-menu/menu.d.ts +85 -0
  13. package/dist/board-menu/menu.d.ts.map +1 -0
  14. package/dist/board-menu/shortcuts.d.ts +43 -0
  15. package/dist/board-menu/shortcuts.d.ts.map +1 -0
  16. package/dist/collaborative/CollaborativeEventStorming.d.ts +33 -0
  17. package/dist/collaborative/CollaborativeEventStorming.d.ts.map +1 -0
  18. package/dist/collaborative/index.d.ts +2 -0
  19. package/dist/collaborative/index.d.ts.map +1 -0
  20. package/dist/context-pad/EventStormingContextPadProvider.d.ts +4 -1
  21. package/dist/context-pad/EventStormingContextPadProvider.d.ts.map +1 -1
  22. package/dist/draw/EventStormingRenderer.d.ts.map +1 -1
  23. package/dist/draw/icons.d.ts +20 -19
  24. package/dist/draw/icons.d.ts.map +1 -1
  25. package/dist/draw/lucide.d.ts +31 -0
  26. package/dist/draw/lucide.d.ts.map +1 -0
  27. package/dist/draw/palette-icons.d.ts.map +1 -1
  28. package/dist/draw/styles.d.ts +10 -9
  29. package/dist/draw/styles.d.ts.map +1 -1
  30. package/dist/draw-tool/EventStormingDrawTool.d.ts.map +1 -1
  31. package/dist/draw-tool/EventStormingDrawingHandles.d.ts +3 -1
  32. package/dist/draw-tool/EventStormingDrawingHandles.d.ts.map +1 -1
  33. package/dist/event-storming.css +1 -1
  34. package/dist/index.d.ts +8 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +1517 -873
  37. package/dist/index.js.map +1 -1
  38. package/dist/io/EventStormingExporter.d.ts +1 -3
  39. package/dist/io/EventStormingExporter.d.ts.map +1 -1
  40. package/dist/io/EventStormingImporter.d.ts +19 -1
  41. package/dist/io/EventStormingImporter.d.ts.map +1 -1
  42. package/dist/io/index.d.ts +1 -0
  43. package/dist/io/index.d.ts.map +1 -1
  44. package/dist/io/saveSvg.d.ts.map +1 -1
  45. package/dist/io/types.d.ts +5 -0
  46. package/dist/io/types.d.ts.map +1 -1
  47. package/dist/io/warnings.d.ts +7 -0
  48. package/dist/io/warnings.d.ts.map +1 -0
  49. package/dist/keyboard/EventStormingKeyboard.d.ts +14 -4
  50. package/dist/keyboard/EventStormingKeyboard.d.ts.map +1 -1
  51. package/dist/keyboard/index.d.ts +2 -1
  52. package/dist/keyboard/index.d.ts.map +1 -1
  53. package/dist/label-editing/EventStormingLabelEditing.d.ts +27 -1
  54. package/dist/label-editing/EventStormingLabelEditing.d.ts.map +1 -1
  55. package/dist/label-editing/note-editor-dom.d.ts.map +1 -1
  56. package/dist/model/EventStormingElementFactory.d.ts +5 -3
  57. package/dist/model/EventStormingElementFactory.d.ts.map +1 -1
  58. package/dist/model/random-id.d.ts +5 -0
  59. package/dist/model/random-id.d.ts.map +1 -0
  60. package/dist/palette/EventStormingPaletteProvider.d.ts +39 -1
  61. package/dist/palette/EventStormingPaletteProvider.d.ts.map +1 -1
  62. package/dist/palette/index.d.ts +1 -1
  63. package/dist/palette/index.d.ts.map +1 -1
  64. package/dist/read-only/EventStormingReadOnly.d.ts +20 -0
  65. package/dist/read-only/EventStormingReadOnly.d.ts.map +1 -0
  66. package/dist/read-only/index.d.ts +5 -0
  67. package/dist/read-only/index.d.ts.map +1 -0
  68. package/dist/theme/index.d.ts +1 -1
  69. package/dist/theme/index.d.ts.map +1 -1
  70. package/dist/theme/palette.d.ts +27 -31
  71. package/dist/theme/palette.d.ts.map +1 -1
  72. package/package.json +10 -9
@@ -1,4 +1,3 @@
1
- import { default as Canvas } from 'diagram-js/lib/core/Canvas';
2
1
  import { default as ElementRegistry } from 'diagram-js/lib/core/ElementRegistry';
3
2
  import { EventStormingBoard } from '@miragon/event-storming-schema-model';
4
3
  /**
@@ -8,9 +7,8 @@ import { EventStormingBoard } from '@miragon/event-storming-schema-model';
8
7
  */
9
8
  export default class EventStormingExporter {
10
9
  private readonly elementRegistry;
11
- private readonly canvas;
12
10
  static $inject: string[];
13
- constructor(elementRegistry: ElementRegistry, canvas: Canvas);
11
+ constructor(elementRegistry: ElementRegistry);
14
12
  export(): EventStormingBoard;
15
13
  /** Builds a BoardElement from the DI properties; position = shape center. */
16
14
  private buildElement;
@@ -1 +1 @@
1
- {"version":3,"file":"EventStormingExporter.d.ts","sourceRoot":"","sources":["../../src/io/EventStormingExporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAML,KAAK,kBAAkB,EAExB,MAAM,sCAAsC,CAAC;AAS9C;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IAItC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,MAAM,CAAC,OAAO,WAAiC;gBAG5B,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,MAAM;IAGjC,MAAM,IAAI,kBAAkB;IAmC5B,6EAA6E;IAC7E,OAAO,CAAC,YAAY;CAoCrB"}
1
+ {"version":3,"file":"EventStormingExporter.d.ts","sourceRoot":"","sources":["../../src/io/EventStormingExporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAML,KAAK,kBAAkB,EAExB,MAAM,sCAAsC,CAAC;AAS9C;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IAG5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAF5C,MAAM,CAAC,OAAO,WAAuB;gBAER,eAAe,EAAE,eAAe;IAE7D,MAAM,IAAI,kBAAkB;IAqC5B,6EAA6E;IAC7E,OAAO,CAAC,YAAY;CAoCrB"}
@@ -6,6 +6,10 @@ import { EventStormingBoard } from '@miragon/event-storming-schema-model';
6
6
  import { default as BoardBounds } from '../board-bounds/BoardBounds.js';
7
7
  import { default as EventStormingElementFactory } from '../model/EventStormingElementFactory.js';
8
8
  import { ImportWarning } from './types.js';
9
+ export interface EventStormingImporterConfig {
10
+ /** Fit the board into the view after every import (default true). */
11
+ fitOnImport?: boolean | undefined;
12
+ }
9
13
  /**
10
14
  * Bridges the EventStormingBoard model into the diagram-js canvas. Deliberately bypasses the
11
15
  * commandStack (import path): no undo, no dirty.
@@ -17,10 +21,24 @@ export default class EventStormingImporter {
17
21
  private readonly boardBounds;
18
22
  private readonly eventBus;
19
23
  private readonly elementRegistry;
24
+ private readonly config?;
20
25
  static $inject: string[];
21
- constructor(canvas: Canvas, elementFactory: ElementFactory, factory: EventStormingElementFactory, boardBounds: BoardBounds, eventBus: EventBus, elementRegistry: ElementRegistry);
26
+ constructor(canvas: Canvas, elementFactory: ElementFactory, factory: EventStormingElementFactory, boardBounds: BoardBounds, eventBus: EventBus, elementRegistry: ElementRegistry, config?: EventStormingImporterConfig | undefined);
22
27
  import(board: EventStormingBoard): ImportWarning[];
28
+ /**
29
+ * The board root, created on the first import. Any other root goes: diagram-js creates an
30
+ * implicit one whenever something asks for the root before the first import (an export, a
31
+ * palette create), and it would stay in the registry under an id the next board could reuse.
32
+ */
33
+ private boardRoot;
34
+ /**
35
+ * Centres the content at the largest zoom that shows all of it, never above 100% (guide §5.9);
36
+ * an empty board, with nothing to fit, shows the centre of its default frame at 100%. Hosts with
37
+ * their own fit insets refit after.
38
+ */
39
+ private fitToContent;
23
40
  private createShape;
41
+ /** Removes every element but the roots (removing a root as a shape corrupts the canvas). */
24
42
  clear(): void;
25
43
  }
26
44
  //# sourceMappingURL=EventStormingImporter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventStormingImporter.d.ts","sourceRoot":"","sources":["../../src/io/EventStormingImporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,cAAc,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAEzD,OAAO,KAAK,EAAgB,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC7F,OAAO,KAAK,WAAW,MAAM,gCAAgC,CAAC;AAC9D,OAAO,KAAK,2BAA2B,MAAM,yCAAyC,CAAC;AAEvF,OAAO,EAAW,KAAK,aAAa,EAA2B,MAAM,YAAY,CAAC;AAalF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IAWtC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAflC,MAAM,CAAC,OAAO,WAOZ;gBAGiB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,2BAA2B,EACpC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe;IAGnD,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;IAmFlD,OAAO,CAAC,WAAW;IAWnB,KAAK,IAAI,IAAI;CAYd"}
1
+ {"version":3,"file":"EventStormingImporter.d.ts","sourceRoot":"","sources":["../../src/io/EventStormingImporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,cAAc,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAEzD,OAAO,KAAK,EAAgB,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC7F,OAAO,KAAK,WAAW,MAAM,gCAAgC,CAAC;AAC9D,OAAO,KAAK,2BAA2B,MAAM,yCAAyC,CAAC;AAEvF,OAAO,EAAW,KAAK,aAAa,EAA2B,MAAM,YAAY,CAAC;AAqBlF,MAAM,WAAW,2BAA2B;IAC1C,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IAYtC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAjB1B,MAAM,CAAC,OAAO,WAQZ;gBAGiB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,2BAA2B,EACpC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,MAAM,CAAC,EAAE,2BAA2B,YAAA;IAGvD,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;IAuElD;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAYjB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,WAAW;IAWnB,4FAA4F;IAC5F,KAAK,IAAI,IAAI;CAad"}
@@ -5,4 +5,5 @@ export { default as EventStormingExporter } from './EventStormingExporter.js';
5
5
  export { saveSVG } from './saveSvg.js';
6
6
  export { ROOT_ID } from './types.js';
7
7
  export type { ImportWarning, RootBusinessObject } from './types.js';
8
+ export { importWarningText } from './warnings.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/io/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAI9C,eAAO,MAAM,QAAQ,EAAE,iBAGtB,CAAC;AAEF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/io/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAI9C,eAAO,MAAM,QAAQ,EAAE,iBAGtB,CAAC;AAEF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"saveSvg.d.ts","sourceRoot":"","sources":["../../src/io/saveSvg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AAGrD,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAoB3E"}
1
+ {"version":3,"file":"saveSvg.d.ts","sourceRoot":"","sources":["../../src/io/saveSvg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AAGrD,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAKD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAwB3E"}
@@ -1,8 +1,13 @@
1
1
  import { BoardConfig } from '@miragon/event-storming-schema-model';
2
2
  export { ROOT_ID } from '../model/di-types.js';
3
3
  export interface ImportWarning {
4
+ /** For the person who reads it; a parser finding starts with its line: "Line 4: …". */
4
5
  readonly message: string;
5
6
  readonly elementId?: string;
7
+ /** A parser finding's 1-based line in the board text. */
8
+ readonly line?: number;
9
+ /** A parser finding's source line, comment-stripped. */
10
+ readonly source?: string;
6
11
  }
7
12
  /** Board metadata stored on the root element (config + lossless passthrough). */
8
13
  export interface RootBusinessObject {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/io/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/io/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C"}
@@ -0,0 +1,7 @@
1
+ import { ImportWarning } from './types.js';
2
+ /**
3
+ * One import warning as a single line of text, for hosts that take plain strings (the
4
+ * collaborative contract, a console): the message, then a parser finding's source line.
5
+ */
6
+ export declare function importWarningText(warning: ImportWarning): string;
7
+ //# sourceMappingURL=warnings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warnings.d.ts","sourceRoot":"","sources":["../../src/io/warnings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAIhE"}
@@ -1,4 +1,5 @@
1
1
  import { default as Canvas } from 'diagram-js/lib/core/Canvas';
2
+ import { default as ElementRegistry } from 'diagram-js/lib/core/ElementRegistry';
2
3
  import { default as CommandStack } from 'diagram-js/lib/command/CommandStack';
3
4
  import { default as EventBus } from 'diagram-js/lib/core/EventBus';
4
5
  import { default as Create } from 'diagram-js/lib/features/create/Create';
@@ -8,13 +9,22 @@ import { default as Selection } from 'diagram-js/lib/features/selection/Selectio
8
9
  import { default as Modeling } from 'diagram-js/lib/features/modeling/Modeling';
9
10
  import { default as EventStormingCopyPaste } from '../modeling/EventStormingCopyPaste.js';
10
11
  import { default as EventStormingElementFactory } from '../model/EventStormingElementFactory.js';
12
+ import { default as EventStormingReadOnly } from '../read-only/EventStormingReadOnly.js';
13
+ export interface EventStormingKeyboardConfig {
14
+ /**
15
+ * Bind Cmd/Ctrl+Z, Cmd/Ctrl+Shift+Z and Cmd/Ctrl+Y to the canvas command stack (default true).
16
+ * A host that owns the history (the VS Code document) passes false so the keys reach it.
17
+ */
18
+ undoRedoKeys?: boolean | undefined;
19
+ }
11
20
  /**
12
- * Minimal keyboard binding on the canvas container: undo/redo, delete, copy/paste/duplicate,
13
- * arrow-key nudge of the selection, plus the single-key tools E (domain event), C (command) and
14
- * L (lasso). Deliberately a DOM listener (no diagram-js keyboard-service binding needed).
21
+ * Minimal keyboard binding: undo/redo, select all, delete, copy/paste/duplicate, arrow-key nudge
22
+ * of the selection, plus the single-key tools E (domain event), C (command) and L (lasso).
23
+ * Deliberately a DOM listener (no diagram-js keyboard-service binding needed). Under the
24
+ * read-only lock only select all, copy and the lasso stay.
15
25
  */
16
26
  export default class EventStormingKeyboard {
17
27
  static $inject: string[];
18
- constructor(canvas: Canvas, commandStack: CommandStack, selection: Selection, modeling: Modeling, copyPaste: EventStormingCopyPaste, factory: EventStormingElementFactory, create: Create, mouse: Mouse, lassoTool: LassoTool, eventBus: EventBus);
28
+ constructor(config: EventStormingKeyboardConfig | undefined, canvas: Canvas, commandStack: CommandStack, selection: Selection, modeling: Modeling, copyPaste: EventStormingCopyPaste, factory: EventStormingElementFactory, create: Create, mouse: Mouse, lassoTool: LassoTool, eventBus: EventBus, elementRegistry?: ElementRegistry, readOnly?: Pick<EventStormingReadOnly, 'isReadOnly'>);
19
29
  }
20
30
  //# sourceMappingURL=EventStormingKeyboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventStormingKeyboard.d.ts","sourceRoot":"","sources":["../../src/keyboard/EventStormingKeyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,uCAAuC,CAAC;AAChE,OAAO,KAAK,SAAS,MAAM,8CAA8C,CAAC;AAC1E,OAAO,KAAK,KAAK,MAAM,qCAAqC,CAAC;AAC7D,OAAO,KAAK,SAAS,MAAM,6CAA6C,CAAC;AACzE,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;AAEtE,OAAO,KAAK,sBAAsB,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,2BAA2B,MAAM,yCAAyC,CAAC;AAcvF;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC,MAAM,CAAC,OAAO,WAWZ;gBAGA,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,sBAAsB,EACjC,OAAO,EAAE,2BAA2B,EACpC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ;CAiErB"}
1
+ {"version":3,"file":"EventStormingKeyboard.d.ts","sourceRoot":"","sources":["../../src/keyboard/EventStormingKeyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,YAAY,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,uCAAuC,CAAC;AAChE,OAAO,KAAK,SAAS,MAAM,8CAA8C,CAAC;AAC1E,OAAO,KAAK,KAAK,MAAM,qCAAqC,CAAC;AAC7D,OAAO,KAAK,SAAS,MAAM,6CAA6C,CAAC;AACzE,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;AAEtE,OAAO,KAAK,sBAAsB,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,2BAA2B,MAAM,yCAAyC,CAAC;AACvF,OAAO,KAAK,qBAAqB,MAAM,uCAAuC,CAAC;AAe/E,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC,MAAM,CAAC,OAAO,WAcZ;gBAGA,MAAM,EAAE,2BAA2B,GAAG,SAAS,EAC/C,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,sBAAsB,EACjC,OAAO,EAAE,2BAA2B,EACpC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,eAAe,CAAC,EAAE,eAAe,EACjC,QAAQ,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,YAAY,CAAC;CA2FvD"}
@@ -1,5 +1,6 @@
1
1
  import { ModuleDeclaration } from 'didi';
2
- /** Undo/redo/delete via keyboard on the canvas container. */
2
+ /** Undo/redo, delete, copy/paste, nudge and the single-key tools for keys aimed at the canvas. */
3
3
  export declare const eventStormingKeyboardModule: ModuleDeclaration;
4
4
  export { default as EventStormingKeyboard } from './EventStormingKeyboard.js';
5
+ export type { EventStormingKeyboardConfig } from './EventStormingKeyboard.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keyboard/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAG9C,6DAA6D;AAC7D,eAAO,MAAM,2BAA2B,EAAE,iBAGzC,CAAC;AAEF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keyboard/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAG9C,kGAAkG;AAClG,eAAO,MAAM,2BAA2B,EAAE,iBAGzC,CAAC;AAEF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,YAAY,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { default as Canvas } from 'diagram-js/lib/core/Canvas';
2
+ import { default as ElementRegistry } from 'diagram-js/lib/core/ElementRegistry';
2
3
  import { default as EventBus } from 'diagram-js/lib/core/EventBus';
3
4
  import { EventStormingConnection, EventStormingShape } from '../model/di-types.js';
4
5
  import { default as EventStormingModeling } from '../modeling/EventStormingModeling.js';
6
+ import { EventStormingReadOnly } from '../read-only/index.js';
5
7
  /**
6
8
  * Defuses DSL metacharacters in labels: in the `.storm` DSL, names double as references —
7
9
  * `->`, `;`, square brackets and comment starters would corrupt arrow/coordinate lines on
@@ -21,9 +23,28 @@ export declare function sanitizeLabel(raw: string): string;
21
23
  export default class EventStormingLabelEditing {
22
24
  private readonly canvas;
23
25
  private readonly modeling;
26
+ private readonly elementRegistry?;
27
+ private readonly readOnly?;
24
28
  static $inject: string[];
25
29
  private active;
26
- constructor(eventBus: EventBus, canvas: Canvas, modeling: EventStormingModeling);
30
+ private suspended;
31
+ private resumeTimer;
32
+ constructor(eventBus: EventBus, canvas: Canvas, modeling: EventStormingModeling, elementRegistry?: ElementRegistry | undefined, readOnly?: Pick<EventStormingReadOnly, "isReadOnly"> | undefined);
33
+ /**
34
+ * Takes an open edit down WITHOUT committing it, for an import that replaces the board: its
35
+ * element is about to be removed, so a commit (a blur or a click once the board is replaced)
36
+ * would land on a detached shape and be wiped with the history. Hosts re-import remote states
37
+ * while the user types; `resumeAfterImport` brings the editor back with the typed text.
38
+ */
39
+ suspend(): void;
40
+ /**
41
+ * Reopens a suspended edit on the element with the same id, if the imported board still has
42
+ * it. Deferred to the next task, after the host has restored its viewbox around the import, so
43
+ * the field opens where the element ends up.
44
+ */
45
+ resumeAfterImport(): void;
46
+ private resume;
47
+ private restoreNoteAlign;
27
48
  activate(element: EventStormingShape): void;
28
49
  /**
29
50
  * WYSIWYG editing for notes: a contenteditable overlay rendering the markdown subset live
@@ -39,5 +60,10 @@ export default class EventStormingLabelEditing {
39
60
  */
40
61
  activateConnection(conn: EventStormingConnection): void;
41
62
  cancel(): void;
63
+ /** The edit open right now (its element and the uncommitted text), for hosts and tests. */
64
+ openEdit(): {
65
+ elementId: string;
66
+ value: string;
67
+ } | undefined;
42
68
  }
43
69
  //# sourceMappingURL=EventStormingLabelEditing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventStormingLabelEditing.d.ts","sourceRoot":"","sources":["../../src/label-editing/EventStormingLabelEditing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,qBAAqB,MAAM,sCAAsC,CAAC;AA4B9E;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CASjD;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAO1C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAP3B,MAAM,CAAC,OAAO,WAAmD;IAEjE,OAAO,CAAC,MAAM,CAA2B;gBAGvC,QAAQ,EAAE,QAAQ,EACD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,qBAAqB;IAYlD,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAuE3C;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IA2IpB;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI;IAyDvD,MAAM,IAAI,IAAI;CAGf"}
1
+ {"version":3,"file":"EventStormingLabelEditing.d.ts","sourceRoot":"","sources":["../../src/label-editing/EventStormingLabelEditing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,qBAAqB,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAA2B,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AA2C5F;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CASjD;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAe1C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAjB5B,MAAM,CAAC,OAAO,WAMZ;IAEF,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,WAAW,CAA4C;gBAG7D,QAAQ,EAAE,QAAQ,EACD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,qBAAqB,EAC/B,eAAe,CAAC,EAAE,eAAe,YAAA,EACjC,QAAQ,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,YAAY,CAAC,YAAA;IAwBvE;;;;;OAKG;IACH,OAAO,IAAI,IAAI;IAOf;;;;OAIG;IACH,iBAAiB,IAAI,IAAI;IAUzB,OAAO,CAAC,MAAM;IA2Bd,OAAO,CAAC,gBAAgB,CAAgD;IAExE,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAgF3C;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IA0JpB;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI;IAqEvD,MAAM,IAAI,IAAI;IAId,2FAA2F;IAC3F,QAAQ,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;CAK7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"note-editor-dom.d.ts","sourceRoot":"","sources":["../../src/label-editing/note-editor-dom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAInG;;;;;GAKG;AAEH,+FAA+F;AAC/F,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAE1C,MAAM,MAAM,iBAAiB,GAC3B,WAAW,GAAG,aAAa,GAAG,aAAa,GAAG,uBAAuB,GAAG,qBAAqB,CAAC;AAEhG,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,mBAAmB,CAAC;IAChC,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,eAAO,MAAM,gBAAgB,EAAE,SAAS,mBAAmB,EAAgC,CAAC;AAC5F,eAAO,MAAM,cAAc,EAAE,SAAS,iBAAiB,EAAgC,CAAC;AAExF,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAE/D;AAED,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAiBxE;AAaD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CA4C3D;AA2BD,gGAAgG;AAChG,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAQtD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAcrE;AAED,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,EAAE,CAMjE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAMzD;AAED,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CActD;AAmBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,GAC5C,WAAW,CAwBb;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,YAAY,GAAG,UAAU,EAC/B,KAAK,EAAE,mBAAmB,GAAG,iBAAiB,GAC7C,IAAI,CAMN;AAED,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAIlF"}
1
+ {"version":3,"file":"note-editor-dom.d.ts","sourceRoot":"","sources":["../../src/label-editing/note-editor-dom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAInG;;;;;GAKG;AAEH,+FAA+F;AAC/F,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAE1C,MAAM,MAAM,iBAAiB,GAC3B,WAAW,GAAG,aAAa,GAAG,aAAa,GAAG,uBAAuB,GAAG,qBAAqB,CAAC;AAEhG,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,mBAAmB,CAAC;IAChC,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,eAAO,MAAM,gBAAgB,EAAE,SAAS,mBAAmB,EAAgC,CAAC;AAC5F,eAAO,MAAM,cAAc,EAAE,SAAS,iBAAiB,EAAgC,CAAC;AAExF,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAE/D;AAED,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAiBxE;AAaD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CA4C3D;AA2BD,gGAAgG;AAChG,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAQtD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAcrE;AAED,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,EAAE,CAMjE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAMzD;AAED,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CActD;AAgBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,GAC5C,WAAW,CAwBb;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,YAAY,GAAG,UAAU,EAC/B,KAAK,EAAE,mBAAmB,GAAG,iBAAiB,GAC7C,IAAI,CAON;AAED,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAIlF"}
@@ -18,9 +18,11 @@ export default class EventStormingElementFactory {
18
18
  */
19
19
  uniqueLabel(base: string): string;
20
20
  /**
21
- * DSL-style id `<kind-prefix>_<n>` for interactively created elements, collision-checked
22
- * against the elementRegistry. `reserved` covers ids handed out for the same batch before
23
- * anything is placed (e.g. a multi-shape paste — the clones are not in the registry yet).
21
+ * Id `<kind-prefix>_<random>` for interactively created elements (`event_k3x9q2ab`): random,
22
+ * because peers editing one board each allocate on their own, and a counter would hand both the
23
+ * same `event_1` that the parser then gives to only one of them. Collision-checked against the
24
+ * elementRegistry; `reserved` covers ids handed out for the same batch before anything is
25
+ * placed (e.g. a multi-shape paste — the clones are not in the registry yet).
24
26
  */
25
27
  allocateId(type: EventStormingShapeType, reserved?: ReadonlySet<string>): string;
26
28
  /** Builds a fixed-size sticky from a schema element (position = center). */
@@ -1 +1 @@
1
- {"version":3,"file":"EventStormingElementFactory.d.ts","sourceRoot":"","sources":["../../src/model/EventStormingElementFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,cAAc,EACd,WAAW,EACZ,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAC;AAoBvB;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,2BAA2B;IAI5C,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAJlC,MAAM,CAAC,OAAO,WAAyC;gBAGpC,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe;IAGnD;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAYjC;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,sBAAsB,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM;IAQhF,4EAA4E;IAC5E,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,kBAAkB;IAmBlD,UAAU,CAAC,EAAE,EAAE,WAAW,GAAG,kBAAkB;IAyB/C,aAAa,CAAC,EAAE,EAAE,cAAc,GAAG,kBAAkB;IAUrD,yFAAyF;IACzF,uBAAuB,CACrB,YAAY,EAAE,aAAa,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EACrD,KAAK,GAAE;QACL,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;QAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,cAAc,CAAC;KAC5B,GACL,kBAAkB;IAwBrB,mFAAmF;IACnF,SAAS,CAAC,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB;IAc7E;;;;OAIG;IACH,iBAAiB,IAAI,kBAAkB;IAavC,WAAW,CACT,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,kBAAkB,GACzB,uBAAuB;CAY3B"}
1
+ {"version":3,"file":"EventStormingElementFactory.d.ts","sourceRoot":"","sources":["../../src/model/EventStormingElementFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,cAAc,EACd,WAAW,EACZ,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAC;AAqBvB;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,2BAA2B;IAI5C,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAJlC,MAAM,CAAC,OAAO,WAAyC;gBAGpC,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe;IAGnD;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAYjC;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,sBAAsB,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM;IAQhF,4EAA4E;IAC5E,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,kBAAkB;IAmBlD,UAAU,CAAC,EAAE,EAAE,WAAW,GAAG,kBAAkB;IAyB/C,aAAa,CAAC,EAAE,EAAE,cAAc,GAAG,kBAAkB;IAUrD,yFAAyF;IACzF,uBAAuB,CACrB,YAAY,EAAE,aAAa,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EACrD,KAAK,GAAE;QACL,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;QAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,cAAc,CAAC;KAC5B,GACL,kBAAkB;IAwBrB,mFAAmF;IACnF,SAAS,CAAC,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB;IAc7E;;;;OAIG;IACH,iBAAiB,IAAI,kBAAkB;IAavC,WAAW,CACT,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,kBAAkB,GACzB,uBAAuB;CAY3B"}
@@ -0,0 +1,5 @@
1
+ /** Long enough that two peers practically never draw the same id, short enough to read in text. */
2
+ export declare const RANDOM_ID_LENGTH = 8;
3
+ /** Lowercase letters and digits: inside the DSL id charset, and no letter case to mistype. */
4
+ export declare function randomIdSuffix(): string;
5
+ //# sourceMappingURL=random-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random-id.d.ts","sourceRoot":"","sources":["../../src/model/random-id.ts"],"names":[],"mappings":"AAEA,mGAAmG;AACnG,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAMlC,8FAA8F;AAC9F,wBAAgB,cAAc,IAAI,MAAM,CASvC"}
@@ -1,19 +1,57 @@
1
1
  import { default as Palette } from 'diagram-js/lib/features/palette/Palette';
2
+ import { default as Canvas } from 'diagram-js/lib/core/Canvas';
2
3
  import { default as Create } from 'diagram-js/lib/features/create/Create';
4
+ import { default as ElementRegistry } from 'diagram-js/lib/core/ElementRegistry';
3
5
  import { default as EventBus } from 'diagram-js/lib/core/EventBus';
6
+ import { default as Modeling } from 'diagram-js/lib/features/modeling/Modeling';
7
+ import { default as Selection } from 'diagram-js/lib/features/selection/Selection';
8
+ import { FreeArea } from '@miragon/modeler-api';
4
9
  import { default as LassoTool } from 'diagram-js/lib/features/lasso-tool/LassoTool';
5
10
  import { default as EventStormingDrawTool } from '../draw-tool/EventStormingDrawTool.js';
6
11
  import { PaletteEntries, default as PaletteProvider } from 'diagram-js/lib/features/palette/PaletteProvider';
7
12
  import { default as EventStormingElementFactory } from '../model/EventStormingElementFactory.js';
8
13
  import { default as EventStormingModeling } from '../modeling/EventStormingModeling.js';
14
+ import { default as EventStormingLabelEditing } from '../label-editing/EventStormingLabelEditing.js';
15
+ /** Container margins in screen px that the host's chrome covers. */
16
+ export interface FreeRectInsets {
17
+ top: number;
18
+ right: number;
19
+ bottom: number;
20
+ left: number;
21
+ }
22
+ export type { FreeArea };
23
+ export interface EventStormingPaletteConfig {
24
+ freeArea?: FreeArea | undefined;
25
+ /** @deprecated Pass `freeArea: { insets }` instead; accepted until the next minor release. */
26
+ freeRectInsets?: (() => FreeRectInsets) | undefined;
27
+ }
28
+ /** The free area of the options: the modeler-api name first, then the deprecated one. */
29
+ export declare function resolveFreeArea(options: {
30
+ freeArea?: FreeArea | undefined;
31
+ freeRectInsets?: (() => FreeRectInsets) | undefined;
32
+ }): FreeArea | undefined;
9
33
  export default class EventStormingPaletteProvider implements PaletteProvider {
10
34
  private readonly create;
11
35
  private readonly factory;
12
36
  private readonly lassoTool;
13
37
  private readonly drawTool;
14
38
  private readonly eventStormingModeling;
39
+ private readonly canvas?;
40
+ private readonly modeling?;
41
+ private readonly selection?;
42
+ private readonly elementRegistry?;
43
+ private readonly labelEditing?;
44
+ private readonly config?;
15
45
  static $inject: string[];
16
- constructor(palette: Palette, create: Create, factory: EventStormingElementFactory, lassoTool: LassoTool, drawTool: EventStormingDrawTool, eventStormingModeling: EventStormingModeling, eventBus: EventBus);
46
+ constructor(palette: Palette, create: Create, factory: EventStormingElementFactory, lassoTool: LassoTool, drawTool: EventStormingDrawTool, eventStormingModeling: EventStormingModeling, eventBus: EventBus, canvas?: Canvas | undefined, modeling?: Modeling | undefined, selection?: Selection | undefined, elementRegistry?: ElementRegistry | undefined, labelEditing?: EventStormingLabelEditing | undefined, config?: EventStormingPaletteConfig | undefined);
17
47
  getPaletteEntries(): PaletteEntries;
48
+ /**
49
+ * Enter or Space on a creating entry (guide §5.5): a create that follows the pointer never ends
50
+ * without one, so the element goes straight to the centre of the free rectangle, selected and
51
+ * with its label editor open. False when the services for it are missing.
52
+ */
53
+ private placeInFreeRect;
54
+ /** The centre of what the chrome leaves free, in diagram coordinates. */
55
+ private freeAreaCentre;
18
56
  }
19
57
  //# sourceMappingURL=EventStormingPaletteProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventStormingPaletteProvider.d.ts","sourceRoot":"","sources":["../../src/palette/EventStormingPaletteProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,yCAAyC,CAAC;AACnE,OAAO,KAAK,MAAM,MAAM,uCAAuC,CAAC;AAChE,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,SAAS,MAAM,8CAA8C,CAAC;AAC1E,OAAO,KAAK,qBAAqB,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EACV,cAAc,EAEd,OAAO,IAAI,eAAe,EAC3B,MAAM,iDAAiD,CAAC;AAEzD,OAAO,KAAK,2BAA2B,MAAM,yCAAyC,CAAC;AACvF,OAAO,KAAK,qBAAqB,MAAM,sCAAsC,CAAC;AAoF9E,MAAM,CAAC,OAAO,OAAO,4BAA6B,YAAW,eAAe;IAaxE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAhBxC,MAAM,CAAC,OAAO,WAQZ;gBAGA,OAAO,EAAE,OAAO,EACC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,2BAA2B,EACpC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,qBAAqB,EAC/B,qBAAqB,EAAE,qBAAqB,EAC7D,QAAQ,EAAE,QAAQ;IAqBpB,iBAAiB,IAAI,cAAc;CAyCpC"}
1
+ {"version":3,"file":"EventStormingPaletteProvider.d.ts","sourceRoot":"","sources":["../../src/palette/EventStormingPaletteProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,yCAAyC,CAAC;AACnE,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,uCAAuC,CAAC;AAChE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;AACtE,OAAO,KAAK,SAAS,MAAM,6CAA6C,CAAC;AAEzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,SAAS,MAAM,8CAA8C,CAAC;AAC1E,OAAO,KAAK,qBAAqB,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EACV,cAAc,EAEd,OAAO,IAAI,eAAe,EAC3B,MAAM,iDAAiD,CAAC;AAEzD,OAAO,KAAK,2BAA2B,MAAM,yCAAyC,CAAC;AACvF,OAAO,KAAK,qBAAqB,MAAM,sCAAsC,CAAC;AAC9E,OAAO,KAAK,yBAAyB,MAAM,+CAA+C,CAAC;AAU3F,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEzB,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,8FAA8F;IAC9F,cAAc,CAAC,EAAE,CAAC,MAAM,cAAc,CAAC,GAAG,SAAS,CAAC;CACrD;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,cAAc,CAAC,EAAE,CAAC,MAAM,cAAc,CAAC,GAAG,SAAS,CAAC;CACrD,GAAG,QAAQ,GAAG,SAAS,CAIvB;AAuFD,MAAM,CAAC,OAAO,OAAO,4BAA6B,YAAW,eAAe;IAmBxE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAEtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IA7B1B,MAAM,CAAC,OAAO,WAcZ;gBAGA,OAAO,EAAE,OAAO,EACC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,2BAA2B,EACpC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,qBAAqB,EAC/B,qBAAqB,EAAE,qBAAqB,EAC7D,QAAQ,EAAE,QAAQ,EACD,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,QAAQ,CAAC,EAAE,QAAQ,YAAA,EACnB,SAAS,CAAC,EAAE,SAAS,YAAA,EACrB,eAAe,CAAC,EAAE,eAAe,YAAA,EACjC,YAAY,CAAC,EAAE,yBAAyB,YAAA,EACxC,MAAM,CAAC,EAAE,0BAA0B,YAAA;IAqBtD,iBAAiB,IAAI,cAAc;IA4CnC;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAuBvB,yEAAyE;IACzE,OAAO,CAAC,cAAc;CAavB"}
@@ -1,6 +1,6 @@
1
1
  import { ModuleDeclaration } from 'didi';
2
2
  /** Tool palette (drag-to-create). `paletteTooltip` overrides the diagram-js service of that name. */
3
3
  export declare const eventStormingPaletteModule: ModuleDeclaration;
4
- export { default as EventStormingPaletteProvider } from './EventStormingPaletteProvider.js';
4
+ export { default as EventStormingPaletteProvider, resolveFreeArea, } from './EventStormingPaletteProvider.js';
5
5
  export { default as EventStormingPaletteTooltip } from './EventStormingPaletteTooltip.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/palette/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAI9C,qGAAqG;AACrG,eAAO,MAAM,0BAA0B,EAAE,iBAIxC,CAAC;AAEF,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAC5F,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/palette/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAI9C,qGAAqG;AACrG,eAAO,MAAM,0BAA0B,EAAE,iBAIxC,CAAC;AAEF,OAAO,EACL,OAAO,IAAI,4BAA4B,EACvC,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { default as RuleProvider } from 'diagram-js/lib/features/rules/RuleProvider';
2
+ import { default as EventBus } from 'diagram-js/lib/core/EventBus';
3
+ /** Fired with `{ readOnly }` whenever the lock changes. */
4
+ export declare const READ_ONLY_CHANGED_EVENT = "eventStorming.readOnly.changed";
5
+ /**
6
+ * Locks every edit on the canvas while the document behind it cannot be saved from the canvas
7
+ * (an invalid file in an IDE host, guide §13.5): no move, resize, create, connect or delete
8
+ * through the rules, and the keyboard, context pad, label editor and drawing handles consult
9
+ * `isReadOnly()`. Selection, zoom, pan and export stay.
10
+ */
11
+ export default class EventStormingReadOnly extends RuleProvider {
12
+ private readonly bus;
13
+ static $inject: string[];
14
+ private readOnly;
15
+ constructor(bus: EventBus);
16
+ init(): void;
17
+ isReadOnly(): boolean;
18
+ setReadOnly(readOnly: boolean): void;
19
+ }
20
+ //# sourceMappingURL=EventStormingReadOnly.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventStormingReadOnly.d.ts","sourceRoot":"","sources":["../../src/read-only/EventStormingReadOnly.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,4CAA4C,CAAC;AACtE,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAEzD,2DAA2D;AAC3D,eAAO,MAAM,uBAAuB,mCAAmC,CAAC;AAoBxE;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,YAAY;IAKjD,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJhC,OAAgB,OAAO,WAAgB;IAEvC,OAAO,CAAC,QAAQ,CAAS;gBAEI,GAAG,EAAE,QAAQ;IAIjC,IAAI,IAAI,IAAI;IAIrB,UAAU,IAAI,OAAO;IAIrB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;CAKrC"}
@@ -0,0 +1,5 @@
1
+ import { ModuleDeclaration } from 'didi';
2
+ /** The canvas edit lock (invalid file in an IDE host). */
3
+ export declare const eventStormingReadOnlyModule: ModuleDeclaration;
4
+ export { default as EventStormingReadOnly, READ_ONLY_CHANGED_EVENT, } from './EventStormingReadOnly.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/read-only/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAI9C,0DAA0D;AAC1D,eAAO,MAAM,2BAA2B,EAAE,iBAIzC,CAAC;AAEF,OAAO,EACL,OAAO,IAAI,qBAAqB,EAChC,uBAAuB,GACxB,MAAM,4BAA4B,CAAC"}
@@ -1,2 +1,2 @@
1
- export { MIRAGON, CHROME_VARS, DARK_BOARD_VARS } from './palette.js';
1
+ export { MIRAGON } from './palette.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -2,26 +2,30 @@
2
2
  * Miragon design tokens — the single source of truth for every colour in the renderer's chrome.
3
3
  *
4
4
  * Values mirror the Miragon design system — the `miragon-brand:modeler-tool-design` skill in
5
- * `Miragon/corporate-identity` (its vendored `cd-tokens.generated.css` defines the `--cd-*`
6
- * variables, generated from `brand/tokens.json`). Re-copy from the skill to update; never fork the
7
- * hex values by hand. WHY this file exists: colours used to live in three hand-duplicated places
8
- * (the SVG `COLORS` object, the `--event-storming-*` CSS variables, and the webapp's own `:root`).
9
- * Here they are declared once. `draw/styles.ts` derives the public `COLORS`/`FONT`/… from
10
- * `MIRAGON`; `assets/event-storming.css` mirrors the `CHROME_VARS` / `DARK_BOARD_VARS` maps (a
11
- * unit test, `test/theme.sync.test.ts`, fails if the CSS drifts).
5
+ * `Miragon/corporate-identity`, whose files are vendored unchanged next to this module
6
+ * (`cd-tokens.generated.css`, `cd-tokens.generated.json`, `cd-canvas.css`; design system 1.13.0).
7
+ * Re-copy them from the skill to update; never fork the hex values by hand. The SVG drawing needs
8
+ * literal values (exports carry presentation attributes, never `var()`), so `draw/styles.ts`
9
+ * derives the public `COLORS`/`FONT`/… from `MIRAGON`; the chrome CSS in
10
+ * `assets/event-storming.css` reads the `--cd-ui-*` roles directly. The unit test
11
+ * `test/theme.sync.test.ts` fails if a `MIRAGON` value drifts from its `--cd-*` counterpart in the
12
+ * vendored token files or the CSS declares a colour of its own.
12
13
  *
13
- * Pure data — no DOM, no imports — so it stays inside the P1 DOM-free discipline.
14
+ * Pure data — no DOM, no imports — so it stays inside the P1 DOM-free discipline. The values stay
15
+ * literal (rather than read from the JSON) so the literal-string types survive into the public
16
+ * `COLORS` type.
14
17
  *
15
- * There is one theme (the CI defines no dark theme). Brand rule: blue leads (`blau` — surfaces,
16
- * buttons, links), green accents (`gruen` — key visual, highlights; never body text on white).
18
+ * The renderer draws light only (the modelers switch to dark together, guide §13.3). Brand rule:
19
+ * blue leads (`blau` — surfaces, buttons, links), green accents (`gruen` — key visual, highlights;
20
+ * never body text on white).
17
21
  */
18
- /** Raw Miragon brand ramp — exact `brand/tokens.json` values. */
22
+ /** Raw Miragon brand ramp — exact `cd-tokens.generated.json` values (`fest`). */
19
23
  export declare const MIRAGON: {
20
24
  /** Primary: surfaces, buttons, links, backgrounds. */
21
25
  readonly blau: "#335DE5";
22
26
  /** Deeper blue for links / accent text on white (WCAG AA, ~5.5:1). */
23
27
  readonly blauLink: "#2B50D4";
24
- /** Lightened blue for links / accents on dark surfaces (the opt-in "dark board"). */
28
+ /** Lightened blue for links / accents on dark surfaces. */
25
29
  readonly blauHell: "#6B8AFF";
26
30
  /** Accent: key visual, highlights, one emphasised word. Bright — a fill, never text on white. */
27
31
  readonly gruen: "#00E676";
@@ -30,27 +34,19 @@ export declare const MIRAGON: {
30
34
  /** Text on light, monochrome logo. Not pure black. */
31
35
  readonly schwarz: "#1D1D1D";
32
36
  readonly weiss: "#FFFFFF";
33
- /** Functional / status layer (own layer beside the brand palette; AA as text on white). */
34
- readonly success: "#0B7A55";
35
- readonly warning: "#92610A";
36
- readonly danger: "#C92A2A";
37
- readonly info: "#2B50D4";
38
- /** Dark base — the CI hero / nav-glass colour (rgb 8,10,32). Used only by the opt-in "dark board". */
37
+ /** Fixed light neutral for lines and borders on a light stage. */
38
+ readonly linie: "#E6E2E2";
39
+ /**
40
+ * Status layer (guide §3.3): the brand colours plus amber and red. Fills, borders, icons and
41
+ * dots; as text on white only `danger` and `info` reach AA.
42
+ */
43
+ readonly success: "#00E676";
44
+ readonly warning: "#FFB000";
45
+ readonly danger: "#CD1839";
46
+ readonly info: "#335DE5";
47
+ /** Dark base — the CI hero / nav-glass colour (rgb 8,10,32). The canvas never draws it. */
39
48
  readonly navy: "#080A20";
40
49
  /** Signature brand gradient — hero, large surfaces, brand moments. Use verbatim. */
41
50
  readonly gradientBrand: "linear-gradient(120deg, #335DE5 30%, #00E676)";
42
51
  };
43
- /**
44
- * Chrome CSS variables (`--event-storming-*`) authored in `assets/event-storming.css`. The drift
45
- * test keeps them in sync. WHY a separate map from `COLORS`: chrome needs surface/brand/danger/
46
- * shadow that the canvas does not, and only a subset of the canvas colours.
47
- */
48
- export declare const CHROME_VARS: Record<string, string>;
49
- /**
50
- * The per-board `style dark` directive (`.event-storming-container.event-storming-dark`)
51
- * overrides only the surround plus the default drawing ink (near-black strokes would vanish on
52
- * navy). This is the ONLY dark surface — there is no app-level dark mode. The stickies keep
53
- * their SVG presentation colours, so exports stay stable.
54
- */
55
- export declare const DARK_BOARD_VARS: Record<string, string>;
56
52
  //# sourceMappingURL=palette.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/theme/palette.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,iEAAiE;AACjE,eAAO,MAAM,OAAO;IAClB,sDAAsD;;IAEtD,sEAAsE;;IAEtE,qFAAqF;;IAErF,iGAAiG;;IAEjG,6CAA6C;;IAE7C,sDAAsD;;;IAGtD,2FAA2F;;;;;IAK3F,sGAAsG;;IAEtG,oFAAoF;;CAE5E,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAY9C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGlD,CAAC"}
1
+ {"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/theme/palette.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,iFAAiF;AACjF,eAAO,MAAM,OAAO;IAClB,sDAAsD;;IAEtD,sEAAsE;;IAEtE,2DAA2D;;IAE3D,iGAAiG;;IAEjG,6CAA6C;;IAE7C,sDAAsD;;;IAGtD,kEAAkE;;IAElE;;;OAGG;;;;;IAKH,2FAA2F;;IAE3F,oFAAoF;;CAE5E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miragon/event-storming-renderer",
3
- "version": "0.2.2",
3
+ "version": "0.4.0",
4
4
  "description": "Render and edit Event Storming boards in the browser, with a viewer and modeler built on diagram-js.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -36,23 +36,24 @@
36
36
  "test:browser": "npm --prefix ../.. run test:browser"
37
37
  },
38
38
  "dependencies": {
39
- "@miragon/event-storming-dsl": "0.2.2",
39
+ "@miragon/event-storming-dsl": "0.3.0",
40
40
  "@miragon/event-storming-schema-model": "0.2.1",
41
+ "@miragon/modeler-api": "1.2.0",
41
42
  "clsx": "2.1.1"
42
43
  },
43
44
  "peerDependencies": {
44
- "diagram-js": "^15.26.0",
45
+ "diagram-js": "^15.28.0",
45
46
  "didi": "^11.0.0",
46
47
  "tiny-svg": "^4.1.4"
47
48
  },
48
49
  "devDependencies": {
49
- "diagram-js": "15.26.0",
50
- "didi": "11.0.0",
51
- "jsdom": "30.0.1",
50
+ "diagram-js": "15.28.1",
51
+ "didi": "12.0.0",
52
+ "jsdom": "30.1.2",
52
53
  "tiny-svg": "4.1.4",
53
54
  "typescript": "6.0.3",
54
- "vite": "8.3.0",
55
- "vite-plugin-dts": "5.1.0",
56
- "vitest": "5.0.0"
55
+ "vite": "8.3.4",
56
+ "vite-plugin-dts": "5.1.2",
57
+ "vitest": "5.0.3"
57
58
  }
58
59
  }