@miragon/wardley-renderer 0.14.0 → 0.16.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.
- package/README.md +69 -30
- package/dist/WardleyBaseViewer.d.ts +19 -0
- package/dist/WardleyBaseViewer.d.ts.map +1 -1
- package/dist/collaborative/CollaborativeWardley.d.ts +8 -1
- package/dist/collaborative/CollaborativeWardley.d.ts.map +1 -1
- package/dist/context-pad/WardleyContextPadProvider.d.ts +10 -1
- package/dist/context-pad/WardleyContextPadProvider.d.ts.map +1 -1
- package/dist/draw/WardleyRenderer.d.ts +9 -1
- package/dist/draw/WardleyRenderer.d.ts.map +1 -1
- package/dist/draw/lucide.d.ts +2 -1
- package/dist/draw/lucide.d.ts.map +1 -1
- package/dist/draw/styles.d.ts +7 -0
- package/dist/draw/styles.d.ts.map +1 -1
- package/dist/draw-tool/WardleyDrawTool.d.ts +8 -1
- package/dist/draw-tool/WardleyDrawTool.d.ts.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1269 -1071
- package/dist/index.js.map +1 -1
- package/dist/io/blobToBase64.d.ts +3 -0
- package/dist/io/blobToBase64.d.ts.map +1 -0
- package/dist/io/index.d.ts +1 -2
- package/dist/io/index.d.ts.map +1 -1
- package/dist/io/saveSvg.d.ts.map +1 -1
- package/dist/keyboard/WardleyKeyboard.d.ts +2 -1
- package/dist/keyboard/WardleyKeyboard.d.ts.map +1 -1
- package/dist/lasso/WardleyLassoBehavior.d.ts +5 -1
- package/dist/lasso/WardleyLassoBehavior.d.ts.map +1 -1
- package/dist/lasso/index.d.ts +1 -1
- package/dist/lasso/index.d.ts.map +1 -1
- package/dist/link-editing/WardleyLinkOpener.d.ts +24 -0
- package/dist/link-editing/WardleyLinkOpener.d.ts.map +1 -0
- package/dist/link-editing/index.d.ts +4 -2
- package/dist/link-editing/index.d.ts.map +1 -1
- package/dist/link-editing/link-url.d.ts +14 -0
- package/dist/link-editing/link-url.d.ts.map +1 -1
- package/dist/map-menu/index.d.ts +0 -2
- package/dist/map-menu/index.d.ts.map +1 -1
- package/dist/map-menu/popover.d.ts.map +1 -1
- package/dist/palette/WardleyHoverTooltipTeardown.d.ts +6 -5
- package/dist/palette/WardleyHoverTooltipTeardown.d.ts.map +1 -1
- package/dist/palette/WardleyPaletteKeyboard.d.ts +4 -2
- package/dist/palette/WardleyPaletteKeyboard.d.ts.map +1 -1
- package/dist/palette/WardleyPaletteProvider.d.ts +8 -3
- package/dist/palette/WardleyPaletteProvider.d.ts.map +1 -1
- package/dist/palette/WardleyPaletteReadOnly.d.ts +26 -0
- package/dist/palette/WardleyPaletteReadOnly.d.ts.map +1 -0
- package/dist/palette/WardleyPaletteTooltip.d.ts +40 -16
- package/dist/palette/WardleyPaletteTooltip.d.ts.map +1 -1
- package/dist/palette/index.d.ts +1 -0
- package/dist/palette/index.d.ts.map +1 -1
- package/dist/read-only/WardleyReadOnly.d.ts +26 -4
- package/dist/read-only/WardleyReadOnly.d.ts.map +1 -1
- package/dist/read-only/index.d.ts +3 -0
- package/dist/read-only/index.d.ts.map +1 -1
- package/dist/wardley.css +1 -1
- package/package.json +2 -2
- package/dist/io/rasterize.d.ts +0 -31
- package/dist/io/rasterize.d.ts.map +0 -1
- package/dist/map-menu/ShortcutsDialog.d.ts +0 -24
- package/dist/map-menu/ShortcutsDialog.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -35,6 +35,27 @@ 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
|
+
For a host without the Miragon modeler shell, the `Modeler`'s palette is the toolbar of the Miragon
|
|
39
|
+
design guide: a glass island at the top centre of the container (opaque in high contrast), in the
|
|
40
|
+
second row, 64px from the top, in a container at most 760px wide, and ahead of the canvas in the
|
|
41
|
+
tab order, with one tab stop that the arrow keys, Home and End move. Its tooltip names the entry
|
|
42
|
+
and its key 8px below the palette, centred on the entry and at least 12px from the container's
|
|
43
|
+
sides; it shows after 300ms of hover, at once on keyboard focus or for a neighbour, never for a
|
|
44
|
+
tap, and hides on a press, on Escape and when the pointer or the focus leaves. Where the palette
|
|
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.
|
|
58
|
+
|
|
38
59
|
## API
|
|
39
60
|
|
|
40
61
|
| Member | What it does |
|
|
@@ -48,7 +69,7 @@ Swap `NavigatedViewer` for `Modeler` to get the editable map (palette, context p
|
|
|
48
69
|
| `undo()` / `redo()` / `canUndo()` / `canRedo()` | `Modeler` only: the canvas command stack. |
|
|
49
70
|
| `commitPendingEdits()` | `Modeler` only: saves an open inline editor, e.g. before a save shortcut. |
|
|
50
71
|
| `on(event, callback)` / `off(event, callback)` | diagram-js events, see below. |
|
|
51
|
-
| `
|
|
72
|
+
| `blobToBase64(blob)` | Encodes a Blob, such as the PNG of the shell's `svgToPng` (see below), as Base64 without the data-URL prefix. |
|
|
52
73
|
| `setAsideEditorState(modeler)` / `restoreEditorState(…)` | Keeps the selection and an open inline editor across a re-import of an externally changed map. |
|
|
53
74
|
|
|
54
75
|
`setEvolutionLabels` turns an empty stage into its default label and `->` into `→`, so the labels
|
|
@@ -78,11 +99,31 @@ Options (the names of the `@miragon/modeler-api` 1.2 factory options):
|
|
|
78
99
|
- `fitOnImport: false` leaves the view after an import to the host, whose chrome fits it.
|
|
79
100
|
- `additionalModules` adds diagram-js modules; every Wardley feature module is exported for custom
|
|
80
101
|
editors.
|
|
102
|
+
- `openRelativeLink: (address) => …` follows a link without a scheme (`details/payment.wmap`) from
|
|
103
|
+
the context pad: only the host knows where the map's file lies, so it resolves the address or says
|
|
104
|
+
why it can't. Without this option the pad offers no "Open link" on such an address. No scheme but
|
|
105
|
+
http(s) and `mailto:` ever opens.
|
|
106
|
+
- `openExternalLink: (address) => …` opens an http(s) or `mailto:` address from the context pad;
|
|
107
|
+
without it a new browser tab opens. A host whose page can't open windows, such as a VS Code
|
|
108
|
+
webview, hands the address to its own opener.
|
|
109
|
+
- `chooseLinkTarget: () => Promise<string | undefined>` adds "Link to map…" to the context pad of a
|
|
110
|
+
component or submap: the host lets the user choose another map and resolves with its address
|
|
111
|
+
relative to the current map (`undefined` when the user cancels), which becomes the element's link
|
|
112
|
+
in one undoable step.
|
|
113
|
+
|
|
114
|
+
A component or submap whose link the editor can open, the cases where its context pad offers "Open
|
|
115
|
+
link", carries a small link mark at its lower left (Lucide `link` in the `--cd-ui-link` role). It
|
|
116
|
+
takes no pointer, the viewer shows none, and the export leaves it out, as the selection outline.
|
|
81
117
|
|
|
82
118
|
The `wardleyReadOnly` service (`modeler.get<WardleyReadOnly>('wardleyReadOnly').setReadOnly(true)`)
|
|
83
119
|
locks the canvas while its host cannot save an edit, e.g. while the document is invalid: every edit
|
|
84
120
|
rule is vetoed, an open editor, popup or drag ends without saving, the handles hide, and selection,
|
|
85
|
-
zoom, pan, select all and export stay.
|
|
121
|
+
zoom, pan, select all and export stay. `setReadOnly(true, { delayMs: 800 })` locks at once but marks
|
|
122
|
+
the palette only once the delay has passed without `setReadOnly(false)`, so typing an invalid file
|
|
123
|
+
in an editor beside the canvas does not flicker (guide §13.5); a call while the delay runs keeps
|
|
124
|
+
its timer, `setReadOnly(false)` takes the marks off at once, and `isReadOnlyShown()` tells whether
|
|
125
|
+
they show. It fires `wardley.readOnly.changed` with `{ readOnly, shown }` when the lock changes and
|
|
126
|
+
once more when delayed marks show.
|
|
86
127
|
|
|
87
128
|
The canvas's keys (undo and redo, delete, copy, paste and duplicate, select all, the arrows, Escape
|
|
88
129
|
and the single-key tools C, U, N, P, L and A) act only while the canvas `<svg>` has the focus, as
|
|
@@ -106,9 +147,10 @@ drag, the point drag of a drawing (the drawing stays selected) and the drag of a
|
|
|
106
147
|
evolve target. These drags and the colour picker take only an Escape aimed at the canvas (the
|
|
107
148
|
picker also one on its swatches); one aimed at the palette, the context pad, a name editor or a
|
|
108
149
|
host's field, menu, dialog or overlay, inside the canvas container or next to it, stays with that
|
|
109
|
-
control. While the draw tool holds the points of a line, the single-key tools
|
|
110
|
-
line is finished or cancelled, and the canvas
|
|
111
|
-
on the Draw entry save the line, as Enter on
|
|
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,
|
|
112
154
|
the keys that would change the drawing under the drag or start a second gesture next to it do
|
|
113
155
|
nothing until the release, and the canvas takes them with `preventDefault()`: the single-key tools,
|
|
114
156
|
the arrow keys, paste and duplicate. Delete still removes the drawing, which ends the drag without a
|
|
@@ -197,8 +239,9 @@ edit at once and stays the same across zoom and scroll. A map without elements s
|
|
|
197
239
|
so it is never `undefined` while the modeler lives (before the first import it is the default plot);
|
|
198
240
|
tell an empty map by its elements. `diagram` is the wrapped `Modeler` or `NavigatedViewer` for
|
|
199
241
|
host-specific wiring. Both factories take the options above (`additionalModules`, `freeArea`,
|
|
200
|
-
`fitOnImport` and
|
|
201
|
-
contract's conformance kit
|
|
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.
|
|
202
245
|
|
|
203
246
|
`interaction` (contract 1.5) tells a host whether the user holds a gesture, so it can defer a remote
|
|
204
247
|
re-import until the gesture ends: `active()` is true from the moment a move, resize, connect or
|
|
@@ -227,7 +270,8 @@ The map's entries of a chrome menu (Model: "Map title…" where the host passes
|
|
|
227
270
|
size…" and "X-axis labels…"; Export; Help) come from `mapMenu(actions)`, in the shape the menu
|
|
228
271
|
groups of [`@miragon/modeler-shell`](https://www.npmjs.com/package/@miragon/modeler-shell) take.
|
|
229
272
|
`createMapSizePopover(chrome, modeler)` and `createAxisLabelsPopover(chrome, modeler)` build the two
|
|
230
|
-
popovers (a live preview, one undo step when done
|
|
273
|
+
popovers (a live preview, one undo step when done; an Escape that closes one keeps a tool armed from
|
|
274
|
+
the palette, as the shell's own layers do), `createTitleDialog(chrome, modeler)` the "Map
|
|
231
275
|
title…" dialog (one undo step on Apply, nothing for an unchanged title),
|
|
232
276
|
`mapShortcuts(chrome, options)` the groups of its "Keyboard shortcuts…" dialog as data. A web app
|
|
233
277
|
that binds Cmd/Ctrl+O, Cmd/Ctrl+S, Cmd/Ctrl+V on the canvas and `?` itself passes
|
|
@@ -241,28 +285,23 @@ scrolling body, footer), for a host's own dialogs in the same look; `dialogButto
|
|
|
241
285
|
gives its buttons. `chrome` is the shell handle or anything of the same shape; the renderer never
|
|
242
286
|
imports the shell itself.
|
|
243
287
|
|
|
244
|
-
###
|
|
288
|
+
### PNG export
|
|
245
289
|
|
|
246
|
-
|
|
247
|
-
(
|
|
248
|
-
|
|
290
|
+
The package draws no PNG itself: `svgToPng` of `@miragon/modeler-shell/export` rasterizes the SVG of
|
|
291
|
+
`saveSVG()`, embeds Geist, loads the SVG as a data: URL and fills the background the caller names. A
|
|
292
|
+
map has a plot, so its PNG lies on `--cd-ui-plot` (guide §10.7), which is `COLORS.plotBackground`:
|
|
249
293
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
- `svgToPng(svg, { scale, transparent })` (with `SvgToPngOptions`) is replaced by `svgToPng` of
|
|
254
|
-
`@miragon/modeler-shell/export`, which embeds Geist, loads the SVG as a data: URL and fills the
|
|
255
|
-
background the caller names. A map has a plot, so its PNG lies on `--cd-ui-plot` (guide §10.7), not
|
|
256
|
-
on the paper this one fills:
|
|
294
|
+
```ts
|
|
295
|
+
import { COLORS } from "@miragon/wardley-renderer";
|
|
296
|
+
import { svgToPng } from "@miragon/modeler-shell/export";
|
|
257
297
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
298
|
+
const { svg } = await modeler.saveSVG();
|
|
299
|
+
const png = await svgToPng(svg, { background: COLORS.plotBackground }); // 2×
|
|
300
|
+
const forSlides = await svgToPng(svg, { background: "transparent", scale: 4 });
|
|
301
|
+
```
|
|
261
302
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
const forSlides = await svgToPng(svg, { background: "transparent", scale: 4 });
|
|
265
|
-
```
|
|
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.
|
|
266
305
|
|
|
267
306
|
## Events
|
|
268
307
|
|
|
@@ -296,8 +335,8 @@ MIT
|
|
|
296
335
|
The tool icons of the palette (`square-dashed-mouse-pointer`, and for Draw `spline` with a
|
|
297
336
|
straight segment), the Close icon of the dialogs (`x`) and the icons of the context pad (`pencil`,
|
|
298
337
|
`trash`, `circle-plus`, `arrow-right`, `chevrons-right`, `sliders-horizontal`, `line-style`,
|
|
299
|
-
`palette`, `link`, `external-link`, and for Remove evolve `chevrons-right` with the corner
|
|
300
|
-
`calendar-x-2`) are copied from [Lucide](https://lucide.dev) (`lucide-static` 1.59.0):
|
|
338
|
+
`palette`, `link`, `map`, `external-link`, and for Remove evolve `chevrons-right` with the corner
|
|
339
|
+
`x` of `calendar-x-2`) are copied from [Lucide](https://lucide.dev) (`lucide-static` 1.59.0):
|
|
301
340
|
|
|
302
341
|
> ISC License
|
|
303
342
|
>
|
|
@@ -314,8 +353,8 @@ straight segment), the Close icon of the dialogs (`x`) and the icons of the cont
|
|
|
314
353
|
> NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
315
354
|
> PERFORMANCE OF THIS SOFTWARE.
|
|
316
355
|
|
|
317
|
-
`arrow-right`, `chevrons-right`, `circle-plus`, `external-link`, `link`, `trash` and `x` are
|
|
318
|
-
from [Feather](https://feathericons.com):
|
|
356
|
+
`arrow-right`, `chevrons-right`, `circle-plus`, `external-link`, `link`, `map`, `trash` and `x` are
|
|
357
|
+
derived from [Feather](https://feathericons.com):
|
|
319
358
|
|
|
320
359
|
> The MIT License (MIT)
|
|
321
360
|
>
|
|
@@ -28,6 +28,25 @@ export interface WardleyViewerOptions {
|
|
|
28
28
|
* `false` leaves them to the host (e.g. VS Code, which owns the document's undo stack).
|
|
29
29
|
*/
|
|
30
30
|
undoRedoKeys?: boolean | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Follows a link without a scheme (`details/payment.wmap`) from the context pad. Only the host
|
|
33
|
+
* knows where the map's file lies, so it resolves the address or says why it can't. Without this
|
|
34
|
+
* option the pad offers no "Open link" on such an address; http(s) and `mailto:` addresses open
|
|
35
|
+
* in a new tab either way.
|
|
36
|
+
*/
|
|
37
|
+
openRelativeLink?: ((address: string) => void) | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Opens an http(s) or `mailto:` address from the context pad. Default: a new browser tab. A host
|
|
40
|
+
* whose page can't open windows (a VS Code webview) hands the address to its own opener.
|
|
41
|
+
*/
|
|
42
|
+
openExternalLink?: ((address: string) => void) | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Lets the user choose another map as the link of a component or submap, from the context pad's
|
|
45
|
+
* "Link to map…": resolves with its address relative to the current map, or `undefined` when the
|
|
46
|
+
* user cancels. Only the host knows the files around the map; without this option the pad offers
|
|
47
|
+
* no "Link to map…".
|
|
48
|
+
*/
|
|
49
|
+
chooseLinkTarget?: (() => Promise<string | undefined>) | undefined;
|
|
31
50
|
}
|
|
32
51
|
export type EventCallback<T = unknown> = (event: T) => void;
|
|
33
52
|
/** The plot size as drawn, plus whether the map writes it explicitly (`size [w, h]`). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WardleyBaseViewer.d.ts","sourceRoot":"","sources":["../src/WardleyBaseViewer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAM9C,OAAO,EAOL,KAAK,SAAS,EAEd,KAAK,eAAe,EACpB,KAAK,UAAU,EAChB,MAAM,+BAA+B,CAAC;AAOvC,OAAO,EAAW,KAAK,aAAa,EAA2B,MAAM,eAAe,CAAC;AASrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"WardleyBaseViewer.d.ts","sourceRoot":"","sources":["../src/WardleyBaseViewer.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,11 +6,18 @@ import { NavigatedViewer } from '../NavigatedViewer.js';
|
|
|
6
6
|
export declare const WARDLEY_NOTATION = "wardley";
|
|
7
7
|
/**
|
|
8
8
|
* The contract's factory options (`freeArea`, `fitOnImport`, `undoRedoKeys`, see
|
|
9
|
-
* `WardleyViewerOptions`) plus the renderer's own. The viewer ignores `undoRedoKeys
|
|
9
|
+
* `WardleyViewerOptions`) plus the renderer's own. The viewer ignores `undoRedoKeys` and the link
|
|
10
|
+
* handlers, as it has no context pad.
|
|
10
11
|
*/
|
|
11
12
|
export interface CollaborativeWardleyOptions extends CollaborativeModelerOptions {
|
|
12
13
|
/** Appended to the renderer's own modules (e.g. a host's chrome module). */
|
|
13
14
|
additionalModules?: ModuleDeclaration[] | undefined;
|
|
15
|
+
/** Follows a link without a scheme, see `WardleyViewerOptions`. */
|
|
16
|
+
openRelativeLink?: ((address: string) => void) | undefined;
|
|
17
|
+
/** Opens an http(s) or `mailto:` link, see `WardleyViewerOptions`. */
|
|
18
|
+
openExternalLink?: ((address: string) => void) | undefined;
|
|
19
|
+
/** Chooses another map as a link, see `WardleyViewerOptions`. */
|
|
20
|
+
chooseLinkTarget?: (() => Promise<string | undefined>) | undefined;
|
|
14
21
|
}
|
|
15
22
|
/** The contract's element surface, with the optional `bounds` of contract 1.2 always present. */
|
|
16
23
|
export interface WardleyElementsSurface extends ElementsSurface {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollaborativeWardley.d.ts","sourceRoot":"","sources":["../../src/collaborative/CollaborativeWardley.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,aAAa,EAElB,KAAK,eAAe,EAEpB,KAAK,kBAAkB,EAExB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAM9C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAaxD,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C
|
|
1
|
+
{"version":3,"file":"CollaborativeWardley.d.ts","sourceRoot":"","sources":["../../src/collaborative/CollaborativeWardley.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,aAAa,EAElB,KAAK,eAAe,EAEpB,KAAK,kBAAkB,EAExB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAM9C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAaxD,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C;;;;GAIG;AACH,MAAM,WAAW,2BAA4B,SAAQ,2BAA2B;IAC9E,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IACpD,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3D,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3D,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;CACpE;AAED,iGAAiG;AACjG,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;CAC/C;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAAC;IAC5C,aAAa,IAAI,aAAa,GAAG,SAAS,CAAC;CAC5C;AA2BD,uFAAuF;AACvF,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,2BAAgC,GACxC,2BAA2B,CAW7B;AAED,+FAA+F;AAC/F,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,2BAAgC,GACxC,2BAA2B,CAE7B"}
|
|
@@ -13,6 +13,7 @@ import { default as WardleyLabelEditing } from '../label-editing/WardleyLabelEdi
|
|
|
13
13
|
import { default as WardleyEvolveDragging } from '../evolve/WardleyEvolveDragging.js';
|
|
14
14
|
import { default as WardleyElementFactory } from '../model/WardleyElementFactory.js';
|
|
15
15
|
import { default as WardleyColorPicker } from '../color-picker/WardleyColorPicker.js';
|
|
16
|
+
import { WardleyLinksConfig } from '../link-editing/index.js';
|
|
16
17
|
/** Context actions per element (concept doc §5.5). */
|
|
17
18
|
export default class WardleyContextPadProvider implements ContextPadProvider {
|
|
18
19
|
private readonly contextPad;
|
|
@@ -27,10 +28,11 @@ export default class WardleyContextPadProvider implements ContextPadProvider {
|
|
|
27
28
|
private readonly colorPicker;
|
|
28
29
|
private readonly canvas;
|
|
29
30
|
private readonly injector;
|
|
31
|
+
private readonly linksConfig;
|
|
30
32
|
static $inject: string[];
|
|
31
33
|
/** Synthetic clicks created for Enter/Space, so actions can pick a pointer-free variant. */
|
|
32
34
|
private readonly keyboardEvents;
|
|
33
|
-
constructor(contextPad: ContextPad, modeling: Modeling, connect: Connect, create: Create, popupMenu: PopupMenu, wardleyModeling: WardleyModeling, labelEditing: WardleyLabelEditing, evolveDragging: WardleyEvolveDragging, factory: WardleyElementFactory, colorPicker: WardleyColorPicker, eventBus: EventBus, canvas: Canvas, injector: Injector);
|
|
35
|
+
constructor(contextPad: ContextPad, modeling: Modeling, connect: Connect, create: Create, popupMenu: PopupMenu, wardleyModeling: WardleyModeling, labelEditing: WardleyLabelEditing, evolveDragging: WardleyEvolveDragging, factory: WardleyElementFactory, colorPicker: WardleyColorPicker, eventBus: EventBus, canvas: Canvas, injector: Injector, linksConfig: WardleyLinksConfig | undefined);
|
|
34
36
|
getContextPadEntries(element: Element): ContextPadEntries;
|
|
35
37
|
/** Connections: edit the annotation (or the flow value of an imported flow link) + delete. */
|
|
36
38
|
private connectionEntries;
|
|
@@ -38,6 +40,13 @@ export default class WardleyContextPadProvider implements ContextPadProvider {
|
|
|
38
40
|
private addPrimaryEntries;
|
|
39
41
|
/** Row 2: settings, line style, colour, link. */
|
|
40
42
|
private addPropertyEntries;
|
|
43
|
+
/**
|
|
44
|
+
* Links the element to the map the user chooses in the host. While the host's picker is open, an
|
|
45
|
+
* import may replace the element or lock the canvas, so the element is looked up again after it.
|
|
46
|
+
* The link re-renders the pad, which takes a focused entry with it: as after a synchronous
|
|
47
|
+
* action (`onPadKeydown`), the canvas then takes the focus instead of `<body>`.
|
|
48
|
+
*/
|
|
49
|
+
private linkChosenMap;
|
|
41
50
|
/**
|
|
42
51
|
* For an entry that opens no editor or popup: after a pointer click or drag it hands the focus to
|
|
43
52
|
* the canvas (guide §5.8), whose keys act only while it has the focus. The clicked entry took the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WardleyContextPadProvider.d.ts","sourceRoot":"","sources":["../../src/context-pad/WardleyContextPadProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,UAAU,MAAM,gDAAgD,CAAC;AAC7E,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;AACtE,OAAO,KAAK,OAAO,MAAM,yCAAyC,CAAC;AACnE,OAAO,KAAK,MAAM,MAAM,uCAAuC,CAAC;AAChE,OAAO,KAAK,SAAS,MAAM,8CAA8C,CAAC;AAC1E,OAAO,KAAK,EACV,iBAAiB,EACjB,OAAO,IAAI,kBAAkB,EAC9B,MAAM,wDAAwD,CAAC;
|
|
1
|
+
{"version":3,"file":"WardleyContextPadProvider.d.ts","sourceRoot":"","sources":["../../src/context-pad/WardleyContextPadProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,UAAU,MAAM,gDAAgD,CAAC;AAC7E,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;AACtE,OAAO,KAAK,OAAO,MAAM,yCAAyC,CAAC;AACnE,OAAO,KAAK,MAAM,MAAM,uCAAuC,CAAC;AAChE,OAAO,KAAK,SAAS,MAAM,8CAA8C,CAAC;AAC1E,OAAO,KAAK,EACV,iBAAiB,EACjB,OAAO,IAAI,kBAAkB,EAC9B,MAAM,wDAAwD,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAOrC,OAAO,KAAK,eAAe,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,mBAAmB,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,qBAAqB,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,kBAAkB,MAAM,uCAAuC,CAAC;AAI5E,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AA8BxF,sDAAsD;AACtD,MAAM,CAAC,OAAO,OAAO,yBAA0B,YAAW,kBAAkB;IAsBxE,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAlC9B,MAAM,CAAC,OAAO,WAeZ;IAEF,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;gBAGpC,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,mBAAmB,EACjC,cAAc,EAAE,qBAAqB,EACrC,OAAO,EAAE,qBAAqB,EAC9B,WAAW,EAAE,kBAAkB,EAChD,QAAQ,EAAE,QAAQ,EACD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,kBAAkB,GAAG,SAAS;IAU9D,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB;IAsBzD,8FAA8F;IAC9F,OAAO,CAAC,iBAAiB;IAuBzB,kDAAkD;IAClD,OAAO,CAAC,iBAAiB;IA8EzB,iDAAiD;IACjD,OAAO,CAAC,kBAAkB;IAyF1B;;;;;OAKG;YACW,aAAa;IAc3B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAOtB,wEAAwE;IACxE,OAAO,CAAC,YAAY;IAuCpB,OAAO,CAAC,cAAc;IAiBtB;;;OAGG;IACH,OAAO,CAAC,WAAW;CAuBpB"}
|
|
@@ -3,6 +3,7 @@ import { default as EventBus } from 'diagram-js/lib/core/EventBus';
|
|
|
3
3
|
import { ElementLike, ShapeLike, ConnectionLike } from 'diagram-js/lib/model/Types';
|
|
4
4
|
import { default as ElementRegistry } from 'diagram-js/lib/core/ElementRegistry';
|
|
5
5
|
import { default as EvolutionGrid } from '../evolution-grid/EvolutionGrid.js';
|
|
6
|
+
import { Injector } from 'didi';
|
|
6
7
|
/** Primary name text of a node (contract shared with other modules and consumers' CSS). */
|
|
7
8
|
export declare const NAME_LABEL_CLASS = "wardley-name-label";
|
|
8
9
|
/** Groups every evolve visual so tools (e.g. the context pad) can tell the node from its movement. */
|
|
@@ -14,8 +15,9 @@ export declare const LABEL_ROLE_ATTRIBUTE = "data-label-role";
|
|
|
14
15
|
export default class WardleyRenderer extends BaseRenderer {
|
|
15
16
|
private readonly grid;
|
|
16
17
|
private readonly elementRegistry;
|
|
18
|
+
private readonly injector;
|
|
17
19
|
static $inject: string[];
|
|
18
|
-
constructor(eventBus: EventBus, grid: EvolutionGrid, elementRegistry: ElementRegistry);
|
|
20
|
+
constructor(eventBus: EventBus, grid: EvolutionGrid, elementRegistry: ElementRegistry, injector: Injector);
|
|
19
21
|
canRender(element: ElementLike): boolean;
|
|
20
22
|
drawShape(visuals: SVGElement, element: ShapeLike): SVGElement;
|
|
21
23
|
/** Freeform drawing: polyline/polygon from relative points (see WardleyDrawTool). */
|
|
@@ -33,5 +35,11 @@ export default class WardleyRenderer extends BaseRenderer {
|
|
|
33
35
|
private drawAnnotation;
|
|
34
36
|
private drawAccelerator;
|
|
35
37
|
private drawSubmap;
|
|
38
|
+
/**
|
|
39
|
+
* Marks the element at its lower left, where neither its name, its inertia nor its evolve sits,
|
|
40
|
+
* when the editor can open its link. Only the editing mount has the link opener: the viewer opens
|
|
41
|
+
* no links, so it shows no mark.
|
|
42
|
+
*/
|
|
43
|
+
private drawLinkBadge;
|
|
36
44
|
}
|
|
37
45
|
//# sourceMappingURL=WardleyRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WardleyRenderer.d.ts","sourceRoot":"","sources":["../../src/draw/WardleyRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,kCAAkC,CAAC;AAE5D,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEzF,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"WardleyRenderer.d.ts","sourceRoot":"","sources":["../../src/draw/WardleyRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,kCAAkC,CAAC;AAE5D,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEzF,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC;AAqCvE,OAAO,KAAK,aAAa,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAMrC,2FAA2F;AAC3F,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AACrD,sGAAsG;AACtG,eAAO,MAAM,cAAc,qBAAqB,CAAC;AACjD,kGAAkG;AAClG,eAAO,MAAM,kBAAkB,yBAAyB,CAAC;AACzD,yFAAyF;AACzF,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAatD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,YAAY;IAKrD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAN3B,MAAM,CAAC,OAAO,WAAgE;gBAG5E,QAAQ,EAAE,QAAQ,EACD,IAAI,EAAE,aAAa,EACnB,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,QAAQ;IAK5B,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAIxC,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAG,UAAU;IAyBvE,qFAAqF;IACrF,OAAO,CAAC,WAAW;IAiBV,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,GAAG,UAAU;IAkDxE,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAKtC,iBAAiB,CAAC,UAAU,EAAE,cAAc,GAAG,MAAM;IAM9D,OAAO,CAAC,aAAa;IAwCrB,kFAAkF;IAClF,OAAO,CAAC,YAAY;IAmFpB,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,YAAY;IAyDpB,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,YAAY;IAuCpB,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,UAAU;IAgDlB;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAmBtB"}
|
package/dist/draw/lucide.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*! @miragon/wardley-renderer icon geometry: the context pad icons. Lucide (lucide-static 1.59.0)
|
|
2
2
|
* @license ISC Copyright (c) 2026 Lucide Icons and Contributors
|
|
3
|
-
* arrow-right, chevrons-right, circle-plus, external-link, link and trash derive from Feather
|
|
3
|
+
* arrow-right, chevrons-right, circle-plus, external-link, link, map and trash derive from Feather
|
|
4
4
|
* @license MIT, Copyright (c) 2013-present Cole Bemis
|
|
5
5
|
* Full notices: README.md of @miragon/wardley-renderer */
|
|
6
6
|
/**
|
|
@@ -20,6 +20,7 @@ export declare const LUCIDE: {
|
|
|
20
20
|
readonly palette: "<path d=\"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z\"/><circle cx=\"13.5\" cy=\"6.5\" r=\".5\" fill=\"currentColor\"/><circle cx=\"17.5\" cy=\"10.5\" r=\".5\" fill=\"currentColor\"/><circle cx=\"6.5\" cy=\"12.5\" r=\".5\" fill=\"currentColor\"/><circle cx=\"8.5\" cy=\"7.5\" r=\".5\" fill=\"currentColor\"/>";
|
|
21
21
|
readonly link: "<path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"/><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"/>";
|
|
22
22
|
readonly "external-link": "<path d=\"M15 3h6v6\"/><path d=\"M10 14 21 3\"/><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"/>";
|
|
23
|
+
readonly map: "<path d=\"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z\"/><path d=\"M15 5.764v15\"/><path d=\"M9 3.236v15\"/>";
|
|
23
24
|
};
|
|
24
25
|
export type LucideIconName = keyof typeof LUCIDE;
|
|
25
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucide.d.ts","sourceRoot":"","sources":["../../src/draw/lucide.ts"],"names":[],"mappings":"AAAA;;;;0DAI0D;AAE1D;;;;GAIG;AACH,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"lucide.d.ts","sourceRoot":"","sources":["../../src/draw/lucide.ts"],"names":[],"mappings":"AAAA;;;;0DAI0D;AAE1D;;;;GAIG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;CAwBT,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,MAAM,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAEvD"}
|
package/dist/draw/styles.d.ts
CHANGED
|
@@ -16,6 +16,13 @@ export { PLOT_MIN } from '@miragon/wardley-schema-model';
|
|
|
16
16
|
export declare const NODE_SIZE = 34;
|
|
17
17
|
export declare const COMPONENT_RADIUS = 15;
|
|
18
18
|
export declare const COMPONENT_INNER_RADIUS = 12;
|
|
19
|
+
/**
|
|
20
|
+
* The mark on an element whose link the editor opens (its context pad's "Open link"): editor
|
|
21
|
+
* chrome in the `--cd-ui-*` roles of `wardley.css`, which the export leaves out.
|
|
22
|
+
*/
|
|
23
|
+
export declare const LINK_BADGE_CLASS = "wardley-link-badge";
|
|
24
|
+
export declare const LINK_BADGE_RADIUS = 8;
|
|
25
|
+
export declare const LINK_BADGE_ICON_SIZE = 11;
|
|
19
26
|
export declare const ANCHOR_ICON_SIZE = 26;
|
|
20
27
|
export declare const PIPELINE_HEIGHT = 30;
|
|
21
28
|
export declare const PIPELINE_ANCHOR_SIZE = 16;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/draw/styles.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAK/F;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;CAOP,CAAC;AAEX,gGAAgG;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAKnC;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQ7F;AAiBD;;;;;GAKG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;CAwBT,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYd,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAO5E,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIlD,CAAC;AAEF,eAAO,MAAM,IAAI;IACf;;;;;;OAMG;;;;;CAMK,CAAC"}
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/draw/styles.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAK/F;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;CAOP,CAAC;AAEX,gGAAgG;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AACrD,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAKnC;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQ7F;AAiBD;;;;;GAKG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;CAwBT,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYd,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAO5E,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIlD,CAAC;AAEF,eAAO,MAAM,IAAI;IACf;;;;;;OAMG;;;;;CAMK,CAAC"}
|
|
@@ -11,7 +11,8 @@ import { default as EvolutionGrid } from '../evolution-grid/EvolutionGrid.js';
|
|
|
11
11
|
* commits the open line, and so does Space on the tool's palette entry; clicking the FIRST point
|
|
12
12
|
* closes the shape. Escape with fewer than two points cancels. The result is ONE undoable
|
|
13
13
|
* `drawing` shape that moves as a whole. An import cancels a line in progress without committing
|
|
14
|
-
* it and leaves a tool without points armed.
|
|
14
|
+
* it and leaves a tool without points armed. Arming another tool (the lasso) puts it down and saves
|
|
15
|
+
* a held line as Escape does, so one tool is armed at a time.
|
|
15
16
|
*/
|
|
16
17
|
export default class WardleyDrawTool {
|
|
17
18
|
private readonly canvas;
|
|
@@ -39,6 +40,12 @@ export default class WardleyDrawTool {
|
|
|
39
40
|
activate(): void;
|
|
40
41
|
/** Finishes the current polyline (>= 2 points) and deactivates the tool. */
|
|
41
42
|
finish(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Another tool took the press: the line is saved as Escape saves it, and the release is not
|
|
45
|
+
* reported, which would show that tool released while it is armed.
|
|
46
|
+
*/
|
|
47
|
+
private giveWay;
|
|
48
|
+
private finishLine;
|
|
42
49
|
/** Closes the shape (polygon) using the collected points. */
|
|
43
50
|
private finishClosed;
|
|
44
51
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WardleyDrawTool.d.ts","sourceRoot":"","sources":["../../src/draw-tool/WardleyDrawTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAQrC,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;AACtE,OAAO,KAAK,SAAS,MAAM,6CAA6C,CAAC;AAGzE,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,aAAa,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"WardleyDrawTool.d.ts","sourceRoot":"","sources":["../../src/draw-tool/WardleyDrawTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAQrC,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,KAAK,QAAQ,MAAM,2CAA2C,CAAC;AACtE,OAAO,KAAK,SAAS,MAAM,6CAA6C,CAAC;AAGzE,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,aAAa,MAAM,oCAAoC,CAAC;AAgBpE;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAiBhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAtB3B,MAAM,CAAC,OAAO,WAQZ;IAEF,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,KAAK,CAA2B;gBAGrB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,QAAQ;IAkBrC,QAAQ,IAAI,OAAO;IAInB,8EAA8E;IAC9E,SAAS,IAAI,OAAO;IAIpB,MAAM,IAAI,IAAI;IAKd;;;OAGG;IACH,OAAO,CAAC,cAAc;IAKtB,QAAQ,IAAI,IAAI;IAgBhB,4EAA4E;IAC5E,MAAM,IAAI,IAAI;IAId;;;OAGG;IACH,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,UAAU;IAOlB,6DAA6D;IAC7D,OAAO,CAAC,YAAY;IAOpB;;;OAGG;IACH,OAAO,CAAC,MAAM;IAWd,MAAM,IAAI,IAAI;IAId,OAAO,CAAC,UAAU;IAelB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAYrB,sFAAsF;IACtF,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAsB1B;IAEF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAKzB;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAI1B;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,sBAAsB;IAQ9B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAcxB;IAEF,OAAO,CAAC,aAAa;IAiDrB,OAAO,CAAC,YAAY;CAMrB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,8 +10,8 @@ export { COLORS, PLOT } from './draw/styles.js';
|
|
|
10
10
|
export { PLOT_MIN, PLOT_MAX, MAP_SIZE_PRESETS, normalizeMapSize, presetIdForSize, } from '@miragon/wardley-schema-model';
|
|
11
11
|
export type { MapSize, MapSizePreset, MapSizePresetId } from '@miragon/wardley-schema-model';
|
|
12
12
|
export { MIRAGON } from './theme/index.js';
|
|
13
|
-
export { ioModule, WardleyImporter, WardleyExporter, WardleySourceOrder, saveSVG, exportBounds,
|
|
14
|
-
export type { SvgBounds
|
|
13
|
+
export { ioModule, WardleyImporter, WardleyExporter, WardleySourceOrder, saveSVG, exportBounds, blobToBase64, ROOT_ID, } from './io/index.js';
|
|
14
|
+
export type { SvgBounds } from './io/index.js';
|
|
15
15
|
export { wardleyModelingModule, WardleyModeling } from './modeling/index.js';
|
|
16
16
|
export { wardleyLayoutModule, WardleyLayouter } from './layout/index.js';
|
|
17
17
|
export type { EvolveOptions, MapConfigUpdate } from './modeling/index.js';
|
|
@@ -21,6 +21,7 @@ export { pipelineGroupModule, PipelineGroupBehavior } from './pipeline/index.js'
|
|
|
21
21
|
export { linkEditingModule, WardleyLinkEditing, canHaveLink, linkOf, } from './link-editing/index.js';
|
|
22
22
|
export { wardleyLabelDragModule, WardleyLabelDragging } from './label-drag/index.js';
|
|
23
23
|
export { readOnlyModule, WardleyReadOnly, READ_ONLY_CHANGED } from './read-only/index.js';
|
|
24
|
+
export type { WardleyReadOnlyOptions } from './read-only/index.js';
|
|
24
25
|
export type { LabelRole } from './label-drag/index.js';
|
|
25
26
|
export { canvasAccessibilityModule } from './a11y/index.js';
|
|
26
27
|
export { wardleyLassoModule, WardleyLassoBehavior } from './lasso/index.js';
|
|
@@ -41,8 +42,8 @@ export type { InteractionChangedEvent } from './interaction/index.js';
|
|
|
41
42
|
export { WARDLEY_THEMES } from './appearance/index.js';
|
|
42
43
|
export { WARDLEY_NOTATION, createCollaborativeModeler, createCollaborativeViewer, } from './collaborative/index.js';
|
|
43
44
|
export type { CollaborativeWardleyModeler, CollaborativeWardleyOptions, WardleyElementsSurface, } from './collaborative/index.js';
|
|
44
|
-
export { EXPORT_LABELS, createAxisLabelsPopover, createMapDialog, createMapSizePopover,
|
|
45
|
-
export type { DialogChrome, MapDialog, MapDialogParts, MapShortcutOptions, TitleDialog, TitleDialogChrome, MapExport, MapExports, MapMenu, MapMenuAction, MapMenuActions, MapMenuDialog, MapMenuEntry, MapMenuIcon, PopoverChrome, PopoverHandle, ShortcutGroup, ShortcutKeyNames, ShortcutPlatform, ShortcutRow, ShortcutsChrome,
|
|
45
|
+
export { EXPORT_LABELS, createAxisLabelsPopover, createMapDialog, createMapSizePopover, createTitleDialog, dialogButton, mapMenu, mapShortcuts, } from './map-menu/index.js';
|
|
46
|
+
export type { DialogChrome, MapDialog, MapDialogParts, MapShortcutOptions, TitleDialog, TitleDialogChrome, MapExport, MapExports, MapMenu, MapMenuAction, MapMenuActions, MapMenuDialog, MapMenuEntry, MapMenuIcon, PopoverChrome, PopoverHandle, ShortcutGroup, ShortcutKeyNames, ShortcutPlatform, ShortcutRow, ShortcutsChrome, } from './map-menu/index.js';
|
|
46
47
|
export type { EditorState, RestoreOptions } from './editor-state.js';
|
|
47
48
|
export { wardleyKeyboardModule } from './keyboard/index.js';
|
|
48
49
|
export type { WardleyKeyboardConfig } from './keyboard/WardleyKeyboard.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,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,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EACV,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,yBAAyB,EACzB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,aAAa,GACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAG7F,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EACL,QAAQ,EACR,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,OAAO,EACP,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|