@miragon/wardley-renderer 0.10.0 → 0.12.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 (57) hide show
  1. package/README.md +33 -22
  2. package/dist/WardleyBaseViewer.d.ts +0 -7
  3. package/dist/WardleyBaseViewer.d.ts.map +1 -1
  4. package/dist/collaborative/CollaborativeWardley.d.ts +0 -7
  5. package/dist/collaborative/CollaborativeWardley.d.ts.map +1 -1
  6. package/dist/color-picker/WardleyColorPicker.d.ts.map +1 -1
  7. package/dist/context-pad/WardleyContextPadProvider.d.ts +7 -0
  8. package/dist/context-pad/WardleyContextPadProvider.d.ts.map +1 -1
  9. package/dist/draw/icons.d.ts +4 -44
  10. package/dist/draw/icons.d.ts.map +1 -1
  11. package/dist/draw/label-layout.d.ts +2 -2
  12. package/dist/draw/lucide.d.ts +30 -0
  13. package/dist/draw/lucide.d.ts.map +1 -0
  14. package/dist/draw/styles.d.ts +1 -1
  15. package/dist/draw/styles.d.ts.map +1 -1
  16. package/dist/draw-tool/WardleyDrawTool.d.ts +8 -0
  17. package/dist/draw-tool/WardleyDrawTool.d.ts.map +1 -1
  18. package/dist/draw-tool/WardleyDrawingHandles.d.ts.map +1 -1
  19. package/dist/editor-state.d.ts +4 -3
  20. package/dist/editor-state.d.ts.map +1 -1
  21. package/dist/index.d.ts +0 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1208 -1249
  24. package/dist/index.js.map +1 -1
  25. package/dist/io/WardleySourceOrder.d.ts +1 -1
  26. package/dist/keyboard/WardleyKeyboard.d.ts +3 -12
  27. package/dist/keyboard/WardleyKeyboard.d.ts.map +1 -1
  28. package/dist/keyboard/index.d.ts +1 -1
  29. package/dist/keyboard/index.d.ts.map +1 -1
  30. package/dist/label-drag/WardleyLabelDragging.d.ts +1 -1
  31. package/dist/label-editing/WardleyLabelEditing.d.ts +6 -1
  32. package/dist/label-editing/WardleyLabelEditing.d.ts.map +1 -1
  33. package/dist/label-editing/index.d.ts +1 -0
  34. package/dist/label-editing/index.d.ts.map +1 -1
  35. package/dist/link-editing/WardleyLinkEditing.d.ts +7 -1
  36. package/dist/link-editing/WardleyLinkEditing.d.ts.map +1 -1
  37. package/dist/live-preview/LivePreview.d.ts +1 -1
  38. package/dist/map-menu/ShortcutsDialog.d.ts +1 -1
  39. package/dist/map-menu/dialog.d.ts +1 -1
  40. package/dist/map-menu/menu.d.ts +3 -3
  41. package/dist/map-menu/popover.d.ts +1 -1
  42. package/dist/map-menu/shortcuts.d.ts +1 -1
  43. package/dist/map-resize/MapResizeHandles.d.ts +1 -1
  44. package/dist/map-resize/MapResizeHandles.d.ts.map +1 -1
  45. package/dist/map-resize/ResizeAwareAutoScroll.d.ts +1 -1
  46. package/dist/model/WardleyElementFactory.d.ts +2 -2
  47. package/dist/model/di-types.d.ts +2 -2
  48. package/dist/modeling/WardleyModeling.d.ts +1 -1
  49. package/dist/modeling/cmd/UpdateConfigHandler.d.ts +1 -1
  50. package/dist/palette/WardleyPaletteProvider.d.ts +6 -0
  51. package/dist/palette/WardleyPaletteProvider.d.ts.map +1 -1
  52. package/dist/popup/WardleyElementSettingsProvider.d.ts.map +1 -1
  53. package/dist/theme/palette.d.ts +0 -2
  54. package/dist/theme/palette.d.ts.map +1 -1
  55. package/package.json +8 -8
  56. package/dist/draw/deprecated-icons.d.ts +0 -35
  57. package/dist/draw/deprecated-icons.d.ts.map +0 -1
@@ -13,7 +13,7 @@ export default class WardleySourceOrder {
13
13
  private elementIndex;
14
14
  private edgeIndex;
15
15
  constructor(eventBus: EventBus);
16
- remember(map: Pick<WardleyMap, 'elements' | 'edges'>): void;
16
+ remember(map: Pick<WardleyMap, "elements" | "edges">): void;
17
17
  /** Imported elements in source order, followed by the rest in their given (creation) order. */
18
18
  sortElements<T extends Identified>(elements: readonly T[]): T[];
19
19
  /** Imported edges in source order, followed by the rest in their given (creation) order. */
@@ -10,7 +10,7 @@ import { default as Modeling } from 'diagram-js/lib/features/modeling/Modeling';
10
10
  import { Injector } from 'didi';
11
11
  import { default as WardleyCopyPaste } from '../modeling/WardleyCopyPaste.js';
12
12
  import { default as WardleyElementFactory } from '../model/WardleyElementFactory.js';
13
- /** Diagram config `wardleyKeyboard` (Modeler option `keyboard`). */
13
+ /** Diagram config `wardleyKeyboard` (viewer option `undoRedoKeys`). */
14
14
  export interface WardleyKeyboardConfig {
15
15
  /**
16
16
  * Handle Cmd/Ctrl+Z, Cmd/Ctrl+Shift+Z and Cmd/Ctrl+Y on the canvas (default true). Hosts that own
@@ -18,20 +18,11 @@ export interface WardleyKeyboardConfig {
18
18
  */
19
19
  undoRedo?: boolean;
20
20
  }
21
- /**
22
- * Decides whether a keydown belongs to the host page rather than the canvas. Canvas shortcuts
23
- * only run when focus is on the canvas, the palette, or nowhere in particular (body) — so a
24
- * focused host button or select never deletes or nudges map elements. A focused plain button
25
- * (zoom, share, menu) still lets undo/redo and the single-key tools through, unless the host's
26
- * chrome owns every key aimed at it (`canvasTargetsOnly`, the Miragon modeler shell: its zoom
27
- * panel's buttons do not stop the keys they leave alone).
28
- */
29
- export declare function shouldIgnoreKeyEvent(event: KeyboardEvent, canvasContainer: HTMLElement, canvasTargetsOnly?: boolean): boolean;
30
21
  /**
31
22
  * Keyboard binding: undo/redo, delete, copy/paste/duplicate, arrow-key nudge, Escape (deselect),
32
23
  * Cmd/Ctrl+A (select all), the single-key tools C (component), U (user), N (note), P (pipeline),
33
- * L (lasso) and A (connect from the selected node). Deliberately a DOM listener (no diagram-js
34
- * keyboard-service binding needed).
24
+ * L (lasso) and A (connect from the selected node), all only while the canvas has the focus.
25
+ * Deliberately a DOM listener (no diagram-js keyboard-service binding needed).
35
26
  */
36
27
  export default class WardleyKeyboard {
37
28
  private readonly canvas;
@@ -1 +1 @@
1
- {"version":3,"file":"WardleyKeyboard.d.ts","sourceRoot":"","sources":["../../src/keyboard/WardleyKeyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAEzD,OAAO,KAAK,MAAM,MAAM,uCAAuC,CAAC;AAEhE,OAAO,KAAK,SAAS,MAAM,8CAA8C,CAAC;AAC1E,OAAO,KAAK,KAAK,MAAM,qCAAqC,CAAC;AAG7D,OAAO,KAAK,SAAS,MAAM,6CAA6C,CAAC;AACzE,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;AAEtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,KAAK,gBAAgB,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAa3E,oEAAoE;AACpE,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAsED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,eAAe,EAAE,WAAW,EAC5B,iBAAiB,UAAQ,GACxB,OAAO,CAYT;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAuBhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAGtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAhClC,MAAM,CAAC,OAAO,WAcZ;IAEF,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAGxB,MAAM,EAAE,MAAM,EAC/B,YAAY,EAAE,YAAY,EACT,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EACnC,SAAS,EAAE,gBAAgB,EACV,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EAC7B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EACD,eAAe,EAAE,eAAe,EACjD,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,qBAAqB,GAAG,SAAS;IAwJ3C;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,mBAAmB;IAK3B,iGAAiG;IACjG,OAAO,CAAC,cAAc;CAUvB"}
1
+ {"version":3,"file":"WardleyKeyboard.d.ts","sourceRoot":"","sources":["../../src/keyboard/WardleyKeyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAEzD,OAAO,KAAK,MAAM,MAAM,uCAAuC,CAAC;AAEhE,OAAO,KAAK,SAAS,MAAM,8CAA8C,CAAC;AAC1E,OAAO,KAAK,KAAK,MAAM,qCAAqC,CAAC;AAG7D,OAAO,KAAK,SAAS,MAAM,6CAA6C,CAAC;AACzE,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;AAEtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,KAAK,gBAAgB,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAc3E,uEAAuE;AACvE,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAwDD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAuBhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAGtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAhClC,MAAM,CAAC,OAAO,WAcZ;IAEF,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAGxB,MAAM,EAAE,MAAM,EAC/B,YAAY,EAAE,YAAY,EACT,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EACnC,SAAS,EAAE,gBAAgB,EACV,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EAC7B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EACD,eAAe,EAAE,eAAe,EACjD,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,qBAAqB,GAAG,SAAS;IAwJ3C;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,mBAAmB;IAK3B,iGAAiG;IACjG,OAAO,CAAC,cAAc;CAUvB"}
@@ -1,5 +1,5 @@
1
1
  import { ModuleDeclaration } from 'didi';
2
- /** Undo/redo/delete via keyboard on the canvas container. */
2
+ /** Undo/redo/delete and the single-key tools on the focused canvas. */
3
3
  export declare const wardleyKeyboardModule: ModuleDeclaration;
4
4
  export { default as WardleyKeyboard } from './WardleyKeyboard.js';
5
5
  //# 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,qBAAqB,EAAE,iBAGnC,CAAC;AAEF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,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,uEAAuE;AACvE,eAAO,MAAM,qBAAqB,EAAE,iBAGnC,CAAC;AAEF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
@@ -7,7 +7,7 @@ import { default as EvolutionGrid } from '../evolution-grid/EvolutionGrid.js';
7
7
  import { default as WardleyModeling } from '../modeling/WardleyModeling.js';
8
8
  import { WardleyShape } from '../model/di-types.js';
9
9
  /** Which offset a label writes: the node's own `label [dx, dy]` or its evolve line's. */
10
- export type LabelRole = 'name' | 'movement';
10
+ export type LabelRole = "name" | "movement";
11
11
  /**
12
12
  * OWM-style draggable labels: drag a component/anchor name or an evolve target name to store an
13
13
  * OWM `label [dx, dy]` offset (integers, clamped to ±200px) as ONE undoable command. A press without
@@ -24,6 +24,11 @@ export interface ActivateOptions {
24
24
  /** Caret or selection to restore; without it the whole text is selected. */
25
25
  selection?: FieldSelection;
26
26
  }
27
+ /**
28
+ * A field the user opens selects its whole text; a field reopened by a re-import keeps the caret
29
+ * and selection the user had, so the next key does not replace what was typed.
30
+ */
31
+ export declare function focusField(field: HTMLInputElement | HTMLTextAreaElement, options: ActivateOptions): void;
27
32
  /** Fired when a name was changed to a free variant because the requested one is taken. */
28
33
  export interface LabelDeduplicatedEvent {
29
34
  element: WardleyShape;
@@ -72,7 +77,7 @@ export default class WardleyLabelEditing {
72
77
  getActiveEdit(): ActiveLabelEdit | null;
73
78
  /**
74
79
  * After Enter/Escape the removed field leaves focus on <body>; hand it back to the canvas so
75
- * keyboard users keep their place, and bring back the context pad the editor had closed.
80
+ * keyboard users keep their place, and bring back the context pad a name editor had closed.
76
81
  */
77
82
  private returnToCanvas;
78
83
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"WardleyLabelEditing.d.ts","sourceRoot":"","sources":["../../src/label-editing/WardleyLabelEditing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAGzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,eAAe,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAyB3E,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,uEAAuE;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AAeD,0FAA0F;AAC1F,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAqBD,eAAO,MAAM,cAAc,gDAA2C,CAAC;AAEvE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAsCD;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAUpC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ1B,MAAM,CAAC,OAAO,WAAkF;IAEhG,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAGpB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,qBAAqB,EAC/C,QAAQ,EAAE,QAAQ;IAkCpB,qFAAqF;IACrF,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI;IA+IpE;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI;IA+EhF,sDAAsD;IACtD,MAAM,IAAI,IAAI;IAId,wGAAwG;IACxG,OAAO,CAAC,uBAAuB;IAS/B;;;OAGG;IACH,gBAAgB,IAAI,IAAI;IAIxB,4FAA4F;IAC5F,aAAa,IAAI,eAAe,GAAG,IAAI;IAWvC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAStB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,aAAa;CAoDtB"}
1
+ {"version":3,"file":"WardleyLabelEditing.d.ts","sourceRoot":"","sources":["../../src/label-editing/WardleyLabelEditing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAGzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,eAAe,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAyB3E,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,uEAAuE;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,gBAAgB,GAAG,mBAAmB,EAC7C,OAAO,EAAE,eAAe,GACvB,IAAI,CAWN;AAED,0FAA0F;AAC1F,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAqBD,eAAO,MAAM,cAAc,gDAA2C,CAAC;AAEvE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAsCD;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAUpC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ1B,MAAM,CAAC,OAAO,WAAkF;IAEhG,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAGpB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,qBAAqB,EAC/C,QAAQ,EAAE,QAAQ;IAkCpB,qFAAqF;IACrF,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI;IA+IpE;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI;IAkFhF,sDAAsD;IACtD,MAAM,IAAI,IAAI;IAId,wGAAwG;IACxG,OAAO,CAAC,uBAAuB;IAS/B;;;OAGG;IACH,gBAAgB,IAAI,IAAI;IAIxB,4FAA4F;IAC5F,aAAa,IAAI,eAAe,GAAG,IAAI;IAWvC;;;OAGG;IACH,OAAO,CAAC,cAAc;IActB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,aAAa;CAoDtB"}
@@ -3,4 +3,5 @@ import { ModuleDeclaration } from 'didi';
3
3
  export declare const labelEditingModule: ModuleDeclaration;
4
4
  export { default as WardleyLabelEditing } from './WardleyLabelEditing.js';
5
5
  export { createFieldError, type FieldError } from './fieldError.js';
6
+ export { focusField, type FieldSelection } from './WardleyLabelEditing.js';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/label-editing/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAG9C,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,EAAE,iBAGhC,CAAC;AAEF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/label-editing/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAG9C,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,EAAE,iBAGhC,CAAC;AAEF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
@@ -3,6 +3,7 @@ import { Injector } from 'didi';
3
3
  import { default as EventBus } from 'diagram-js/lib/core/EventBus';
4
4
  import { WardleyShape } from '../model/di-types.js';
5
5
  import { default as WardleyModeling } from '../modeling/WardleyModeling.js';
6
+ import { FieldSelection } from '../label-editing/index.js';
6
7
  /** Element types that carry an OWM `url(...)` reference. */
7
8
  export declare function canHaveLink(shape: WardleyShape): boolean;
8
9
  /** The stored address: `url` on components, `urlRef` on submaps (both live on the businessObject). */
@@ -26,9 +27,13 @@ export default class WardleyLinkEditing {
26
27
  * yet — so a minimal one is built from the shape.
27
28
  */
28
29
  setLink(shape: WardleyShape, rawUrl: string | undefined): boolean;
29
- /** @param options.value field content to restore instead of the current link (re-import). */
30
+ /**
31
+ * @param options.value field content to restore instead of the current link (re-import).
32
+ * @param options.selection caret or selection to restore; without it the whole text is selected.
33
+ */
30
34
  activate(shape: WardleyShape, options?: {
31
35
  value?: string;
36
+ selection?: FieldSelection;
32
37
  }): void;
33
38
  cancel(): void;
34
39
  /** `canvas.viewbox.changing` fires before the change, and `changed` waits 300ms under `deferUpdate`. */
@@ -38,6 +43,7 @@ export default class WardleyLinkEditing {
38
43
  getActiveEdit(): {
39
44
  elementId: string;
40
45
  value: string;
46
+ selection: FieldSelection;
41
47
  } | null;
42
48
  }
43
49
  //# sourceMappingURL=WardleyLinkEditing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WardleyLinkEditing.d.ts","sourceRoot":"","sources":["../../src/link-editing/WardleyLinkEditing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,eAAe,MAAM,gCAAgC,CAAC;AAwBlE,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAExD;AAED,sGAAsG;AACtG,wBAAgB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAM9D;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAQnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT3B,MAAM,CAAC,OAAO,WAAyD;IAEvE,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,eAAe,CAAS;gBAG9B,QAAQ,EAAE,QAAQ,EACD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,QAAQ;IAerC;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IA0BjE,6FAA6F;IAC7F,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,IAAI;IAyFrE,MAAM,IAAI,IAAI;IAId,wGAAwG;IACxG,OAAO,CAAC,uBAAuB;IAS/B,uGAAuG;IACvG,gBAAgB,IAAI,IAAI;IAIxB,aAAa,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAK7D"}
1
+ {"version":3,"file":"WardleyLinkEditing.d.ts","sourceRoot":"","sources":["../../src/link-editing/WardleyLinkEditing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,eAAe,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAgC,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAuB9F,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAExD;AAED,sGAAsG;AACtG,wBAAgB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAM9D;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAQnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT3B,MAAM,CAAC,OAAO,WAAyD;IAEvE,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,eAAe,CAAS;gBAG9B,QAAQ,EAAE,QAAQ,EACD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,QAAQ;IAerC;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IA0BjE;;;OAGG;IACH,QAAQ,CACN,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,cAAc,CAAA;KAAO,GAC3D,IAAI;IAwFP,MAAM,IAAI,IAAI;IAId,wGAAwG;IACxG,OAAO,CAAC,uBAAuB;IAS/B,uGAAuG;IACvG,gBAAgB,IAAI,IAAI;IAIxB,aAAa,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,cAAc,CAAA;KAAE,GAAG,IAAI;CASxF"}
@@ -2,7 +2,7 @@ import { default as EventBus } from 'diagram-js/lib/core/EventBus';
2
2
  import { WardleyMap } from '@miragon/wardley-schema-model';
3
3
  import { default as WardleyExporter } from '../io/WardleyExporter.js';
4
4
  /** The config fields a live preview changes: the plot size, the X-axis stage labels. */
5
- export type PreviewedField = 'size' | 'evolutionLabels';
5
+ export type PreviewedField = "size" | "evolutionLabels";
6
6
  /**
7
7
  * Fired before a command changes the document: `preExecute` for a command, `execute` for a redo
8
8
  * (which skips `preExecute`), `revert` for an undo.
@@ -2,7 +2,7 @@ import { DialogChrome, MapDialog } from './dialog.js';
2
2
  import { MapShortcutOptions, ShortcutsChrome } from './shortcuts.js';
3
3
  /** What the dialog needs of the chrome around the map; a `@miragon/modeler-shell` handle fits. */
4
4
  export interface ShortcutsDialogChrome extends ShortcutsChrome, DialogChrome {
5
- readonly messages: ShortcutsChrome['messages'] & DialogChrome['messages'];
5
+ readonly messages: ShortcutsChrome["messages"] & DialogChrome["messages"];
6
6
  }
7
7
  export type ShortcutsDialog = MapDialog;
8
8
  /**
@@ -30,7 +30,7 @@ export interface MapDialogParts {
30
30
  afterClose?(): void;
31
31
  }
32
32
  /** A footer button of guide §8: primary (the confirming action), secondary or ghost. */
33
- export declare function dialogButton(label: string, variant: 'primary' | 'secondary' | 'ghost'): HTMLButtonElement;
33
+ export declare function dialogButton(label: string, variant: "primary" | "secondary" | "ghost"): HTMLButtonElement;
34
34
  /**
35
35
  * A dialog of the map's chrome (guide §8, "Modeler dialogs" of the shell's API): a native modal
36
36
  * <dialog> inside the chrome's root, so the browser keeps the focus inside it and closes it on
@@ -1,5 +1,5 @@
1
1
  /** The icons the guide gives these entries (guide §5.14, the shell's common set). */
2
- export type MapMenuIcon = 'file-image' | 'file-code-corner' | 'keyboard';
2
+ export type MapMenuIcon = "file-image" | "file-code-corner" | "keyboard";
3
3
  interface MapMenuItem {
4
4
  readonly id: string;
5
5
  readonly label: string;
@@ -7,12 +7,12 @@ interface MapMenuItem {
7
7
  readonly keepEnabledWhenReadOnly?: boolean;
8
8
  }
9
9
  export interface MapMenuAction extends MapMenuItem {
10
- readonly kind: 'action';
10
+ readonly kind: "action";
11
11
  readonly shortcut?: string;
12
12
  onSelect(): void;
13
13
  }
14
14
  export interface MapMenuDialog extends MapMenuItem {
15
- readonly kind: 'dialog';
15
+ readonly kind: "dialog";
16
16
  /** The chip of a key that opens the dialog as well, e.g. "?". */
17
17
  readonly shortcut?: string;
18
18
  onSelect(): void;
@@ -9,7 +9,7 @@ export interface PopoverChrome {
9
9
  };
10
10
  }
11
11
  /** Why a popover closes: the user is done, an import replaced the map, or the canvas locked. */
12
- export type PopoverEnd = 'done' | 'import' | 'cancel';
12
+ export type PopoverEnd = "done" | "import" | "cancel";
13
13
  export interface PopoverHandle {
14
14
  open(): void;
15
15
  isOpen(): boolean;
@@ -1,4 +1,4 @@
1
- export type ShortcutPlatform = 'mac' | 'other';
1
+ export type ShortcutPlatform = "mac" | "other";
2
2
  export interface ShortcutKeyNames {
3
3
  readonly ctrl: string;
4
4
  readonly shift: string;
@@ -6,7 +6,7 @@ import { MapSize } from '@miragon/wardley-schema-model';
6
6
  import { default as EvolutionGrid } from '../evolution-grid/EvolutionGrid.js';
7
7
  import { default as MapProjection } from './MapProjection.js';
8
8
  export declare const MAP_RESIZE_PREFIX = "wardley.mapResize";
9
- export type ResizeAxis = 'x' | 'y' | 'xy';
9
+ export type ResizeAxis = "x" | "y" | "xy";
10
10
  interface ModifierKeys {
11
11
  /** Keep the start aspect ratio. */
12
12
  keepAspectRatio: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"MapResizeHandles.d.ts","sourceRoot":"","sources":["../../src/map-resize/MapResizeHandles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAKL,KAAK,OAAO,EAEb,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,aAAa,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAIpD,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAcrD,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AAwB1C,UAAU,YAAY;IACpB,mCAAmC;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,kDAAkD;IAClD,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,kGAAkG;AAClG,UAAU,iBAAiB;IACzB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;CAC5C;AA4BD;;;GAGG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,IAAI,GAAE,YAAiE,GACtE,OAAO,CAkCT;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAK/C;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAkBjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAtB3B,MAAM,CAAC,OAAO,WAQZ;IAEF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,KAAK,CAAqB;gBAGhC,QAAQ,EAAE,QAAQ,EACD,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,QAAQ;IAkCrC,OAAO,CAAC,oBAAoB;IAU5B,sFAAsF;IACtF,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI;IAUhD,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,MAAM;IA8Cd,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,MAAM;IAiBd,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,SAAS;CAGlB"}
1
+ {"version":3,"file":"MapResizeHandles.d.ts","sourceRoot":"","sources":["../../src/map-resize/MapResizeHandles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAKL,KAAK,OAAO,EAEb,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,aAAa,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAKpD,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAcrD,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AAwB1C,UAAU,YAAY;IACpB,mCAAmC;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,kDAAkD;IAClD,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,kGAAkG;AAClG,UAAU,iBAAiB;IACzB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;CAC5C;AA4BD;;;GAGG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,IAAI,GAAE,YAAiE,GACtE,OAAO,CAkCT;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAK/C;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAkBjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAtB3B,MAAM,CAAC,OAAO,WAQZ;IAEF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,KAAK,CAAqB;gBAGhC,QAAQ,EAAE,QAAQ,EACD,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,QAAQ;IAkCrC,OAAO,CAAC,oBAAoB;IAU5B,sFAAsF;IACtF,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI;IAUhD,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,MAAM;IA8Cd,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,MAAM;IAiBd,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,SAAS;CAGlB"}
@@ -10,6 +10,6 @@ export default class ResizeAwareAutoScroll extends AutoScroll {
10
10
  private readonly injector;
11
11
  static $inject: string[];
12
12
  constructor(config: unknown, eventBus: EventBus, canvas: Canvas, injector: Injector);
13
- startScroll(point: Parameters<AutoScroll['startScroll']>[0]): void;
13
+ startScroll(point: Parameters<AutoScroll["startScroll"]>[0]): void;
14
14
  }
15
15
  //# sourceMappingURL=ResizeAwareAutoScroll.d.ts.map
@@ -81,11 +81,11 @@ export default class WardleyElementFactory {
81
81
  }>, extra?: {
82
82
  id?: string;
83
83
  closed?: boolean;
84
- strokeStyle?: DrawingElement['strokeStyle'];
84
+ strokeStyle?: DrawingElement["strokeStyle"];
85
85
  color?: string;
86
86
  businessObject?: DrawingElement;
87
87
  }): WardleyShape;
88
- createNew(type: WardleyShape['wardleyType'], rawLabel: string, extra?: CreateNewExtra): WardleyShape;
88
+ createNew(type: WardleyShape["wardleyType"], rawLabel: string, extra?: CreateNewExtra): WardleyShape;
89
89
  createDependency(edge: MapEdge, source: WardleyShape, target: WardleyShape): WardleyConnection;
90
90
  createFlow(edge: MapEdge, source: WardleyShape, target: WardleyShape): WardleyConnection;
91
91
  private node;
@@ -7,8 +7,8 @@ import { AcceleratorDirection, AttitudeKind, ComponentDecorators, DrawingStrokeS
7
7
  * and NOT the `businessObject` (concept doc §2.2, §5.6).
8
8
  * `businessObject` is the identity/metadata backref to the original model element.
9
9
  */
10
- export type WardleyShapeType = 'component' | 'anchor' | 'pipeline' | 'note' | 'annotation' | 'attitude' | 'submap' | 'accelerator' | 'drawing';
11
- export type WardleyConnectionType = 'dependency' | 'flow';
10
+ export type WardleyShapeType = "component" | "anchor" | "pipeline" | "note" | "annotation" | "attitude" | "submap" | "accelerator" | "drawing";
11
+ export type WardleyConnectionType = "dependency" | "flow";
12
12
  export interface WardleyShape extends Shape {
13
13
  wardleyType: WardleyShapeType;
14
14
  /** normalized [0,1] — runtime truth of the X position. */
@@ -34,7 +34,7 @@ export default class WardleyModeling {
34
34
  toggleInertia(element: WardleyShape): void;
35
35
  setMethod(element: WardleyShape, method: Method | undefined): void;
36
36
  /** Sets market/ecosystem (mutually exclusive) or removes both (`undefined`). */
37
- setMarketEcosystem(element: WardleyShape, kind: 'market' | 'ecosystem' | undefined): void;
37
+ setMarketEcosystem(element: WardleyShape, kind: "market" | "ecosystem" | undefined): void;
38
38
  /** Sets the element color (CSS color/hex) or removes it (`undefined` = default color). */
39
39
  setColor(element: WardleyShape, color: string | undefined): void;
40
40
  }
@@ -9,7 +9,7 @@ import { default as EvolutionGrid } from '../../evolution-grid/EvolutionGrid.js'
9
9
  * excluded on purpose: it needs the re-projection of `wardley.map.resize`.
10
10
  */
11
11
  export type MapConfigUpdate = {
12
- -readonly [Key in Exclude<keyof MapConfig, 'size'>]?: MapConfig[Key] | undefined;
12
+ -readonly [Key in Exclude<keyof MapConfig, "size">]?: MapConfig[Key] | undefined;
13
13
  };
14
14
  export interface UpdateConfigContext {
15
15
  properties: MapConfigUpdate;
@@ -27,6 +27,12 @@ export default class WardleyPaletteProvider implements PaletteProvider {
27
27
  * to name. Returns the created shape, or undefined for non-create entries.
28
28
  */
29
29
  createAtFreeCenter(entryId: string): WardleyShape | undefined;
30
+ /**
31
+ * Guide §5.8: an entry clicked or dragged with a pointer hands the focus to the canvas, whose keys
32
+ * act only while it has the focus, so Delete, the arrows and Cmd/Ctrl+Z work right away. Enter
33
+ * and Space leave it on the entry. The Miragon modeler shell does the same for its palette.
34
+ */
35
+ private focusCanvasAfterPointer;
30
36
  private createShapeFor;
31
37
  private freeCenterPosition;
32
38
  private describe;
@@ -1 +1 @@
1
- {"version":3,"file":"WardleyPaletteProvider.d.ts","sourceRoot":"","sources":["../../src/palette/WardleyPaletteProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,yCAAyC,CAAC;AACnE,OAAO,KAAK,MAAM,MAAM,uCAAuC,CAAC;AAChE,OAAO,KAAK,SAAS,MAAM,8CAA8C,CAAC;AAC1E,OAAO,KAAK,eAAe,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EACV,cAAc,EAEd,OAAO,IAAI,eAAe,EAC3B,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAO3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGrC,OAAO,EAAkB,KAAK,YAAY,EAAyB,MAAM,sBAAsB,CAAC;AA8KhG,MAAM,CAAC,OAAO,OAAO,sBAAuB,YAAW,eAAe;IAkBlE,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,QAAQ;IArB3B,MAAM,CAAC,OAAO,WAOZ;IAEF;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;gBAGzC,OAAO,EAAE,OAAO,EACC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,QAAQ;IAUrC,iBAAiB,IAAI,cAAc;IA0CnC;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAwB7D,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,kBAAkB;IA+C1B,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,SAAS;CAQlB"}
1
+ {"version":3,"file":"WardleyPaletteProvider.d.ts","sourceRoot":"","sources":["../../src/palette/WardleyPaletteProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,yCAAyC,CAAC;AACnE,OAAO,KAAK,MAAM,MAAM,uCAAuC,CAAC;AAChE,OAAO,KAAK,SAAS,MAAM,8CAA8C,CAAC;AAC1E,OAAO,KAAK,eAAe,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EACV,cAAc,EAEd,OAAO,IAAI,eAAe,EAC3B,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAO3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGrC,OAAO,EAAkB,KAAK,YAAY,EAAyB,MAAM,sBAAsB,CAAC;AA+KhG,MAAM,CAAC,OAAO,OAAO,sBAAuB,YAAW,eAAe;IAkBlE,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,QAAQ;IArB3B,MAAM,CAAC,OAAO,WAOZ;IAEF;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;gBAGzC,OAAO,EAAE,OAAO,EACC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,QAAQ;IAUrC,iBAAiB,IAAI,cAAc;IAiDnC;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAwB7D;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,kBAAkB;IA+C1B,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,SAAS;CAQlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"WardleyElementSettingsProvider.d.ts","sourceRoot":"","sources":["../../src/popup/WardleyElementSettingsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,SAAS,MAAM,8CAA8C,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,KAAK,EACV,gBAAgB,EAChB,OAAO,IAAI,iBAAiB,EAC7B,MAAM,sDAAsD,CAAC;AAE9D,OAAO,KAAK,eAAe,MAAM,gCAAgC,CAAC;AAElE,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAmB5D;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,8BAA+B,YAAW,iBAAiB;IAK5E,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,MAAM,CAAC,OAAO,WAAgD;gBAG5D,SAAS,EAAE,SAAS,EACH,QAAQ,EAAE,eAAe,EAC1C,QAAQ,EAAE,QAAQ;IAWpB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB;IAM9D,OAAO,CAAC,gBAAgB;CAgDzB"}
1
+ {"version":3,"file":"WardleyElementSettingsProvider.d.ts","sourceRoot":"","sources":["../../src/popup/WardleyElementSettingsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,SAAS,MAAM,8CAA8C,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,KAAK,EACV,gBAAgB,EAChB,OAAO,IAAI,iBAAiB,EAC7B,MAAM,sDAAsD,CAAC;AAE9D,OAAO,KAAK,eAAe,MAAM,gCAAgC,CAAC;AAElE,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAkB5D;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,8BAA+B,YAAW,iBAAiB;IAK5E,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,MAAM,CAAC,OAAO,WAAgD;gBAG5D,SAAS,EAAE,SAAS,EACH,QAAQ,EAAE,eAAe,EAC1C,QAAQ,EAAE,QAAQ;IAWpB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB;IAM9D,OAAO,CAAC,gBAAgB;CAgDzB"}
@@ -46,8 +46,6 @@ export declare const MIRAGON: {
46
46
  readonly kontur: "#8F8A8A";
47
47
  /** Secondary text (≥ 4.5:1 on white and on paper). */
48
48
  readonly textLeise: "#6B6666";
49
- /** Dark base — the CI hero / nav-glass colour (rgb 8,10,32). The canvas never draws it. */
50
- readonly navy: "#080A20";
51
49
  /** Signature brand gradient — hero, large surfaces, brand moments. Use verbatim. */
52
50
  readonly gradientBrand: "linear-gradient(120deg, #335DE5 30%, #00E676)";
53
51
  };
@@ -1 +1 @@
1
- {"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/theme/palette.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,iEAAiE;AACjE,eAAO,MAAM,OAAO;IAClB,sDAAsD;;IAEtD,sEAAsE;;IAEtE,2DAA2D;;IAE3D,iGAAiG;;IAEjG,6CAA6C;;IAE7C,sDAAsD;;;IAGtD;;;OAGG;;;;;IAKH,yGAAyG;;IAEzG,0FAA0F;;IAE1F,sDAAsD;;IAEtD,2FAA2F;;IAE3F,oFAAoF;;CAE5E,CAAC"}
1
+ {"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/theme/palette.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,iEAAiE;AACjE,eAAO,MAAM,OAAO;IAClB,sDAAsD;;IAEtD,sEAAsE;;IAEtE,2DAA2D;;IAE3D,iGAAiG;;IAEjG,6CAA6C;;IAE7C,sDAAsD;;;IAGtD;;;OAGG;;;;;IAKH,yGAAyG;;IAEzG,0FAA0F;;IAE1F,sDAAsD;;IAEtD,oFAAoF;;CAE5E,CAAC"}
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@miragon/wardley-renderer",
3
- "version": "0.10.0",
3
+ "version": "0.12.0",
4
4
  "description": "Render and display Wardley maps in the browser, with a viewer and modeler built on diagram-js.",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "git+https://github.com/Miragon/wardley-maps-modeler.git",
9
- "directory": "packages/renderer"
8
+ "url": "git+https://github.com/Miragon/modeler-suite.git",
9
+ "directory": "modelers/wardley-maps/packages/renderer"
10
10
  },
11
- "homepage": "https://github.com/Miragon/wardley-maps-modeler/tree/main/packages/renderer#readme",
12
- "bugs": "https://github.com/Miragon/wardley-maps-modeler/issues",
11
+ "homepage": "https://github.com/Miragon/modeler-suite/tree/main/modelers/wardley-maps/packages/renderer#readme",
12
+ "bugs": "https://github.com/Miragon/modeler-suite/issues",
13
13
  "type": "module",
14
14
  "sideEffects": [
15
15
  "**/*.css"
@@ -36,8 +36,8 @@
36
36
  "test:browser": "npm --prefix ../.. run test:browser"
37
37
  },
38
38
  "dependencies": {
39
- "@miragon/modeler-api": "1.3.0",
40
- "@miragon/wardley-dsl": "0.7.0",
39
+ "@miragon/modeler-api": "1.4.0",
40
+ "@miragon/wardley-dsl": "0.7.1",
41
41
  "@miragon/wardley-schema-model": "0.6.0",
42
42
  "clsx": "2.1.1"
43
43
  },
@@ -53,7 +53,7 @@
53
53
  "jsdom": "30.1.3",
54
54
  "tiny-svg": "4.1.4",
55
55
  "typescript": "6.0.3",
56
- "vite": "8.3.4",
56
+ "vite": "8.3.5",
57
57
  "vite-plugin-dts": "5.1.2",
58
58
  "vitest": "5.0.5",
59
59
  "zod": "4.6.7"
@@ -1,35 +0,0 @@
1
- /** @deprecated Chrome icons come from @miragon/modeler-shell (Lucide, guide §5.14); this export goes in a later minor. */
2
- export declare const ICON_UNDO = "M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z";
3
- /** @deprecated Chrome icons come from @miragon/modeler-shell (Lucide, guide §5.14); this export goes in a later minor. */
4
- export declare const ICON_REDO = "M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z";
5
- /** data_object — JSON. @deprecated Chrome icons come from @miragon/modeler-shell (Lucide, guide §5.14); this export goes in a later minor. */
6
- export declare const ICON_DATA_OBJECT = "M4 7v2c0 .55-.45 1-1 1H2v2h1c.55 0 1 .45 1 1v2c0 1.65 1.35 3 3 3h1v-2H7c-.55 0-1-.45-1-1v-2c0-.84-.35-1.61-.92-2.18L4.85 12l.23-.82C5.65 10.61 6 9.84 6 9V7c0-.55.45-1 1-1h1V4H7C5.35 4 4 5.35 4 7zm16 3c-.55 0-1-.45-1-1V7c0-1.65-1.35-3-3-3h-1v2h1c.55 0 1 .45 1 1v2c0 .84.35 1.61.92 2.18l.23.82-.23.82c-.57.57-.92 1.34-.92 2.18v2c0 .55-.45 1-1 1h-1v2h1c1.65 0 3-1.35 3-3v-2c0-.55.45-1 1-1h1v-2h-1z";
7
- /** code — DSL. @deprecated Chrome icons come from @miragon/modeler-shell (Lucide, guide §5.14); this export goes in a later minor. */
8
- export declare const ICON_CODE = "M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z";
9
- /** download — Export. @deprecated Chrome icons come from @miragon/modeler-shell (Lucide, guide §5.14); this export goes in a later minor. */
10
- export declare const ICON_DOWNLOAD = "M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z";
11
- /** share — share link. @deprecated Chrome icons come from @miragon/modeler-shell (Lucide, guide §5.14); this export goes in a later minor. */
12
- export declare const ICON_SHARE = "M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92z";
13
- /** folder_open — open file. @deprecated Chrome icons come from @miragon/modeler-shell (Lucide, guide §5.14); this export goes in a later minor. */
14
- export declare const ICON_FOLDER_OPEN = "M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10z";
15
- /** image — PNG/image. @deprecated Chrome icons come from @miragon/modeler-shell (Lucide, guide §5.14); this export goes in a later minor. */
16
- export declare const ICON_IMAGE = "M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z";
17
- /** note_add — new / clear. @deprecated Chrome icons come from @miragon/modeler-shell (Lucide, guide §5.14); this export goes in a later minor. */
18
- export declare const ICON_NEW = "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 14h-3v3h-2v-3H8v-2h3v-3h2v3h3v2zm-3-7V3.5L18.5 9H13z";
19
- /** aspect_ratio — map size. @deprecated Chrome icons come from @miragon/modeler-shell (Lucide, guide §5.14); this export goes in a later minor. */
20
- export declare const ICON_ASPECT_RATIO = "M19 12h-2v3h-3v2h5v-5zM7 9h3V7H5v5h2V9zm14-6H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z";
21
- /** menu — hamburger (main menu). @deprecated Chrome icons come from @miragon/modeler-shell (Lucide, guide §5.14); this export goes in a later minor. */
22
- export declare const ICON_MENU = "M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z";
23
- /** add — append component. @deprecated Chrome icons come from @miragon/modeler-shell (Lucide, guide §5.14); this export goes in a later minor. */
24
- export declare const ICON_ADD = "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z";
25
- /** visibility — eye (show example). @deprecated Chrome icons come from @miragon/modeler-shell (Lucide, guide §5.14); this export goes in a later minor. */
26
- export declare const ICON_VISIBILITY = "M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z";
27
- /** @deprecated Chrome icons come from @miragon/modeler-shell (Lucide, guide §5.14); this export goes in a later minor. */
28
- export declare const ICON_PERSON: string;
29
- /** @deprecated Chrome icons come from @miragon/modeler-shell (Lucide, guide §5.14); this export goes in a later minor. */
30
- export declare const ICON_EDIT: string;
31
- /** @deprecated Chrome icons come from @miragon/modeler-shell (Lucide, guide §5.14); this export goes in a later minor. */
32
- export declare const ICON_DELETE: string;
33
- /** Returns an icon as an HTML SVG string, colour = currentColor. @deprecated Chrome icons come from @miragon/modeler-shell (Lucide, guide §5.14); this export goes in a later minor. */
34
- export declare function iconMarkup(path: string, size?: number): string;
35
- //# sourceMappingURL=deprecated-icons.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deprecated-icons.d.ts","sourceRoot":"","sources":["../../src/draw/deprecated-icons.ts"],"names":[],"mappings":"AAaA,0HAA0H;AAC1H,eAAO,MAAM,SAAS,mJAC4H,CAAC;AAEnJ,0HAA0H;AAC1H,eAAO,MAAM,SAAS,oJAC6H,CAAC;AAEpJ,8IAA8I;AAC9I,eAAO,MAAM,gBAAgB,+YACiX,CAAC;AAE/Y,sIAAsI;AACtI,eAAO,MAAM,SAAS,+FACwE,CAAC;AAE/F,6IAA6I;AAC7I,eAAO,MAAM,aAAa,8CAA8C,CAAC;AAEzE,8IAA8I;AAC9I,eAAO,MAAM,UAAU,oWAC4U,CAAC;AAEpW,mJAAmJ;AACnJ,eAAO,MAAM,gBAAgB,gHACkF,CAAC;AAEhH,6IAA6I;AAC7I,eAAO,MAAM,UAAU,6HACqG,CAAC;AAE7H,kJAAkJ;AAClJ,eAAO,MAAM,QAAQ,yIACmH,CAAC;AAEzI,mJAAmJ;AACnJ,eAAO,MAAM,iBAAiB,iJACkH,CAAC;AAEjJ,wJAAwJ;AACxJ,eAAO,MAAM,SAAS,kDAAkD,CAAC;AAEzE,kJAAkJ;AAClJ,eAAO,MAAM,QAAQ,wCAAwC,CAAC;AAE9D,2JAA2J;AAC3J,eAAO,MAAM,eAAe,sNACyL,CAAC;AAEtN,0HAA0H;AAC1H,eAAO,MAAM,WAAW,EAAE,MAAmB,CAAC;AAE9C,0HAA0H;AAC1H,eAAO,MAAM,SAAS,EAAE,MAAiB,CAAC;AAE1C,0HAA0H;AAC1H,eAAO,MAAM,WAAW,EAAE,MAAmB,CAAC;AAE9C,wLAAwL;AACxL,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9D"}