@miragon/context-maps-renderer 0.0.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 +148 -0
- package/dist/CmBaseViewer.d.ts +49 -0
- package/dist/CmBaseViewer.d.ts.map +1 -0
- package/dist/Modeler.d.ts +14 -0
- package/dist/Modeler.d.ts.map +1 -0
- package/dist/NavigatedViewer.d.ts +7 -0
- package/dist/NavigatedViewer.d.ts.map +1 -0
- package/dist/Viewer.d.ts +7 -0
- package/dist/Viewer.d.ts.map +1 -0
- package/dist/behaviors/CmClickSelectionBehavior.d.ts +7 -0
- package/dist/behaviors/CmClickSelectionBehavior.d.ts.map +1 -0
- package/dist/behaviors/CmDragBehavior.d.ts +7 -0
- package/dist/behaviors/CmDragBehavior.d.ts.map +1 -0
- package/dist/behaviors/CmFlatModelBehavior.d.ts +9 -0
- package/dist/behaviors/CmFlatModelBehavior.d.ts.map +1 -0
- package/dist/behaviors/index.d.ts +7 -0
- package/dist/behaviors/index.d.ts.map +1 -0
- package/dist/connect-handles/CmConnectHandles.d.ts +15 -0
- package/dist/connect-handles/CmConnectHandles.d.ts.map +1 -0
- package/dist/connect-handles/index.d.ts +5 -0
- package/dist/connect-handles/index.d.ts.map +1 -0
- package/dist/context-maps.css +2 -0
- package/dist/draw/ContextMapsRenderer.d.ts +26 -0
- package/dist/draw/ContextMapsRenderer.d.ts.map +1 -0
- package/dist/draw/endRoleChips.d.ts +17 -0
- package/dist/draw/endRoleChips.d.ts.map +1 -0
- package/dist/draw/icons.d.ts +10 -0
- package/dist/draw/icons.d.ts.map +1 -0
- package/dist/draw/index.d.ts +5 -0
- package/dist/draw/index.d.ts.map +1 -0
- package/dist/draw/palette-icons.d.ts +4 -0
- package/dist/draw/palette-icons.d.ts.map +1 -0
- package/dist/draw/styles.d.ts +25 -0
- package/dist/draw/styles.d.ts.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1279 -0
- package/dist/index.js.map +1 -0
- package/dist/io/CmExporter.d.ts +11 -0
- package/dist/io/CmExporter.d.ts.map +1 -0
- package/dist/io/CmImporter.d.ts +20 -0
- package/dist/io/CmImporter.d.ts.map +1 -0
- package/dist/io/index.d.ts +9 -0
- package/dist/io/index.d.ts.map +1 -0
- package/dist/io/saveSvg.d.ts +6 -0
- package/dist/io/saveSvg.d.ts.map +1 -0
- package/dist/io/types.d.ts +11 -0
- package/dist/io/types.d.ts.map +1 -0
- package/dist/keyboard/CmKeyboard.d.ts +9 -0
- package/dist/keyboard/CmKeyboard.d.ts.map +1 -0
- package/dist/keyboard/index.d.ts +5 -0
- package/dist/keyboard/index.d.ts.map +1 -0
- package/dist/label-editing/CmLabelEditing.d.ts +14 -0
- package/dist/label-editing/CmLabelEditing.d.ts.map +1 -0
- package/dist/label-editing/index.d.ts +5 -0
- package/dist/label-editing/index.d.ts.map +1 -0
- package/dist/model/CmDiagramElementFactory.d.ts +9 -0
- package/dist/model/CmDiagramElementFactory.d.ts.map +1 -0
- package/dist/model/CmElementFactory.d.ts +13 -0
- package/dist/model/CmElementFactory.d.ts.map +1 -0
- package/dist/model/CmLayouter.d.ts +21 -0
- package/dist/model/CmLayouter.d.ts.map +1 -0
- package/dist/model/di-types.d.ts +27 -0
- package/dist/model/di-types.d.ts.map +1 -0
- package/dist/model/index.d.ts +15 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/modeling/CmModeling.d.ts +39 -0
- package/dist/modeling/CmModeling.d.ts.map +1 -0
- package/dist/modeling/cmd/SwapEndsHandler.d.ts +15 -0
- package/dist/modeling/cmd/SwapEndsHandler.d.ts.map +1 -0
- package/dist/modeling/cmd/UpdatePropertiesHandler.d.ts +13 -0
- package/dist/modeling/cmd/UpdatePropertiesHandler.d.ts.map +1 -0
- package/dist/modeling/index.d.ts +10 -0
- package/dist/modeling/index.d.ts.map +1 -0
- package/dist/palette/CmPaletteProvider.d.ts +12 -0
- package/dist/palette/CmPaletteProvider.d.ts.map +1 -0
- package/dist/palette/index.d.ts +5 -0
- package/dist/palette/index.d.ts.map +1 -0
- package/dist/rules/CmRules.d.ts +8 -0
- package/dist/rules/CmRules.d.ts.map +1 -0
- package/dist/rules/index.d.ts +5 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/theme/index.d.ts +2 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/palette.d.ts +47 -0
- package/dist/theme/palette.d.ts.map +1 -0
- package/dist/validation/CmValidationMarkers.d.ts +13 -0
- package/dist/validation/CmValidationMarkers.d.ts.map +1 -0
- package/dist/validation/index.d.ts +5 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/zorder/CmZOrder.d.ts +13 -0
- package/dist/zorder/CmZOrder.d.ts.map +1 -0
- package/dist/zorder/index.d.ts +5 -0
- package/dist/zorder/index.d.ts.map +1 -0
- package/package.json +48 -0
package/README.md
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# @miragon/context-maps-renderer
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@miragon/context-maps-renderer)
|
|
4
|
+
[](https://github.com/Miragon/context-maps-modeler/blob/main/LICENSE)
|
|
5
|
+
|
|
6
|
+
The **browser layer** of the [Context Maps Modeler](../../README.md): a framework-agnostic viewer
|
|
7
|
+
and full editor for strategic Domain-Driven Design [Context Maps](https://contextmapper.org/)
|
|
8
|
+
diagrams, built on [diagram-js](https://github.com/bpmn-io/diagram-js) (MIT).
|
|
9
|
+
|
|
10
|
+
It renders the canonical document from
|
|
11
|
+
[`@miragon/context-maps-schema-model`](../schema-model) and gives you palette, move, resize,
|
|
12
|
+
connect-by-relationship, context pad, inline label editing and undo/redo — with no UI framework
|
|
13
|
+
required. Mount it into any `<div>`; the web app (React) and the VS Code extension both wrap this
|
|
14
|
+
exact package.
|
|
15
|
+
|
|
16
|
+
## Install
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install @miragon/context-maps-renderer @miragon/context-maps-schema-model
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Three entry points
|
|
23
|
+
|
|
24
|
+
| Class | Use it for |
|
|
25
|
+
| ----------------- | ------------------------------------------------------------------------------ |
|
|
26
|
+
| `Viewer` | Read-only rendering, no interaction (thumbnails, static embeds). |
|
|
27
|
+
| `NavigatedViewer` | Read-only + zoom (scroll), pan (drag) and selection. |
|
|
28
|
+
| `Modeler` | The full editor: palette, move, resize, context pad, label editing, undo/redo. |
|
|
29
|
+
|
|
30
|
+
All three share a common base (`CmBaseViewer`) with the same import/export and lifecycle API.
|
|
31
|
+
|
|
32
|
+
## Quick start
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
import { Modeler } from "@miragon/context-maps-renderer";
|
|
36
|
+
import "@miragon/context-maps-renderer/assets/context-maps.css";
|
|
37
|
+
import { SAMPLE_DOCUMENT } from "@miragon/context-maps-schema-model";
|
|
38
|
+
|
|
39
|
+
const modeler = new Modeler({ container: document.querySelector("#canvas")! });
|
|
40
|
+
|
|
41
|
+
// Load a document (auto-fits the viewport)
|
|
42
|
+
const { warnings } = modeler.importDocument(SAMPLE_DOCUMENT);
|
|
43
|
+
|
|
44
|
+
// Read the live canvas back as the canonical model
|
|
45
|
+
const doc = modeler.exportDocument();
|
|
46
|
+
|
|
47
|
+
// Export a standalone, self-contained SVG
|
|
48
|
+
const { svg } = modeler.saveSVG();
|
|
49
|
+
|
|
50
|
+
// Undo / redo are driven by the command stack
|
|
51
|
+
modeler.undo();
|
|
52
|
+
modeler.redo();
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
> **The CSS is required.** Import `@miragon/context-maps-renderer/assets/context-maps.css`
|
|
56
|
+
> (it also pulls in `diagram-js`'s own stylesheet) — without it the palette, context pad and label
|
|
57
|
+
> editor are unstyled.
|
|
58
|
+
|
|
59
|
+
## API
|
|
60
|
+
|
|
61
|
+
### Constructor — `CmViewerOptions`
|
|
62
|
+
|
|
63
|
+
```ts
|
|
64
|
+
new Modeler({
|
|
65
|
+
container?: HTMLElement, // host element (a detached <div> if omitted)
|
|
66
|
+
width?: number | string, // canvas width (default "100%")
|
|
67
|
+
height?: number | string, // canvas height (default "100%", or "600px" with no container)
|
|
68
|
+
additionalModules?: ModuleDeclaration[], // extra diagram-js modules
|
|
69
|
+
});
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Shared methods (`Viewer` / `NavigatedViewer` / `Modeler`)
|
|
73
|
+
|
|
74
|
+
| Method | Returns | Purpose |
|
|
75
|
+
| ---------------------------------- | ------------------------------- | ------------------------------------------------- |
|
|
76
|
+
| `importDocument(doc)` | `{ warnings: ImportWarning[] }` | Replace canvas content and auto-fit. |
|
|
77
|
+
| `exportDocument()` | `CmDocument` | Rebuild the canonical model from the live canvas. |
|
|
78
|
+
| `saveSVG()` | `{ svg: string }` | Self-contained SVG snapshot (fitted viewBox). |
|
|
79
|
+
| `setMeta(partial)` / `getMeta()` | — / `RootBusinessObject` | Read/write diagram-level metadata (e.g. `title`). |
|
|
80
|
+
| `attachTo(el)` / `detach()` | `void` | Move the canvas in/out of the DOM (keeps state). |
|
|
81
|
+
| `clear()` / `destroy()` | `void` | Empty the canvas / tear it down. |
|
|
82
|
+
| `on(event, cb)` / `off(event, cb)` | `void` | Subscribe to diagram-js events. |
|
|
83
|
+
| `get<T>(name)` | `T` | Resolve a diagram-js service (advanced). |
|
|
84
|
+
|
|
85
|
+
### Modeler-only
|
|
86
|
+
|
|
87
|
+
`undo()`, `redo()`, `canUndo()`, `canRedo()`.
|
|
88
|
+
|
|
89
|
+
### Helpers & types
|
|
90
|
+
|
|
91
|
+
- **Type guards:** `isCmElement`, `isCmContext`, `isCmRelationship`.
|
|
92
|
+
- **Runtime element types:** `CmContext`, `CmRelationship`, `CmElement`.
|
|
93
|
+
- **Palette icon generators:** `contextIconSvg(type)`, `relationshipIconSvg(pattern)` —
|
|
94
|
+
WYSIWYG SVG glyphs matching what the canvas draws.
|
|
95
|
+
- **Other:** `CmViewerOptions`, `ImportWarning`, `RootBusinessObject`, `ROOT_ID`, `saveSVG`.
|
|
96
|
+
|
|
97
|
+
## How it's built
|
|
98
|
+
|
|
99
|
+
The package is a set of [didi](https://github.com/nikku/didi) modules layered on diagram-js. Each is
|
|
100
|
+
exported (e.g. `cmDrawModule`, `cmPaletteModule`, `cmModelingModule`) so you can compose your own
|
|
101
|
+
viewer via `additionalModules`:
|
|
102
|
+
|
|
103
|
+
| Module | Responsibility |
|
|
104
|
+
| ---------------------- | ----------------------------------------------------------------------------------- |
|
|
105
|
+
| `cmModelModule` | Element factory with notation defaults (`CmElementFactory`). |
|
|
106
|
+
| `cmDrawModule` | Custom SVG rendering of contexts and relationships (`ContextMapsRenderer`). |
|
|
107
|
+
| `ioModule` | Document ↔ canvas bridge (`CmImporter`, `CmExporter`, `saveSVG`). |
|
|
108
|
+
| `cmModelingModule` | High-level mutations — label, subdomain type, relationship pattern, roles, colours. |
|
|
109
|
+
| `cmRulesModule` | Editing rules (what can move / resize / be created / connected). |
|
|
110
|
+
| `cmBehaviorsModule` | Keeps the model **flat** — shapes never nest. |
|
|
111
|
+
| `cmPaletteModule` | The drag-to-create tool palette. |
|
|
112
|
+
| `cmContextPadModule` | Per-element actions (rename, delete, connect). |
|
|
113
|
+
| `cmLabelEditingModule` | Double-click inline label editing. |
|
|
114
|
+
| `cmKeyboardModule` | Undo / redo / delete shortcuts. |
|
|
115
|
+
| `cmZOrderModule` | Fixed stacking order (relationships behind, contexts on top). |
|
|
116
|
+
|
|
117
|
+
### Rendering
|
|
118
|
+
|
|
119
|
+
A custom `ContextMapsRenderer` (priority `1500`, beating diagram-js's default) draws each element
|
|
120
|
+
from the spec in [`@miragon/context-maps-schema-model`](../schema-model): bounded-context boxes
|
|
121
|
+
coloured by subdomain type (core / supporting / generic) with their glyphs; and relationships drawn
|
|
122
|
+
as lines styled per context-mapping pattern (partnership, shared kernel, customer-supplier,
|
|
123
|
+
upstream-downstream, separate ways), carrying the pattern abbreviation, U/D end markers and the
|
|
124
|
+
OHS/PL/ACL/CF integration-role badges. Labels are word-wrapped and centred. Per-element `fill`/`stroke`
|
|
125
|
+
overrides win over the spec defaults.
|
|
126
|
+
|
|
127
|
+
## Import / export
|
|
128
|
+
|
|
129
|
+
The package reads and writes the canonical `CmDocument` (JSON) and exports a standalone **SVG**.
|
|
130
|
+
PNG export and the embedded-scene round-trip (storing the document inside the exported image) live in
|
|
131
|
+
the [web app](../../apps/webapp) and the [VS Code extension](../../apps/vscode), which add the canvas
|
|
132
|
+
rasterisation those formats need.
|
|
133
|
+
|
|
134
|
+
## Development
|
|
135
|
+
|
|
136
|
+
Part of the [Context Maps Modeler](../../README.md) monorepo; consumed from source by the apps.
|
|
137
|
+
From the repo root:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
npm run build -w packages/renderer # Vite library build → dist/ (publish build)
|
|
141
|
+
npm test # Vitest unit tests
|
|
142
|
+
npm run test:browser # renderer integration tests in real Chromium
|
|
143
|
+
npm run typecheck
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## License
|
|
147
|
+
|
|
148
|
+
[MIT](../../LICENSE). diagram-js and its dependencies are MIT / ISC / Apache-2.0.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ModuleDeclaration } from 'didi';
|
|
2
|
+
import { CmDocument } from '@miragon/context-maps-schema-model';
|
|
3
|
+
import { ImportWarning, RootBusinessObject } from './io/types.js';
|
|
4
|
+
export interface CmViewerOptions {
|
|
5
|
+
/** Host element. When absent, a detached <div> is created (attach later). */
|
|
6
|
+
container?: HTMLElement;
|
|
7
|
+
width?: number | string;
|
|
8
|
+
height?: number | string;
|
|
9
|
+
/** Appended to the module list (extension point). */
|
|
10
|
+
additionalModules?: ModuleDeclaration[];
|
|
11
|
+
}
|
|
12
|
+
export type EventCallback<T = unknown> = (event: T) => void;
|
|
13
|
+
export declare abstract class CmBaseViewer {
|
|
14
|
+
protected abstract _getModules(): ModuleDeclaration[];
|
|
15
|
+
private _diagram;
|
|
16
|
+
private readonly _container;
|
|
17
|
+
private readonly _options;
|
|
18
|
+
constructor(options?: CmViewerOptions);
|
|
19
|
+
private _createContainer;
|
|
20
|
+
private _ensureDiagram;
|
|
21
|
+
/** Resolve a diagram-js service from the didi injector. */
|
|
22
|
+
get<T>(name: string): T;
|
|
23
|
+
on<T = unknown>(event: string, callback: EventCallback<T>, priority?: number): void;
|
|
24
|
+
off(event: string, callback: EventCallback): void;
|
|
25
|
+
/** Load a document into the canvas (replaces existing content). */
|
|
26
|
+
importDocument(doc: CmDocument): {
|
|
27
|
+
warnings: ImportWarning[];
|
|
28
|
+
};
|
|
29
|
+
/** Current canvas state as a canonical document. */
|
|
30
|
+
exportDocument(): CmDocument;
|
|
31
|
+
/** Update diagram-level metadata (title / flow-of-change) on the root. */
|
|
32
|
+
setMeta(partial: Partial<RootBusinessObject>): void;
|
|
33
|
+
/** Read diagram-level metadata (title / flow-of-change) from the root. */
|
|
34
|
+
getMeta(): RootBusinessObject | undefined;
|
|
35
|
+
/** Standalone, self-contained SVG snapshot. */
|
|
36
|
+
saveSVG(): {
|
|
37
|
+
svg: string;
|
|
38
|
+
};
|
|
39
|
+
/** Fit the content into the viewport, leaving room at the top for the palette. */
|
|
40
|
+
private _fit;
|
|
41
|
+
/** Attach the container into `target`. */
|
|
42
|
+
attachTo(target: HTMLElement): void;
|
|
43
|
+
/** Detach the container from the DOM, preserving state. */
|
|
44
|
+
detach(): void;
|
|
45
|
+
clear(): void;
|
|
46
|
+
destroy(): void;
|
|
47
|
+
get container(): HTMLElement;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=CmBaseViewer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmBaseViewer.d.ts","sourceRoot":"","sources":["../src/CmBaseViewer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAK9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAIrE,OAAO,EAAW,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAErF,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACzC;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAQ5D,8BAAsB,YAAY;IAChC,SAAS,CAAC,QAAQ,CAAC,WAAW,IAAI,iBAAiB,EAAE;IAErD,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAE/B,OAAO,GAAE,eAAoB;IAKzC,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,cAAc;IAQtB,2DAA2D;IAC3D,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAIvB,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,SAAO,GAAG,IAAI;IAIjF,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAIjD,mEAAmE;IACnE,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG;QAAE,QAAQ,EAAE,aAAa,EAAE,CAAA;KAAE;IAW9D,oDAAoD;IACpD,cAAc,IAAI,UAAU;IAI5B,0EAA0E;IAC1E,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAanD,0EAA0E;IAC1E,OAAO,IAAI,kBAAkB,GAAG,SAAS;IASzC,+CAA+C;IAC/C,OAAO,IAAI;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE;IAI1B,kFAAkF;IAClF,OAAO,CAAC,IAAI;IA0CZ,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAKnC,2DAA2D;IAC3D,MAAM,IAAI,IAAI;IAId,KAAK,IAAI,IAAI;IAIb,OAAO,IAAI,IAAI;IAQf,IAAI,SAAS,IAAI,WAAW,CAE3B;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ModuleDeclaration } from 'didi';
|
|
2
|
+
import { NavigatedViewer } from './NavigatedViewer.js';
|
|
3
|
+
/**
|
|
4
|
+
* Full Context Maps editor: palette/create, move, resize, connect with
|
|
5
|
+
* rules, context pad, inline label editing, undo/redo.
|
|
6
|
+
*/
|
|
7
|
+
export declare class Modeler extends NavigatedViewer {
|
|
8
|
+
protected _getModules(): ModuleDeclaration[];
|
|
9
|
+
undo(): void;
|
|
10
|
+
redo(): void;
|
|
11
|
+
canUndo(): boolean;
|
|
12
|
+
canRedo(): boolean;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=Modeler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modeler.d.ts","sourceRoot":"","sources":["../src/Modeler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAS9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAWvD;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,eAAe;cACvB,WAAW,IAAI,iBAAiB,EAAE;IAsBrD,IAAI,IAAI,IAAI;IAIZ,IAAI,IAAI,IAAI;IAIZ,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,OAAO;CAGnB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ModuleDeclaration } from 'didi';
|
|
2
|
+
import { Viewer } from './Viewer.js';
|
|
3
|
+
/** Read-only + navigation: zoom (scroll), pan (drag), selection. */
|
|
4
|
+
export declare class NavigatedViewer extends Viewer {
|
|
5
|
+
protected _getModules(): ModuleDeclaration[];
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=NavigatedViewer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigatedViewer.d.ts","sourceRoot":"","sources":["../src/NavigatedViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAI9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,oEAAoE;AACpE,qBAAa,eAAgB,SAAQ,MAAM;cACtB,WAAW,IAAI,iBAAiB,EAAE;CAGtD"}
|
package/dist/Viewer.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ModuleDeclaration } from 'didi';
|
|
2
|
+
import { CmBaseViewer } from './CmBaseViewer.js';
|
|
3
|
+
/** Read-only renderer: draws a Context Maps diagram with no interaction. */
|
|
4
|
+
export declare class Viewer extends CmBaseViewer {
|
|
5
|
+
protected _getModules(): ModuleDeclaration[];
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=Viewer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Viewer.d.ts","sourceRoot":"","sources":["../src/Viewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKjD,4EAA4E;AAC5E,qBAAa,MAAO,SAAQ,YAAY;IACtC,SAAS,CAAC,WAAW,IAAI,iBAAiB,EAAE;CAG7C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { default as EventBus } from 'diagram-js/lib/core/EventBus';
|
|
2
|
+
import { default as Selection } from 'diagram-js/lib/features/selection/Selection';
|
|
3
|
+
export default class CmClickSelectionBehavior {
|
|
4
|
+
static $inject: string[];
|
|
5
|
+
constructor(eventBus: EventBus, selection: Selection);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=CmClickSelectionBehavior.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmClickSelectionBehavior.d.ts","sourceRoot":"","sources":["../../src/behaviors/CmClickSelectionBehavior.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,SAAS,MAAM,6CAA6C,CAAC;AAOzE,MAAM,CAAC,OAAO,OAAO,wBAAwB;IAC3C,MAAM,CAAC,OAAO,WAA6B;gBAE/B,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;CAYrD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { default as EventBus } from 'diagram-js/lib/core/EventBus';
|
|
2
|
+
import { default as Canvas } from 'diagram-js/lib/core/Canvas';
|
|
3
|
+
export default class CmDragBehavior {
|
|
4
|
+
static $inject: string[];
|
|
5
|
+
constructor(eventBus: EventBus, canvas: Canvas);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=CmDragBehavior.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmDragBehavior.d.ts","sourceRoot":"","sources":["../../src/behaviors/CmDragBehavior.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AAIrD,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,MAAM,CAAC,OAAO,WAA0B;gBAE5B,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;CAQ/C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
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 Canvas } from 'diagram-js/lib/core/Canvas';
|
|
4
|
+
import { default as Modeling } from 'diagram-js/lib/features/modeling/Modeling';
|
|
5
|
+
export default class CmFlatModelBehavior extends CommandInterceptor {
|
|
6
|
+
static $inject: string[];
|
|
7
|
+
constructor(eventBus: EventBus, canvas: Canvas, modeling: Modeling);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=CmFlatModelBehavior.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmFlatModelBehavior.d.ts","sourceRoot":"","sources":["../../src/behaviors/CmFlatModelBehavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAC3E,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;AAQtE,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,kBAAkB;IACjE,OAAgB,OAAO,WAAsC;gBAEjD,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;CA6BnE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ModuleDeclaration } from 'didi';
|
|
2
|
+
/** Editing behaviors: keep the model flat (no nesting), drag-state CSS marker. */
|
|
3
|
+
export declare const cmBehaviorsModule: ModuleDeclaration;
|
|
4
|
+
export { default as CmFlatModelBehavior } from './CmFlatModelBehavior.js';
|
|
5
|
+
export { default as CmDragBehavior } from './CmDragBehavior.js';
|
|
6
|
+
export { default as CmClickSelectionBehavior } from './CmClickSelectionBehavior.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/behaviors/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAK9C,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,EAAE,iBAK/B,CAAC;AAEF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { default as EventBus } from 'diagram-js/lib/core/EventBus';
|
|
2
|
+
import { default as Overlays } from 'diagram-js/lib/features/overlays/Overlays';
|
|
3
|
+
import { default as Selection } from 'diagram-js/lib/features/selection/Selection';
|
|
4
|
+
import { default as Connect } from 'diagram-js/lib/features/connect/Connect';
|
|
5
|
+
import { default as Dragging } from 'diagram-js/lib/features/dragging/Dragging';
|
|
6
|
+
export default class CmConnectHandles {
|
|
7
|
+
private readonly eventBus;
|
|
8
|
+
private readonly selection;
|
|
9
|
+
private readonly overlays;
|
|
10
|
+
private readonly dragging;
|
|
11
|
+
static $inject: string[];
|
|
12
|
+
constructor(eventBus: EventBus, selection: Selection, overlays: Overlays, connect: Connect, dragging: Dragging);
|
|
13
|
+
private refresh;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=CmConnectHandles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmConnectHandles.d.ts","sourceRoot":"","sources":["../../src/connect-handles/CmConnectHandles.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;AACtE,OAAO,KAAK,SAAS,MAAM,6CAA6C,CAAC;AACzE,OAAO,KAAK,OAAO,MAAM,yCAAyC,CAAC;AACnE,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;AAuCtE,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAIjC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAP3B,MAAM,CAAC,OAAO,WAAgE;gBAG3D,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EACnC,OAAO,EAAE,OAAO,EACC,QAAQ,EAAE,QAAQ;IAYrC,OAAO,CAAC,OAAO;CA8ChB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ModuleDeclaration } from 'didi';
|
|
2
|
+
/** Four outward connect arrows around a selected context (top/right/bottom/left). */
|
|
3
|
+
export declare const cmConnectHandlesModule: ModuleDeclaration;
|
|
4
|
+
export { default as CmConnectHandles } from './CmConnectHandles.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/connect-handles/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAM9C,qFAAqF;AACrF,eAAO,MAAM,sBAAsB,EAAE,iBAIpC,CAAC;AAEF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +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-secondary-font-size:.9em;--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;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-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{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{color:var(--popup-description-color);margin-left:3px;display:none}.djs-popup-body .entry:hover .djs-popup-entry-docs{display:inline}.djs-popup-entry-docs svg{vertical-align:middle;margin:2px}.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{--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-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)}.cm-djs-container{--cm-accent:var(--cd-blau);--cm-accent-soft:#335de51f;--cm-line:#e6e2e2;--cm-ink:var(--cd-schwarz);background-color:var(--cd-grau);background-image:radial-gradient(#1d1d1d0f .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}.cm-djs-container:focus,.cm-djs-container:focus-visible,.cm-djs-container svg:focus{outline:none}.cm-djs-container .djs-element text{-webkit-user-select:none;user-select:none}.cm-djs-container .djs-element.hover .djs-visual>:first-child:not(text),.cm-djs-container .djs-element.selected .djs-visual>:first-child:not(text){stroke:var(--cm-accent)!important}.cm-djs-container .djs-outline{stroke:var(--cm-accent);stroke-dasharray:3 3}.cm-djs-container .djs-resizer-visual{fill:var(--cd-weiss);stroke:var(--cm-accent)}.cm-djs-container .djs-resizer-hit{fill:none}.djs-palette{background:var(--cd-weiss);border:1px solid var(--cm-line,#e6e2e2);border-radius:var(--cd-radius-md);width:auto;box-shadow:var(--cd-shadow-2);align-items:center;padding:5px 6px;display:flex;top:12px;left:50%;transform:translate(-50%)}.djs-palette .djs-palette-entries,.djs-palette .group{flex-direction:row;align-items:center;gap:2px;display:flex}.djs-palette .entry{float:none;border-radius:var(--cd-radius-sm);width:40px;height:40px;color:var(--cd-schwarz);line-height:normal;transition:background .12s,color .12s,box-shadow .12s;position:relative}.djs-palette .entry:hover{color:var(--cd-blau);background:#335de51f}.djs-palette .group+.group{margin-left:9px;padding-left:9px;position:relative}.djs-palette .group+.group:before{content:"";background:var(--cm-line,#e6e2e2);width:1px;position:absolute;top:6px;bottom:6px;left:0}.cm-palette-entry{justify-content:center;align-items:center;width:100%;min-width:24px;height:100%;min-height:24px;line-height:1;display:flex}.cm-palette-svg{pointer-events:none;display:block}.cm-mode-entry.is-active{background:var(--cm-accent-soft);box-shadow:inset 0 0 0 1.5px var(--cm-accent)}.cm-connect-handle{border-radius:var(--cd-radius-sm);width:28px;height:28px;box-shadow:var(--cd-shadow-1);background:var(--cd-weiss);color:var(--cd-schwarz);cursor:pointer;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.cm-connect-handle:hover{background:var(--cm-accent-soft);color:var(--cm-accent)}.cm-djs-container .cm-label-input{text-align:center;border:1.5px solid var(--cm-accent);border-radius:var(--cd-radius-sm);background:var(--cd-weiss);color:var(--cm-ink);z-index:100;outline:none;padding:3px 6px;font-family:inherit;font-size:13.5px;font-weight:600;box-shadow:0 4px 14px #335de533}.cm-validation-marker{cursor:help;filter:drop-shadow(0 1px 1px #00000040);width:20px;height:20px;position:relative}.cm-validation-tooltip{width:max-content;max-width:280px;color:var(--cm-ink,#1d1d1d);pointer-events:none;z-index:200;background:#fff;border:1px solid #d9d5cc;border-radius:8px;padding:8px 10px;font-family:Geist Variable,Geist,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:12px;line-height:1.45;display:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0000002e}.cm-validation-marker:hover .cm-validation-tooltip{display:block}.cm-validation-tooltip__message+.cm-validation-tooltip__message{border-top:1px solid #eceae4;margin-top:6px;padding-top:6px}.cm-dragging .djs-overlay-container,.cm-dragging .djs-overlay-container *{pointer-events:none!important}.cm-djs-container .djs-element.connect-ok,.cm-djs-container svg.connect-ok{cursor:crosshair}.cm-djs-container .djs-element.connect-not-ok,.cm-djs-container svg.connect-not-ok{cursor:not-allowed}
|
|
2
|
+
/*$vite$:1*/
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { default as BaseRenderer } from 'diagram-js/lib/draw/BaseRenderer';
|
|
2
|
+
import { default as EventBus } from 'diagram-js/lib/core/EventBus';
|
|
3
|
+
import { ConnectionLike, ElementLike, ShapeLike } from 'diagram-js/lib/model/Types';
|
|
4
|
+
export default class ContextMapsRenderer extends BaseRenderer {
|
|
5
|
+
static $inject: string[];
|
|
6
|
+
constructor(eventBus: EventBus);
|
|
7
|
+
canRender(element: ElementLike): boolean;
|
|
8
|
+
drawShape(visuals: SVGElement, element: ShapeLike): SVGElement;
|
|
9
|
+
drawConnection(visuals: SVGElement, connection: ConnectionLike): SVGElement;
|
|
10
|
+
getShapePath(shape: ShapeLike): string;
|
|
11
|
+
getConnectionPath(connection: ConnectionLike): string;
|
|
12
|
+
private drawContext;
|
|
13
|
+
private drawRelationship;
|
|
14
|
+
/**
|
|
15
|
+
* Draws the markers at one relationship end: the direction letter (U/D/S/C) as
|
|
16
|
+
* a plain letter right at the domain (no box), then the integration roles side
|
|
17
|
+
* by side inside a single axis-aligned parent box.
|
|
18
|
+
*/
|
|
19
|
+
private endMarkers;
|
|
20
|
+
/** A fixed-size coloured sub-label (own colour + border) inside a parent box. */
|
|
21
|
+
private miniChip;
|
|
22
|
+
/** A single small filled, bordered box (background, text colour, border colour). */
|
|
23
|
+
private chip;
|
|
24
|
+
private appendLabel;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=ContextMapsRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextMapsRenderer.d.ts","sourceRoot":"","sources":["../../src/draw/ContextMapsRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,YAAY,MAAM,kCAAkC,CAAC;AAO5D,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAwBzF,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,YAAY;IAC3D,MAAM,CAAC,OAAO,WAAgB;gBAElB,QAAQ,EAAE,QAAQ;IAIrB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAIxC,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAG,UAAU;IAc9D,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,GAAG,UAAU;IAY3E,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAKtC,iBAAiB,CAAC,UAAU,EAAE,cAAc,GAAG,MAAM;IAQ9D,OAAO,CAAC,WAAW;IAsEnB,OAAO,CAAC,gBAAgB;IAuCxB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA8DlB,iFAAiF;IACjF,OAAO,CAAC,QAAQ;IAmChB,oFAAoF;IACpF,OAAO,CAAC,IAAI;IA2CZ,OAAO,CAAC,WAAW;CAqBpB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Point } from 'diagram-js/lib/util/Types';
|
|
2
|
+
export interface EndRoleChipLayout {
|
|
3
|
+
/** The parent box around all chips of this end. */
|
|
4
|
+
box: {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
};
|
|
10
|
+
center: Point;
|
|
11
|
+
chipWidths: number[];
|
|
12
|
+
chipHeight: number;
|
|
13
|
+
innerWidth: number;
|
|
14
|
+
gap: number;
|
|
15
|
+
}
|
|
16
|
+
export declare function endRoleChipLayout(endpoint: Point, toward: Point, direction: string, roles: string[]): EndRoleChipLayout | null;
|
|
17
|
+
//# sourceMappingURL=endRoleChips.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endRoleChips.d.ts","sourceRoot":"","sources":["../../src/draw/endRoleChips.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAGvD,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,MAAM,EAAE,KAAK,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,KAAK,EACf,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EAAE,GACd,iBAAiB,GAAG,IAAI,CA8B1B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A handful of Material-style icon paths (Apache-2.0) used by the context pad,
|
|
3
|
+
* exposed as HTML markup. Reusable by host chrome too.
|
|
4
|
+
*/
|
|
5
|
+
export declare const ICON_ARROW_FORWARD = "M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z";
|
|
6
|
+
export declare const ICON_EDIT = "M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z";
|
|
7
|
+
export declare const ICON_DELETE = "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z";
|
|
8
|
+
export declare const ICON_SWAP = "M6.99 11L3 15l3.99 4v-3H14v-2H6.99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z";
|
|
9
|
+
export declare function iconMarkup(path: string, size?: number): string;
|
|
10
|
+
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/draw/icons.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,kBAAkB,8DAA8D,CAAC;AAC9F,eAAO,MAAM,SAAS,yJACkI,CAAC;AACzJ,eAAO,MAAM,WAAW,kFACyD,CAAC;AAClF,eAAO,MAAM,SAAS,4EAA4E,CAAC;AAEnG,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,MAAM,CAE1D"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ModuleDeclaration } from 'didi';
|
|
2
|
+
/** SVG rendering of all Context Maps element types (BaseRenderer, priority 1500). */
|
|
3
|
+
export declare const cmDrawModule: ModuleDeclaration;
|
|
4
|
+
export { default as ContextMapsRenderer } from './ContextMapsRenderer.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/draw/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAG9C,qFAAqF;AACrF,eAAO,MAAM,YAAY,EAAE,iBAG1B,CAAC;AAEF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { RelationshipPattern, SubdomainType } from '@miragon/context-maps-schema-model';
|
|
2
|
+
export declare function contextIconSvg(type: SubdomainType): string;
|
|
3
|
+
export declare function relationshipIconSvg(pattern?: RelationshipPattern): string;
|
|
4
|
+
//# sourceMappingURL=palette-icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"palette-icons.d.ts","sourceRoot":"","sources":["../../src/draw/palette-icons.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AA4B7F,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAM1D;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,mBAA2C,GAAG,MAAM,CAUhG"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** Shared rendering constants (typography, accent, priorities) — Miragon corporate identity.
|
|
2
|
+
* Colours are derived from the single source of truth in `theme/palette.ts` (`MIRAGON`), which
|
|
3
|
+
* mirrors the vendored `--cd-*` brand tokens. */
|
|
4
|
+
/** BaseRenderer default priority is 1000; 1500 wins the render.shape/connection event. */
|
|
5
|
+
export declare const TT_RENDER_PRIORITY = 1500;
|
|
6
|
+
/** Selection / hover accent (Miragon blue — kept in sync with the app theme via the shared palette). */
|
|
7
|
+
export declare const ACCENT: "#335DE5";
|
|
8
|
+
export declare const INK: "#1D1D1D";
|
|
9
|
+
export declare const INK_SOFT = "#5B5B5B";
|
|
10
|
+
export declare const FONT: {
|
|
11
|
+
/**
|
|
12
|
+
* Set directly as the `font-family` attribute on every SVG <text> (canvas
|
|
13
|
+
* labels and therefore the SVG export too) — not inherited from a CSS
|
|
14
|
+
* container. Prefers the self-hosted Miragon typeface Geist (registered as
|
|
15
|
+
* 'Geist Variable' by @fontsource-variable/geist, with 'Geist' as a fallback
|
|
16
|
+
* name), and falls back to a system sans when the host hasn't loaded it (e.g.
|
|
17
|
+
* an exported SVG opened standalone).
|
|
18
|
+
*/
|
|
19
|
+
readonly family: "'Geist Variable', 'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif";
|
|
20
|
+
readonly label: 13.5;
|
|
21
|
+
readonly small: 11;
|
|
22
|
+
};
|
|
23
|
+
/** Paper colour used for the label halo so text stays legible over lines. */
|
|
24
|
+
export declare const PAPER: "#FFFFFF";
|
|
25
|
+
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/draw/styles.ts"],"names":[],"mappings":"AAAA;;kDAEkD;AAIlD,0FAA0F;AAC1F,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,wGAAwG;AACxG,eAAO,MAAM,MAAM,WAAe,CAAC;AAEnC,eAAO,MAAM,GAAG,WAAkB,CAAC;AACnC,eAAO,MAAM,QAAQ,YAAY,CAAC;AAElC,eAAO,MAAM,IAAI;IACf;;;;;;;OAOG;;;;CAKK,CAAC;AAEX,6EAA6E;AAC7E,eAAO,MAAM,KAAK,WAAgB,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export { Viewer } from './Viewer.js';
|
|
2
|
+
export { NavigatedViewer } from './NavigatedViewer.js';
|
|
3
|
+
export { Modeler } from './Modeler.js';
|
|
4
|
+
export { CmBaseViewer } from './CmBaseViewer.js';
|
|
5
|
+
export type { CmViewerOptions, EventCallback } from './CmBaseViewer.js';
|
|
6
|
+
export { cmModelModule, CmElementFactory } from './model/index.js';
|
|
7
|
+
export { cmDrawModule, ContextMapsRenderer } from './draw/index.js';
|
|
8
|
+
export { ioModule, CmImporter, CmExporter, saveSVG, ROOT_ID } from './io/index.js';
|
|
9
|
+
export { cmModelingModule, CmModeling } from './modeling/index.js';
|
|
10
|
+
export { cmRulesModule, CmRules } from './rules/index.js';
|
|
11
|
+
export { cmBehaviorsModule, CmFlatModelBehavior } from './behaviors/index.js';
|
|
12
|
+
export { cmPaletteModule, CmPaletteProvider } from './palette/index.js';
|
|
13
|
+
export { cmConnectHandlesModule, CmConnectHandles } from './connect-handles/index.js';
|
|
14
|
+
export { cmLabelEditingModule, CmLabelEditing } from './label-editing/index.js';
|
|
15
|
+
export { cmKeyboardModule, CmKeyboard } from './keyboard/index.js';
|
|
16
|
+
export { cmZOrderModule, CmZOrder } from './zorder/index.js';
|
|
17
|
+
export { isCmElement, isCmContext, isCmRelationship } from './model/di-types.js';
|
|
18
|
+
export type { CmElement, CmContext, CmRelationship } from './model/di-types.js';
|
|
19
|
+
export type { ImportWarning, RootBusinessObject } from './io/index.js';
|
|
20
|
+
export { contextIconSvg, relationshipIconSvg } from './draw/palette-icons.js';
|
|
21
|
+
export { MIRAGON, CD_TOKENS } from './theme/index.js';
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,2BAA2B,CAAC;AAGnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACjF,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChF,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGvE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9E,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
|