@meltemi/diagrams-editor 1.9.0 → 1.10.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/dist/add-icons.d.ts +44 -0
- package/dist/add-icons.d.ts.map +1 -0
- package/dist/add-icons.js +178 -0
- package/dist/add-icons.js.map +1 -0
- package/dist/arrange.d.ts.map +1 -1
- package/dist/arrange.js +0 -1
- package/dist/arrange.js.map +1 -1
- package/dist/asset-files.d.ts +46 -0
- package/dist/asset-files.d.ts.map +1 -0
- package/dist/asset-files.js +79 -0
- package/dist/asset-files.js.map +1 -0
- package/dist/c4.d.ts +91 -1
- package/dist/c4.d.ts.map +1 -1
- package/dist/c4.js +358 -9
- package/dist/c4.js.map +1 -1
- package/dist/canvas/keyboard.d.ts +3 -1
- package/dist/canvas/keyboard.d.ts.map +1 -1
- package/dist/canvas/keyboard.js +4 -0
- package/dist/canvas/keyboard.js.map +1 -1
- package/dist/canvas/palette.d.ts +7 -5
- package/dist/canvas/palette.d.ts.map +1 -1
- package/dist/canvas/palette.js +13 -9
- package/dist/canvas/palette.js.map +1 -1
- package/dist/canvas/protocol.d.ts +223 -7
- package/dist/canvas/protocol.d.ts.map +1 -1
- package/dist/canvas/protocol.js +58 -1
- package/dist/canvas/protocol.js.map +1 -1
- package/dist/canvas/routes.d.ts +17 -0
- package/dist/canvas/routes.d.ts.map +1 -1
- package/dist/canvas/routes.js +37 -0
- package/dist/canvas/routes.js.map +1 -1
- package/dist/canvas/turning.d.ts +7 -0
- package/dist/canvas/turning.d.ts.map +1 -1
- package/dist/canvas/turning.js +17 -3
- package/dist/canvas/turning.js.map +1 -1
- package/dist/clipboard.d.ts.map +1 -1
- package/dist/clipboard.js +61 -9
- package/dist/clipboard.js.map +1 -1
- package/dist/effects.d.ts +5 -0
- package/dist/effects.d.ts.map +1 -1
- package/dist/effects.js +28 -22
- package/dist/effects.js.map +1 -1
- package/dist/exports.d.ts +19 -11
- package/dist/exports.d.ts.map +1 -1
- package/dist/exports.js +54 -19
- package/dist/exports.js.map +1 -1
- package/dist/icons.d.ts +2 -0
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +39 -6
- package/dist/icons.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/inspector.d.ts.map +1 -1
- package/dist/inspector.js +229 -97
- package/dist/inspector.js.map +1 -1
- package/dist/messages/en.d.ts +55 -20
- package/dist/messages/en.d.ts.map +1 -1
- package/dist/messages/en.js +59 -26
- package/dist/messages/en.js.map +1 -1
- package/dist/messages/es.d.ts.map +1 -1
- package/dist/messages/es.js +47 -43
- package/dist/messages/es.js.map +1 -1
- package/dist/messages/index.d.ts +43 -17
- package/dist/messages/index.d.ts.map +1 -1
- package/dist/messages/keys.d.ts.map +1 -1
- package/dist/messages/keys.js +2 -0
- package/dist/messages/keys.js.map +1 -1
- package/dist/messages/services.d.ts +6 -0
- package/dist/messages/services.d.ts.map +1 -1
- package/dist/messages/services.js +8 -2
- package/dist/messages/services.js.map +1 -1
- package/dist/move-file.d.ts +32 -0
- package/dist/move-file.d.ts.map +1 -0
- package/dist/move-file.js +58 -0
- package/dist/move-file.js.map +1 -0
- package/dist/node.d.ts +1 -1
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js.map +1 -1
- package/dist/projects.d.ts +65 -1
- package/dist/projects.d.ts.map +1 -1
- package/dist/projects.js +349 -1
- package/dist/projects.js.map +1 -1
- package/dist/services/actions.d.ts.map +1 -1
- package/dist/services/actions.js +11 -1
- package/dist/services/actions.js.map +1 -1
- package/dist/services/completion.d.ts.map +1 -1
- package/dist/services/completion.js +46 -6
- package/dist/services/completion.js.map +1 -1
- package/dist/services/hover.d.ts.map +1 -1
- package/dist/services/hover.js +3 -2
- package/dist/services/hover.js.map +1 -1
- package/dist/services/navigation.d.ts +1 -1
- package/dist/services/navigation.d.ts.map +1 -1
- package/dist/services/navigation.js +2 -1
- package/dist/services/navigation.js.map +1 -1
- package/dist/session.d.ts +56 -10
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +650 -38
- package/dist/session.js.map +1 -1
- package/dist/targets.d.ts +25 -4
- package/dist/targets.d.ts.map +1 -1
- package/dist/targets.js +103 -7
- package/dist/targets.js.map +1 -1
- package/dist/text-places.d.ts.map +1 -1
- package/dist/text-places.js +55 -1
- package/dist/text-places.js.map +1 -1
- package/dist/themes.d.ts.map +1 -1
- package/dist/themes.js +11 -1
- package/dist/themes.js.map +1 -1
- package/package.json +16 -16
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type IconRegistry } from "@meltemi/diagrams-assets";
|
|
2
|
+
import type { FlowDiagram } from "@meltemi/diagrams-model";
|
|
3
|
+
import type { AddedIconInfo, IconFileCheck, IconFileInput, IconPrefixCheck } from "./canvas/protocol.js";
|
|
4
|
+
import type { AssetSteps, ProjectStep } from "./projects.js";
|
|
5
|
+
/** The prefix the Add icon dialog offers first. */
|
|
6
|
+
export declare const DEFAULT_ICON_PREFIX = "project";
|
|
7
|
+
/**
|
|
8
|
+
* What the Add icon dialog may do with a prefix: put the icons in a new pack, or in a pack of the
|
|
9
|
+
* project read from a folder; never in a built-in pack, a plugin's, an Iconify file of the
|
|
10
|
+
* project (the dialog writes SVG files) or an alias of `project.json`.
|
|
11
|
+
*/
|
|
12
|
+
export declare function checkIconPrefix(registry: IconRegistry | undefined, prefix: string): IconPrefixCheck;
|
|
13
|
+
/**
|
|
14
|
+
* Each file of the Add icon dialog as the dialog shows it: the name it gets (the one asked for, or
|
|
15
|
+
* one made of the file's name and free in the pack), a preview through the sanitiser, and what
|
|
16
|
+
* keeps it from being added: an SVG the sanitiser refuses, a name a reference cannot write, a name
|
|
17
|
+
* the pack or an earlier file has.
|
|
18
|
+
*/
|
|
19
|
+
export declare function checkIconFiles(registry: IconRegistry | undefined, prefix: string, files: readonly IconFileInput[]): IconFileCheck[];
|
|
20
|
+
/** What `addIcons` gives: the icons added, the files refused, and what to write. */
|
|
21
|
+
export interface AddedIcons {
|
|
22
|
+
readonly added: readonly AddedIconInfo[];
|
|
23
|
+
readonly refused: readonly {
|
|
24
|
+
readonly file: string;
|
|
25
|
+
readonly reason: string;
|
|
26
|
+
}[];
|
|
27
|
+
/** The files of the assets, and the statements that give the first icon to the targets. */
|
|
28
|
+
readonly assets: AssetSteps;
|
|
29
|
+
readonly steps: readonly ProjectStep[];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The files and statements that add icons to the project: one `assets/icons/<prefix>/<name>.svg`
|
|
33
|
+
* per file that can be added, the pack's licence in `assets/licenses.json` when it has none, an
|
|
34
|
+
* item per icon in the project's library (`assets/libraries/project.json`, a category per
|
|
35
|
+
* prefix), and `style <id> { icon }` of the first icon on the targets that take one. A prefix the
|
|
36
|
+
* icons cannot go into, or a licence missing or malformed, refuses every file.
|
|
37
|
+
*/
|
|
38
|
+
export declare function addIcons(registry: IconRegistry | undefined, diagram: FlowDiagram | undefined, request: {
|
|
39
|
+
readonly prefix: string;
|
|
40
|
+
readonly licence?: string;
|
|
41
|
+
readonly files: readonly IconFileInput[];
|
|
42
|
+
readonly targets: readonly string[];
|
|
43
|
+
}): AddedIcons;
|
|
44
|
+
//# sourceMappingURL=add-icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-icons.d.ts","sourceRoot":"","sources":["../src/add-icons.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAQ3D,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE7D,mDAAmD;AACnD,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAU7C;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,MAAM,EAAE,MAAM,GACb,eAAe,CAoBjB;AAQD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,aAAa,EAAE,GAC9B,aAAa,EAAE,CAkCjB;AAED,oFAAoF;AACpF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChF,2FAA2F;IAC3F,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;CACxC;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,OAAO,EAAE;IACP,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC,GACA,UAAU,CAyEZ"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { PACK_PREFIX, geometrySvg, humanise, isIconName, sanitizeSvg, slugifyIconName, } from "@meltemi/diagrams-assets";
|
|
2
|
+
import { ICONS_FOLDER, LICENSES_FILE, PROJECT_LIBRARY_FILE, iconFilePath, } from "@meltemi/diagrams-project";
|
|
3
|
+
import { libraryCategoryId } from "./asset-files.js";
|
|
4
|
+
import { takesIcon } from "./icons.js";
|
|
5
|
+
import { messages } from "./messages/index.js";
|
|
6
|
+
/** The prefix the Add icon dialog offers first. */
|
|
7
|
+
export const DEFAULT_ICON_PREFIX = "project";
|
|
8
|
+
/** What a licence may be written as: an SPDX identifier or a `LicenseRef-` name. */
|
|
9
|
+
const LICENCE = /^(?:LicenseRef-[A-Za-z0-9.-]+|[A-Za-z0-9][A-Za-z0-9.+-]*)$/;
|
|
10
|
+
/** Whether a pack is one of the project's own, read from a folder or a file under `assets/icons`. */
|
|
11
|
+
function projectPack(pack) {
|
|
12
|
+
return pack.metadata.source.startsWith(`${ICONS_FOLDER}/`);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* What the Add icon dialog may do with a prefix: put the icons in a new pack, or in a pack of the
|
|
16
|
+
* project read from a folder; never in a built-in pack, a plugin's, an Iconify file of the
|
|
17
|
+
* project (the dialog writes SVG files) or an alias of `project.json`.
|
|
18
|
+
*/
|
|
19
|
+
export function checkIconPrefix(registry, prefix) {
|
|
20
|
+
const words = messages().addIcons;
|
|
21
|
+
const fail = (problem) => ({
|
|
22
|
+
prefix,
|
|
23
|
+
problem,
|
|
24
|
+
existing: false,
|
|
25
|
+
licensed: false,
|
|
26
|
+
});
|
|
27
|
+
if (prefix === "")
|
|
28
|
+
return fail(words.prefixEmpty);
|
|
29
|
+
if (!PACK_PREFIX.test(prefix))
|
|
30
|
+
return fail(words.prefixInvalid(prefix));
|
|
31
|
+
const alias = registry?.aliasList()[prefix];
|
|
32
|
+
if (alias !== undefined)
|
|
33
|
+
return fail(words.prefixAlias(prefix, alias));
|
|
34
|
+
const pack = registry?.list().find((p) => p.prefix === prefix);
|
|
35
|
+
if (!pack)
|
|
36
|
+
return { prefix, existing: false, licensed: false };
|
|
37
|
+
if (pack.metadata.source === "built-in")
|
|
38
|
+
return fail(words.prefixBuiltIn(prefix));
|
|
39
|
+
if (!projectPack(pack))
|
|
40
|
+
return fail(words.prefixPlugin(prefix));
|
|
41
|
+
if (pack.metadata.source.endsWith(".json")) {
|
|
42
|
+
return fail(words.prefixIconify(prefix, pack.metadata.source));
|
|
43
|
+
}
|
|
44
|
+
return { prefix, existing: true, licensed: pack.metadata.license !== null };
|
|
45
|
+
}
|
|
46
|
+
/** The names a pack has, lower case: a file system may not tell `Logo.svg` from `logo.svg`. */
|
|
47
|
+
function takenNames(registry, prefix) {
|
|
48
|
+
const pack = registry?.list().find((p) => p.prefix === prefix);
|
|
49
|
+
return new Set((pack?.names() ?? []).map((n) => n.toLowerCase()));
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Each file of the Add icon dialog as the dialog shows it: the name it gets (the one asked for, or
|
|
53
|
+
* one made of the file's name and free in the pack), a preview through the sanitiser, and what
|
|
54
|
+
* keeps it from being added: an SVG the sanitiser refuses, a name a reference cannot write, a name
|
|
55
|
+
* the pack or an earlier file has.
|
|
56
|
+
*/
|
|
57
|
+
export function checkIconFiles(registry, prefix, files) {
|
|
58
|
+
const words = messages().addIcons;
|
|
59
|
+
const taken = takenNames(registry, prefix);
|
|
60
|
+
const used = new Set();
|
|
61
|
+
return files.map((file) => {
|
|
62
|
+
let name = file.name?.trim() ?? "";
|
|
63
|
+
let problem;
|
|
64
|
+
if (file.name === undefined) {
|
|
65
|
+
// A name is offered: the file's own, made writable, then `-2`, `-3`… while it is taken.
|
|
66
|
+
const slug = slugifyIconName(file.file);
|
|
67
|
+
name = slug;
|
|
68
|
+
for (let n = 2; slug !== "" && (taken.has(name.toLowerCase()) || used.has(name.toLowerCase())); n++) {
|
|
69
|
+
name = `${slug}-${n}`;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (name === "")
|
|
73
|
+
problem = words.nameEmpty;
|
|
74
|
+
else if (!isIconName(name))
|
|
75
|
+
problem = words.nameInvalid(name);
|
|
76
|
+
else if (taken.has(name.toLowerCase()))
|
|
77
|
+
problem = words.nameTaken(`${prefix}:${name}`);
|
|
78
|
+
else if (used.has(name.toLowerCase()))
|
|
79
|
+
problem = words.nameTwice(name);
|
|
80
|
+
if (name !== "")
|
|
81
|
+
used.add(name.toLowerCase());
|
|
82
|
+
let svg = null;
|
|
83
|
+
if (!/<svg[\s>]/i.test(file.svg)) {
|
|
84
|
+
problem = words.notSvg;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
const result = sanitizeSvg(file.svg);
|
|
88
|
+
if (result.ok)
|
|
89
|
+
svg = geometrySvg(result.icon, 48, 48);
|
|
90
|
+
else
|
|
91
|
+
problem = words.unsafe(result.problem.message);
|
|
92
|
+
}
|
|
93
|
+
return { file: file.file, name, svg, ...(problem !== undefined ? { problem } : {}) };
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* The files and statements that add icons to the project: one `assets/icons/<prefix>/<name>.svg`
|
|
98
|
+
* per file that can be added, the pack's licence in `assets/licenses.json` when it has none, an
|
|
99
|
+
* item per icon in the project's library (`assets/libraries/project.json`, a category per
|
|
100
|
+
* prefix), and `style <id> { icon }` of the first icon on the targets that take one. A prefix the
|
|
101
|
+
* icons cannot go into, or a licence missing or malformed, refuses every file.
|
|
102
|
+
*/
|
|
103
|
+
export function addIcons(registry, diagram, request) {
|
|
104
|
+
const words = messages().addIcons;
|
|
105
|
+
const none = { create: [], json: [] };
|
|
106
|
+
const refuseAll = (reason) => ({
|
|
107
|
+
added: [],
|
|
108
|
+
refused: request.files.map((f) => ({ file: f.file, reason })),
|
|
109
|
+
assets: none,
|
|
110
|
+
steps: [],
|
|
111
|
+
});
|
|
112
|
+
const prefix = checkIconPrefix(registry, request.prefix);
|
|
113
|
+
if (prefix.problem !== undefined)
|
|
114
|
+
return refuseAll(prefix.problem);
|
|
115
|
+
const licence = request.licence?.trim() ?? "";
|
|
116
|
+
if (!prefix.licensed) {
|
|
117
|
+
if (licence === "")
|
|
118
|
+
return refuseAll(words.licenceMissing);
|
|
119
|
+
if (!LICENCE.test(licence))
|
|
120
|
+
return refuseAll(words.licenceInvalid(licence));
|
|
121
|
+
}
|
|
122
|
+
const checks = checkIconFiles(registry, request.prefix, request.files.map((f) => ({ ...f, name: f.name ?? slugifyIconName(f.file) })));
|
|
123
|
+
const added = [];
|
|
124
|
+
const refused = [];
|
|
125
|
+
const create = [];
|
|
126
|
+
checks.forEach((check, i) => {
|
|
127
|
+
if (check.problem !== undefined) {
|
|
128
|
+
refused.push({ file: check.file, reason: check.problem });
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
const reference = `${request.prefix}:${check.name}`;
|
|
132
|
+
create.push({ path: iconFilePath(request.prefix, check.name), text: request.files[i].svg });
|
|
133
|
+
const icon = sanitizeSvg(request.files[i].svg);
|
|
134
|
+
added.push({
|
|
135
|
+
file: check.file,
|
|
136
|
+
reference,
|
|
137
|
+
label: humanise(check.name),
|
|
138
|
+
svg: icon.ok ? geometrySvg(icon.icon, 24, 24) : null,
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
if (added.length === 0)
|
|
142
|
+
return { added, refused, assets: none, steps: [] };
|
|
143
|
+
const json = [];
|
|
144
|
+
if (!prefix.licensed) {
|
|
145
|
+
json.push({
|
|
146
|
+
path: LICENSES_FILE,
|
|
147
|
+
change: { kind: "licence", prefix: request.prefix, licence },
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
json.push({
|
|
151
|
+
path: PROJECT_LIBRARY_FILE,
|
|
152
|
+
change: {
|
|
153
|
+
kind: "libraryItems",
|
|
154
|
+
category: libraryCategoryId(request.prefix),
|
|
155
|
+
title: request.prefix,
|
|
156
|
+
items: added.map((icon) => ({ icon: icon.reference, label: icon.label })),
|
|
157
|
+
},
|
|
158
|
+
});
|
|
159
|
+
const steps = [];
|
|
160
|
+
if (diagram) {
|
|
161
|
+
for (const target of request.targets) {
|
|
162
|
+
const element = diagram.elementsById.get(target);
|
|
163
|
+
if (!element || !takesIcon(diagram, element))
|
|
164
|
+
continue;
|
|
165
|
+
const operation = {
|
|
166
|
+
kind: "setStyleProperty",
|
|
167
|
+
diagram: diagram.id,
|
|
168
|
+
target,
|
|
169
|
+
targetKind: "element",
|
|
170
|
+
property: "icon",
|
|
171
|
+
value: added[0].reference,
|
|
172
|
+
};
|
|
173
|
+
steps.push({ file: null, operation });
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return { added, refused, assets: { create, json }, steps };
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=add-icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-icons.js","sourceRoot":"","sources":["../src/add-icons.ts"],"names":[],"mappings":"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"}
|
package/dist/arrange.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrange.d.ts","sourceRoot":"","sources":["../src/arrange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAU5D,OAAO,EAA8C,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAe,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAErF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAczE;AAKD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,WAAW,EACjB,EAAE,EAAE,MAAM,GAER;IACE,QAAQ,CAAC,SAAS,EAAE,aAAa,GAAG;QAAE,IAAI,EAAE,oBAAoB,CAAA;KAAE,CAAC;IACnE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC,GACD,SAAS,CA2CZ;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,SAAS,MAAM,EAAE,EACtB,KAAK,EAAE,KAAK,GACX;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAuBhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,aAAa,EAAE,CA4CjB;AAgCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,UAAU,GAAG,KAAK,GACxB,aAAa,GAAG,SAAS,CAE3B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,UAAU,GAAG,KAAK,GACxB;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAkCnE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,CAUjF;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAU9E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,EAAE,CAAC,EAAE,MAAM,GACV,CAAC,aAAa,GAAG;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"arrange.d.ts","sourceRoot":"","sources":["../src/arrange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAU5D,OAAO,EAA8C,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAe,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAErF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAczE;AAKD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,WAAW,EACjB,EAAE,EAAE,MAAM,GAER;IACE,QAAQ,CAAC,SAAS,EAAE,aAAa,GAAG;QAAE,IAAI,EAAE,oBAAoB,CAAA;KAAE,CAAC;IACnE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC,GACD,SAAS,CA2CZ;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,SAAS,MAAM,EAAE,EACtB,KAAK,EAAE,KAAK,GACX;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAuBhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,aAAa,EAAE,CA4CjB;AAgCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,UAAU,GAAG,KAAK,GACxB,aAAa,GAAG,SAAS,CAE3B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,UAAU,GAAG,KAAK,GACxB;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAkCnE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,CAUjF;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAU9E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,EAAE,CAAC,EAAE,MAAM,GACV,CAAC,aAAa,GAAG;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,CAgBrE"}
|
package/dist/arrange.js
CHANGED
package/dist/arrange.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrange.js","sourceRoot":"","sources":["../src/arrange.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"arrange.js","sourceRoot":"","sources":["../src/arrange.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,aAAa,EACb,OAAO,EACP,aAAa,EACb,SAAS,GAGV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAA8C,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,WAAW,EAA2C,MAAM,eAAe,CAAC;AAErF;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAiB,EAAE,KAAoB;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACrF,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC5C,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK;YAAE,SAAS;QACxE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;AAC5F,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;AAC7E,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAiB,EACjB,EAAU;IAOV,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC;IAC5B,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,KAAK;QAAE,OAAO,SAAS,CAAC;IACnE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9B,OAAO,CACL,KAAK,KAAK,SAAS;YACnB,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAC;YACjC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;YAC/B,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CACpB,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;IACrC,yFAAyF;IACzF,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;IAClG,OAAO;QACL,SAAS,EAAE;YACT,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAE,CAAC;gBACnC,OAAO,IAAI;oBACT,CAAC,CAAC;wBACE,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,EAAE,EAAE;4BACF,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;4BACnD,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;yBACrD;qBACF;oBACH,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YACvB,CAAC,CAAC;YACF,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;SACvE;QACD,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAiB,EACjB,GAAsB,EACtB,KAAY;IAEZ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;IACjC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IACrF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG;YAAE,SAAS;QAC/B,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QAClE,kEAAkE;QAClE,IAAI,KAA+C,CAAC;QACpD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC5F,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;gBAAE,SAAS;YAClD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;YAC1C,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI;gBAAE,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;QAClE,CAAC;QACD,IAAI,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;IACnD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAiB,EACjB,OAA0B,EAC1B,MAAqB;IAErB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;IACjC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9C,MAAM,GAAG,GAAG,CAAC,SAA2B,EAAE,EAAU,EAAE,EAAE,CACtD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IACvC,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,MAAM,CAAC,CAC7E,CAAC;IACF,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAAE,SAAS;QACrD,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAClB,OAAO,CAAC,QAAQ,CAAC,KAAK,CACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAC/E,CAAC;QACJ,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;YAAE,SAAS;QAC/D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,8DAA8D;YAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,IAAI,CAAC,EAAE;gBAChB,OAAO,EAAE,KAAK;gBACd,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvD,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;aACzD,CAAC,CAAC;QACL,CAAC;QACD,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAC5B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAChB,OAAoB,EACpB,KAA+B,EAC/B,OAA+C;IAM/C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAiB,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,EAA6C,CAAC;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;SAC7C,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;YAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC/E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAA0B,EAC1B,SAAiB,EACjB,KAAyB;IAEzB,OAAO,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,QAA0B,EAC1B,SAAiB,EACjB,KAAyB;IAEzB,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IACzD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC3B,kEAAkE;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;QACtF,MAAM,KAAK,GACT,MAAM,CAAC,IAAI,CACT,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAC5F,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,CAAC;IACD,MAAM,MAAM,GAAiB,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE;QAC7E,GAAG,QAAQ,CAAC,aAAa;QACzB,MAAM,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;KAC9C,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,CAAC;IACD,MAAM,MAAM,GACV,KAAK,KAAK,KAAK,IAAI,MAAM,CAAC,UAAU;QAClC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO;QACL,SAAS,EAAE;YACT,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,SAAS;YAClB,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;YACxD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,KAAK;SACN;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAiB;IACpD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI,CAAC,EAAE;QAChB,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAClE,KAAK,EAAE,KAAK;KACb,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,aAAa,CAAC,QAA0B,EAAE,IAAY;IACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS;QAC3B,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrE,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;KAClE,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAA0B,EAC1B,SAAiB,EACjB,EAAW;IAEX,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC;IAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC/F,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,SAAS;QAClB,EAAE,EAAE,EAAE,IAAI,aAAa,CAAC,QAAQ,EAAE,GAAG,SAAS,OAAO,CAAC;QACtD,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE;YACP,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;YACvC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;YACrC,OAAO,EAAE,KAAK,CAAC,GAAG;SACnB;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The JSON files of a project's assets that the editor writes when icons are added: the licence of
|
|
3
|
+
* a pack in `assets/licenses.json` and the icons' entries in `assets/libraries/project.json`.
|
|
4
|
+
*/
|
|
5
|
+
/** A change of a JSON file of the assets, made by a step over files. */
|
|
6
|
+
export type AssetFileChange =
|
|
7
|
+
/** The pack `prefix` gets `licence` in `assets/licenses.json`, unless it has one already. */
|
|
8
|
+
{
|
|
9
|
+
readonly kind: "licence";
|
|
10
|
+
readonly prefix: string;
|
|
11
|
+
readonly licence: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Items join the category `category` (titled `title`) of the project's library, made when
|
|
15
|
+
* missing; an item whose icon is listed already is not listed again.
|
|
16
|
+
*/
|
|
17
|
+
| {
|
|
18
|
+
readonly kind: "libraryItems";
|
|
19
|
+
readonly category: string;
|
|
20
|
+
readonly title: string;
|
|
21
|
+
readonly items: readonly {
|
|
22
|
+
readonly icon: string;
|
|
23
|
+
readonly label: string;
|
|
24
|
+
}[];
|
|
25
|
+
};
|
|
26
|
+
/** The id and title of the library the editor writes the added icons in. */
|
|
27
|
+
export declare const PROJECT_LIBRARY: {
|
|
28
|
+
readonly id: "project";
|
|
29
|
+
readonly title: "Project";
|
|
30
|
+
};
|
|
31
|
+
/** Why a JSON file of the assets cannot be changed: it is not the object it should be. */
|
|
32
|
+
export declare class AssetFileError extends Error {
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The text of a JSON file of the assets after `change`: `text` is the file as it is, undefined
|
|
36
|
+
* when there is none yet. The file keeps its indentation and line endings; a change that is made
|
|
37
|
+
* already gives the text back as it was. Throws `AssetFileError` when the file is not the object
|
|
38
|
+
* it should be.
|
|
39
|
+
*/
|
|
40
|
+
export declare function changedAssetFile(text: string | undefined, change: AssetFileChange): string;
|
|
41
|
+
/**
|
|
42
|
+
* The id of the library category of a pack: its prefix, which a category id may hold when it
|
|
43
|
+
* starts with a letter; else the prefix after `icons-`.
|
|
44
|
+
*/
|
|
45
|
+
export declare function libraryCategoryId(prefix: string): string;
|
|
46
|
+
//# sourceMappingURL=asset-files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-files.d.ts","sourceRoot":"","sources":["../src/asset-files.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wEAAwE;AACxE,MAAM,MAAM,eAAe;AACzB,6FAA6F;AAC3F;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AACjF;;;GAGG;GACD;IACE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9E,CAAC;AAEN,4EAA4E;AAC5E,eAAO,MAAM,eAAe;;;CAA+C,CAAC;AAE5E,0FAA0F;AAC1F,qBAAa,cAAe,SAAQ,KAAK;CAAG;AAa5C;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,MAAM,CAwC1F;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExD"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The JSON files of a project's assets that the editor writes when icons are added: the licence of
|
|
3
|
+
* a pack in `assets/licenses.json` and the icons' entries in `assets/libraries/project.json`.
|
|
4
|
+
*/
|
|
5
|
+
/** The id and title of the library the editor writes the added icons in. */
|
|
6
|
+
export const PROJECT_LIBRARY = { id: "project", title: "Project" };
|
|
7
|
+
/** Why a JSON file of the assets cannot be changed: it is not the object it should be. */
|
|
8
|
+
export class AssetFileError extends Error {
|
|
9
|
+
}
|
|
10
|
+
const isObject = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
11
|
+
/** The indentation of a JSON text: that of its first indented line, else two spaces. */
|
|
12
|
+
function indentOf(text) {
|
|
13
|
+
const line = /\n([ \t]+)\S/.exec(text);
|
|
14
|
+
return line ? line[1] : 2;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The text of a JSON file of the assets after `change`: `text` is the file as it is, undefined
|
|
18
|
+
* when there is none yet. The file keeps its indentation and line endings; a change that is made
|
|
19
|
+
* already gives the text back as it was. Throws `AssetFileError` when the file is not the object
|
|
20
|
+
* it should be.
|
|
21
|
+
*/
|
|
22
|
+
export function changedAssetFile(text, change) {
|
|
23
|
+
let value;
|
|
24
|
+
if (text === undefined || text.trim() === "") {
|
|
25
|
+
value = change.kind === "licence" ? {} : { ...PROJECT_LIBRARY, categories: [] };
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
try {
|
|
29
|
+
value = JSON.parse(text);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
throw new AssetFileError(error.message);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (!isObject(value))
|
|
36
|
+
throw new AssetFileError("not an object");
|
|
37
|
+
const before = JSON.stringify(value);
|
|
38
|
+
if (change.kind === "licence") {
|
|
39
|
+
const icons = value.icons ?? {};
|
|
40
|
+
if (!isObject(icons))
|
|
41
|
+
throw new AssetFileError("`icons` is not an object");
|
|
42
|
+
if (icons[change.prefix] === undefined)
|
|
43
|
+
icons[change.prefix] = { license: change.licence };
|
|
44
|
+
value.icons = icons;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const categories = value.categories ?? [];
|
|
48
|
+
if (!Array.isArray(categories))
|
|
49
|
+
throw new AssetFileError("`categories` is not a list");
|
|
50
|
+
let category = categories.find((c) => isObject(c) && c.id === change.category);
|
|
51
|
+
if (!category) {
|
|
52
|
+
category = { id: change.category, title: change.title, items: [] };
|
|
53
|
+
categories.push(category);
|
|
54
|
+
}
|
|
55
|
+
const items = category.items ?? [];
|
|
56
|
+
if (!Array.isArray(items))
|
|
57
|
+
throw new AssetFileError("`items` is not a list");
|
|
58
|
+
const listed = new Set(items.filter(isObject).map((item) => item.icon));
|
|
59
|
+
for (const item of change.items) {
|
|
60
|
+
if (!listed.has(item.icon))
|
|
61
|
+
items.push({ icon: item.icon, label: item.label });
|
|
62
|
+
}
|
|
63
|
+
category.items = items;
|
|
64
|
+
value.categories = categories;
|
|
65
|
+
}
|
|
66
|
+
if (text !== undefined && JSON.stringify(value) === before)
|
|
67
|
+
return text;
|
|
68
|
+
const eol = text?.includes("\r\n") ? "\r\n" : "\n";
|
|
69
|
+
const written = JSON.stringify(value, null, text === undefined ? 2 : indentOf(text));
|
|
70
|
+
return `${written.replace(/\n/g, eol)}${eol}`;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The id of the library category of a pack: its prefix, which a category id may hold when it
|
|
74
|
+
* starts with a letter; else the prefix after `icons-`.
|
|
75
|
+
*/
|
|
76
|
+
export function libraryCategoryId(prefix) {
|
|
77
|
+
return /^[a-z]/.test(prefix) ? prefix : `icons-${prefix}`;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=asset-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-files.js","sourceRoot":"","sources":["../src/asset-files.ts"],"names":[],"mappings":"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"}
|
package/dist/c4.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EditOperation } from "@meltemi/diagrams-edit";
|
|
2
|
-
import { type Element, type FlowDiagram, type Relation } from "@meltemi/diagrams-model";
|
|
2
|
+
import { type C4Level, type Element, type EntityKind, type FlowDiagram, type ModelDefinition, type Relation } from "@meltemi/diagrams-model";
|
|
3
3
|
import type { InspectorField } from "./canvas/protocol.js";
|
|
4
4
|
/** The entities a view may draw and does not: what "Add from the model…" offers. */
|
|
5
5
|
export declare function entityChoices(diagram: FlowDiagram): {
|
|
@@ -7,6 +7,96 @@ export declare function entityChoices(diagram: FlowDiagram): {
|
|
|
7
7
|
label: string;
|
|
8
8
|
kind: string;
|
|
9
9
|
}[];
|
|
10
|
+
/**
|
|
11
|
+
* The entity kinds the palette of a C4 view offers: the ones its level draws (a container view
|
|
12
|
+
* draws the containers and data stores of its system, a component view the components of its
|
|
13
|
+
* container), with persons and systems at every level.
|
|
14
|
+
*/
|
|
15
|
+
export declare function allowedKinds(level: C4Level): EntityKind[];
|
|
16
|
+
/**
|
|
17
|
+
* Where an entity of `kind` created on a view is declared: inside the view's scope for the kinds
|
|
18
|
+
* the scope holds (containers and data stores of a system, components of a container), at the
|
|
19
|
+
* model's root for persons and systems.
|
|
20
|
+
*/
|
|
21
|
+
export declare function entityParent(diagram: FlowDiagram, kind: EntityKind): string | null;
|
|
22
|
+
/** A free id for a new entity under `parent`: `<kind><n>`, as the model's own operations name it. */
|
|
23
|
+
export declare function freshEntityPath(model: ModelDefinition, parent: string | null, kind: EntityKind): string;
|
|
24
|
+
/** An entity on the clipboard of a C4 view: what a copy of it is declared with, and where. */
|
|
25
|
+
export interface CopiedEntity {
|
|
26
|
+
readonly kind: EntityKind;
|
|
27
|
+
readonly id: string;
|
|
28
|
+
readonly label: string;
|
|
29
|
+
readonly technology: string | null;
|
|
30
|
+
readonly description: string | null;
|
|
31
|
+
readonly external: boolean;
|
|
32
|
+
/** The centre it was drawn at, in the view it was copied from. */
|
|
33
|
+
readonly at: {
|
|
34
|
+
readonly x: number;
|
|
35
|
+
readonly y: number;
|
|
36
|
+
} | null;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* A note of a view on the clipboard: the text, where it was drawn and how large, and what it was
|
|
40
|
+
* attached to: `on`, the clipboard id of an entity copied with it, or `path`, the path of an
|
|
41
|
+
* entity the view draws (which rides in the note's `description`, since the clipboard's free
|
|
42
|
+
* diagram has no entity paths).
|
|
43
|
+
*/
|
|
44
|
+
export interface CopiedNote {
|
|
45
|
+
readonly id: string;
|
|
46
|
+
readonly label: string;
|
|
47
|
+
readonly at: {
|
|
48
|
+
readonly x: number;
|
|
49
|
+
readonly y: number;
|
|
50
|
+
} | null;
|
|
51
|
+
readonly size: {
|
|
52
|
+
readonly width: number;
|
|
53
|
+
readonly height: number;
|
|
54
|
+
} | null;
|
|
55
|
+
readonly on: string | null;
|
|
56
|
+
readonly path: string | null;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The clipboard text of entities and notes copied from a C4 view: a `model clipboard` block
|
|
60
|
+
* declaring each entity (kind, id, label, technology, description, external; not its children or
|
|
61
|
+
* relations) and a free diagram holding where each was drawn and the notes. It is a document of
|
|
62
|
+
* its own, which other editors read as text and a C4 view reads back with `copiedEntities` and
|
|
63
|
+
* `copiedNotes`.
|
|
64
|
+
*/
|
|
65
|
+
export declare function entityClipboard(diagram: FlowDiagram, ids: readonly string[], boxes: ReadonlyMap<string, {
|
|
66
|
+
x: number;
|
|
67
|
+
y: number;
|
|
68
|
+
width: number;
|
|
69
|
+
height: number;
|
|
70
|
+
}> | undefined): string | undefined;
|
|
71
|
+
/** The entities of a C4 clipboard text, or undefined when the text is not one. */
|
|
72
|
+
export declare function copiedEntities(models: readonly ModelDefinition[], diagrams: readonly FlowDiagram[]): CopiedEntity[] | undefined;
|
|
73
|
+
/** The notes of a C4 clipboard text, in the order written. */
|
|
74
|
+
export declare function copiedNotes(diagrams: readonly FlowDiagram[]): CopiedNote[];
|
|
75
|
+
/**
|
|
76
|
+
* The operations that paste copied entities into a C4 view: each entity of a kind the view's level
|
|
77
|
+
* draws is declared again in the model, where the level puts it, under its id or `<id>_2`, `_3`…,
|
|
78
|
+
* with its label, technology, description and `external`, then included in the view and placed
|
|
79
|
+
* (by `shift` from where it was drawn, or so that the copies' centre lands on `at`). Relations
|
|
80
|
+
* are not copied. The ids are the new entities' paths.
|
|
81
|
+
*/
|
|
82
|
+
export declare function pasteEntities(diagram: FlowDiagram, placed: boolean, copied: readonly CopiedEntity[], where: {
|
|
83
|
+
readonly shift: {
|
|
84
|
+
x: number;
|
|
85
|
+
y: number;
|
|
86
|
+
};
|
|
87
|
+
} | {
|
|
88
|
+
readonly at: {
|
|
89
|
+
x: number;
|
|
90
|
+
y: number;
|
|
91
|
+
};
|
|
92
|
+
}, notes?: readonly CopiedNote[]): {
|
|
93
|
+
readonly ok: true;
|
|
94
|
+
readonly operations: EditOperation[];
|
|
95
|
+
readonly ids: string[];
|
|
96
|
+
} | {
|
|
97
|
+
readonly ok: false;
|
|
98
|
+
readonly reason: string;
|
|
99
|
+
};
|
|
10
100
|
/** Whether the view's model is in the same document, so that its fields can be written. */
|
|
11
101
|
export declare function modelIsLocal(diagram: FlowDiagram): boolean;
|
|
12
102
|
export type C4Result = {
|
package/dist/c4.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c4.d.ts","sourceRoot":"","sources":["../src/c4.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"c4.d.ts","sourceRoot":"","sources":["../src/c4.ts"],"names":[],"mappings":"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"}
|