@miragon/wardley-renderer 0.6.2 → 0.7.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 (139) hide show
  1. package/README.md +37 -1
  2. package/dist/Modeler.d.ts +5 -0
  3. package/dist/Modeler.d.ts.map +1 -1
  4. package/dist/WardleyBaseViewer.d.ts +66 -8
  5. package/dist/WardleyBaseViewer.d.ts.map +1 -1
  6. package/dist/a11y/canvasFocus.d.ts +17 -0
  7. package/dist/a11y/canvasFocus.d.ts.map +1 -0
  8. package/dist/a11y/describeCanvas.d.ts +8 -0
  9. package/dist/a11y/describeCanvas.d.ts.map +1 -0
  10. package/dist/a11y/index.d.ts +5 -0
  11. package/dist/a11y/index.d.ts.map +1 -0
  12. package/dist/append/WardleyAppendBehavior.d.ts +7 -6
  13. package/dist/append/WardleyAppendBehavior.d.ts.map +1 -1
  14. package/dist/color-picker/WardleyColorPicker.d.ts +7 -2
  15. package/dist/color-picker/WardleyColorPicker.d.ts.map +1 -1
  16. package/dist/context-pad/WardleyContextPad.d.ts +30 -0
  17. package/dist/context-pad/WardleyContextPad.d.ts.map +1 -0
  18. package/dist/context-pad/WardleyContextPadProvider.d.ts +23 -1
  19. package/dist/context-pad/WardleyContextPadProvider.d.ts.map +1 -1
  20. package/dist/context-pad/index.d.ts +1 -0
  21. package/dist/context-pad/index.d.ts.map +1 -1
  22. package/dist/draw/WardleyRenderer.d.ts +8 -0
  23. package/dist/draw/WardleyRenderer.d.ts.map +1 -1
  24. package/dist/draw/icons.d.ts +9 -2
  25. package/dist/draw/icons.d.ts.map +1 -1
  26. package/dist/draw/index.d.ts +2 -1
  27. package/dist/draw/index.d.ts.map +1 -1
  28. package/dist/draw/label-layout.d.ts +59 -0
  29. package/dist/draw/label-layout.d.ts.map +1 -0
  30. package/dist/draw/palette-icons.d.ts +1 -0
  31. package/dist/draw/palette-icons.d.ts.map +1 -1
  32. package/dist/draw/styles.d.ts +16 -17
  33. package/dist/draw/styles.d.ts.map +1 -1
  34. package/dist/draw-tool/WardleyDrawTool.d.ts +12 -1
  35. package/dist/draw-tool/WardleyDrawTool.d.ts.map +1 -1
  36. package/dist/draw-tool/WardleyDrawingHandles.d.ts +1 -0
  37. package/dist/draw-tool/WardleyDrawingHandles.d.ts.map +1 -1
  38. package/dist/editor-state.d.ts +46 -0
  39. package/dist/editor-state.d.ts.map +1 -0
  40. package/dist/evolution-grid/EvolutionConstraintBehavior.d.ts +60 -21
  41. package/dist/evolution-grid/EvolutionConstraintBehavior.d.ts.map +1 -1
  42. package/dist/evolution-grid/EvolutionGrid.d.ts +2 -0
  43. package/dist/evolution-grid/EvolutionGrid.d.ts.map +1 -1
  44. package/dist/evolution-grid/index.d.ts.map +1 -1
  45. package/dist/evolve/WardleyEvolveDragging.d.ts.map +1 -1
  46. package/dist/evolve/constants.d.ts +3 -0
  47. package/dist/evolve/constants.d.ts.map +1 -0
  48. package/dist/evolve/index.d.ts +1 -0
  49. package/dist/evolve/index.d.ts.map +1 -1
  50. package/dist/index.d.ts +21 -3
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +4183 -2062
  53. package/dist/index.js.map +1 -1
  54. package/dist/io/WardleyExporter.d.ts +3 -1
  55. package/dist/io/WardleyExporter.d.ts.map +1 -1
  56. package/dist/io/WardleyImporter.d.ts.map +1 -1
  57. package/dist/io/WardleySourceOrder.d.ts +23 -0
  58. package/dist/io/WardleySourceOrder.d.ts.map +1 -0
  59. package/dist/io/exportBounds.d.ts +15 -0
  60. package/dist/io/exportBounds.d.ts.map +1 -0
  61. package/dist/io/index.d.ts +5 -0
  62. package/dist/io/index.d.ts.map +1 -1
  63. package/dist/io/rasterize.d.ts +25 -0
  64. package/dist/io/rasterize.d.ts.map +1 -0
  65. package/dist/io/saveSvg.d.ts +1 -1
  66. package/dist/io/saveSvg.d.ts.map +1 -1
  67. package/dist/io/types.d.ts +5 -0
  68. package/dist/io/types.d.ts.map +1 -1
  69. package/dist/keyboard/WardleyKeyboard.d.ts +44 -4
  70. package/dist/keyboard/WardleyKeyboard.d.ts.map +1 -1
  71. package/dist/label-drag/WardleyLabelDragging.d.ts +56 -0
  72. package/dist/label-drag/WardleyLabelDragging.d.ts.map +1 -0
  73. package/dist/label-drag/index.d.ts +5 -0
  74. package/dist/label-drag/index.d.ts.map +1 -0
  75. package/dist/label-editing/WardleyLabelEditing.d.ts +62 -6
  76. package/dist/label-editing/WardleyLabelEditing.d.ts.map +1 -1
  77. package/dist/label-editing/fieldError.d.ts +13 -0
  78. package/dist/label-editing/fieldError.d.ts.map +1 -0
  79. package/dist/label-editing/index.d.ts +1 -0
  80. package/dist/label-editing/index.d.ts.map +1 -1
  81. package/dist/layout/WardleyLayouter.d.ts +22 -0
  82. package/dist/layout/WardleyLayouter.d.ts.map +1 -0
  83. package/dist/layout/index.d.ts +5 -0
  84. package/dist/layout/index.d.ts.map +1 -0
  85. package/dist/link-editing/WardleyLinkEditing.d.ts +38 -0
  86. package/dist/link-editing/WardleyLinkEditing.d.ts.map +1 -0
  87. package/dist/link-editing/index.d.ts +6 -0
  88. package/dist/link-editing/index.d.ts.map +1 -0
  89. package/dist/link-editing/link-url.d.ts +14 -0
  90. package/dist/link-editing/link-url.d.ts.map +1 -0
  91. package/dist/map-resize/MapProjection.d.ts +84 -0
  92. package/dist/map-resize/MapProjection.d.ts.map +1 -0
  93. package/dist/map-resize/MapResizeHandles.d.ts +57 -0
  94. package/dist/map-resize/MapResizeHandles.d.ts.map +1 -0
  95. package/dist/map-resize/ResizeAwareAutoScroll.d.ts +15 -0
  96. package/dist/map-resize/ResizeAwareAutoScroll.d.ts.map +1 -0
  97. package/dist/map-resize/index.d.ts +14 -0
  98. package/dist/map-resize/index.d.ts.map +1 -0
  99. package/dist/model/WardleyElementFactory.d.ts +36 -2
  100. package/dist/model/WardleyElementFactory.d.ts.map +1 -1
  101. package/dist/model/di-types.d.ts +4 -0
  102. package/dist/model/di-types.d.ts.map +1 -1
  103. package/dist/modeling/WardleyCopyPaste.d.ts +9 -5
  104. package/dist/modeling/WardleyCopyPaste.d.ts.map +1 -1
  105. package/dist/modeling/WardleyModeling.d.ts +16 -2
  106. package/dist/modeling/WardleyModeling.d.ts.map +1 -1
  107. package/dist/modeling/cmd/ResizeMapHandler.d.ts +24 -0
  108. package/dist/modeling/cmd/ResizeMapHandler.d.ts.map +1 -0
  109. package/dist/modeling/cmd/UpdateConfigHandler.d.ts +42 -0
  110. package/dist/modeling/cmd/UpdateConfigHandler.d.ts.map +1 -0
  111. package/dist/modeling/index.d.ts +2 -0
  112. package/dist/modeling/index.d.ts.map +1 -1
  113. package/dist/ordering/WardleyOrderingProvider.d.ts +1 -1
  114. package/dist/ordering/WardleyOrderingProvider.d.ts.map +1 -1
  115. package/dist/palette/WardleyPaletteKeyboard.d.ts +24 -0
  116. package/dist/palette/WardleyPaletteKeyboard.d.ts.map +1 -0
  117. package/dist/palette/WardleyPaletteProvider.d.ts +16 -1
  118. package/dist/palette/WardleyPaletteProvider.d.ts.map +1 -1
  119. package/dist/palette/index.d.ts +2 -1
  120. package/dist/palette/index.d.ts.map +1 -1
  121. package/dist/pan-constraint/PanConstraint.d.ts +9 -1
  122. package/dist/pan-constraint/PanConstraint.d.ts.map +1 -1
  123. package/dist/pipeline/PipelineGroupBehavior.d.ts +24 -0
  124. package/dist/pipeline/PipelineGroupBehavior.d.ts.map +1 -0
  125. package/dist/pipeline/index.d.ts +6 -0
  126. package/dist/pipeline/index.d.ts.map +1 -0
  127. package/dist/pipeline/pipelineMembership.d.ts +23 -0
  128. package/dist/pipeline/pipelineMembership.d.ts.map +1 -0
  129. package/dist/popup/WardleyElementSettingsProvider.d.ts +2 -1
  130. package/dist/popup/WardleyElementSettingsProvider.d.ts.map +1 -1
  131. package/dist/rules/WardleyRules.d.ts.map +1 -1
  132. package/dist/snapping/StageSnapping.d.ts +6 -2
  133. package/dist/snapping/StageSnapping.d.ts.map +1 -1
  134. package/dist/theme/index.d.ts +1 -1
  135. package/dist/theme/index.d.ts.map +1 -1
  136. package/dist/theme/palette.d.ts +16 -3
  137. package/dist/theme/palette.d.ts.map +1 -1
  138. package/dist/wardley.css +1 -1
  139. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"PanConstraint.d.ts","sourceRoot":"","sources":["../../src/pan-constraint/PanConstraint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,aAAa,MAAM,oCAAoC,CAAC;AAsBpE;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAO9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPvB,MAAM,CAAC,OAAO,WAA2C;IAEzD,OAAO,CAAC,QAAQ,CAAS;gBAGvB,QAAQ,EAAE,QAAQ,EACD,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa;IAQtC,OAAO,CAAC,SAAS;CAuClB"}
1
+ {"version":3,"file":"PanConstraint.d.ts","sourceRoot":"","sources":["../../src/pan-constraint/PanConstraint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,aAAa,MAAM,oCAAoC,CAAC;AAmDpE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAW9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAXvB,MAAM,CAAC,OAAO,WAA2C;IAEzD,OAAO,CAAC,QAAQ,CAAS;IACzB,wFAAwF;IACxF,OAAO,CAAC,aAAa,CAA4B;IACjD,iFAAiF;IACjF,OAAO,CAAC,qBAAqB,CAAS;gBAGpC,QAAQ,EAAE,QAAQ,EACD,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa;IA2BtC,kFAAkF;IAClF,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,SAAS;CAwClB"}
@@ -0,0 +1,24 @@
1
+ import { default as CommandInterceptor } from 'diagram-js/lib/command/CommandInterceptor';
2
+ import { default as EventBus } from 'diagram-js/lib/core/EventBus';
3
+ import { default as ElementRegistry } from 'diagram-js/lib/core/ElementRegistry';
4
+ import { default as Canvas } from 'diagram-js/lib/core/Canvas';
5
+ import { Injector } from 'didi';
6
+ export declare const DROP_TARGET_MARKER = "wardley-drop-target";
7
+ /**
8
+ * Makes a pipeline behave like a group (diagram-js AttachSupport pattern): dragging or nudging the
9
+ * box carries its member components and its anchor component, dragging the anchor component shows
10
+ * the box following vertically (the constraint behavior moves it on drop), and a dragged component
11
+ * highlights the pipeline it would join.
12
+ */
13
+ export default class PipelineGroupBehavior extends CommandInterceptor {
14
+ private readonly elementRegistry;
15
+ private readonly canvas;
16
+ static $inject: string[];
17
+ constructor(eventBus: EventBus, elementRegistry: ElementRegistry, canvas: Canvas, injector: Injector);
18
+ private withFollowers;
19
+ /** Pipelines (and their members) whose anchor component is dragged without them. */
20
+ private carriedVertically;
21
+ private dropTargetFor;
22
+ private markDropTarget;
23
+ }
24
+ //# sourceMappingURL=PipelineGroupBehavior.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PipelineGroupBehavior.d.ts","sourceRoot":"","sources":["../../src/pipeline/PipelineGroupBehavior.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAC3E,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAiCrC,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AA2BxD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,kBAAkB;IAKjE,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAgB,OAAO,WAAyD;gBAG9E,QAAQ,EAAE,QAAQ,EACD,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,MAAM,EAC/B,QAAQ,EAAE,QAAQ;IAmFpB,OAAO,CAAC,aAAa;IASrB,oFAAoF;IACpF,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,cAAc;CAQvB"}
@@ -0,0 +1,6 @@
1
+ import { ModuleDeclaration } from 'didi';
2
+ /** Pipelines move as groups with their members and anchor component (editor-only). */
3
+ export declare const pipelineGroupModule: ModuleDeclaration;
4
+ export { default as PipelineGroupBehavior, DROP_TARGET_MARKER } from './PipelineGroupBehavior.js';
5
+ export { anchorComponentOf, centerOf, membersOf, pipelineAnchoredBy, pipelineAt, pipelineFollowers, } from './pipelineMembership.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAG9C,sFAAsF;AACtF,eAAO,MAAM,mBAAmB,EAAE,iBAGjC,CAAC;AAEF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,UAAU,EACV,iBAAiB,GAClB,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { default as ElementRegistry } from 'diagram-js/lib/core/ElementRegistry';
2
+ import { WardleyShape } from '../model/di-types.js';
3
+ interface Point {
4
+ x: number;
5
+ y: number;
6
+ }
7
+ export declare function centerOf(shape: WardleyShape): Point;
8
+ export declare function pipelineContains(pipeline: WardleyShape, point: Point): boolean;
9
+ export declare function allPipelines(registry: ElementRegistry): WardleyShape[];
10
+ export declare function membersOf(registry: ElementRegistry, pipeline: WardleyShape): WardleyShape[];
11
+ /** The OWM anchor: the standalone component written under the pipeline's name. */
12
+ export declare function anchorComponentOf(registry: ElementRegistry, pipeline: WardleyShape): WardleyShape | undefined;
13
+ /** The pipeline a component anchors (same name, not one of its members). */
14
+ export declare function pipelineAnchoredBy(registry: ElementRegistry, component: WardleyShape): WardleyShape | undefined;
15
+ /** Everything that moves together with a pipeline box: its members and its anchor component. */
16
+ export declare function pipelineFollowers(registry: ElementRegistry, pipeline: WardleyShape): WardleyShape[];
17
+ /**
18
+ * The pipeline a component would join when its centre sits at `point`. The pipeline it anchors is
19
+ * never a candidate, and its current pipeline wins over overlapping boxes.
20
+ */
21
+ export declare function pipelineAt(registry: ElementRegistry, component: WardleyShape, point: Point, excluded?: ReadonlySet<unknown>): WardleyShape | undefined;
22
+ export {};
23
+ //# sourceMappingURL=pipelineMembership.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelineMembership.d.ts","sourceRoot":"","sources":["../../src/pipeline/pipelineMembership.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAElF,UAAU,KAAK;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,CAEnD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAO9E;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,YAAY,EAAE,CAEtE;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,GAAG,YAAY,EAAE,CAI3F;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,YAAY,GACrB,YAAY,GAAG,SAAS,CAK1B;AAED,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,YAAY,GACtB,YAAY,GAAG,SAAS,CAM1B;AAED,gGAAgG;AAChG,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,YAAY,GACrB,YAAY,EAAE,CAGhB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,KAAK,EACZ,QAAQ,GAAE,WAAW,CAAC,OAAO,CAAa,GACzC,YAAY,GAAG,SAAS,CAQ1B"}
@@ -1,3 +1,4 @@
1
+ import { default as EventBus } from 'diagram-js/lib/core/EventBus';
1
2
  import { default as PopupMenu, PopupMenuTarget } from 'diagram-js/lib/features/popup-menu/PopupMenu';
2
3
  import { PopupMenuEntries, default as PopupMenuProvider } from 'diagram-js/lib/features/popup-menu/PopupMenuProvider';
3
4
  import { default as WardleyModeling } from '../modeling/WardleyModeling.js';
@@ -10,7 +11,7 @@ export declare const POPUP_PROVIDER_ID = "wardley-element-settings";
10
11
  export default class WardleyElementSettingsProvider implements PopupMenuProvider {
11
12
  private readonly modeling;
12
13
  static $inject: string[];
13
- constructor(popupMenu: PopupMenu, modeling: WardleyModeling);
14
+ constructor(popupMenu: PopupMenu, modeling: WardleyModeling, eventBus: EventBus);
14
15
  getPopupMenuEntries(target: PopupMenuTarget): PopupMenuEntries;
15
16
  private componentEntries;
16
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WardleyElementSettingsProvider.d.ts","sourceRoot":"","sources":["../../src/popup/WardleyElementSettingsProvider.ts"],"names":[],"mappings":"AAAA,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;AAU5D;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,8BAA+B,YAAW,iBAAiB;IAK5E,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,MAAM,CAAC,OAAO,WAAoC;gBAGhD,SAAS,EAAE,SAAS,EACH,QAAQ,EAAE,eAAe;IAK5C,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;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 +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;AAmBzD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAY;IACpD,OAAgB,OAAO,WAAgB;gBAE3B,QAAQ,EAAE,QAAQ;IAIrB,IAAI,IAAI,IAAI;CAwBtB"}
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;AAqBzD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAY;IACpD,OAAgB,OAAO,WAAgB;gBAE3B,QAAQ,EAAE,QAAQ;IAIrB,IAAI,IAAI,IAAI;CAgCtB"}
@@ -1,13 +1,17 @@
1
+ import { default as Canvas } from 'diagram-js/lib/core/Canvas';
1
2
  import { default as EventBus } from 'diagram-js/lib/core/EventBus';
2
3
  import { default as EvolutionGrid } from '../evolution-grid/EvolutionGrid.js';
4
+ /** Snap distance in SCREEN px, so the pull feels the same at every zoom level. */
5
+ export declare const SNAP_TOLERANCE_SCREEN_PX = 8;
3
6
  /**
4
- * Snaps the X position (evolution) during move/create/resize to the stage boundaries.
7
+ * Snaps the X position (evolution) during move/create/resize to the stage boundaries, within
8
+ * `SNAP_TOLERANCE_SCREEN_PX` on screen (converted to diagram units with the current zoom).
5
9
  * Disabled while the Shift key is held. Important: `x` and `dx` must be adjusted TOGETHER
6
10
  * (like diagram-js' `setSnapped`) — move takes the final position from `dx`, so a mutated
7
11
  * `x` alone would have no effect.
8
12
  */
9
13
  export default class StageSnapping {
10
14
  static $inject: string[];
11
- constructor(eventBus: EventBus, grid: EvolutionGrid);
15
+ constructor(eventBus: EventBus, grid: EvolutionGrid, canvas: Canvas);
12
16
  }
13
17
  //# sourceMappingURL=StageSnapping.d.ts.map
@@ -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;AAYpE;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,MAAM,CAAC,OAAO,WAAiC;gBAEnC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa;CA4CpD"}
1
+ {"version":3,"file":"StageSnapping.d.ts","sourceRoot":"","sources":["../../src/snapping/StageSnapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,aAAa,MAAM,oCAAoC,CAAC;AAEpE,kFAAkF;AAClF,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAU1C;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,MAAM,CAAC,OAAO,WAA2C;gBAE7C,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM;CA+CpE"}
@@ -1,2 +1,2 @@
1
- export { MIRAGON, CHROME_VARS, DARK_MAP_VARS } from './palette.js';
1
+ export { MIRAGON, CHROME_VARS, DARK_MAP_VARS, DARK_MAP_AXIS_TEXT } from './palette.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
@@ -2,9 +2,10 @@
2
2
  * Miragon design tokens — the single source of truth for every colour in the renderer.
3
3
  *
4
4
  * Values mirror the Miragon design system — the `miragon-brand:modeler-tool-design` skill in
5
- * `Miragon/corporate-identity` (its vendored `cd-tokens.generated.css` defines the `--cd-*`
6
- * variables, generated from `brand/tokens.json`). Re-copy from the skill to update; never fork the
7
- * hex values by hand. WHY this file exists: colours used to live in three
5
+ * `Miragon/corporate-identity`. Its `cd-tokens.generated.css` (the `--cd-*` variables, generated from
6
+ * `brand/tokens.json`) is vendored verbatim next to this file, and `test/theme.sync.test.ts` fails if
7
+ * a `MIRAGON` value drifts from it. Re-copy from the skill to update; never fork the hex values by
8
+ * hand. WHY this file exists: colours used to live in three
8
9
  * hand-duplicated places (the SVG `COLORS` object, the `--wardley-*` CSS variables, and the webapp's
9
10
  * own `:root`). Here they are declared once. `draw/styles.ts` derives the public `COLORS`/`FONT`/…
10
11
  * from `MIRAGON`; `assets/wardley.css` mirrors the `CHROME_VARS` / `DARK_MAP_VARS` maps (a unit test,
@@ -35,6 +36,12 @@ export declare const MIRAGON: {
35
36
  readonly warning: "#92610A";
36
37
  readonly danger: "#C92A2A";
37
38
  readonly info: "#2B50D4";
39
+ /** UI grey (`--cd-linie`) for hairlines, guides and decorative borders. The CI allows no other greys. */
40
+ readonly linie: "#E6E2E2";
41
+ /** Structural strokes that must stay visible (≥ 3:1 on white): axes, dependency edges. */
42
+ readonly kontur: "#8F8A8A";
43
+ /** Secondary text (≥ 4.5:1 on white and on paper). */
44
+ readonly textLeise: "#6B6666";
38
45
  /** Dark base — the CI hero / nav-glass colour (rgb 8,10,32). Used only by the opt-in "dark map". */
39
46
  readonly navy: "#080A20";
40
47
  /** Signature brand gradient — hero, large surfaces, brand moments. Use verbatim. */
@@ -52,4 +59,10 @@ export declare const CHROME_VARS: Record<string, string>;
52
59
  * so exports stay stable.
53
60
  */
54
61
  export declare const DARK_MAP_VARS: Record<string, string>;
62
+ /**
63
+ * Colour of the axis labels in the margin of a `style dark` map. The labels sit on navy there, where
64
+ * `textLeise` drops to ~3.5:1; `kontur` reads at ~5.7:1. Applied by a scoped `!important` CSS
65
+ * override in `assets/wardley.css` (tiny-svg writes inline styles), so exports keep the light value.
66
+ */
67
+ export declare const DARK_MAP_AXIS_TEXT: "#8F8A8A";
55
68
  //# sourceMappingURL=palette.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/theme/palette.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,iEAAiE;AACjE,eAAO,MAAM,OAAO;IAClB,sDAAsD;;IAEtD,sEAAsE;;IAEtE,mFAAmF;;IAEnF,iGAAiG;;IAEjG,6CAA6C;;IAE7C,sDAAsD;;;IAGtD,2FAA2F;;;;;IAK3F,oGAAoG;;IAEpG,oFAAoF;;CAE5E,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAW9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEhD,CAAC"}
1
+ {"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/theme/palette.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,iEAAiE;AACjE,eAAO,MAAM,OAAO;IAClB,sDAAsD;;IAEtD,sEAAsE;;IAEtE,mFAAmF;;IAEnF,iGAAiG;;IAEjG,6CAA6C;;IAE7C,sDAAsD;;;IAGtD,2FAA2F;;;;;IAK3F,yGAAyG;;IAEzG,0FAA0F;;IAE1F,sDAAsD;;IAEtD,oGAAoG;;IAEpG,oFAAoF;;CAE5E,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAW9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEhD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,WAAiB,CAAC"}
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-40:#07c;--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);--accent-color:var(--color-blue-205-100-40);--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(--accent-color);--element-hover-outline-fill-color:var(--color-blue-205-100-45);--element-selected-outline-stroke-color:var(--accent-color);--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(--accent-color);--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-secondary-font-size:.9em;--popup-header-entry-selected-color:var(--accent-color);--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(--accent-color);--popup-search-focus-background-color:var(--color-blue-205-100-95);--popup-tab-color:var(--color-grey-225-10-55);--popup-tab-hover-color:var(--color-grey-225-10-15);--popup-tab-active-color:var(--color-grey-225-10-15);--popup-tab-active-border-color:var(--accent-color);--popup-tab-strip-border-color:var(--color-grey-225-10-90);--popup-tab-focus-border-color:var(--accent-color);--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(--accent-color);--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(--accent-color);--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(--accent-color);--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);--hover-tooltip-font-family:"IBM Plex Sans", sans-serif;--hover-tooltip-font-size:12px;--hover-tooltip-secondary-font-size:11px;--hover-tooltip-background-color:var(--color-grey-225-10-15);--hover-tooltip-color:var(--color-white);--hover-tooltip-shadow-color:var(--color-black-opacity-10);--palette-tooltip-shortcut-background-color:var(--color-grey-225-10-35)}.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-outline-hidden .djs-outline{display:none!important}.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-hover-tooltip{z-index:1000;background-color:var(--hover-tooltip-background-color);color:var(--hover-tooltip-color);font-family:var(--hover-tooltip-font-family);font-size:var(--hover-tooltip-font-size);white-space:nowrap;pointer-events:none;box-shadow:0 1px 4px var(--hover-tooltip-shadow-color);border-radius:4px;align-items:center;gap:6px;padding:6px 10px;line-height:1.2;display:flex;position:fixed}.djs-hover-tooltip--right{transform:translateY(-50%)}.djs-hover-tooltip--top{transform:translate(-50%,-100%)}.djs-palette-tooltip-shortcut{background-color:var(--palette-tooltip-shortcut-background-color);font-family:monospace;font-size:var(--hover-tooltip-secondary-font-size);border-radius:3px;padding:1px 5px;line-height:1.2}.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;box-shadow:0px 2px 6px var(--popup-shadow-color);border:solid 1px var(--popup-border-color);min-width:120px;max-width:300px;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-tabs-container{border-bottom:solid 1px var(--popup-tab-strip-border-color);position:relative}.djs-popup-tabs-scroll{appearance:none;width:28px;color:var(--popup-tab-color);cursor:pointer;border:none;border-radius:0;align-items:center;padding:0;display:flex;position:absolute;top:0;bottom:1px}.djs-popup-tabs-scroll:hover{color:var(--popup-tab-hover-color)}.djs-popup-tabs-scroll-start{background:linear-gradient(to left, transparent, var(--popup-background-color) 60%);justify-content:flex-start;left:0}.djs-popup-tabs-scroll-end{background:linear-gradient(to right, transparent, var(--popup-background-color) 60%);justify-content:flex-end;right:0}.djs-popup-tabs-scroll-start svg{transform:rotate(180deg)}.djs-popup-tabs{scrollbar-width:none;flex-wrap:nowrap;gap:2px;padding:0 12px;scroll-padding:0 28px;display:flex;overflow:auto hidden}.djs-popup-tabs::-webkit-scrollbar{display:none}.djs-popup-tab{appearance:none;font:inherit;font-size:var(--popup-font-size);color:var(--popup-tab-color);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:none;padding:6px 10px}.djs-popup-tab:hover{color:var(--popup-tab-hover-color)}.djs-popup-tab:focus-visible{outline:solid 1px var(--popup-tab-focus-border-color);outline-offset:-2px}.djs-popup-tab[aria-selected=true]{color:var(--popup-tab-active-color);border-bottom-color:var(--popup-tab-active-border-color);font-weight:var(--popup-header-font-weight)}.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-actions{flex-shrink:0;align-items:center;gap:6px;margin-left:6px;display:flex}.djs-popup-entry-chevron{color:var(--popup-description-color);align-items:center;display:flex}.djs-popup-search-icon{position:absolute;top:7px;left:8px}.djs-popup-search-count{font-size:var(--popup-secondary-font-size);color:var(--popup-description-color);margin:0 12px}.djs-popup-results{max-height:280px;margin:7px 3px 7px 12px;padding-right:9px;list-style:none;overflow:auto}.djs-popup-results:focus{outline:none}.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{font-size:var(--popup-secondary-font-size);color:var(--popup-description-color);margin-top:.25em}.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-footer{border-top:solid 1px var(--popup-border-color);padding:5px 12px 7px;display:flex}.djs-popup-results:hover~.djs-popup-footer{display:none}.djs-popup-entry-docs{visibility:hidden;color:var(--popup-description-color);border:1px solid var(--popup-search-border-color);cursor:pointer;background:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:2px 3px;transition:background-color .12s,border-color .12s,color .12s;display:flex}.djs-popup-body .entry:hover .djs-popup-entry-docs{visibility:visible}.djs-popup-body .entry .djs-popup-entry-docs:hover{background:#f2f3f5}.djs-popup-entry-docs svg{vertical-align:middle}.djs-popup-footer-docs{font-size:var(--popup-secondary-font-size);color:var(--popup-description-color);align-items:center;gap:3px;text-decoration:none;display:inline-flex}.djs-popup-footer-docs:hover{text-decoration:underline}.djs-popup-footer-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,.djs-bendpoint.floating:not(.positioned){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:#f9f7f7;--wardley-ink:#1d1d1d;--wardley-ink-soft:#5b5b5b;--wardley-surface:#fff;--wardley-border:#e6e2e2;--wardley-accent:#335de5;--wardley-accent-soft:#335de51f;--wardley-brand:#00e676;--wardley-danger:#c92a2a;--wardley-shadow:#1d1d1d1a;--wardley-radius-sm:6px;--wardley-radius:12px;--wardley-radius-lg:16px}.wardley-container.wardley-dark{--wardley-paper:#080a20}.wardley-container{background-color:var(--wardley-paper);background-image:radial-gradient(#1d1d1d0b .6px,#0000 .6px);background-size:22px 22px;width:100%;height:100%;font-family:Geist,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:var(--wardley-accent);stroke-dasharray:3 3}.wardley-container .djs-parent{--element-hover-outline-fill-color:var(--wardley-accent-soft);--element-selected-outline-stroke-color:var(--wardley-accent);--element-selected-outline-secondary-stroke-color:var(--wardley-accent-soft);--lasso-fill-color:var(--wardley-accent-soft);--lasso-stroke-color:var(--wardley-accent)}.wardley-container .djs-resizer-visual{fill:var(--wardley-surface);stroke:var(--wardley-accent)}.wardley-container .djs-resizer-hit{fill:none}.djs-palette{background:var(--wardley-surface);border:1px solid var(--wardley-border);border-radius:var(--wardley-radius);width:auto;box-shadow:0 1px 2px var(--wardley-shadow), 0 10px 26px var(--wardley-shadow);align-items:center;padding:5px 7px;display:flex;top:12px;left:50%;transform:translate(-50%)}.djs-palette .djs-palette-entries,.djs-palette .group{flex-direction:row;align-items:center;display:flex}.djs-palette .entry{float:none;border-radius:var(--wardley-radius-sm);width:40px;height:40px;color:var(--wardley-ink);line-height:normal;transition:background .15s,color .15s}.djs-palette .entry:hover{background:var(--wardley-accent-soft);color:var(--wardley-accent)}.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{background:var(--wardley-accent);color:#fff}.djs-palette .group+.group{margin-left:9px;padding-left:9px;position:relative}.djs-palette .group+.group:before{content:"";background:var(--wardley-border);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{border-radius:var(--wardley-radius-sm);box-shadow:0 1px 2px var(--wardley-shadow), 0 2px 8px var(--wardley-shadow);background:var(--wardley-surface);color:var(--wardley-ink);transition:background .15s,color .15s}.wardley-container .djs-context-pad .entry:hover{background:var(--wardley-accent-soft);color:var(--wardley-accent)}.wardley-container .wardley-label-input{border:1.5px solid var(--wardley-accent);background:var(--wardley-surface);color:var(--wardley-ink);box-shadow:0 2px 12px var(--wardley-accent-soft);z-index:100;border-radius:6px;outline:none;min-width:90px;padding:2px 6px;font-family:inherit;font-size:13px}.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);border-radius:var(--wardley-radius-lg);background:var(--wardley-accent-soft);color:var(--wardley-accent);pointer-events:none;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex;position:absolute;inset:10px}.wardley-container.wardley-dark{background-image:radial-gradient(#ffffff0d .6px,#0000 .6px)}.wardley-container .wardley-color-picker{z-index:300;background:var(--wardley-surface);border:1px solid var(--wardley-border);border-radius:var(--wardley-radius-sm);box-shadow:0 1px 2px var(--wardley-shadow), 0 6px 24px var(--wardley-shadow);grid-template-columns:repeat(3,22px);gap:6px;padding:8px;display:grid;position:absolute}.wardley-container .wardley-cp-swatch{border:1px solid var(--wardley-border);cursor:pointer;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-accent);outline-offset:1px}.wardley-container .wardley-cp-none{background:var(--wardley-surface);background-image:linear-gradient(45deg, transparent 44%, var(--wardley-danger) 45%, var(--wardley-danger) 55%, transparent 56%)}
1
+ .bio-theme-parent{--bio-surface:#fff;--bio-surface-overlay:#fff;--bio-surface-subtle:#f7f7f8;--bio-surface-medium:#f1f2f4;--bio-surface-inverted:#383838;--bio-surface-inverted-subtle:#505562;--bio-text:#22242a;--bio-text-subtle:#505562;--bio-text-subtlest:#818798;--bio-text-on-inverted:#fff;--bio-border:#b9bcc6;--bio-border-disabled:#e3e4e8;--bio-primary:#07c;--bio-primary-surface:#e6f4ff;--bio-danger:#e60000;--bio-danger-surface-subtle:#fff0f0;--bio-selected-surface:var(--bio-surface-medium);--bio-selected-text:var(--bio-text);--bio-focus:#07c;--bio-focus-surface:#e6f4ff;--bio-canvas-accent:#07c;--bio-canvas-accent-subtle:#80caff;--bio-shadow:#0000004d;--bio-shadow-subtle:#0000001a;--bio-radius-sm:2px;--bio-radius-md:3px;--bio-radius-lg:4px}.djs-parent{--button-border-radius:var(--bio-radius-md);--input-border-radius:var(--bio-radius-sm);--surface-border-radius:var(--bio-radius-lg);--canvas-fill-color:var(--bio-surface);--accent-color:var(--bio-canvas-accent);--bendpoint-fill-color:var(--bio-canvas-accent);--bendpoint-stroke-color:var(--canvas-fill-color);--context-pad-entry-background-color:var(--bio-surface);--context-pad-entry-hover-background-color:var(--bio-surface-medium);--element-dragger-color:var(--accent-color);--element-selected-outline-stroke-color:var(--accent-color);--element-selected-outline-secondary-stroke-color:var(--bio-canvas-accent-subtle);--lasso-fill-color:color-mix(in srgb, var(--bio-canvas-accent) 15%, transparent);--lasso-stroke-color:var(--element-selected-outline-stroke-color);--palette-entry-color:var(--bio-text);--palette-entry-hover-color:var(--bio-primary);--palette-entry-selected-color:var(--bio-primary);--palette-separator-color:var(--bio-border);--palette-toggle-hover-background-color:var(--bio-surface-medium);--palette-background-color:var(--bio-surface-subtle);--palette-border-color:var(--bio-border);--popup-font-family:"IBM Plex Sans", sans-serif;--popup-font-size:14px;--popup-secondary-font-size:.9em;--popup-header-entry-selected-color:var(--bio-primary);--popup-header-font-weight:bolder;--popup-header-group-divider-color:var(--bio-border);--popup-background-color:var(--bio-surface-overlay);--popup-border-color:transparent;--popup-shadow-color:var(--bio-shadow);--popup-scrollbar-thumb-color:#0003;--popup-button-background-color:var(--bio-surface-overlay);--popup-button-hover-background-color:var(--bio-surface-medium);--popup-disabled-color:var(--bio-text-subtle);--popup-description-color:var(--bio-text-subtle);--popup-no-results-color:var(--bio-text-subtlest);--popup-entry-title-color:var(--bio-text-subtlest);--popup-entry-selected-background-color:var(--bio-selected-surface);--popup-entry-selected-color:var(--bio-selected-text);--popup-search-border-color:var(--bio-border);--popup-search-focus-border-color:var(--bio-focus);--popup-search-focus-background-color:var(--bio-focus-surface);--popup-tab-color:var(--bio-text-subtlest);--popup-tab-hover-color:var(--bio-text);--popup-tab-active-color:var(--bio-text);--popup-tab-active-border-color:var(--bio-primary);--popup-tab-strip-border-color:var(--bio-border-disabled);--popup-tab-focus-border-color:var(--bio-focus);--resizer-fill-color:var(--bio-canvas-accent);--resizer-stroke-color:var(--canvas-fill-color);--search-font-family:"IBM Plex Sans", sans-serif;--search-font-size:14px;--search-container-background-color:var(--bio-surface-overlay);--search-shadow-color:var(--bio-shadow);--search-input-border-color:var(--bio-border);--search-input-focus-border-color:var(--bio-focus);--search-input-focus-background-color:var(--bio-primary-surface);--search-result-hover-background-color:var(--bio-surface-medium);--search-result-secondary-color:var(--bio-text-subtlest);--search-preselected-background-color:color-mix(in srgb, var(--bio-canvas-accent) 15%, transparent);--shape-attach-allowed-stroke-color:var(--accent-color);--shape-connect-allowed-fill-color:var(--bio-surface-subtle);--shape-drop-allowed-fill-color:var(--bio-surface-subtle);--shape-drop-not-allowed-fill-color:var(--bio-danger-surface-subtle);--shape-resize-preview-stroke-color:var(--accent-color);--snap-line-stroke-color:color-mix(in srgb, var(--bio-canvas-accent) 30%, transparent);--space-tool-crosshair-stroke-color:var(--bio-text);--tooltip-error-background-color:var(--bio-danger-surface-subtle);--tooltip-error-border-color:var(--bio-danger);--tooltip-error-color:var(--bio-danger);--hover-tooltip-font-family:"IBM Plex Sans", sans-serif;--hover-tooltip-font-size:12px;--hover-tooltip-secondary-font-size:11px;--hover-tooltip-background-color:var(--bio-surface-inverted);--hover-tooltip-color:var(--bio-text-on-inverted);--hover-tooltip-shadow-color:var(--bio-shadow-subtle);--palette-tooltip-shortcut-background-color:var(--bio-surface-inverted-subtle)}.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-outline-hidden .djs-outline{display:none!important}.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-hover-tooltip{z-index:1000;border-radius:var(--surface-border-radius);background-color:var(--hover-tooltip-background-color);color:var(--hover-tooltip-color);font-family:var(--hover-tooltip-font-family);font-size:var(--hover-tooltip-font-size);white-space:nowrap;pointer-events:none;box-shadow:0 1px 4px var(--hover-tooltip-shadow-color);align-items:center;gap:6px;padding:6px 10px;line-height:1.2;display:flex;position:fixed}.djs-hover-tooltip--right{transform:translateY(-50%)}.djs-hover-tooltip--top{transform:translate(-50%,-100%)}.djs-palette-tooltip-shortcut{border-radius:var(--button-border-radius);background-color:var(--palette-tooltip-shortcut-background-color);font-family:monospace;font-size:var(--hover-tooltip-secondary-font-size);padding:1px 5px;line-height:1.2}.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;box-shadow:0px 2px 6px var(--popup-shadow-color);border:solid 1px var(--popup-border-color);min-width:120px;max-width:300px;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-radius:var(--input-border-radius);border:solid 1px var(--popup-search-border-color);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-tabs-container{border-bottom:solid 1px var(--popup-tab-strip-border-color);position:relative}.djs-popup-tabs-scroll{appearance:none;width:28px;color:var(--popup-tab-color);cursor:pointer;border:none;border-radius:0;align-items:center;padding:0;display:flex;position:absolute;top:0;bottom:1px}.djs-popup-tabs-scroll:hover{color:var(--popup-tab-hover-color)}.djs-popup-tabs-scroll-start{background:linear-gradient(to left, transparent, var(--popup-background-color) 60%);justify-content:flex-start;left:0}.djs-popup-tabs-scroll-end{background:linear-gradient(to right, transparent, var(--popup-background-color) 60%);justify-content:flex-end;right:0}.djs-popup-tabs-scroll-start svg{transform:rotate(180deg)}.djs-popup-tabs{scrollbar-width:none;flex-wrap:nowrap;gap:2px;padding:0 12px;scroll-padding:0 28px;display:flex;overflow:auto hidden}.djs-popup-tabs::-webkit-scrollbar{display:none}.djs-popup-tab{appearance:none;font:inherit;font-size:var(--popup-font-size);color:var(--popup-tab-color);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:none;padding:6px 10px}.djs-popup-tab:hover{color:var(--popup-tab-hover-color)}.djs-popup-tab:focus-visible{outline:solid 1px var(--popup-tab-focus-border-color);outline-offset:-2px}.djs-popup-tab[aria-selected=true]{color:var(--popup-tab-active-color);border-bottom-color:var(--popup-tab-active-border-color);font-weight:var(--popup-header-font-weight)}.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:var(--popup-button-hover-background-color)}.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-actions{flex-shrink:0;align-items:center;gap:6px;margin-left:6px;display:flex}.djs-popup-entry-chevron{color:var(--popup-description-color);align-items:center;display:flex}.djs-popup-search-icon{position:absolute;top:7px;left:8px}.djs-popup-search-count{font-size:var(--popup-secondary-font-size);color:var(--popup-description-color);margin:0 12px}.djs-popup-results{max-height:280px;margin:7px 3px 7px 12px;padding-right:9px;list-style:none;overflow:auto}.djs-popup-results:focus{outline:none}.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{color:var(--popup-entry-selected-color);background-color:var(--popup-entry-selected-background-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{font-size:var(--popup-secondary-font-size);color:var(--popup-description-color);margin-top:.25em}.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:var(--popup-scrollbar-thumb-color);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-footer{border-top:solid 1px var(--popup-border-color);padding:5px 12px 7px;display:flex}.djs-popup--pointer .djs-popup-footer{display:none}.djs-popup-entry-docs{visibility:hidden;color:var(--popup-description-color);background:var(--popup-button-background-color);border:1px solid var(--popup-search-border-color);cursor:pointer;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:2px 3px;transition:background-color .12s,border-color .12s,color .12s;display:flex}.djs-popup--pointer .djs-popup-body .entry:hover .djs-popup-entry-docs{visibility:visible}.djs-popup-body .entry .djs-popup-entry-docs:hover{background:var(--popup-button-hover-background-color)}.djs-popup-entry-docs svg{vertical-align:middle}.djs-popup-footer-docs{font-size:var(--popup-secondary-font-size);color:var(--popup-description-color);align-items:center;gap:3px;text-decoration:none;display:inline-flex}.djs-popup-footer-docs:hover{text-decoration:underline}.djs-popup-footer-docs svg{vertical-align:middle;margin:2px}.djs-palette{background:var(--palette-background-color);border:solid 1px var(--palette-border-color);border-radius:var(--surface-border-radius)}.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,.djs-bendpoint.floating:not(.positioned){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);border-radius:var(--surface-border-radius);width:160px;color:var(--tooltip-error-color);opacity:.75;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);border-radius:var(--surface-border-radius);box-shadow:0px 2px 6px var(--search-shadow-color);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);border-radius:var(--input-border-radius);box-sizing:border-box;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}@layer wardley-tokens{:root{--cd-blau:#335de5;--cd-gruen:#00e676;--cd-grau:#f9f7f7;--cd-schwarz:#1d1d1d;--cd-weiss:#fff;--cd-blau-link:#2b50d4;--cd-blau-hell:#6b8aff;--cd-success:#0b7a55;--cd-success-soft:#0b7a551f;--cd-warning:#92610a;--cd-warning-soft:#92610a1f;--cd-danger:#c92a2a;--cd-danger-soft:#c92a2a1f;--cd-info:#2b50d4;--cd-info-soft:#2b50d41f;--cd-linie:#e6e2e2;--cd-kontur:#8f8a8a;--cd-text-leise:#6b6666;--cd-gradient-brand:linear-gradient(120deg, #335de5 30%, #00e676);--cd-gradient-format:linear-gradient(135deg, #335de5 0%, #00e676 140%);--cd-space-1:4px;--cd-space-2:8px;--cd-space-3:16px;--cd-space-4:24px;--cd-space-5:32px;--cd-space-6:48px;--cd-space-7:64px;--cd-space-8:96px;--cd-radius-sm:6px;--cd-radius-md:12px;--cd-radius-lg:16px;--cd-radius-pill:999px;--cd-shadow-1:0 1px 2px #1d1d1d0f, 0 1px 3px #1d1d1d1a;--cd-shadow-2:0 4px 12px #1d1d1d1a;--cd-shadow-3:0 12px 32px #1d1d1d29;--cd-motion-fast:.15s;--cd-motion-base:.25s;--cd-motion-slow:.4s;--cd-ease:cubic-bezier(.4, 0, .2, 1);--cd-ease-out:cubic-bezier(0, 0, .2, 1)}}:root{--wardley-paper:#f9f7f7;--wardley-ink:#1d1d1d;--wardley-ink-soft:#6b6666;--wardley-surface:#fff;--wardley-border:#e6e2e2;--wardley-accent:#335de5;--wardley-accent-soft:#335de51f;--wardley-brand:#00e676;--wardley-danger:#c92a2a;--wardley-shadow:#1d1d1d1a;--wardley-radius-sm:6px;--wardley-radius:12px;--wardley-radius-lg:16px}.wardley-container.wardley-dark{--wardley-paper:#080a20}.wardley-container{background-color:var(--wardley-paper);background-image:radial-gradient(#1d1d1d0b .6px,#0000 .6px);background-size:22px 22px;width:100%;height:100%;font-family:Geist Variable,Geist,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 :not(g,text,tspan),.wardley-container .djs-element.selected>.djs-visual :not(g,text,tspan){filter:brightness(.72)}.wardley-container .djs-connection.hover>.djs-visual>polyline{stroke-width:2.5px!important}.wardley-container .djs-connection.selected>.djs-visual>polyline{stroke-width:3px!important}.wardley-container .djs-connection.hover>.djs-visual:not(:has(>polygon))>polyline{stroke:var(--wardley-ink-soft)!important}.wardley-container .djs-connection.selected>.djs-visual:not(:has(>polygon))>polyline{stroke:var(--wardley-ink)!important}.wardley-container .djs-connection.hover>.djs-visual:has(>polygon)>polyline{stroke-width:3.25px!important}.wardley-container .djs-connection.selected>.djs-visual:has(>polygon)>polyline{stroke-width:3.75px!important}.wardley-container .djs-outline{stroke:var(--wardley-accent);stroke-dasharray:3 3}.wardley-container .djs-parent{--element-hover-outline-fill-color:var(--wardley-accent-soft);--element-selected-outline-stroke-color:var(--wardley-accent);--element-selected-outline-secondary-stroke-color:var(--wardley-accent-soft);--lasso-fill-color:var(--wardley-accent-soft);--lasso-stroke-color:var(--wardley-accent)}.wardley-container .djs-resizer-visual{fill:var(--wardley-surface);stroke:var(--wardley-accent)}.wardley-container .djs-resizer-hit{fill:none}.djs-palette.wardley-palette{box-sizing:border-box;scrollbar-width:thin;background:var(--wardley-surface);border:1px solid var(--wardley-border);border-radius:var(--wardley-radius);width:max-content;max-width:calc(100% - 24px);box-shadow:var(--cd-shadow-2,0 4px 12px #1d1d1d1a);--palette-entry-selected-color:var(--wardley-surface);align-items:center;padding:5px 7px;display:flex;top:12px;left:50%;overflow:auto hidden;transform:translate(-50%)}.djs-palette.wardley-palette.two-column.open{width:auto}.djs-palette.wardley-palette .djs-palette-entries,.djs-palette.wardley-palette .group{flex-direction:row;align-items:center;display:flex}.djs-palette.wardley-palette .entry{float:none;border-radius:var(--wardley-radius-sm);width:40px;height:40px;color:var(--wardley-ink);transition:background var(--cd-motion-fast,.15s) var(--cd-ease,ease), color var(--cd-motion-fast,.15s) var(--cd-ease,ease);flex:none;line-height:normal}.djs-palette.wardley-palette .entry:hover{background:var(--wardley-accent-soft);color:var(--wardley-accent)}.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.wardley-palette .entry.highlighted-entry{background:var(--wardley-accent);color:var(--wardley-surface)}.wardley-container .djs-hover-tooltip--right{border-radius:var(--cd-radius-sm,6px);font-family:inherit;transform:translate(calc(-50% - 28px),28px)}.djs-palette.wardley-palette .group+.group{margin-left:9px;padding-left:9px;position:relative}.djs-palette.wardley-palette .group+.group:before{content:"";background:var(--wardley-border);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 .djs-context-pad{width:max-content}.wardley-container .djs-context-pad.open{grid-template-columns:repeat(2,max-content);align-items:start;gap:4px 7px;display:grid}.wardley-container .djs-context-pad .group{gap:4px;display:flex}.wardley-container .djs-context-pad .group[data-group=edit]{grid-column:1/-1}.wardley-container .djs-context-pad .group[data-group=wardley]+.group[data-group=danger]{padding-left:7px;position:relative}.wardley-container .djs-context-pad .group[data-group=wardley]+.group[data-group=danger]:before{content:"";background:var(--wardley-border);width:1px;position:absolute;top:5px;bottom:5px;left:0}.wardley-container .djs-context-pad .entry.wardley-cp-entry{box-sizing:border-box;border-radius:var(--wardley-radius-sm);width:28px;height:28px;box-shadow:var(--cd-shadow-1,0 1px 2px #1d1d1d0f, 0 1px 3px #1d1d1d1a);background:var(--wardley-surface);color:var(--wardley-ink);transition:background var(--cd-motion-fast,.15s) var(--cd-ease,ease), color var(--cd-motion-fast,.15s) var(--cd-ease,ease);justify-content:center;align-items:center;margin:0;line-height:1;display:inline-flex}.wardley-container .djs-context-pad .entry:hover{background:var(--wardley-accent-soft);color:var(--wardley-accent)}.wardley-container .djs-context-pad .group[data-group=danger] .entry:hover{background:color-mix(in srgb, var(--wardley-danger) 12%, var(--wardley-surface));color:var(--wardley-danger)}.wardley-container .wardley-label-input{border:1.5px solid var(--wardley-accent);border-radius:var(--cd-radius-sm,6px);background:var(--wardley-surface);color:var(--wardley-ink);box-shadow:0 2px 12px var(--wardley-accent-soft);z-index:100;outline:none;min-width:90px;padding:2px 6px;font-family:inherit;font-size:13px}.wardley-container .wardley-link-input{min-width:240px}.wardley-container .wardley-label-textarea{resize:none;white-space:pre;min-width:120px;font-style:italic;line-height:17px}.wardley-container .djs-element.wardley-label-editing .wardley-name-label{visibility:hidden}.wardley-container .wardley-label-input--name{box-sizing:border-box;min-width:0;overflow:hidden}.wardley-container .wardley-label-input--error{border-color:var(--wardley-danger);box-shadow:0 2px 12px color-mix(in srgb, var(--wardley-danger) 18%, transparent)}.wardley-container .wardley-label-caption{z-index:101;border-radius:var(--wardley-radius-sm);background:var(--wardley-surface);max-width:320px;box-shadow:0 1px 2px var(--wardley-shadow);color:var(--wardley-ink-soft);pointer-events:none;padding:3px 8px;font-size:11px;font-style:normal;font-weight:400;line-height:1.4;position:absolute}.wardley-container .wardley-label-error{color:var(--wardley-danger)}.wardley-container.wardley-dark{background-image:radial-gradient(#ffffff0d .6px,#0000 .6px)}.wardley-container .wardley-color-picker{z-index:300;background:var(--wardley-surface);border:1px solid var(--wardley-border);border-radius:var(--cd-radius-md,12px);box-shadow:var(--cd-shadow-3,0 12px 32px #1d1d1d29);grid-template-columns:repeat(3,22px);gap:6px;padding:8px;display:grid;position:absolute}.wardley-container .wardley-cp-swatch{border-radius:var(--cd-radius-sm,6px);border:1px solid var(--wardley-border);cursor:pointer;width:22px;height:22px;transition:transform var(--cd-motion-fast,.15s) var(--cd-ease,ease);padding:0}.wardley-container .wardley-cp-swatch:hover{transform:scale(1.1)}.wardley-container .wardley-cp-active{box-shadow:0 0 0 2px var(--wardley-surface), 0 0 0 4px var(--wardley-accent)}.wardley-container .wardley-cp-none{background:var(--wardley-surface);background-image:linear-gradient(45deg, transparent 44%, var(--wardley-danger) 45%, var(--wardley-danger) 55%, transparent 56%)}.wardley-container .djs-element.wardley-drop-target>.djs-visual>rect:first-child{stroke:var(--wardley-ink)!important;stroke-width:2px!important;stroke-dasharray:none!important;fill:#1d1d1d0d!important}.wardley-container .djs-drag-active .djs-element.hover>.djs-visual,.wardley-container .djs-drag-active .djs-element.hover>.djs-visual :not(g,text,tspan){filter:none}.wardley-container .wardley-map-resize-hit{fill:#0000;stroke:none;pointer-events:all}.wardley-container .wardley-map-resize-x .wardley-map-resize-hit{cursor:ew-resize}.wardley-container .wardley-map-resize-y .wardley-map-resize-hit{cursor:ns-resize}.wardley-container .wardley-map-resize-xy .wardley-map-resize-hit{cursor:nwse-resize}.wardley-container .wardley-map-resize-visual{opacity:0;pointer-events:none;stroke:var(--wardley-ink-soft);stroke-width:1.5px;vector-effect:non-scaling-stroke;transition:opacity .15s cubic-bezier(.4,0,.2,1)}.wardley-container rect.wardley-map-resize-visual{fill:var(--wardley-surface);stroke-width:1px;rx:2px}.wardley-container .wardley-map-resize:hover .wardley-map-resize-visual,.wardley-container .wardley-map-resize.is-dragging .wardley-map-resize-visual{opacity:1}.wardley-container .wardley-map-resize-handle:hover .wardley-map-resize-visual{stroke:var(--wardley-ink)}.wardley-container .wardley-map-resize-badge{z-index:30;border-radius:var(--wardley-radius-sm);background:var(--wardley-ink);color:var(--wardley-surface);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;box-shadow:0 4px 12px var(--wardley-shadow);padding:4px 8px;font-size:12px;line-height:1.4;position:absolute}.wardley-container .wardley-map-resize-badge[hidden]{display:none}@media (prefers-reduced-motion:reduce){.wardley-container .wardley-map-resize-visual{transition:none}}.djs-popup.wardley-element-settings{border:1px solid var(--wardley-border);border-radius:var(--cd-radius-md,12px);box-shadow:var(--cd-shadow-3,0 12px 32px #1d1d1d29);font-family:inherit}.djs-popup.wardley-element-settings .djs-popup-results{max-height:none}.djs-popup.wardley-element-settings .djs-popup-results:focus-visible{outline:none}.djs-popup.wardley-element-settings:has(.djs-popup-results:focus-visible){outline:2px solid var(--cd-blau-link,#2b50d4);outline-offset:2px}.wardley-container :where(button,a,select,input,textarea,[role=button],[tabindex]):focus-visible,.djs-palette.wardley-palette :where(.entry,[role=button],[tabindex]):focus-visible,.djs-popup.wardley-element-settings :where(.entry,[tabindex]):focus-visible{outline:2px solid var(--cd-blau-link,#2b50d4);outline-offset:2px}.wardley-container svg:focus-visible{outline:2px solid var(--cd-blau-link,#2b50d4);outline-offset:-2px}.wardley-container svg:focus:not(:focus-visible),.wardley-container .wardley-label-input:focus-visible{outline:none}@media (prefers-reduced-motion:reduce){.wardley-container *,.wardley-container :before,.wardley-container :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.wardley-container.wardley-labels-draggable .wardley-label-handle{cursor:move;pointer-events:all}.wardley-container.wardley-label-dragging,.wardley-container.wardley-label-dragging *{cursor:move!important}.wardley-container .djs-element.hover>.djs-visual .wardley-movement-underlay,.wardley-container .djs-element.selected>.djs-visual .wardley-movement-underlay{visibility:hidden}.wardley-container.wardley-dark .layer-wardley-axes .wardley-axis-text{fill:#8f8a8a!important}
2
2
  /*$vite$:1*/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miragon/wardley-renderer",
3
- "version": "0.6.2",
3
+ "version": "0.7.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": {
@@ -36,8 +36,8 @@
36
36
  "test:browser": "npm --prefix ../.. run test:browser"
37
37
  },
38
38
  "dependencies": {
39
- "@miragon/wardley-dsl": "0.5.2",
40
- "@miragon/wardley-schema-model": "0.5.1",
39
+ "@miragon/wardley-dsl": "0.6.0",
40
+ "@miragon/wardley-schema-model": "0.6.0",
41
41
  "clsx": "2.1.1"
42
42
  },
43
43
  "peerDependencies": {
@@ -47,14 +47,14 @@
47
47
  "zod": "^4.6.0"
48
48
  },
49
49
  "devDependencies": {
50
- "diagram-js": "15.26.0",
51
- "didi": "11.0.0",
52
- "jsdom": "30.1.0",
50
+ "diagram-js": "15.28.1",
51
+ "didi": "12.0.0",
52
+ "jsdom": "30.1.2",
53
53
  "tiny-svg": "4.1.4",
54
54
  "typescript": "6.0.3",
55
- "vite": "8.3.0",
56
- "vite-plugin-dts": "5.1.0",
57
- "vitest": "5.0.1",
55
+ "vite": "8.3.4",
56
+ "vite-plugin-dts": "5.1.2",
57
+ "vitest": "5.0.3",
58
58
  "zod": "4.6.5"
59
59
  }
60
60
  }