@miragon/wardley-renderer 0.0.0 → 0.2.1
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.
- package/README.md +50 -0
- package/dist/Modeler.d.ts.map +1 -1
- package/dist/WardleyBaseViewer.d.ts +3 -0
- package/dist/WardleyBaseViewer.d.ts.map +1 -1
- package/dist/context-pad/WardleyContextPadProvider.d.ts.map +1 -1
- package/dist/draw/WardleyRenderer.d.ts +5 -1
- package/dist/draw/WardleyRenderer.d.ts.map +1 -1
- package/dist/draw/icons.d.ts +2 -0
- package/dist/draw/icons.d.ts.map +1 -1
- package/dist/draw/palette-icons.d.ts.map +1 -1
- package/dist/draw/styles.d.ts +12 -1
- package/dist/draw/styles.d.ts.map +1 -1
- package/dist/draw-tool/WardleyDrawTool.d.ts +46 -0
- package/dist/draw-tool/WardleyDrawTool.d.ts.map +1 -0
- package/dist/draw-tool/WardleyDrawingHandles.d.ts +31 -0
- package/dist/draw-tool/WardleyDrawingHandles.d.ts.map +1 -0
- package/dist/draw-tool/WardleyDrawingHitProvider.d.ts +13 -0
- package/dist/draw-tool/WardleyDrawingHitProvider.d.ts.map +1 -0
- package/dist/draw-tool/index.d.ts +6 -0
- package/dist/draw-tool/index.d.ts.map +1 -0
- package/dist/evolution-grid/EvolutionConstraintBehavior.d.ts +25 -1
- package/dist/evolution-grid/EvolutionConstraintBehavior.d.ts.map +1 -1
- package/dist/evolution-grid/EvolutionGrid.d.ts +1 -0
- package/dist/evolution-grid/EvolutionGrid.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1354 -482
- package/dist/index.js.map +1 -1
- package/dist/io/WardleyExporter.d.ts +3 -1
- package/dist/io/WardleyExporter.d.ts.map +1 -1
- package/dist/io/WardleyImporter.d.ts.map +1 -1
- package/dist/io/saveSvg.d.ts +10 -3
- package/dist/io/saveSvg.d.ts.map +1 -1
- package/dist/keyboard/WardleyKeyboard.d.ts +10 -3
- package/dist/keyboard/WardleyKeyboard.d.ts.map +1 -1
- package/dist/label-editing/WardleyLabelEditing.d.ts +6 -1
- package/dist/label-editing/WardleyLabelEditing.d.ts.map +1 -1
- package/dist/lasso/WardleyLassoBehavior.d.ts +12 -0
- package/dist/lasso/WardleyLassoBehavior.d.ts.map +1 -0
- package/dist/lasso/index.d.ts +5 -0
- package/dist/lasso/index.d.ts.map +1 -0
- package/dist/model/WardleyElementFactory.d.ts +15 -1
- package/dist/model/WardleyElementFactory.d.ts.map +1 -1
- package/dist/model/di-types.d.ts +22 -3
- package/dist/model/di-types.d.ts.map +1 -1
- package/dist/modeling/WardleyCopyPaste.d.ts +44 -0
- package/dist/modeling/WardleyCopyPaste.d.ts.map +1 -0
- package/dist/modeling/WardleyModeling.d.ts +3 -3
- package/dist/modeling/WardleyModeling.d.ts.map +1 -1
- package/dist/modeling/index.d.ts +1 -0
- package/dist/modeling/index.d.ts.map +1 -1
- package/dist/ordering/WardleyOrderingProvider.d.ts +17 -0
- package/dist/ordering/WardleyOrderingProvider.d.ts.map +1 -0
- package/dist/ordering/index.d.ts +5 -0
- package/dist/ordering/index.d.ts.map +1 -0
- package/dist/palette/WardleyPaletteProvider.d.ts +5 -1
- package/dist/palette/WardleyPaletteProvider.d.ts.map +1 -1
- package/dist/rules/WardleyRules.d.ts +3 -3
- package/dist/rules/WardleyRules.d.ts.map +1 -1
- package/dist/snapping/StageSnapping.d.ts +3 -2
- package/dist/snapping/StageSnapping.d.ts.map +1 -1
- package/dist/wardley.css +1 -1
- package/package.json +14 -4
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { default as Canvas } from 'diagram-js/lib/core/Canvas';
|
|
2
2
|
import { default as ElementRegistry } from 'diagram-js/lib/core/ElementRegistry';
|
|
3
3
|
import { WardleyMap } from '@miragon/wardley-schema-model';
|
|
4
|
+
import { default as EvolutionGrid } from '../evolution-grid/EvolutionGrid.js';
|
|
4
5
|
/**
|
|
5
6
|
* Reconstructs a WardleyMap from the diagram-js runtime model. The source of truth for positions are
|
|
6
7
|
* the DI properties `evolution`/`visibility`; editable fields (label, decorators, movement,
|
|
@@ -10,8 +11,9 @@ import { WardleyMap } from '@miragon/wardley-schema-model';
|
|
|
10
11
|
export default class WardleyExporter {
|
|
11
12
|
private readonly elementRegistry;
|
|
12
13
|
private readonly canvas;
|
|
14
|
+
private readonly grid;
|
|
13
15
|
static $inject: string[];
|
|
14
|
-
constructor(elementRegistry: ElementRegistry, canvas: Canvas);
|
|
16
|
+
constructor(elementRegistry: ElementRegistry, canvas: Canvas, grid: EvolutionGrid);
|
|
15
17
|
export(): WardleyMap;
|
|
16
18
|
/** Builds a MapElement from the DI properties (common types) or the businessObject (the rest). */
|
|
17
19
|
private buildElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WardleyExporter.d.ts","sourceRoot":"","sources":["../../src/io/WardleyExporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AAEvE,OAAO,
|
|
1
|
+
{"version":3,"file":"WardleyExporter.d.ts","sourceRoot":"","sources":["../../src/io/WardleyExporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAaL,KAAK,UAAU,EAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,aAAa,MAAM,oCAAoC,CAAC;AASpE;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAIhC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IALvB,MAAM,CAAC,OAAO,WAAkD;gBAG7C,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa;IAGtC,MAAM,IAAI,UAAU;IAyDpB,kGAAkG;IAClG,OAAO,CAAC,YAAY;CA2HrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WardleyImporter.d.ts","sourceRoot":"","sources":["../../src/io/WardleyImporter.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,EAAc,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,aAAa,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAE3E,OAAO,EAAW,KAAK,aAAa,EAA2B,MAAM,YAAY,CAAC;AAiBlF;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAWhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,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,qBAAqB,EAC9B,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe;IAGnD,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,aAAa,EAAE;
|
|
1
|
+
{"version":3,"file":"WardleyImporter.d.ts","sourceRoot":"","sources":["../../src/io/WardleyImporter.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,EAAc,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,aAAa,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAE3E,OAAO,EAAW,KAAK,aAAa,EAA2B,MAAM,YAAY,CAAC;AAiBlF;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAWhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,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,qBAAqB,EAC9B,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe;IAGnD,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,aAAa,EAAE;IAsFxC,OAAO,CAAC,WAAW;IA4BnB,KAAK,IAAI,IAAI;CAYd"}
|
package/dist/io/saveSvg.d.ts
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import { default as Canvas } from 'diagram-js/lib/core/Canvas';
|
|
2
|
+
export interface SvgBounds {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
}
|
|
2
8
|
/**
|
|
3
9
|
* Serializes the current canvas into standalone SVG (snapshot/export).
|
|
4
|
-
*
|
|
5
|
-
*
|
|
10
|
+
* `bounds` is the outer plot boundary (typically `EvolutionGrid.outerBounds()`), so that
|
|
11
|
+
* maps enlarged via `config.size` are exported completely; if omitted, the default plot
|
|
12
|
+
* area is used. Independent of the current zoom/scroll.
|
|
6
13
|
*/
|
|
7
|
-
export declare function saveSVG(canvas: Canvas): {
|
|
14
|
+
export declare function saveSVG(canvas: Canvas, bounds?: SvgBounds): {
|
|
8
15
|
svg: string;
|
|
9
16
|
};
|
|
10
17
|
//# sourceMappingURL=saveSvg.d.ts.map
|
package/dist/io/saveSvg.d.ts.map
CHANGED
|
@@ -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
|
|
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,CAyB3E"}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import { default as Canvas } from 'diagram-js/lib/core/Canvas';
|
|
2
2
|
import { default as CommandStack } from 'diagram-js/lib/command/CommandStack';
|
|
3
|
+
import { default as EventBus } from 'diagram-js/lib/core/EventBus';
|
|
4
|
+
import { default as Create } from 'diagram-js/lib/features/create/Create';
|
|
5
|
+
import { default as LassoTool } from 'diagram-js/lib/features/lasso-tool/LassoTool';
|
|
6
|
+
import { default as Mouse } from 'diagram-js/lib/features/mouse/Mouse';
|
|
3
7
|
import { default as Selection } from 'diagram-js/lib/features/selection/Selection';
|
|
4
8
|
import { default as Modeling } from 'diagram-js/lib/features/modeling/Modeling';
|
|
9
|
+
import { default as WardleyCopyPaste } from '../modeling/WardleyCopyPaste.js';
|
|
10
|
+
import { default as WardleyElementFactory } from '../model/WardleyElementFactory.js';
|
|
5
11
|
/**
|
|
6
|
-
* Minimal keyboard binding on the canvas container: undo/redo
|
|
7
|
-
*
|
|
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 C (component), U (user) and
|
|
14
|
+
* L (lasso). Deliberately a DOM listener (no diagram-js keyboard-service binding needed).
|
|
8
15
|
*/
|
|
9
16
|
export default class WardleyKeyboard {
|
|
10
17
|
static $inject: string[];
|
|
11
|
-
constructor(canvas: Canvas, commandStack: CommandStack, selection: Selection, modeling: Modeling);
|
|
18
|
+
constructor(canvas: Canvas, commandStack: CommandStack, selection: Selection, modeling: Modeling, copyPaste: WardleyCopyPaste, factory: WardleyElementFactory, create: Create, mouse: Mouse, lassoTool: LassoTool, eventBus: EventBus);
|
|
12
19
|
}
|
|
13
20
|
//# sourceMappingURL=WardleyKeyboard.d.ts.map
|
|
@@ -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,SAAS,MAAM,6CAA6C,CAAC;AACzE,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;
|
|
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,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,gBAAgB,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAa3E;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC,MAAM,CAAC,OAAO,WAWZ;gBAGA,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ;CAiErB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { default as Canvas } from 'diagram-js/lib/core/Canvas';
|
|
2
2
|
import { default as EventBus } from 'diagram-js/lib/core/EventBus';
|
|
3
|
-
import { WardleyShape } from '../model/di-types.js';
|
|
3
|
+
import { WardleyConnection, WardleyShape } from '../model/di-types.js';
|
|
4
4
|
import { default as WardleyModeling } from '../modeling/WardleyModeling.js';
|
|
5
5
|
import { default as WardleyElementFactory } from '../model/WardleyElementFactory.js';
|
|
6
6
|
/**
|
|
@@ -17,6 +17,11 @@ export default class WardleyLabelEditing {
|
|
|
17
17
|
private active;
|
|
18
18
|
constructor(eventBus: EventBus, canvas: Canvas, modeling: WardleyModeling, factory: WardleyElementFactory);
|
|
19
19
|
activate(element: WardleyShape): void;
|
|
20
|
+
/**
|
|
21
|
+
* Inline editing for connections: a flow edits its value (`+'value'>`), a dependency its
|
|
22
|
+
* `; annotation` text. An empty input clears the field. Undo-safe via updateProperties.
|
|
23
|
+
*/
|
|
24
|
+
activateConnection(conn: WardleyConnection): void;
|
|
20
25
|
cancel(): void;
|
|
21
26
|
}
|
|
22
27
|
//# sourceMappingURL=WardleyLabelEditing.d.ts.map
|
|
@@ -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;AACzD,OAAO,
|
|
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;AACzD,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;AAuB3E;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAOpC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAR1B,MAAM,CAAC,OAAO,WAAsE;IAEpF,OAAO,CAAC,MAAM,CAA2B;gBAGvC,QAAQ,EAAE,QAAQ,EACD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,qBAAqB;IAYjD,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAwErC;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAuEjD,MAAM,IAAI,IAAI;CAGf"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { default as EventBus } from 'diagram-js/lib/core/EventBus';
|
|
2
|
+
import { default as Canvas } from 'diagram-js/lib/core/Canvas';
|
|
3
|
+
import { default as LassoTool } from 'diagram-js/lib/features/lasso-tool/LassoTool';
|
|
4
|
+
/**
|
|
5
|
+
* Activates the diagram-js lasso via Shift+drag on the empty canvas.
|
|
6
|
+
* Plain drag stays canvas pan (MoveCanvas); Shift+click on elements stays multi-select.
|
|
7
|
+
*/
|
|
8
|
+
export default class WardleyLassoBehavior {
|
|
9
|
+
static $inject: string[];
|
|
10
|
+
constructor(eventBus: EventBus, canvas: Canvas, lassoTool: LassoTool);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=WardleyLassoBehavior.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WardleyLassoBehavior.d.ts","sourceRoot":"","sources":["../../src/lasso/WardleyLassoBehavior.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,SAAS,MAAM,8CAA8C,CAAC;AAO1E;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC,MAAM,CAAC,OAAO,WAAuC;gBAEzC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;CAgBrE"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ModuleDeclaration } from 'didi';
|
|
2
|
+
/** Lasso multi-select: diagram-js lasso-tool plus Shift+drag activation on an empty canvas. */
|
|
3
|
+
export declare const wardleyLassoModule: ModuleDeclaration;
|
|
4
|
+
export { default as WardleyLassoBehavior } from './WardleyLassoBehavior.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lasso/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAI9C,+FAA+F;AAC/F,eAAO,MAAM,kBAAkB,EAAE,iBAIhC,CAAC;AAEF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { default as ElementFactory } from 'diagram-js/lib/core/ElementFactory';
|
|
2
2
|
import { default as ElementRegistry } from 'diagram-js/lib/core/ElementRegistry';
|
|
3
|
-
import { AcceleratorDirection, AcceleratorElement, AnchorElement, AnnotationElement, AttitudeElement, AttitudeKind, ComponentElement, MapEdge, NoteElement, PipelineElement, SubmapElement } from '@miragon/wardley-schema-model';
|
|
3
|
+
import { AcceleratorDirection, AcceleratorElement, AnchorElement, AnnotationElement, AttitudeElement, AttitudeKind, ComponentElement, DrawingElement, MapEdge, NoteElement, PipelineElement, SubmapElement } from '@miragon/wardley-schema-model';
|
|
4
4
|
import { default as EvolutionGrid } from '../evolution-grid/EvolutionGrid.js';
|
|
5
5
|
import { WardleyConnection, WardleyShape } from './di-types.js';
|
|
6
6
|
export interface CreateNewExtra {
|
|
@@ -29,6 +29,8 @@ export default class WardleyElementFactory {
|
|
|
29
29
|
* current name as a collision — otherwise every rename would add a suffix).
|
|
30
30
|
*/
|
|
31
31
|
uniqueLabel(base: string, excludeId?: string): string;
|
|
32
|
+
/** Next free annotation number (max + 1) — palette annotations therefore never collide. */
|
|
33
|
+
private nextAnnotationNumber;
|
|
32
34
|
createComponent(el: ComponentElement): WardleyShape;
|
|
33
35
|
createAnchor(el: AnchorElement): WardleyShape;
|
|
34
36
|
createNote(el: NoteElement): WardleyShape;
|
|
@@ -37,6 +39,18 @@ export default class WardleyElementFactory {
|
|
|
37
39
|
createAccelerator(el: AcceleratorElement): WardleyShape;
|
|
38
40
|
createAttitude(el: AttitudeElement): WardleyShape;
|
|
39
41
|
createSubmap(el: SubmapElement): WardleyShape;
|
|
42
|
+
createDrawing(el: DrawingElement): WardleyShape;
|
|
43
|
+
/** Builds a drawing shape from ABSOLUTE canvas points (bbox shape + relative points). */
|
|
44
|
+
drawingFromCanvasPoints(canvasPoints: ReadonlyArray<{
|
|
45
|
+
x: number;
|
|
46
|
+
y: number;
|
|
47
|
+
}>, extra?: {
|
|
48
|
+
id?: string;
|
|
49
|
+
closed?: boolean;
|
|
50
|
+
strokeStyle?: DrawingElement['strokeStyle'];
|
|
51
|
+
color?: string;
|
|
52
|
+
businessObject?: DrawingElement;
|
|
53
|
+
}): WardleyShape;
|
|
40
54
|
createNew(type: WardleyShape['wardleyType'], rawLabel: string, extra?: CreateNewExtra): WardleyShape;
|
|
41
55
|
createDependency(edge: MapEdge, source: WardleyShape, target: WardleyShape): WardleyConnection;
|
|
42
56
|
createFlow(edge: MapEdge, source: WardleyShape, target: WardleyShape): WardleyConnection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WardleyElementFactory.d.ts","sourceRoot":"","sources":["../../src/model/WardleyElementFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,WAAW,EACX,eAAe,EACf,aAAa,EACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,aAAa,MAAM,oCAAoC,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAErE,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IAItC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,eAAe;IALlC,MAAM,CAAC,OAAO,WAA0D;gBAGrD,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,aAAa,EACnB,eAAe,EAAE,eAAe;IAGnD;;;;;;;OAOG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAarD,eAAe,CAAC,EAAE,EAAE,gBAAgB,GAAG,YAAY;
|
|
1
|
+
{"version":3,"file":"WardleyElementFactory.d.ts","sourceRoot":"","sources":["../../src/model/WardleyElementFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,WAAW,EACX,eAAe,EACf,aAAa,EACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,aAAa,MAAM,oCAAoC,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAErE,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IAItC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,eAAe;IALlC,MAAM,CAAC,OAAO,WAA0D;gBAGrD,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,aAAa,EACnB,eAAe,EAAE,eAAe;IAGnD;;;;;;;OAOG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAarD,2FAA2F;IAC3F,OAAO,CAAC,oBAAoB;IAS5B,eAAe,CAAC,EAAE,EAAE,gBAAgB,GAAG,YAAY;IAqBnD,YAAY,CAAC,EAAE,EAAE,aAAa,GAAG,YAAY;IAM7C,UAAU,CAAC,EAAE,EAAE,WAAW,GAAG,YAAY;IAqBzC,cAAc,CAAC,EAAE,EAAE,eAAe,GAAG,YAAY;IA+BjD,gBAAgB,CAAC,EAAE,EAAE,iBAAiB,GAAG,YAAY;IAOrD,iBAAiB,CAAC,EAAE,EAAE,kBAAkB,GAAG,YAAY;IAcvD,cAAc,CAAC,EAAE,EAAE,eAAe,GAAG,YAAY;IAyBjD,YAAY,CAAC,EAAE,EAAE,aAAa,GAAG,YAAY;IAI7C,aAAa,CAAC,EAAE,EAAE,cAAc,GAAG,YAAY;IAW/C,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,YAAY;IA4Bf,SAAS,CACP,IAAI,EAAE,YAAY,CAAC,aAAa,CAAC,EACjC,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,cAAmB,GACzB,YAAY;IAgEf,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,iBAAiB;IAI9F,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,iBAAiB;IAKxF,OAAO,CAAC,IAAI;IA4BZ,OAAO,CAAC,UAAU;CAqBnB"}
|
package/dist/model/di-types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Shape, Connection } from 'diagram-js/lib/model/Types';
|
|
2
|
-
import { AcceleratorDirection, AttitudeKind, ComponentDecorators, MapEdge, MapElement, Movement } from '@miragon/wardley-schema-model';
|
|
2
|
+
import { AcceleratorDirection, AttitudeKind, ComponentDecorators, DrawingStrokeStyle, LabelOffset, MapEdge, MapElement, Movement } from '@miragon/wardley-schema-model';
|
|
3
3
|
/**
|
|
4
4
|
* diagram-js runtime model with Wardley extensions.
|
|
5
5
|
*
|
|
@@ -7,7 +7,7 @@ import { AcceleratorDirection, AttitudeKind, ComponentDecorators, MapEdge, MapEl
|
|
|
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';
|
|
10
|
+
export type WardleyShapeType = 'component' | 'anchor' | 'pipeline' | 'note' | 'annotation' | 'attitude' | 'submap' | 'accelerator' | 'drawing';
|
|
11
11
|
export type WardleyConnectionType = 'dependency' | 'flow';
|
|
12
12
|
export interface WardleyShape extends Shape {
|
|
13
13
|
wardleyType: WardleyShapeType;
|
|
@@ -17,18 +17,36 @@ export interface WardleyShape extends Shape {
|
|
|
17
17
|
visibility: number;
|
|
18
18
|
/** Display text (separate from diagram-js `label`, which references a label element). */
|
|
19
19
|
wardleyLabel: string;
|
|
20
|
+
/** OWM `label [dx, dy]` — px offset relative to the default label position. */
|
|
21
|
+
labelOffset?: LabelOffset;
|
|
20
22
|
decorators?: ComponentDecorators;
|
|
21
23
|
movement?: Movement;
|
|
22
24
|
/** pipeline only: evolution range. */
|
|
23
25
|
evolutionStart?: number;
|
|
24
26
|
evolutionEnd?: number;
|
|
27
|
+
/** component only: membership in a pipeline (id) — runtime truth, maintained via drag. */
|
|
28
|
+
pipelineId?: string;
|
|
25
29
|
/** annotation only. */
|
|
26
30
|
annotationNumber?: number;
|
|
27
31
|
/** attitude region only. */
|
|
28
32
|
attitudeKind?: AttitudeKind;
|
|
33
|
+
/** attitude only: opposite corner (normalized), maintained by the EvolutionConstraintBehavior. */
|
|
34
|
+
corner2?: {
|
|
35
|
+
visibility: number;
|
|
36
|
+
evolution: number;
|
|
37
|
+
};
|
|
29
38
|
/** accelerator only. */
|
|
30
39
|
acceleratorDirection?: AcceleratorDirection;
|
|
31
|
-
/**
|
|
40
|
+
/** drawing only: points in px RELATIVE to the shape's x/y (moving the shape moves them all). */
|
|
41
|
+
drawingPoints?: Array<{
|
|
42
|
+
x: number;
|
|
43
|
+
y: number;
|
|
44
|
+
}>;
|
|
45
|
+
/** drawing only: closed polygon vs. open polyline. */
|
|
46
|
+
closed?: boolean;
|
|
47
|
+
/** drawing only. */
|
|
48
|
+
strokeStyle?: DrawingStrokeStyle;
|
|
49
|
+
/** Optional element color (CSS color/hex from the swatch palette) — any element type. */
|
|
32
50
|
color?: string;
|
|
33
51
|
businessObject?: MapElement;
|
|
34
52
|
}
|
|
@@ -44,4 +62,5 @@ export declare function isWardleyShape(el: unknown): el is WardleyShape;
|
|
|
44
62
|
export declare function isWardleyConnection(el: unknown): el is WardleyConnection;
|
|
45
63
|
export declare function isComponent(el: unknown): el is WardleyShape;
|
|
46
64
|
export declare function isPipeline(el: unknown): el is WardleyShape;
|
|
65
|
+
export declare function isAttitude(el: unknown): el is WardleyShape;
|
|
47
66
|
//# sourceMappingURL=di-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"di-types.d.ts","sourceRoot":"","sources":["../../src/model/di-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,OAAO,EACP,UAAU,EACV,QAAQ,EACT,MAAM,+BAA+B,CAAC;AAEvC;;;;;;GAMG;AAEH,MAAM,MAAM,gBAAgB,GACxB,WAAW,GACX,QAAQ,GACR,UAAU,GACV,MAAM,GACN,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"di-types.d.ts","sourceRoot":"","sources":["../../src/model/di-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,OAAO,EACP,UAAU,EACV,QAAQ,EACT,MAAM,+BAA+B,CAAC;AAEvC;;;;;;GAMG;AAEH,MAAM,MAAM,gBAAgB,GACxB,WAAW,GACX,QAAQ,GACR,UAAU,GACV,MAAM,GACN,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,YAAa,SAAQ,KAAK;IACzC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,YAAY,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0FAA0F;IAC1F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4BAA4B;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,kGAAkG;IAClG,OAAO,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,wBAAwB;IACxB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,gGAAgG;IAChG,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,sDAAsD;IACtD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oBAAoB;IACpB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,UAAU,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,WAAW,EAAE,qBAAqB,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAMD,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,YAAY,CAE9D;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,iBAAiB,CAExE;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,YAAY,CAE3D;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,YAAY,CAE1D;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,YAAY,CAE1D"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { default as ElementFactory } from 'diagram-js/lib/core/ElementFactory';
|
|
2
|
+
import { default as ElementRegistry } from 'diagram-js/lib/core/ElementRegistry';
|
|
3
|
+
import { default as Canvas } from 'diagram-js/lib/core/Canvas';
|
|
4
|
+
import { default as Create } from 'diagram-js/lib/features/create/Create';
|
|
5
|
+
import { default as Modeling } from 'diagram-js/lib/features/modeling/Modeling';
|
|
6
|
+
import { default as Mouse } from 'diagram-js/lib/features/mouse/Mouse';
|
|
7
|
+
import { default as Selection } from 'diagram-js/lib/features/selection/Selection';
|
|
8
|
+
/**
|
|
9
|
+
* Custom copy/paste for Wardley shapes: copies the selection including the connections BETWEEN
|
|
10
|
+
* selected shapes and assigns unique labels (the DSL references by name!).
|
|
11
|
+
* Paste attaches the clones to the cursor like palette create (live preview, click places,
|
|
12
|
+
* Escape cancels); duplicate inserts immediately with an offset. Either way the insert is ONE
|
|
13
|
+
* undoable `elements.create` command.
|
|
14
|
+
*/
|
|
15
|
+
export default class WardleyCopyPaste {
|
|
16
|
+
private readonly selection;
|
|
17
|
+
private readonly modeling;
|
|
18
|
+
private readonly elementFactory;
|
|
19
|
+
private readonly elementRegistry;
|
|
20
|
+
private readonly canvas;
|
|
21
|
+
private readonly create;
|
|
22
|
+
private readonly mouse;
|
|
23
|
+
static $inject: string[];
|
|
24
|
+
private clipboard;
|
|
25
|
+
private pasteCount;
|
|
26
|
+
constructor(selection: Selection, modeling: Modeling, elementFactory: ElementFactory, elementRegistry: ElementRegistry, canvas: Canvas, create: Create, mouse: Mouse);
|
|
27
|
+
/** Copies the current selection. Returns false if nothing copyable is selected. */
|
|
28
|
+
copy(): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Paste with placement preview: the clones attach to the cursor exactly like palette create —
|
|
31
|
+
* click places them, Escape cancels. Falls back to an offset insert when the mouse position
|
|
32
|
+
* is unknown (e.g. paste before the pointer ever entered the canvas).
|
|
33
|
+
*/
|
|
34
|
+
paste(): boolean;
|
|
35
|
+
/** Copy + immediate offset insert of the selection (Ctrl+D) — no placement step. */
|
|
36
|
+
duplicate(): boolean;
|
|
37
|
+
/** Builds fresh clone elements (unique labels, internal connections rewired). */
|
|
38
|
+
private buildClones;
|
|
39
|
+
/** One `elements.create` command = one undo step; position = group center + offset. */
|
|
40
|
+
private insertWithOffset;
|
|
41
|
+
/** Labels unique against the registry AND within the paste batch. */
|
|
42
|
+
private uniqueLabels;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=WardleyCopyPaste.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WardleyCopyPaste.d.ts","sourceRoot":"","sources":["../../src/modeling/WardleyCopyPaste.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,uCAAuC,CAAC;AAChE,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;AACtE,OAAO,KAAK,KAAK,MAAM,qCAAqC,CAAC;AAC7D,OAAO,KAAK,SAAS,MAAM,6CAA6C,CAAC;AA2DzE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAejC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IApBxB,MAAM,CAAC,OAAO,WAQZ;IAEF,OAAO,CAAC,SAAS,CAA+E;IAChG,OAAO,CAAC,UAAU,CAAK;gBAGJ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK;IAG/B,mFAAmF;IACnF,IAAI,IAAI,OAAO;IAsCf;;;;OAIG;IACH,KAAK,IAAI,OAAO;IAWhB,oFAAoF;IACpF,SAAS,IAAI,OAAO;IAKpB,iFAAiF;IACjF,OAAO,CAAC,WAAW;IA2BnB,uFAAuF;IACvF,OAAO,CAAC,gBAAgB;IAaxB,qEAAqE;IACrE,OAAO,CAAC,YAAY;CAcrB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { default as CommandStack } from 'diagram-js/lib/command/CommandStack';
|
|
2
2
|
import { Method } from '@miragon/wardley-schema-model';
|
|
3
|
-
import { WardleyShape } from '../model/di-types.js';
|
|
3
|
+
import { WardleyConnection, WardleyShape } from '../model/di-types.js';
|
|
4
4
|
export interface EvolveOptions {
|
|
5
5
|
newLabel?: string;
|
|
6
6
|
method?: Method;
|
|
@@ -13,7 +13,7 @@ export default class WardleyModeling {
|
|
|
13
13
|
private readonly commandStack;
|
|
14
14
|
static $inject: string[];
|
|
15
15
|
constructor(commandStack: CommandStack);
|
|
16
|
-
updateProperties(element: WardleyShape, properties: Record<string, unknown>): void;
|
|
16
|
+
updateProperties(element: WardleyShape | WardleyConnection, properties: Record<string, unknown>): void;
|
|
17
17
|
updateLabel(element: WardleyShape, label: string): void;
|
|
18
18
|
evolveComponent(element: WardleyShape, targetEvolution: number, opts?: EvolveOptions): void;
|
|
19
19
|
clearMovement(element: WardleyShape): void;
|
|
@@ -21,7 +21,7 @@ export default class WardleyModeling {
|
|
|
21
21
|
setMethod(element: WardleyShape, method: Method | undefined): void;
|
|
22
22
|
/** Sets market/ecosystem (mutually exclusive) or removes both (`undefined`). */
|
|
23
23
|
setMarketEcosystem(element: WardleyShape, kind: 'market' | 'ecosystem' | undefined): void;
|
|
24
|
-
/** Sets the
|
|
24
|
+
/** Sets the element color (CSS color/hex) or removes it (`undefined` = default color). */
|
|
25
25
|
setColor(element: WardleyShape, color: string | undefined): void;
|
|
26
26
|
}
|
|
27
27
|
//# sourceMappingURL=WardleyModeling.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WardleyModeling.d.ts","sourceRoot":"","sources":["../../src/modeling/WardleyModeling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"WardleyModeling.d.ts","sourceRoot":"","sources":["../../src/modeling/WardleyModeling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAY5E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAGtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAFzC,MAAM,CAAC,OAAO,WAAoB;gBAEL,YAAY,EAAE,YAAY;IAIvD,gBAAgB,CACd,OAAO,EAAE,YAAY,GAAG,iBAAiB,EACzC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,IAAI;IAIP,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAkBvD,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,IAAI;IAa/F,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAI1C,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAO1C,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAOlE,gFAAgF;IAChF,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI;IAQzF,0FAA0F;IAC1F,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAGjE"}
|
package/dist/modeling/index.d.ts
CHANGED
|
@@ -2,5 +2,6 @@ import { ModuleDeclaration } from 'didi';
|
|
|
2
2
|
/** High-level Wardley mutations + registration of the custom command handlers. */
|
|
3
3
|
export declare const wardleyModelingModule: ModuleDeclaration;
|
|
4
4
|
export { default as WardleyModeling } from './WardleyModeling.js';
|
|
5
|
+
export { default as WardleyCopyPaste } from './WardleyCopyPaste.js';
|
|
5
6
|
export type { EvolveOptions } from './WardleyModeling.js';
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/modeling/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/modeling/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAM9C,kFAAkF;AAClF,eAAO,MAAM,qBAAqB,EAAE,iBAMnC,CAAC;AAEF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { default as OrderingProvider } from 'diagram-js/lib/features/ordering/OrderingProvider';
|
|
2
|
+
import { default as EventBus } from 'diagram-js/lib/core/EventBus';
|
|
3
|
+
import { ElementLike, ShapeLike } from 'diagram-js/lib/model/Types';
|
|
4
|
+
/**
|
|
5
|
+
* Keeps the z-order stable for INTERACTIVELY created/moved elements, matching the import order:
|
|
6
|
+
* frames (attitude/pipeline) at the back, connections in the middle, nodes on top. Without this,
|
|
7
|
+
* connections drawn in the editor would land above the nodes (unlike imported ones).
|
|
8
|
+
*/
|
|
9
|
+
export default class WardleyOrderingProvider extends OrderingProvider {
|
|
10
|
+
static $inject: string[];
|
|
11
|
+
constructor(eventBus: EventBus);
|
|
12
|
+
getOrdering(element: ElementLike, newParent: ShapeLike): {
|
|
13
|
+
parent: ShapeLike;
|
|
14
|
+
index?: number;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=WardleyOrderingProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WardleyOrderingProvider.d.ts","sourceRoot":"","sources":["../../src/ordering/WardleyOrderingProvider.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,mDAAmD,CAAC;AACjF,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAYzE;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,gBAAgB;IACnE,OAAgB,OAAO,WAAgB;gBAE3B,QAAQ,EAAE,QAAQ;IAIrB,WAAW,CAClB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,SAAS,GACnB;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;CAiBzC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ModuleDeclaration } from 'didi';
|
|
2
|
+
/** Z-order for interactive edits: frames -> connections -> nodes (like the import). */
|
|
3
|
+
export declare const wardleyOrderingModule: ModuleDeclaration;
|
|
4
|
+
export { default as WardleyOrderingProvider } from './WardleyOrderingProvider.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ordering/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAG9C,uFAAuF;AACvF,eAAO,MAAM,qBAAqB,EAAE,iBAGnC,CAAC;AAEF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { default as Palette } from 'diagram-js/lib/features/palette/Palette';
|
|
2
2
|
import { default as Create } from 'diagram-js/lib/features/create/Create';
|
|
3
|
+
import { default as LassoTool } from 'diagram-js/lib/features/lasso-tool/LassoTool';
|
|
4
|
+
import { default as WardleyDrawTool } from '../draw-tool/WardleyDrawTool.js';
|
|
3
5
|
import { PaletteEntries, default as PaletteProvider } from 'diagram-js/lib/features/palette/PaletteProvider';
|
|
4
6
|
import { default as WardleyElementFactory } from '../model/WardleyElementFactory.js';
|
|
5
7
|
export default class WardleyPaletteProvider implements PaletteProvider {
|
|
6
8
|
private readonly create;
|
|
7
9
|
private readonly factory;
|
|
10
|
+
private readonly lassoTool;
|
|
11
|
+
private readonly drawTool;
|
|
8
12
|
static $inject: string[];
|
|
9
|
-
constructor(palette: Palette, create: Create, factory: WardleyElementFactory);
|
|
13
|
+
constructor(palette: Palette, create: Create, factory: WardleyElementFactory, lassoTool: LassoTool, drawTool: WardleyDrawTool);
|
|
10
14
|
getPaletteEntries(): PaletteEntries;
|
|
11
15
|
}
|
|
12
16
|
//# sourceMappingURL=WardleyPaletteProvider.d.ts.map
|
|
@@ -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,EACV,cAAc,EAEd,OAAO,IAAI,eAAe,EAC3B,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;
|
|
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;AAkI3E,MAAM,CAAC,OAAO,OAAO,sBAAuB,YAAW,eAAe;IAKlE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAP3B,MAAM,CAAC,OAAO,WAAkF;gBAG9F,OAAO,EAAE,OAAO,EACC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,eAAe;IAK5C,iBAAiB,IAAI,cAAc;CAsCpC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { default as RuleProvider } from 'diagram-js/lib/features/rules/RuleProvider';
|
|
2
2
|
import { default as EventBus } from 'diagram-js/lib/core/EventBus';
|
|
3
3
|
/**
|
|
4
|
-
* Allowed
|
|
5
|
-
* the new connection's attributes
|
|
6
|
-
*
|
|
4
|
+
* Allowed edit operations (concept doc §5.4). On success the `connection.create` rule returns
|
|
5
|
+
* the new connection's attributes. The editor deliberately only creates dependencies — flow
|
|
6
|
+
* links (`+>`) exist for OWM import compatibility but are not authored interactively.
|
|
7
7
|
*/
|
|
8
8
|
export default class WardleyRules extends RuleProvider {
|
|
9
9
|
static $inject: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WardleyRules.d.ts","sourceRoot":"","sources":["../../src/rules/WardleyRules.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,4CAA4C,CAAC;AACtE,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"WardleyRules.d.ts","sourceRoot":"","sources":["../../src/rules/WardleyRules.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,4CAA4C,CAAC;AACtE,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAmBzD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAY;IACpD,OAAgB,OAAO,WAAgB;gBAE3B,QAAQ,EAAE,QAAQ;IAIrB,IAAI,IAAI,IAAI;CAwBtB"}
|
|
@@ -2,8 +2,9 @@ import { default as EventBus } from 'diagram-js/lib/core/EventBus';
|
|
|
2
2
|
import { default as EvolutionGrid } from '../evolution-grid/EvolutionGrid.js';
|
|
3
3
|
/**
|
|
4
4
|
* Snaps the X position (evolution) during move/create/resize to the stage boundaries.
|
|
5
|
-
* Disabled while the Shift key is held.
|
|
6
|
-
* diagram-js
|
|
5
|
+
* Disabled while the Shift key is held. Important: `x` and `dx` must be adjusted TOGETHER
|
|
6
|
+
* (like diagram-js' `setSnapped`) — move takes the final position from `dx`, so a mutated
|
|
7
|
+
* `x` alone would have no effect.
|
|
7
8
|
*/
|
|
8
9
|
export default class StageSnapping {
|
|
9
10
|
static $inject: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageSnapping.d.ts","sourceRoot":"","sources":["../../src/snapping/StageSnapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,aAAa,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"StageSnapping.d.ts","sourceRoot":"","sources":["../../src/snapping/StageSnapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,aAAa,MAAM,oCAAoC,CAAC;AAYpE;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,MAAM,CAAC,OAAO,WAAiC;gBAEnC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa;CA4CpD"}
|
package/dist/wardley.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.djs-parent{--color-grey-225-10-15:#22242a;--color-grey-225-10-35:#505562;--color-grey-225-10-55:#818798;--color-grey-225-10-75:#b9bcc6;--color-grey-225-10-80:#c7c9d1;--color-grey-225-10-85:#d5d7dd;--color-grey-225-10-90:#e3e4e8;--color-grey-225-10-95:#f1f2f4;--color-grey-225-10-97:#f7f7f8;--color-blue-205-100-45:#0086e6;--color-blue-205-100-45-opacity-30:#0086e64d;--color-blue-205-100-50:#0095ff;--color-blue-205-100-50-opacity-15:#0095ff26;--color-blue-205-100-70:#80caff;--color-blue-205-100-95:#e6f4ff;--color-green-150-86-44:#10d170;--color-red-360-100-40:#c00;--color-red-360-100-45:#e60000;--color-red-360-100-92:#ffd6d6;--color-red-360-100-97:#fff0f0;--color-white:#fff;--color-black:#000;--color-black-opacity-10:#0000001a;--color-black-opacity-30:#0000004d;--canvas-fill-color:var(--color-white);--bendpoint-fill-color:var(--color-blue-205-100-45);--bendpoint-stroke-color:var(--canvas-fill-color);--context-pad-entry-background-color:var(--color-white);--context-pad-entry-hover-background-color:var(--color-grey-225-10-95);--element-dragger-color:var(--color-blue-205-100-50);--element-hover-outline-fill-color:var(--color-blue-205-100-45);--element-selected-outline-stroke-color:var(--color-blue-205-100-50);--element-selected-outline-secondary-stroke-color:var(--color-blue-205-100-70);--lasso-fill-color:var(--color-blue-205-100-50-opacity-15);--lasso-stroke-color:var(--element-selected-outline-stroke-color);--palette-entry-color:var(--color-grey-225-10-15);--palette-entry-hover-color:var(--color-blue-205-100-45);--palette-entry-selected-color:var(--color-blue-205-100-50);--palette-separator-color:var(--color-grey-225-10-75);--palette-toggle-hover-background-color:var(--color-grey-225-10-55);--palette-background-color:var(--color-grey-225-10-97);--palette-border-color:var(--color-grey-225-10-75);--popup-font-family:"IBM Plex Sans", sans-serif;--popup-font-size:14px;--popup-header-entry-selected-color:var(--color-blue-205-100-50);--popup-header-font-weight:bolder;--popup-header-group-divider-color:var(--color-grey-225-10-75);--popup-background-color:var(--color-white);--popup-border-color:transparent;--popup-shadow-color:var(--color-black-opacity-30);--popup-disabled-color:var(--color-grey-225-10-35);--popup-description-color:var(--color-grey-225-10-35);--popup-no-results-color:var(--color-grey-225-10-55);--popup-entry-title-color:var(--color-grey-225-10-55);--popup-entry-hover-color:var(--color-grey-225-10-95);--popup-search-border-color:var(--color-grey-225-10-75);--popup-search-focus-border-color:var(--color-blue-205-100-50);--popup-search-focus-background-color:var(--color-blue-205-100-95);--resizer-fill-color:var(--color-blue-205-100-45);--resizer-stroke-color:var(--canvas-fill-color);--search-font-family:"IBM Plex Sans", sans-serif;--search-font-size:14px;--search-container-background-color:var(--color-white);--search-shadow-color:var(--color-black-opacity-30);--search-input-border-color:var(--color-grey-225-10-75);--search-input-focus-border-color:var(--color-blue-205-100-50);--search-input-focus-background-color:var(--color-blue-205-100-95);--search-result-hover-background-color:var(--color-grey-225-10-95);--search-result-secondary-color:var(--color-grey-225-10-55);--search-preselected-background-color:var(--color-blue-205-100-50-opacity-15);--shape-attach-allowed-stroke-color:var(--color-blue-205-100-50);--shape-connect-allowed-fill-color:var(--color-grey-225-10-97);--shape-drop-allowed-fill-color:var(--color-grey-225-10-97);--shape-drop-not-allowed-fill-color:var(--color-red-360-100-97);--shape-resize-preview-stroke-color:var(--color-blue-205-100-50);--snap-line-stroke-color:var(--color-blue-205-100-45-opacity-30);--space-tool-crosshair-stroke-color:var(--color-black);--tooltip-error-background-color:var(--color-red-360-100-97);--tooltip-error-border-color:var(--color-red-360-100-45);--tooltip-error-color:var(--color-red-360-100-45)}.djs-container svg.drop-not-ok{background:var(--shape-drop-not-allowed-fill-color)!important}.djs-container svg.new-parent{background:var(--shape-drop-allowed-fill-color)!important}.djs-container svg:focus{outline-offset:-1px}.djs-outline,.djs-selection-outline{fill:none;shape-rendering:geometricprecision;stroke-width:2px}.djs-outline{visibility:hidden}.djs-selection-outline{stroke:var(--element-selected-outline-stroke-color)}.djs-element.selected .djs-outline{visibility:visible;stroke:var(--element-selected-outline-stroke-color)}.djs-connection.selected .djs-outline{display:none}.djs-multi-select .djs-element.selected .djs-outline,.djs-dragging-active-lasso .djs-element.selected .djs-outline{stroke:var(--element-selected-outline-secondary-stroke-color);display:block}.djs-shape.connect-ok .djs-visual>:first-child{fill:var(--shape-connect-allowed-fill-color)!important}.djs-shape.connect-not-ok .djs-visual>:first-child,.djs-shape.drop-not-ok .djs-visual>:first-child{fill:var(--shape-drop-not-allowed-fill-color)!important}.djs-shape.new-parent .djs-visual>:first-child{fill:var(--shape-drop-allowed-fill-color)!important}.drop-not-ok,.connect-not-ok,.drop-not-ok *,.connect-not-ok *{cursor:not-allowed!important}.drop-ok,.connect-ok,.drop-ok *,.connect-ok *{cursor:default!important}.djs-element.attach-ok .djs-visual>:first-child{stroke-width:5px!important;stroke:var(--shape-attach-allowed-stroke-color)!important}.djs-frame.connect-not-ok .djs-visual>:first-child,.djs-frame.drop-not-ok .djs-visual>:first-child{stroke-width:3px!important;stroke:var(--shape-drop-not-allowed-fill-color)!important;fill:none!important}.djs-lasso-overlay{fill:var(--lasso-fill-color);stroke:var(--lasso-stroke-color);stroke-width:2px;shape-rendering:geometricprecision;pointer-events:none}.djs-resize-overlay{fill:none;stroke-dasharray:5 1 3 1;stroke:var(--shape-resize-preview-stroke-color);pointer-events:none}.djs-resizer-hit{fill:none;pointer-events:all}.djs-resizer-visual{fill:var(--resizer-fill-color);stroke-width:1px;stroke:var(--resizer-stroke-color);shape-rendering:geometricprecision}.djs-resizer:hover .djs-resizer-visual{stroke:var(--resizer-stroke-color);stroke-opacity:1}.djs-cursor-resize-ns,.djs-resizer-n,.djs-resizer-s{cursor:ns-resize}.djs-cursor-resize-ew,.djs-resizer-e,.djs-resizer-w{cursor:ew-resize}.djs-cursor-resize-nwse,.djs-resizer-nw,.djs-resizer-se{cursor:nwse-resize}.djs-cursor-resize-nesw,.djs-resizer-ne,.djs-resizer-sw{cursor:nesw-resize}.djs-shape.djs-resizing>.djs-outline{visibility:hidden!important}.djs-shape.djs-resizing>.djs-resizer,.djs-dragger>.djs-resizer{visibility:hidden}.djs-dragger *{fill:none!important;stroke:var(--element-dragger-color)!important}.djs-dragger tspan,.djs-dragger text,.djs-dragger marker circle,.djs-dragger marker path,.djs-dragger marker polygon,.djs-dragger marker polyline,.djs-dragger marker rect{fill:var(--element-dragger-color)!important;stroke:none!important}.djs-dragger marker text,.djs-dragger marker tspan{fill:none!important;stroke:var(--element-dragger-color)!important}.djs-dragging,.djs-dragging>*{opacity:.3!important;pointer-events:none!important}.djs-visual,.djs-outline{pointer-events:none}.djs-element.attach-ok .djs-hit{stroke-width:60px!important}.djs-element>.djs-hit-all,.djs-element>.djs-hit-no-move{pointer-events:all}.djs-element>.djs-hit-stroke,.djs-element>.djs-hit-click-stroke{pointer-events:stroke}.djs-connection .djs-visual{stroke-width:2px;fill:none}.djs-cursor-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.djs-cursor-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.djs-cursor-crosshair{cursor:crosshair}.djs-cursor-move{cursor:move}.djs-cursor-resize-ns{cursor:ns-resize}.djs-cursor-resize-ew{cursor:ew-resize}.djs-snap-line{stroke:var(--snap-line-stroke-color);stroke-linecap:round;stroke-width:2px;pointer-events:none}.djs-crosshair{stroke:var(--space-tool-crosshair-stroke-color);stroke-linecap:round;stroke-width:1px;pointer-events:none;shape-rendering:geometricprecision;stroke-dasharray:5 5}.djs-palette{box-sizing:border-box;width:48px;position:absolute;top:20px;left:20px}.djs-palette .separator{border:none;border-bottom:solid 1px var(--palette-separator-color);clear:both;margin:5px;padding-top:5px}.djs-palette .entry:before{vertical-align:initial}.djs-palette .djs-palette-toggle{cursor:pointer}.djs-palette .entry,.djs-palette .djs-palette-toggle{color:var(--palette-entry-color);text-align:center;font-size:30px}.djs-palette .entry{float:left}.djs-palette .entry img{max-width:100%}.djs-palette .djs-palette-entries:after{content:"";clear:both;display:table}.djs-palette .djs-palette-toggle:hover{background:var(--palette-toggle-hover-background-color)}.djs-palette .entry:hover{color:var(--palette-entry-hover-color)}.djs-palette .highlighted-entry{color:var(--palette-entry-selected-color)!important}.djs-palette .entry,.djs-palette .djs-palette-toggle{cursor:default;width:46px;height:46px;line-height:46px}.djs-palette.two-column.open{width:94px}.djs-palette:not(.open) .djs-palette-entries{display:none}.djs-palette:not(.open){overflow:hidden}.djs-palette.open .djs-palette-toggle{display:none}.djs-context-pad{pointer-events:none;z-index:100;width:72px;line-height:1;display:none;position:absolute}.djs-context-pad .entry{text-align:center;cursor:default;background-color:var(--context-pad-entry-background-color);width:22px;height:22px;box-shadow:0 0 2px 1px var(--context-pad-entry-background-color);pointer-events:all;vertical-align:middle;border-radius:3px;margin:0 2px 2px 0;font-size:22px;display:inline-block}.djs-context-pad .entry:hover{background:var(--context-pad-entry-hover-background-color)}.djs-context-pad.open{display:block}.djs-popup{box-sizing:border-box;background:var(--popup-background-color);z-index:200;width:min-content;box-shadow:0px 2px 6px var(--popup-shadow-color);border:solid 1px var(--popup-border-color);min-width:120px;line-height:1;font-size:var(--popup-font-size);font-family:var(--popup-font-family);outline:none;position:fixed;overflow:hidden}.djs-popup-search input{box-sizing:border-box;width:100%;font-size:var(--popup-font-size);border:solid 1px var(--popup-search-border-color);border-radius:2px;padding:3px 6px 3px 28px;line-height:21px}.djs-popup-search input:focus{background-color:var(--popup-search-focus-background-color);border:solid 1px var(--popup-search-focus-border-color);outline:none}.djs-popup-header{align-items:stretch;margin:10px 12px;line-height:20px;display:flex}.djs-popup-header .entry{border-radius:2px}.djs-popup button.entry{background:0 0;border:0;padding:0}.djs-popup-header .entry.active{color:var(--popup-header-entry-selected-color)}.djs-popup-header .entry.disabled{color:inherit}.djs-popup-header-group{flex-direction:row;align-items:center;margin:0;padding:0;list-style:none;display:flex}.djs-popup-header-group .entry{flex-direction:row;align-items:center;display:flex}.djs-popup-header-group+.djs-popup-header-group:before{content:"";background:var(--popup-header-group-divider-color);width:1px;height:20px;margin:0 5px}.djs-popup-search{width:auto;margin:10px 12px;position:relative}.djs-popup-title{font-size:var(--popup-font-size);font-weight:var(--popup-header-font-weight);flex:1;margin:0}.djs-popup-breadcrumbs{margin:10px 12px;line-height:20px;display:flex}.djs-popup-breadcrumbs-item{appearance:none;min-width:0;color:var(--popup-description-color);font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;outline:none;margin:0;padding:0;display:inline-flex;overflow:hidden}.djs-popup-breadcrumbs-item--separator:before{content:"/";color:var(--popup-description-color);margin:0 4px;display:inline-block}.djs-popup-breadcrumbs-item:hover{color:inherit;text-decoration:underline}.djs-popup-breadcrumbs-item:focus-visible{outline:1px solid var(--popup-search-focus-border-color);outline-offset:2px}.djs-popup-breadcrumbs-item--back{border:1px solid var(--popup-search-border-color);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-right:6px;padding:2px 3px}.djs-popup-breadcrumbs-item--back:hover{background:#f2f3f5}.djs-popup-breadcrumbs-item--current{font-weight:var(--popup-header-font-weight);color:inherit;cursor:default}.djs-popup-breadcrumbs-item--current:hover{text-decoration:none}.djs-popup-entry-chevron{color:var(--popup-description-color);align-items:center;margin-left:6px;display:flex}.djs-popup-search-icon{position:absolute;top:7px;left:8px}.djs-popup-search-count{color:var(--popup-description-color);margin:0 12px;font-size:11px}.djs-popup-results{max-height:280px;margin:7px 3px 7px 12px;padding-right:9px;list-style:none;overflow:auto}.djs-popup-group{width:100%;margin:0;padding:0}.djs-popup-body .entry,.djs-popup-body .entry-header{cursor:default;border-radius:4px;padding:5px 7px}.djs-popup-body .entry-header{font-weight:var(--popup-header-font-weight);color:var(--popup-entry-title-color);padding-left:0}.djs-popup [class*=icon] .djs-popup-label,.djs-popup-label:not(:first-child){margin-left:.5em}.djs-popup [class*=icon]:before,.djs-popup-entry-icon{vertical-align:middle;width:1em;height:1em;font-size:1.4em;display:inline-block}.djs-popup-body .entry-header:not(:first-child){margin-top:8px;margin-bottom:2px}.djs-popup-body .entry{flex-direction:row;align-items:stretch;height:min-content;display:flex}.djs-popup .entry.selected{background-color:var(--popup-entry-hover-color)}.djs-popup .entry.disabled{color:var(--popup-disabled-color);cursor:not-allowed}.djs-popup-body .entry:not(:first-child){margin-top:2px}.djs-popup-entry-content{flex-direction:column;flex:1;display:flex}.djs-popup-entry-description{color:var(--popup-description-color);margin-top:.25em;font-size:.9em}.djs-popup-label,.djs-popup-entry-description{line-height:1.4em}.djs-popup .entry,.djs-popup .entry-header{margin:1px}.djs-popup-body{flex-direction:column;width:auto}.djs-popup ::-webkit-scrollbar{width:6px}.djs-popup ::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.djs-popup ::-webkit-scrollbar-track{box-shadow:none;background:0 0;margin:0;padding:5px}.djs-popup-no-results{color:var(--popup-no-results-color);padding:0 12px 12px}.djs-popup-entry-docs{color:var(--popup-description-color);margin-left:3px;display:none}.djs-popup-body .entry:focus-within .djs-popup-entry-docs,.djs-popup-body .entry:focus .djs-popup-entry-docs,.djs-popup-body .entry:hover .djs-popup-entry-docs{display:inline}.djs-popup-entry-docs svg{vertical-align:middle;margin:2px}.djs-palette{background:var(--palette-background-color);border:solid 1px var(--palette-border-color);border-radius:2px}.djs-segment-dragger,.djs-bendpoint{display:none}.djs-segment-dragger .djs-visual{fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-width:1px;stroke-opacity:1;display:none}.djs-segment-dragger:hover .djs-visual{display:block}.djs-bendpoint .djs-visual{fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-width:1px}.djs-segment-dragger:hover,.djs-bendpoints.hover .djs-segment-dragger,.djs-bendpoints.selected .djs-segment-dragger,.djs-bendpoint:hover,.djs-bendpoints.hover .djs-bendpoint,.djs-bendpoints.selected .djs-bendpoint{display:block}.djs-drag-active .djs-bendpoints *,.djs-bendpoints:not(.hover) .floating{display:none}.djs-segment-dragger:hover .djs-visual,.djs-segment-dragger.djs-dragging .djs-visual,.djs-bendpoint:hover .djs-visual,.djs-bendpoint.floating .djs-visual{fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-opacity:1}.djs-bendpoint.floating .djs-hit{pointer-events:none}.djs-segment-dragger .djs-hit,.djs-bendpoint .djs-hit{fill:none;pointer-events:all}.djs-segment-dragger.horizontal .djs-hit{cursor:ns-resize}.djs-segment-dragger.vertical .djs-hit{cursor:ew-resize}.djs-segment-dragger.djs-dragging .djs-hit{pointer-events:none}.djs-updating,.djs-updating>*{pointer-events:none!important}.djs-updating .djs-context-pad,.djs-updating .djs-outline,.djs-updating .djs-bendpoint,.djs-multi-select .djs-bendpoint,.djs-multi-select .djs-segment-dragger,.connect-ok .djs-bendpoint,.connect-not-ok .djs-bendpoint,.drop-ok .djs-bendpoint,.drop-not-ok .djs-bendpoint{display:none!important}.djs-segment-dragger.djs-dragging,.djs-bendpoint.djs-dragging{opacity:1;display:block}.djs-tooltip-error{background:var(--tooltip-error-background-color);border:solid 1px var(--tooltip-error-border-color);width:160px;color:var(--tooltip-error-color);opacity:.75;border-radius:2px;padding:6px;font-size:12px;line-height:16px}.djs-tooltip-error:hover{opacity:1}.djs-search-open .djs-context-pad{display:none}.djs-search-open .djs-connection.selected .djs-outline{display:block}.djs-search-container{z-index:10;width:25%;min-width:300px;max-width:400px;font-family:var(--search-font-family);font-size:var(--search-font-size);box-shadow:0px 2px 6px var(--search-shadow-color);border-radius:2px;margin-left:auto;margin-right:auto;position:absolute;top:20px;left:0;right:0}.djs-search-container:not(.open){display:none}.djs-search-input{position:relative}.djs-search-input svg{position:absolute;top:7px;left:8px}.djs-search-input input{font-size:var(--search-font-size);border:1px solid var(--search-input-border-color);box-sizing:border-box;border-radius:2px;width:100%;padding:3px 6px 3px 28px;line-height:21px}.djs-search-input input:focus{background-color:var(--search-input-focus-background-color);border:solid 1px var(--search-input-focus-border-color);outline:none}.djs-search-results{background:var(--search-container-background-color);max-height:200px;position:relative;overflow-y:auto}.djs-search-result{padding:6px 8px}.djs-search-result-primary{text-overflow:ellipsis;white-space:nowrap;margin:0 0 3px;overflow:hidden}.djs-search-result-secondary{text-overflow:ellipsis;white-space:nowrap;color:var(--search-result-secondary-color);margin:0;font-family:monospace;overflow:hidden}.djs-search-result:hover,.djs-search-result-selected,.djs-search-result-selected:hover{background:var(--search-result-hover-background-color)}.djs-search-open .djs-element .djs-outline{fill:var(--search-preselected-background-color)!important}.djs-element-hidden,.djs-element-hidden .djs-hit,.djs-element-hidden .djs-outline,.djs-label-hidden .djs-label{display:none!important}.djs-element .djs-hit-stroke,.djs-element .djs-hit-click-stroke,.djs-element .djs-hit-all{cursor:move}:root{--wardley-paper:#fbfaf7;--wardley-ink:#1b1b1a;--wardley-accent:#0e7c74}.wardley-container{background-color:var(--wardley-paper);background-image:radial-gradient(#1b1b1a0a .6px,#0000 .6px);background-size:22px 22px;width:100%;height:100%;font-family:Spline Sans Variable,Spline Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;position:relative;overflow:hidden}.wardley-container .layer-wardley-axes{pointer-events:none}.wardley-container .djs-element text{-webkit-user-select:none;user-select:none}.wardley-container .wardley-evolve-handle{cursor:ew-resize;pointer-events:all}.wardley-container .djs-element.hover .djs-visual>:first-child:not(text),.wardley-container .djs-element.selected .djs-visual>:first-child:not(text){stroke:var(--wardley-accent)!important}.wardley-container .djs-outline{stroke:var(--wardley-accent);stroke-dasharray:3 3}.wardley-container .djs-resizer-visual{fill:#fff;stroke:var(--wardley-accent)}.wardley-container .djs-resizer-hit{fill:none}.djs-palette{background:#fff;border:1px solid #e7e2d8;border-radius:13px;align-items:center;width:auto;padding:5px 7px;display:flex;top:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 26px #1b1b1a1a}.djs-palette .djs-palette-entries,.djs-palette .group{flex-direction:row;align-items:center;display:flex}.djs-palette .entry{float:none;width:40px;height:40px;color:var(--wardley-ink);border-radius:9px;line-height:normal;transition:background .12s}.djs-palette .entry:hover{background:#0e7c741a}.djs-palette .group+.group{margin-left:9px;padding-left:9px;position:relative}.djs-palette .group+.group:before{content:"";background:#1b1b1a1a;width:1px;position:absolute;top:6px;bottom:6px;left:0}.wardley-palette-entry{width:100%;min-width:24px;height:100%;min-height:24px;color:var(--wardley-ink);justify-content:center;align-items:center;line-height:1;display:flex}.wardley-palette-svg{display:block}.wardley-container .wardley-cp-entry{width:100%;min-width:24px;height:100%;min-height:24px;color:var(--wardley-ink);justify-content:center;align-items:center;font-size:17px;line-height:1;display:flex}.wardley-container .djs-context-pad .entry{background:#fff;border-radius:8px;transition:background .12s;box-shadow:0 2px 8px #1b1b1a1f}.wardley-container .djs-context-pad .entry:hover{background:#0e7c741f}.wardley-container .wardley-label-input{border:1.5px solid var(--wardley-accent);z-index:100;background:#fff;border-radius:4px;outline:none;min-width:90px;padding:2px 6px;font-family:inherit;font-size:13px;box-shadow:0 2px 10px #0e7c742e}.wardley-container .wardley-label-textarea{resize:none;white-space:pre;min-width:120px;font-style:italic;line-height:17px}.wardley-container.drag-over:after{content:"Drop Wardley map here (.wmap · .json · .svg · .png)";z-index:200;border:2px dashed var(--wardley-accent);color:var(--wardley-accent);pointer-events:none;background:#0e7c740f;border-radius:12px;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex;position:absolute;inset:10px}.wardley-container.wardley-dark{--wardley-paper:#11151b;--wardley-ink:#e8eaed;background-color:var(--wardley-paper);background-image:radial-gradient(#ffffff0d .6px,#0000 .6px)}.wardley-container .wardley-color-picker{z-index:300;background:#fff;border:1px solid #00000026;border-radius:10px;grid-template-columns:repeat(3,22px);gap:6px;padding:8px;display:grid;position:absolute;box-shadow:0 6px 24px #00000038}.wardley-container .wardley-cp-swatch{cursor:pointer;border:1px solid #0003;border-radius:5px;width:22px;height:22px;padding:0;transition:transform 80ms}.wardley-container .wardley-cp-swatch:hover{transform:scale(1.1)}.wardley-container .wardley-cp-active{outline:2px solid var(--wardley-ink,#1b1b1a);outline-offset:1px}.wardley-container .wardley-cp-none{background:#fff linear-gradient(45deg,#0000 44%,#d11a2a 45% 55%,#0000 56%)}
|
|
1
|
+
.djs-parent{--color-grey-225-10-15:#22242a;--color-grey-225-10-35:#505562;--color-grey-225-10-55:#818798;--color-grey-225-10-75:#b9bcc6;--color-grey-225-10-80:#c7c9d1;--color-grey-225-10-85:#d5d7dd;--color-grey-225-10-90:#e3e4e8;--color-grey-225-10-95:#f1f2f4;--color-grey-225-10-97:#f7f7f8;--color-blue-205-100-45:#0086e6;--color-blue-205-100-45-opacity-30:#0086e64d;--color-blue-205-100-50:#0095ff;--color-blue-205-100-50-opacity-15:#0095ff26;--color-blue-205-100-70:#80caff;--color-blue-205-100-95:#e6f4ff;--color-green-150-86-44:#10d170;--color-red-360-100-40:#c00;--color-red-360-100-45:#e60000;--color-red-360-100-92:#ffd6d6;--color-red-360-100-97:#fff0f0;--color-white:#fff;--color-black:#000;--color-black-opacity-10:#0000001a;--color-black-opacity-30:#0000004d;--canvas-fill-color:var(--color-white);--bendpoint-fill-color:var(--color-blue-205-100-45);--bendpoint-stroke-color:var(--canvas-fill-color);--context-pad-entry-background-color:var(--color-white);--context-pad-entry-hover-background-color:var(--color-grey-225-10-95);--element-dragger-color:var(--color-blue-205-100-50);--element-hover-outline-fill-color:var(--color-blue-205-100-45);--element-selected-outline-stroke-color:var(--color-blue-205-100-50);--element-selected-outline-secondary-stroke-color:var(--color-blue-205-100-70);--lasso-fill-color:var(--color-blue-205-100-50-opacity-15);--lasso-stroke-color:var(--element-selected-outline-stroke-color);--palette-entry-color:var(--color-grey-225-10-15);--palette-entry-hover-color:var(--color-blue-205-100-45);--palette-entry-selected-color:var(--color-blue-205-100-50);--palette-separator-color:var(--color-grey-225-10-75);--palette-toggle-hover-background-color:var(--color-grey-225-10-55);--palette-background-color:var(--color-grey-225-10-97);--palette-border-color:var(--color-grey-225-10-75);--popup-font-family:"IBM Plex Sans", sans-serif;--popup-font-size:14px;--popup-header-entry-selected-color:var(--color-blue-205-100-50);--popup-header-font-weight:bolder;--popup-header-group-divider-color:var(--color-grey-225-10-75);--popup-background-color:var(--color-white);--popup-border-color:transparent;--popup-shadow-color:var(--color-black-opacity-30);--popup-disabled-color:var(--color-grey-225-10-35);--popup-description-color:var(--color-grey-225-10-35);--popup-no-results-color:var(--color-grey-225-10-55);--popup-entry-title-color:var(--color-grey-225-10-55);--popup-entry-hover-color:var(--color-grey-225-10-95);--popup-search-border-color:var(--color-grey-225-10-75);--popup-search-focus-border-color:var(--color-blue-205-100-50);--popup-search-focus-background-color:var(--color-blue-205-100-95);--resizer-fill-color:var(--color-blue-205-100-45);--resizer-stroke-color:var(--canvas-fill-color);--search-font-family:"IBM Plex Sans", sans-serif;--search-font-size:14px;--search-container-background-color:var(--color-white);--search-shadow-color:var(--color-black-opacity-30);--search-input-border-color:var(--color-grey-225-10-75);--search-input-focus-border-color:var(--color-blue-205-100-50);--search-input-focus-background-color:var(--color-blue-205-100-95);--search-result-hover-background-color:var(--color-grey-225-10-95);--search-result-secondary-color:var(--color-grey-225-10-55);--search-preselected-background-color:var(--color-blue-205-100-50-opacity-15);--shape-attach-allowed-stroke-color:var(--color-blue-205-100-50);--shape-connect-allowed-fill-color:var(--color-grey-225-10-97);--shape-drop-allowed-fill-color:var(--color-grey-225-10-97);--shape-drop-not-allowed-fill-color:var(--color-red-360-100-97);--shape-resize-preview-stroke-color:var(--color-blue-205-100-50);--snap-line-stroke-color:var(--color-blue-205-100-45-opacity-30);--space-tool-crosshair-stroke-color:var(--color-black);--tooltip-error-background-color:var(--color-red-360-100-97);--tooltip-error-border-color:var(--color-red-360-100-45);--tooltip-error-color:var(--color-red-360-100-45)}.djs-container svg.drop-not-ok{background:var(--shape-drop-not-allowed-fill-color)!important}.djs-container svg.new-parent{background:var(--shape-drop-allowed-fill-color)!important}.djs-container svg:focus{outline-offset:-1px}.djs-outline,.djs-selection-outline{fill:none;shape-rendering:geometricprecision;stroke-width:2px}.djs-outline{visibility:hidden}.djs-selection-outline{stroke:var(--element-selected-outline-stroke-color)}.djs-element.selected .djs-outline{visibility:visible;stroke:var(--element-selected-outline-stroke-color)}.djs-connection.selected .djs-outline{display:none}.djs-multi-select .djs-element.selected .djs-outline,.djs-dragging-active-lasso .djs-element.selected .djs-outline{stroke:var(--element-selected-outline-secondary-stroke-color);display:block}.djs-shape.connect-ok .djs-visual>:first-child{fill:var(--shape-connect-allowed-fill-color)!important}.djs-shape.connect-not-ok .djs-visual>:first-child,.djs-shape.drop-not-ok .djs-visual>:first-child{fill:var(--shape-drop-not-allowed-fill-color)!important}.djs-shape.new-parent .djs-visual>:first-child{fill:var(--shape-drop-allowed-fill-color)!important}.drop-not-ok,.connect-not-ok,.drop-not-ok *,.connect-not-ok *{cursor:not-allowed!important}.drop-ok,.connect-ok,.drop-ok *,.connect-ok *{cursor:default!important}.djs-element.attach-ok .djs-visual>:first-child{stroke-width:5px!important;stroke:var(--shape-attach-allowed-stroke-color)!important}.djs-frame.connect-not-ok .djs-visual>:first-child,.djs-frame.drop-not-ok .djs-visual>:first-child{stroke-width:3px!important;stroke:var(--shape-drop-not-allowed-fill-color)!important;fill:none!important}.djs-lasso-overlay{fill:var(--lasso-fill-color);stroke:var(--lasso-stroke-color);stroke-width:2px;shape-rendering:geometricprecision;pointer-events:none}.djs-resize-overlay{fill:none;stroke-dasharray:5 1 3 1;stroke:var(--shape-resize-preview-stroke-color);pointer-events:none}.djs-resizer-hit{fill:none;pointer-events:all}.djs-resizer-visual{fill:var(--resizer-fill-color);stroke-width:1px;stroke:var(--resizer-stroke-color);shape-rendering:geometricprecision}.djs-resizer:hover .djs-resizer-visual{stroke:var(--resizer-stroke-color);stroke-opacity:1}.djs-cursor-resize-ns,.djs-resizer-n,.djs-resizer-s{cursor:ns-resize}.djs-cursor-resize-ew,.djs-resizer-e,.djs-resizer-w{cursor:ew-resize}.djs-cursor-resize-nwse,.djs-resizer-nw,.djs-resizer-se{cursor:nwse-resize}.djs-cursor-resize-nesw,.djs-resizer-ne,.djs-resizer-sw{cursor:nesw-resize}.djs-shape.djs-resizing>.djs-outline{visibility:hidden!important}.djs-shape.djs-resizing>.djs-resizer,.djs-dragger>.djs-resizer{visibility:hidden}.djs-dragger *{fill:none!important;stroke:var(--element-dragger-color)!important}.djs-dragger tspan,.djs-dragger text,.djs-dragger marker circle,.djs-dragger marker path,.djs-dragger marker polygon,.djs-dragger marker polyline,.djs-dragger marker rect{fill:var(--element-dragger-color)!important;stroke:none!important}.djs-dragger marker text,.djs-dragger marker tspan{fill:none!important;stroke:var(--element-dragger-color)!important}.djs-dragging,.djs-dragging>*{opacity:.3!important;pointer-events:none!important}.djs-visual,.djs-outline{pointer-events:none}.djs-element.attach-ok .djs-hit{stroke-width:60px!important}.djs-element>.djs-hit-all,.djs-element>.djs-hit-no-move{pointer-events:all}.djs-element>.djs-hit-stroke,.djs-element>.djs-hit-click-stroke{pointer-events:stroke}.djs-connection .djs-visual{stroke-width:2px;fill:none}.djs-cursor-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.djs-cursor-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.djs-cursor-crosshair{cursor:crosshair}.djs-cursor-move{cursor:move}.djs-cursor-resize-ns{cursor:ns-resize}.djs-cursor-resize-ew{cursor:ew-resize}.djs-snap-line{stroke:var(--snap-line-stroke-color);stroke-linecap:round;stroke-width:2px;pointer-events:none}.djs-crosshair{stroke:var(--space-tool-crosshair-stroke-color);stroke-linecap:round;stroke-width:1px;pointer-events:none;shape-rendering:geometricprecision;stroke-dasharray:5 5}.djs-palette{box-sizing:border-box;width:48px;position:absolute;top:20px;left:20px}.djs-palette .separator{border:none;border-bottom:solid 1px var(--palette-separator-color);clear:both;margin:5px;padding-top:5px}.djs-palette .entry:before{vertical-align:initial}.djs-palette .djs-palette-toggle{cursor:pointer}.djs-palette .entry,.djs-palette .djs-palette-toggle{color:var(--palette-entry-color);text-align:center;font-size:30px}.djs-palette .entry{float:left}.djs-palette .entry img{max-width:100%}.djs-palette .djs-palette-entries:after{content:"";clear:both;display:table}.djs-palette .djs-palette-toggle:hover{background:var(--palette-toggle-hover-background-color)}.djs-palette .entry:hover{color:var(--palette-entry-hover-color)}.djs-palette .highlighted-entry{color:var(--palette-entry-selected-color)!important}.djs-palette .entry,.djs-palette .djs-palette-toggle{cursor:default;width:46px;height:46px;line-height:46px}.djs-palette.two-column.open{width:94px}.djs-palette:not(.open) .djs-palette-entries{display:none}.djs-palette:not(.open){overflow:hidden}.djs-palette.open .djs-palette-toggle{display:none}.djs-context-pad{pointer-events:none;z-index:100;width:72px;line-height:1;display:none;position:absolute}.djs-context-pad .entry{text-align:center;cursor:default;background-color:var(--context-pad-entry-background-color);width:22px;height:22px;box-shadow:0 0 2px 1px var(--context-pad-entry-background-color);pointer-events:all;vertical-align:middle;border-radius:3px;margin:0 2px 2px 0;font-size:22px;display:inline-block}.djs-context-pad .entry:hover{background:var(--context-pad-entry-hover-background-color)}.djs-context-pad.open{display:block}.djs-popup{box-sizing:border-box;background:var(--popup-background-color);z-index:200;width:min-content;box-shadow:0px 2px 6px var(--popup-shadow-color);border:solid 1px var(--popup-border-color);min-width:120px;line-height:1;font-size:var(--popup-font-size);font-family:var(--popup-font-family);outline:none;position:fixed;overflow:hidden}.djs-popup-search input{box-sizing:border-box;width:100%;font-size:var(--popup-font-size);border:solid 1px var(--popup-search-border-color);border-radius:2px;padding:3px 6px 3px 28px;line-height:21px}.djs-popup-search input:focus{background-color:var(--popup-search-focus-background-color);border:solid 1px var(--popup-search-focus-border-color);outline:none}.djs-popup-header{align-items:stretch;margin:10px 12px;line-height:20px;display:flex}.djs-popup-header .entry{border-radius:2px}.djs-popup button.entry{background:0 0;border:0;padding:0}.djs-popup-header .entry.active{color:var(--popup-header-entry-selected-color)}.djs-popup-header .entry.disabled{color:inherit}.djs-popup-header-group{flex-direction:row;align-items:center;margin:0;padding:0;list-style:none;display:flex}.djs-popup-header-group .entry{flex-direction:row;align-items:center;display:flex}.djs-popup-header-group+.djs-popup-header-group:before{content:"";background:var(--popup-header-group-divider-color);width:1px;height:20px;margin:0 5px}.djs-popup-search{width:auto;margin:10px 12px;position:relative}.djs-popup-title{font-size:var(--popup-font-size);font-weight:var(--popup-header-font-weight);flex:1;margin:0}.djs-popup-breadcrumbs{margin:10px 12px;line-height:20px;display:flex}.djs-popup-breadcrumbs-item{appearance:none;min-width:0;color:var(--popup-description-color);font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;outline:none;margin:0;padding:0;display:inline-flex;overflow:hidden}.djs-popup-breadcrumbs-item--separator:before{content:"/";color:var(--popup-description-color);margin:0 4px;display:inline-block}.djs-popup-breadcrumbs-item:hover{color:inherit;text-decoration:underline}.djs-popup-breadcrumbs-item:focus-visible{outline:1px solid var(--popup-search-focus-border-color);outline-offset:2px}.djs-popup-breadcrumbs-item--back{border:1px solid var(--popup-search-border-color);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-right:6px;padding:2px 3px}.djs-popup-breadcrumbs-item--back:hover{background:#f2f3f5}.djs-popup-breadcrumbs-item--current{font-weight:var(--popup-header-font-weight);color:inherit;cursor:default}.djs-popup-breadcrumbs-item--current:hover{text-decoration:none}.djs-popup-entry-chevron{color:var(--popup-description-color);align-items:center;margin-left:6px;display:flex}.djs-popup-search-icon{position:absolute;top:7px;left:8px}.djs-popup-search-count{color:var(--popup-description-color);margin:0 12px;font-size:11px}.djs-popup-results{max-height:280px;margin:7px 3px 7px 12px;padding-right:9px;list-style:none;overflow:auto}.djs-popup-group{width:100%;margin:0;padding:0}.djs-popup-body .entry,.djs-popup-body .entry-header{cursor:default;border-radius:4px;padding:5px 7px}.djs-popup-body .entry-header{font-weight:var(--popup-header-font-weight);color:var(--popup-entry-title-color);padding-left:0}.djs-popup [class*=icon] .djs-popup-label,.djs-popup-label:not(:first-child){margin-left:.5em}.djs-popup [class*=icon]:before,.djs-popup-entry-icon{vertical-align:middle;width:1em;height:1em;font-size:1.4em;display:inline-block}.djs-popup-body .entry-header:not(:first-child){margin-top:8px;margin-bottom:2px}.djs-popup-body .entry{flex-direction:row;align-items:stretch;height:min-content;display:flex}.djs-popup .entry.selected{background-color:var(--popup-entry-hover-color)}.djs-popup .entry.disabled{color:var(--popup-disabled-color);cursor:not-allowed}.djs-popup-body .entry:not(:first-child){margin-top:2px}.djs-popup-entry-content{flex-direction:column;flex:1;display:flex}.djs-popup-entry-description{color:var(--popup-description-color);margin-top:.25em;font-size:.9em}.djs-popup-label,.djs-popup-entry-description{line-height:1.4em}.djs-popup .entry,.djs-popup .entry-header{margin:1px}.djs-popup-body{flex-direction:column;width:auto}.djs-popup ::-webkit-scrollbar{width:6px}.djs-popup ::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.djs-popup ::-webkit-scrollbar-track{box-shadow:none;background:0 0;margin:0;padding:5px}.djs-popup-no-results{color:var(--popup-no-results-color);padding:0 12px 12px}.djs-popup-entry-docs{color:var(--popup-description-color);margin-left:3px;display:none}.djs-popup-body .entry:focus-within .djs-popup-entry-docs,.djs-popup-body .entry:focus .djs-popup-entry-docs,.djs-popup-body .entry:hover .djs-popup-entry-docs{display:inline}.djs-popup-entry-docs svg{vertical-align:middle;margin:2px}.djs-palette{background:var(--palette-background-color);border:solid 1px var(--palette-border-color);border-radius:2px}.djs-segment-dragger,.djs-bendpoint{display:none}.djs-segment-dragger .djs-visual{fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-width:1px;stroke-opacity:1;display:none}.djs-segment-dragger:hover .djs-visual{display:block}.djs-bendpoint .djs-visual{fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-width:1px}.djs-segment-dragger:hover,.djs-bendpoints.hover .djs-segment-dragger,.djs-bendpoints.selected .djs-segment-dragger,.djs-bendpoint:hover,.djs-bendpoints.hover .djs-bendpoint,.djs-bendpoints.selected .djs-bendpoint{display:block}.djs-drag-active .djs-bendpoints *,.djs-bendpoints:not(.hover) .floating{display:none}.djs-segment-dragger:hover .djs-visual,.djs-segment-dragger.djs-dragging .djs-visual,.djs-bendpoint:hover .djs-visual,.djs-bendpoint.floating .djs-visual{fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-opacity:1}.djs-bendpoint.floating .djs-hit{pointer-events:none}.djs-segment-dragger .djs-hit,.djs-bendpoint .djs-hit{fill:none;pointer-events:all}.djs-segment-dragger.horizontal .djs-hit{cursor:ns-resize}.djs-segment-dragger.vertical .djs-hit{cursor:ew-resize}.djs-segment-dragger.djs-dragging .djs-hit{pointer-events:none}.djs-updating,.djs-updating>*{pointer-events:none!important}.djs-updating .djs-context-pad,.djs-updating .djs-outline,.djs-updating .djs-bendpoint,.djs-multi-select .djs-bendpoint,.djs-multi-select .djs-segment-dragger,.connect-ok .djs-bendpoint,.connect-not-ok .djs-bendpoint,.drop-ok .djs-bendpoint,.drop-not-ok .djs-bendpoint{display:none!important}.djs-segment-dragger.djs-dragging,.djs-bendpoint.djs-dragging{opacity:1;display:block}.djs-tooltip-error{background:var(--tooltip-error-background-color);border:solid 1px var(--tooltip-error-border-color);width:160px;color:var(--tooltip-error-color);opacity:.75;border-radius:2px;padding:6px;font-size:12px;line-height:16px}.djs-tooltip-error:hover{opacity:1}.djs-search-open .djs-context-pad{display:none}.djs-search-open .djs-connection.selected .djs-outline{display:block}.djs-search-container{z-index:10;width:25%;min-width:300px;max-width:400px;font-family:var(--search-font-family);font-size:var(--search-font-size);box-shadow:0px 2px 6px var(--search-shadow-color);border-radius:2px;margin-left:auto;margin-right:auto;position:absolute;top:20px;left:0;right:0}.djs-search-container:not(.open){display:none}.djs-search-input{position:relative}.djs-search-input svg{position:absolute;top:7px;left:8px}.djs-search-input input{font-size:var(--search-font-size);border:1px solid var(--search-input-border-color);box-sizing:border-box;border-radius:2px;width:100%;padding:3px 6px 3px 28px;line-height:21px}.djs-search-input input:focus{background-color:var(--search-input-focus-background-color);border:solid 1px var(--search-input-focus-border-color);outline:none}.djs-search-results{background:var(--search-container-background-color);max-height:200px;position:relative;overflow-y:auto}.djs-search-result{padding:6px 8px}.djs-search-result-primary{text-overflow:ellipsis;white-space:nowrap;margin:0 0 3px;overflow:hidden}.djs-search-result-secondary{text-overflow:ellipsis;white-space:nowrap;color:var(--search-result-secondary-color);margin:0;font-family:monospace;overflow:hidden}.djs-search-result:hover,.djs-search-result-selected,.djs-search-result-selected:hover{background:var(--search-result-hover-background-color)}.djs-search-open .djs-element .djs-outline{fill:var(--search-preselected-background-color)!important}.djs-element-hidden,.djs-element-hidden .djs-hit,.djs-element-hidden .djs-outline,.djs-label-hidden .djs-label{display:none!important}.djs-element .djs-hit-stroke,.djs-element .djs-hit-click-stroke,.djs-element .djs-hit-all{cursor:move}:root{--wardley-paper:#fbfaf7;--wardley-ink:#1b1b1a;--wardley-accent:#0e7c74}.wardley-container{background-color:var(--wardley-paper);background-image:radial-gradient(#1b1b1a0a .6px,#0000 .6px);background-size:22px 22px;width:100%;height:100%;font-family:Spline Sans Variable,Spline Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;position:relative;overflow:hidden}.wardley-container .layer-wardley-axes{pointer-events:none}.wardley-container .djs-element text{-webkit-user-select:none;user-select:none}.wardley-container .wardley-evolve-handle{cursor:ew-resize;pointer-events:all}.wardley-container .djs-element.hover>.djs-visual,.wardley-container .djs-element.selected>.djs-visual{filter:brightness(.72)saturate(1.15)}.wardley-container .djs-outline{stroke:#00000073;stroke-dasharray:3 3}.wardley-container .djs-parent{--element-hover-outline-fill-color:#00000073;--element-selected-outline-stroke-color:#00000073;--element-selected-outline-secondary-stroke-color:#0000004d;--lasso-fill-color:#0000000a;--lasso-stroke-color:#00000073}.wardley-container .djs-resizer-visual{fill:#fff;stroke:#0000008c}.wardley-container .djs-resizer-hit{fill:none}.djs-palette{background:#fff;border:1px solid #e7e2d8;border-radius:13px;align-items:center;width:auto;padding:5px 7px;display:flex;top:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 26px #1b1b1a1a}.djs-palette .djs-palette-entries,.djs-palette .group{flex-direction:row;align-items:center;display:flex}.djs-palette .entry{float:none;width:40px;height:40px;color:var(--wardley-ink);border-radius:9px;line-height:normal;transition:background .12s}.djs-palette .entry:hover{background:#0000000d}.wardley-container.wardley-draw-mode,.wardley-container.wardley-draw-mode *{cursor:crosshair!important}.wardley-container .wardley-drawing-handle{cursor:grab;pointer-events:all}.djs-palette .entry.highlighted-entry{color:var(--wardley-ink);background:#0000001a}.djs-palette .group+.group{margin-left:9px;padding-left:9px;position:relative}.djs-palette .group+.group:before{content:"";background:#1b1b1a1a;width:1px;position:absolute;top:6px;bottom:6px;left:0}.wardley-palette-entry{width:100%;min-width:24px;height:100%;min-height:24px;color:var(--wardley-ink);justify-content:center;align-items:center;line-height:1;display:flex}.wardley-palette-svg{display:block}.wardley-container .wardley-cp-entry{width:100%;min-width:24px;height:100%;min-height:24px;color:var(--wardley-ink);justify-content:center;align-items:center;font-size:17px;line-height:1;display:flex}.wardley-container .djs-context-pad .entry{background:#fff;border-radius:8px;transition:background .12s;box-shadow:0 2px 8px #1b1b1a1f}.wardley-container .djs-context-pad .entry:hover{background:#0000000f}.wardley-container .wardley-label-input{border:1.5px solid var(--wardley-accent);z-index:100;background:#fff;border-radius:4px;outline:none;min-width:90px;padding:2px 6px;font-family:inherit;font-size:13px;box-shadow:0 2px 10px #0e7c742e}.wardley-container .wardley-label-textarea{resize:none;white-space:pre;min-width:120px;font-style:italic;line-height:17px}.wardley-container.drag-over:after{content:"Drop Wardley map here (.wmap · .json · .svg · .png)";z-index:200;border:2px dashed var(--wardley-accent);color:var(--wardley-accent);pointer-events:none;background:#0e7c740f;border-radius:12px;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex;position:absolute;inset:10px}.wardley-container.wardley-dark{--wardley-paper:#11151b;--wardley-ink:#e8eaed;background-color:var(--wardley-paper);background-image:radial-gradient(#ffffff0d .6px,#0000 .6px)}.wardley-container.wardley-dark .djs-palette{background:#1a2028;border-color:#2a323d}.wardley-container.wardley-dark .djs-palette .entry{color:var(--wardley-ink)}.wardley-container .wardley-color-picker{z-index:300;background:#fff;border:1px solid #00000026;border-radius:10px;grid-template-columns:repeat(3,22px);gap:6px;padding:8px;display:grid;position:absolute;box-shadow:0 6px 24px #00000038}.wardley-container .wardley-cp-swatch{cursor:pointer;border:1px solid #0003;border-radius:5px;width:22px;height:22px;padding:0;transition:transform 80ms}.wardley-container .wardley-cp-swatch:hover{transform:scale(1.1)}.wardley-container .wardley-cp-active{outline:2px solid var(--wardley-ink,#1b1b1a);outline-offset:1px}.wardley-container .wardley-cp-none{background:#fff linear-gradient(45deg,#0000 44%,#d11a2a 45% 55%,#0000 56%)}
|
|
2
2
|
/*$vite$:1*/
|