@miragon/wardley-renderer 0.16.0 → 0.16.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 +74 -198
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -35,26 +35,13 @@ const { svg } = await viewer.saveSVG();
|
|
|
35
35
|
|
|
36
36
|
Swap `NavigatedViewer` for `Modeler` to get the editable map (palette, context pad, undo/redo).
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
scrolls sideways, the tooltip moves with its entry and hides once the entry has left the view. The
|
|
46
|
-
palette lies before the canvas `<svg>` in the container, so a host finds the canvas with
|
|
47
|
-
`canvas.getContainer().querySelector(":scope > svg")`, not as the first `svg`. A palette a chrome
|
|
48
|
-
skins (`data-chrome="palette"`) is left to that chrome.
|
|
49
|
-
|
|
50
|
-
The lasso is pressed (`aria-pressed="true"`) only while it is armed, in every host: Enter or Space
|
|
51
|
-
on the armed lasso puts it down, as Escape does, and so does arming the draw tool; a pointer's click
|
|
52
|
-
on the lasso arms it again. One tool is armed at a time: arming the lasso (a click, Enter or Space
|
|
53
|
-
on its entry, or L) puts the armed draw tool down, and a click, Enter or Space on the lasso's entry
|
|
54
|
-
saves a line the draw tool holds, as Escape does; L does nothing while it holds one. While the
|
|
55
|
-
read-only lock shows (below), the palette without the shell marks every entry but the lasso
|
|
56
|
-
`aria-disabled="true"` and mutes it (guide §13.5): it stays focusable, and a click, drag, Enter or
|
|
57
|
-
Space on it does nothing from the lock on.
|
|
38
|
+
Without the Miragon modeler shell, the `Modeler`'s palette is the design guide's toolbar: a glass
|
|
39
|
+
island at the top centre, ahead of the canvas in the tab order (one tab stop; arrows, Home and End
|
|
40
|
+
move), with tooltips. It lies before the canvas `<svg>` in the container, so find the canvas with
|
|
41
|
+
`canvas.getContainer().querySelector(":scope > svg")`. A palette a chrome skins
|
|
42
|
+
(`data-chrome="palette"`) is left to that chrome. One tool is armed at a time; the lasso is
|
|
43
|
+
`aria-pressed="true"` only while armed. Under the read-only lock the palette marks every entry but
|
|
44
|
+
the lasso `aria-disabled="true"`.
|
|
58
45
|
|
|
59
46
|
## API
|
|
60
47
|
|
|
@@ -75,18 +62,13 @@ Space on it does nothing from the lock on.
|
|
|
75
62
|
`setEvolutionLabels` turns an empty stage into its default label and `->` into `→`, so the labels
|
|
76
63
|
always write a valid `evolution` line; the default set is stored as `undefined`.
|
|
77
64
|
|
|
78
|
-
An import validates the whole map first:
|
|
79
|
-
|
|
80
|
-
its axis margins, centred in the free area and never above 100 %. Without a `freeArea` the pan
|
|
81
|
-
constraint may still move a map smaller than the view, to keep its margins around it.
|
|
65
|
+
An import validates the whole map first: an invalid map rejects before the canvas changes, and a
|
|
66
|
+
rendering failure restores the previous map. It then fits the plot into the view (never above 100 %).
|
|
82
67
|
|
|
83
|
-
An open inline editor (name, note, link annotation, flow value, link address)
|
|
84
|
-
|
|
85
|
-
Enter
|
|
86
|
-
|
|
87
|
-
that grows with its lines, `textarea.wardley-label-input`. A name's line breaks are drawn as lines
|
|
88
|
-
of the label and written to the DSL as a literal `\n` (`@miragon/wardley-dsl`). A backslash typed
|
|
89
|
-
before an `n` in a name is saved as `∖` (U+2216), because the DSL would read `\n` back as a break.
|
|
68
|
+
An open inline editor (name, note, link annotation, flow value, link address) survives view changes
|
|
69
|
+
and moves with its element; Enter, blur or a click on the canvas saves it. Names are a
|
|
70
|
+
`textarea.wardley-label-input`; Shift+Enter breaks the line (in notes Enter breaks and Cmd/Ctrl+Enter
|
|
71
|
+
saves), written to the DSL as a literal `\n`. A typed backslash before `n` is saved as `∖` (U+2216).
|
|
90
72
|
|
|
91
73
|
Options (the names of the `@miragon/modeler-api` 1.2 factory options):
|
|
92
74
|
|
|
@@ -111,51 +93,23 @@ Options (the names of the `@miragon/modeler-api` 1.2 factory options):
|
|
|
111
93
|
relative to the current map (`undefined` when the user cancels), which becomes the element's link
|
|
112
94
|
in one undoable step.
|
|
113
95
|
|
|
114
|
-
A component or submap whose link the editor can open
|
|
115
|
-
link
|
|
116
|
-
takes no pointer, the viewer shows none, and the export leaves it out, as the selection outline.
|
|
96
|
+
A component or submap whose link the editor can open carries a small link mark (Lucide `link`,
|
|
97
|
+
`--cd-ui-link`) at its lower left; the viewer and exports show none.
|
|
117
98
|
|
|
118
99
|
The `wardleyReadOnly` service (`modeler.get<WardleyReadOnly>('wardleyReadOnly').setReadOnly(true)`)
|
|
119
|
-
locks the canvas while
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
nothing
|
|
132
|
-
context-pad action that opens no editor or popup hands the focus to the canvas. From the keyboard,
|
|
133
|
-
Enter and Space on a palette tool (lasso, draw) leave the focus on the entry; on a create entry
|
|
134
|
-
they place the element and hand the focus to the canvas, or to the new element's name editor; on a
|
|
135
|
-
context-pad action they keep the focus in the pad, and an action that closes or redraws the pad
|
|
136
|
-
(delete, line style, remove evolve) returns it to the canvas. A host that hides the canvas without
|
|
137
|
-
destroying it makes the container `inert` or hides it with `display: none` or `visibility: hidden`,
|
|
138
|
-
not only transparent: the browser moves the focus off the canvas at its next rendering update. A
|
|
139
|
-
key that reaches the canvas or the map's own chrome before then stays with the page, for each way
|
|
140
|
-
of hiding: the canvas acts on no key, the palette triggers no entry and moves no focus, a line the
|
|
141
|
-
draw tool holds stays as it is, the context pad, the name, annotation and link editors, the colour
|
|
142
|
-
picker and the map menu's popovers take no key, Enter on one of their buttons included, and the
|
|
143
|
-
element settings menu picks no entry: nothing is saved or closed, and the focus stays where it is.
|
|
144
|
-
|
|
145
|
-
Escape on the canvas ends every drag without a change, as it ends a diagram-js drag: also a label
|
|
146
|
-
drag, the point drag of a drawing (the drawing stays selected) and the drag of a component's red
|
|
147
|
-
evolve target. These drags and the colour picker take only an Escape aimed at the canvas (the
|
|
148
|
-
picker also one on its swatches); one aimed at the palette, the context pad, a name editor or a
|
|
149
|
-
host's field, menu, dialog or overlay, inside the canvas container or next to it, stays with that
|
|
150
|
-
control. While the draw tool holds the points of a line, the single-key tools and Cmd/Ctrl+V (the
|
|
151
|
-
paste attaches to the pointer) do nothing until the line is finished or cancelled, and the canvas
|
|
152
|
-
takes them with `preventDefault()`. Enter and Space on the Draw entry save the line, as Enter on
|
|
153
|
-
the canvas does. While a point of a drawing is dragged,
|
|
154
|
-
the keys that would change the drawing under the drag or start a second gesture next to it do
|
|
155
|
-
nothing until the release, and the canvas takes them with `preventDefault()`: the single-key tools,
|
|
156
|
-
the arrow keys, paste and duplicate. Delete still removes the drawing, which ends the drag without a
|
|
157
|
-
commit. An undo, a redo or any other command before the release ends the drag without a commit too,
|
|
158
|
-
and the drawing stays selected, as after Escape.
|
|
100
|
+
locks the canvas while the host cannot save, e.g. while the document is invalid: edits are vetoed,
|
|
101
|
+
open editors and drags end without saving; selection, zoom, pan and export stay.
|
|
102
|
+
`setReadOnly(true, { delayMs: 800 })` locks at once but shows the marks only after the delay
|
|
103
|
+
(no flicker while typing); `isReadOnlyShown()` tells whether they show. It fires
|
|
104
|
+
`wardley.readOnly.changed` with `{ readOnly, shown }`.
|
|
105
|
+
|
|
106
|
+
Keyboard: the canvas's keys (undo/redo, delete, copy/paste/duplicate, select all, arrows, Escape and
|
|
107
|
+
the tools C, U, N, P, L, A) act only while the canvas `<svg>` has the focus, so keys aimed at a
|
|
108
|
+
host's controls stay with the host. A click on the canvas, a palette entry or a context-pad action
|
|
109
|
+
hands it the focus. A host that hides the canvas without destroying it should use `inert`,
|
|
110
|
+
`display: none` or `visibility: hidden`. Escape ends every drag without a change. While the draw
|
|
111
|
+
tool holds a line or a drawing's point is dragged, keys that would start another gesture do
|
|
112
|
+
nothing; an undo or other command ends such a drag without a commit.
|
|
159
113
|
|
|
160
114
|
## Collaborative hosts
|
|
161
115
|
|
|
@@ -173,123 +127,56 @@ await modeler.importText(documentText);
|
|
|
173
127
|
modeler.onContentChanged(() => save(modeler.exportText()));
|
|
174
128
|
```
|
|
175
129
|
|
|
176
|
-
An import is silent (no
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
component's red evolve target end when the import removes their element. A line the draw tool holds
|
|
184
|
-
ends without a drawing, and the draw tool with it. A tool that only waits for the user's next press
|
|
185
|
-
stays armed: the lasso from the palette or `L`, and the draw tool before its first point. An
|
|
186
|
-
`importText` called while a user's action runs (a host that echoes its own change back through its
|
|
187
|
-
store imports from the action's change listener) waits until the action has finished, then imports,
|
|
188
|
-
and its Promise settles after that import; imports that wait keep their call order. A drop has
|
|
189
|
-
finished once it has ended and the steps it defers to the next task have run (the name editor of a
|
|
190
|
-
create or an append with the pointer). Any other command, undo or redo has finished once the code
|
|
191
|
-
that ran it has returned, so an import from any listener it calls waits too: a create without a
|
|
192
|
-
pointer (C, U, N, P, a palette entry with Enter or Space, the context pad's append with Enter), the
|
|
193
|
-
save of a name editor (Enter, leaving the field), the save a press on the map or the palette
|
|
194
|
-
makes, and a delete, an undo or a redo that deselects what it removes. The import keeps what the
|
|
195
|
-
action left, as any import does: a create keeps its new element selected and its name editor open
|
|
196
|
-
on it, with what was typed, and a saved name keeps its element selected. A drag that a press started
|
|
197
|
-
after it saved a name ends with the import, as an accepted import ends a running gesture and a press
|
|
198
|
-
below the drag threshold (L1, 1.5;
|
|
130
|
+
An import is silent (no change is reported back), keeps the selection and an open label editor,
|
|
131
|
+
and fits the view unless `fitOnImport: false`. It ends a running gesture first, without a change;
|
|
132
|
+
an armed tool that only waits for the next press stays armed. An `importText` called while a user
|
|
133
|
+
action runs (e.g. from a change listener) waits until the action has finished; waiting imports keep
|
|
134
|
+
their order. A `destroy()` from any listener tears the map down once the current input handler has
|
|
135
|
+
returned, without errors, and no listener hears anything afterwards; a pending import then rejects
|
|
136
|
+
with "The modeler was destroyed." (details:
|
|
199
137
|
[#285](https://github.com/Miragon/modeler-suite/issues/285),
|
|
200
|
-
[#
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
(
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
(
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
(
|
|
222
|
-
|
|
223
|
-
`
|
|
224
|
-
or the evolve placement of the context pad) or a label is dragged, or the size or axis-label popover
|
|
225
|
-
previews a change, it returns the document as it was before, and the change event of the commit
|
|
226
|
-
brings the new one ([#347](https://github.com/Miragon/modeler-suite/issues/347)). A command during a
|
|
227
|
-
size preview (an undo pressed mid-drag, a title the host sets) puts the preview back first, and a
|
|
228
|
-
drag then ends without resizing, so the history stays in step with the document. A drawing's point
|
|
229
|
-
drag, the drag of an evolve target and a label drag end the same way, without a commit, when a
|
|
230
|
-
command runs before their release (an undo pressed mid-drag, or an arrow-key nudge during the other
|
|
231
|
-
two, since a point drag leaves the arrow keys without effect).
|
|
232
|
-
`elements` names components, anchors, pipelines, submaps and accelerators by the id the document
|
|
233
|
-
gives them (`cmp_kettle`), also right after a canvas edit, and `elements.bounds(id)` gives an
|
|
234
|
-
element's live box in diagram coordinates; `getViewState` and `setViewState` carry the viewbox.
|
|
235
|
-
`contentBounds()` (contract 1.3) gives the box a host fits the view to, in diagram coordinates and
|
|
236
|
-
without padding: the plot with its axes and everything drawn beyond it (a long label at the
|
|
237
|
-
commodity edge, a note in the margin), the box the pan constraint keeps in view. It follows every
|
|
238
|
-
edit at once and stays the same across zoom and scroll. A map without elements still has its plot,
|
|
239
|
-
so it is never `undefined` while the modeler lives (before the first import it is the default plot);
|
|
240
|
-
tell an empty map by its elements. `diagram` is the wrapped `Modeler` or `NavigatedViewer` for
|
|
241
|
-
host-specific wiring. Both factories take the options above (`additionalModules`, `freeArea`,
|
|
242
|
-
`fitOnImport`, `undoRedoKeys` and the link handlers); the viewer never edits and has no context
|
|
243
|
-
pad, so it ignores the undo keys and the link handlers. Both pass the contract's conformance kit
|
|
244
|
-
(1.3) without skips.
|
|
245
|
-
|
|
246
|
-
`interaction` (contract 1.5) tells a host whether the user holds a gesture, so it can defer a remote
|
|
247
|
-
re-import until the gesture ends: `active()` is true from the moment a move, resize, connect or
|
|
248
|
-
lasso drag, a label drag, the point drag of a drawing, the drag of an evolve target, the evolve or
|
|
249
|
-
plot-corner drag, a create from the palette, the context pad or a quick-create key with the pointer
|
|
250
|
-
over the canvas (also while its preview is over the palette) or a connect started with `A` starts,
|
|
251
|
-
until its drop or cancel. It stays false while the lasso or the draw tool only waits for the next
|
|
252
|
-
press, during a pan and on the viewer. `onChange(callback)` reports each change once, and may run
|
|
253
|
-
inside `importText` (its cancel of a gesture), so a host queues its re-import instead of importing
|
|
254
|
-
from the callback. A callback that throws is reported as an uncaught error a microtask later; the
|
|
255
|
-
gesture and the other callbacks go on as if it had returned.
|
|
256
|
-
|
|
257
|
-
`appearance` (contract 1.5) takes a host's mode: `themes` is `WARDLEY_THEMES`, `["light"]` until the
|
|
258
|
-
Miragon modelers turn dark together, and `set({ theme, contrast })` writes `data-cd-theme` (the theme
|
|
259
|
-
when `themes` lists it, else `themes[0]`) and, for `contrast: "high"`, `data-cd-kontrast="hoch"` on
|
|
260
|
-
the map's container, so the design tokens resolve there and not from the page: on a dark page the
|
|
261
|
-
map stays light, and the contrast the host asks for holds. It is view state: no change event, the
|
|
262
|
-
same text and SVG export, and the history, view, selection and an open editor are left as they are.
|
|
263
|
-
Until the first `set` the map takes its mode from the page, as before. `WARDLEY_THEMES` is also
|
|
264
|
-
`@miragon/wardley-renderer/themes`, which loads no DOM code, for hosts outside the browser (the VS
|
|
265
|
-
Code extension's theme bridge).
|
|
138
|
+
[#336](https://github.com/Miragon/modeler-suite/issues/336),
|
|
139
|
+
[#346](https://github.com/Miragon/modeler-suite/issues/346),
|
|
140
|
+
[#415](https://github.com/Miragon/modeler-suite/issues/415)).
|
|
141
|
+
|
|
142
|
+
`exportText()` is the committed document, never a live preview: during a plot-corner, evolve or
|
|
143
|
+
label drag or a size or axis-label preview it returns the previous text, and the commit's change
|
|
144
|
+
event brings the new one ([#347](https://github.com/Miragon/modeler-suite/issues/347)).
|
|
145
|
+
|
|
146
|
+
`elements` names components, anchors, pipelines, submaps and accelerators by their document id
|
|
147
|
+
(`cmp_kettle`); `elements.bounds(id)` gives an element's live box. `getViewState` / `setViewState`
|
|
148
|
+
carry the viewbox. `contentBounds()` (contract 1.3) gives the box to fit: the plot with its axes and
|
|
149
|
+
everything drawn beyond it; never `undefined` while the modeler lives. `diagram` is the wrapped
|
|
150
|
+
`Modeler` or `NavigatedViewer`. Both factories take the options above; the viewer ignores the undo
|
|
151
|
+
keys and link handlers. Both pass the contract's conformance kit without skips.
|
|
152
|
+
|
|
153
|
+
`interaction` (contract 1.5): `active()` is true while the user holds a gesture (a drag, a create,
|
|
154
|
+
a connect), so a host can defer a remote re-import; false while a tool only waits, during a pan and
|
|
155
|
+
on the viewer. `onChange(callback)` reports each change once and may run inside `importText`, so
|
|
156
|
+
queue a re-import instead of importing from it.
|
|
157
|
+
|
|
158
|
+
`appearance` (contract 1.5): `themes` is `WARDLEY_THEMES` (`["light"]` for now);
|
|
159
|
+
`set({ theme, contrast })` writes `data-cd-theme` and, for `contrast: "high"`,
|
|
160
|
+
`data-cd-kontrast="hoch"` on the map's container. It is view state: no change event, same exports.
|
|
161
|
+
`@miragon/wardley-renderer/themes` exports `WARDLEY_THEMES` without DOM code.
|
|
266
162
|
|
|
267
163
|
### Menu entries and dialogs for a host's chrome
|
|
268
164
|
|
|
269
|
-
|
|
270
|
-
size…"
|
|
271
|
-
|
|
272
|
-
`createMapSizePopover(chrome, modeler)
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
`
|
|
277
|
-
|
|
278
|
-
`
|
|
279
|
-
`mapMenu({ …, shortcutsKey: '?' })` shows the key's chip on "Keyboard shortcuts…". The shell opens
|
|
280
|
-
the dialog: `shell.showShortcutsDialog(mapShortcuts(shell, options))`, or, in a host without a
|
|
281
|
-
mounted shell, `showShortcutsDialog(mapShortcuts(chrome, options), { container })` of
|
|
282
|
-
`@miragon/modeler-shell`.
|
|
283
|
-
`createMapDialog(chrome, parts)` is the modal dialog all of them share (guide §8: header with Close,
|
|
284
|
-
scrolling body, footer), for a host's own dialogs in the same look; `dialogButton(label, variant)`
|
|
285
|
-
gives its buttons. `chrome` is the shell handle or anything of the same shape; the renderer never
|
|
286
|
-
imports the shell itself.
|
|
165
|
+
`mapMenu(actions)` gives the map's entries of a chrome menu (Model: "Map title…" when `mapTitle` is
|
|
166
|
+
passed, "Map size…", "X-axis labels…"; Export; Help) in the shape of
|
|
167
|
+
[`@miragon/modeler-shell`](https://www.npmjs.com/package/@miragon/modeler-shell)'s menu groups.
|
|
168
|
+
`createMapSizePopover(chrome, modeler)`, `createAxisLabelsPopover(chrome, modeler)` and
|
|
169
|
+
`createTitleDialog(chrome, modeler)` build the popovers and the title dialog (one undo step each).
|
|
170
|
+
`mapShortcuts(chrome, options)` returns the "Keyboard shortcuts…" groups as data; pass
|
|
171
|
+
`{ fileKeys: true, shortcutsKey: '?' }` if the host binds Cmd/Ctrl+O/S/V and `?`, and open it with
|
|
172
|
+
`shell.showShortcutsDialog(…)` (or `showShortcutsDialog(…, { container })` without a mounted shell).
|
|
173
|
+
`createMapDialog(chrome, parts)` and `dialogButton(label, variant)` build dialogs in the same look.
|
|
174
|
+
`chrome` is the shell handle or anything of its shape; the renderer never imports the shell.
|
|
287
175
|
|
|
288
176
|
### PNG export
|
|
289
177
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
map has a plot, so its PNG lies on `--cd-ui-plot` (guide §10.7), which is `COLORS.plotBackground`:
|
|
178
|
+
`svgToPng` of `@miragon/modeler-shell/export` rasterizes `saveSVG()` and embeds Geist. A map's PNG
|
|
179
|
+
lies on `COLORS.plotBackground`:
|
|
293
180
|
|
|
294
181
|
```ts
|
|
295
182
|
import { COLORS } from "@miragon/wardley-renderer";
|
|
@@ -300,9 +187,6 @@ const png = await svgToPng(svg, { background: COLORS.plotBackground }); // 2×
|
|
|
300
187
|
const forSlides = await svgToPng(svg, { background: "transparent", scale: 4 });
|
|
301
188
|
```
|
|
302
189
|
|
|
303
|
-
`blobToBase64(png)` gives the picture as Base64 without the data-URL prefix, e.g. to post it to a VS
|
|
304
|
-
Code extension host.
|
|
305
|
-
|
|
306
190
|
## Events
|
|
307
191
|
|
|
308
192
|
| Event | Payload | Notes |
|
|
@@ -314,17 +198,9 @@ Code extension host.
|
|
|
314
198
|
|
|
315
199
|
### Fonts
|
|
316
200
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
```ts
|
|
322
|
-
import "@fontsource-variable/geist/wght.css";
|
|
323
|
-
```
|
|
324
|
-
|
|
325
|
-
That package registers the family as `'Geist Variable'`; the renderer's font stack starts with
|
|
326
|
-
`'Geist Variable', 'Geist', …` so it matches either that package or a locally installed Geist. Use
|
|
327
|
-
`'Geist Variable'` in your own CSS too: `'Geist'` alone never matches the self-hosted face.
|
|
201
|
+
No fonts ship and nothing loads from a CDN. Provide Geist, e.g.
|
|
202
|
+
`import "@fontsource-variable/geist/wght.css"`; the font stack starts with
|
|
203
|
+
`'Geist Variable', 'Geist', …`.
|
|
328
204
|
|
|
329
205
|
Part of the [Wardley Maps Modeler](https://github.com/Miragon/modeler-suite/tree/main/modelers/wardley-maps) in the [Miragon modeler suite](https://github.com/Miragon/modeler-suite).
|
|
330
206
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@miragon/wardley-renderer",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.1",
|
|
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": {
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@miragon/modeler-api": "1.6.0",
|
|
44
|
-
"@miragon/wardley-dsl": "0.
|
|
44
|
+
"@miragon/wardley-dsl": "0.10.0",
|
|
45
45
|
"@miragon/wardley-schema-model": "0.6.1",
|
|
46
46
|
"clsx": "2.1.1"
|
|
47
47
|
},
|