sketchmark 1.2.1 → 1.3.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 +48 -68
- package/dist/animation/index.d.ts.map +1 -1
- package/dist/ast/types.d.ts +3 -0
- package/dist/ast/types.d.ts.map +1 -1
- package/dist/index.cjs +112 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +112 -24
- package/dist/index.js.map +1 -1
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/renderer/canvas/index.d.ts.map +1 -1
- package/dist/renderer/svg/index.d.ts.map +1 -1
- package/dist/scene/index.d.ts +3 -0
- package/dist/scene/index.d.ts.map +1 -1
- package/dist/sketchmark.iife.js +112 -24
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EAIV,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,cAAc,CAAC;AAsS9D,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAmB1E;AAMD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACtE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,EAC5B,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,CAAC,MAAM,EAAE,MAAM,CAAC,CA6ClB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EAIV,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,cAAc,CAAC;AAsS9D,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAmB1E;AAMD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACtE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,EAC5B,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,CAAC,MAAM,EAAE,MAAM,CAAC,CA6ClB;AAyGD,wBAAgB,MAAM,CAAC,EAAE,EAAE,UAAU,GAAG,UAAU,CA8JjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,UAAU,EAoBX,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAqC/C,qBAAa,UAAW,SAAQ,KAAK;IAG1B,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM;gBAFlB,GAAG,EAAE,MAAM,EACJ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM;CAKrB;AAwCD,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,UAAU,EAoBX,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAqC/C,qBAAa,UAAW,SAAQ,KAAK;IAG1B,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM;gBAFlB,GAAG,EAAE,MAAM,EACJ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM;CAKrB;AAwCD,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,UAAU,CAy/BzE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer/canvas/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,UAAU,EAEX,MAAM,aAAa,CAAC;AAgCrB,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAQ,MAAM,CAAC;IACrB,UAAU,CAAC,EAAG,MAAM,CAAC;IACrB,SAAS,CAAC,EAAI,MAAM,CAAC;IACrB,MAAM,CAAC,EAAO,MAAM,CAAC;IACrB,KAAK,CAAC,EAAQ,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,OAAO,CAAC,EAAM,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAoGD,wBAAgB,cAAc,CAC5B,EAAE,EAAO,UAAU,EACnB,MAAM,EAAG,iBAAiB,EAC1B,OAAO,GAAE,qBAA0B,GAClC,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer/canvas/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,UAAU,EAEX,MAAM,aAAa,CAAC;AAgCrB,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAQ,MAAM,CAAC;IACrB,UAAU,CAAC,EAAG,MAAM,CAAC;IACrB,SAAS,CAAC,EAAI,MAAM,CAAC;IACrB,MAAM,CAAC,EAAO,MAAM,CAAC;IACrB,KAAK,CAAC,EAAQ,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,OAAO,CAAC,EAAM,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAoGD,wBAAgB,cAAc,CAC5B,EAAE,EAAO,UAAU,EACnB,MAAM,EAAG,iBAAiB,EAC1B,OAAO,GAAE,qBAA0B,GAClC,IAAI,CAiaN;AAGD,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAEpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer/svg/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,UAAU,EAEX,MAAM,aAAa,CAAC;AAmQrB,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,WAAW,GAAG,aAAa,EACtC,OAAO,GAAE,kBAAuB,GAC/B,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer/svg/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,UAAU,EAEX,MAAM,aAAa,CAAC;AAmQrB,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,WAAW,GAAG,aAAa,EACtC,OAAO,GAAE,kBAAuB,GAC/B,aAAa,CA6kBf;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAKtD"}
|
package/dist/scene/index.d.ts
CHANGED
|
@@ -118,6 +118,7 @@ export interface SceneGraph {
|
|
|
118
118
|
title?: string;
|
|
119
119
|
description?: string;
|
|
120
120
|
layout: string;
|
|
121
|
+
style: StyleProps;
|
|
121
122
|
nodes: SceneNode[];
|
|
122
123
|
edges: SceneEdge[];
|
|
123
124
|
tables: SceneTable[];
|
|
@@ -130,6 +131,8 @@ export interface SceneGraph {
|
|
|
130
131
|
rootOrder: RootItemRef[];
|
|
131
132
|
width: number;
|
|
132
133
|
height: number;
|
|
134
|
+
fixedWidth?: number;
|
|
135
|
+
fixedHeight?: number;
|
|
133
136
|
}
|
|
134
137
|
export declare function buildSceneGraph(ast: DiagramAST): SceneGraph;
|
|
135
138
|
export declare function nodeMap(sg: SceneGraph): Map<string, SceneNode>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scene/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scene/index.ts"],"names":[],"mappings":"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"}
|
package/dist/sketchmark.iife.js
CHANGED
|
@@ -380,6 +380,7 @@ var AIDiagram = (function (exports) {
|
|
|
380
380
|
const ast = {
|
|
381
381
|
kind: "diagram",
|
|
382
382
|
layout: "column",
|
|
383
|
+
style: {},
|
|
383
384
|
nodes: [],
|
|
384
385
|
edges: [],
|
|
385
386
|
groups: [],
|
|
@@ -436,6 +437,54 @@ var AIDiagram = (function (exports) {
|
|
|
436
437
|
}
|
|
437
438
|
return props;
|
|
438
439
|
}
|
|
440
|
+
function parseConfigValue(value) {
|
|
441
|
+
if (value === "true" || value === "on")
|
|
442
|
+
return true;
|
|
443
|
+
if (value === "false" || value === "off")
|
|
444
|
+
return false;
|
|
445
|
+
const numeric = Number(value);
|
|
446
|
+
return Number.isNaN(numeric) ? value : numeric;
|
|
447
|
+
}
|
|
448
|
+
function applyRootProps(props) {
|
|
449
|
+
const styleProps = propsToStyle(props);
|
|
450
|
+
const styleKeys = new Set([
|
|
451
|
+
"fill",
|
|
452
|
+
"stroke",
|
|
453
|
+
"stroke-width",
|
|
454
|
+
"color",
|
|
455
|
+
"opacity",
|
|
456
|
+
"font-size",
|
|
457
|
+
"font-weight",
|
|
458
|
+
"font",
|
|
459
|
+
"dash",
|
|
460
|
+
"stroke-dash",
|
|
461
|
+
"padding",
|
|
462
|
+
"text-align",
|
|
463
|
+
"vertical-align",
|
|
464
|
+
"line-height",
|
|
465
|
+
"letter-spacing",
|
|
466
|
+
]);
|
|
467
|
+
ast.style = { ...(ast.style ?? {}), ...styleProps };
|
|
468
|
+
if (props.layout) {
|
|
469
|
+
ast.layout = props.layout;
|
|
470
|
+
}
|
|
471
|
+
if (props.width !== undefined) {
|
|
472
|
+
ast.width = parseFloat(props.width);
|
|
473
|
+
}
|
|
474
|
+
if (props.height !== undefined) {
|
|
475
|
+
ast.height = parseFloat(props.height);
|
|
476
|
+
}
|
|
477
|
+
if (props.font !== undefined) {
|
|
478
|
+
ast.config.font = parseConfigValue(props.font);
|
|
479
|
+
}
|
|
480
|
+
for (const [key, value] of Object.entries(props)) {
|
|
481
|
+
if (key === "layout" || key === "width" || key === "height")
|
|
482
|
+
continue;
|
|
483
|
+
if (styleKeys.has(key))
|
|
484
|
+
continue;
|
|
485
|
+
ast.config[key] = parseConfigValue(value);
|
|
486
|
+
}
|
|
487
|
+
}
|
|
439
488
|
function parseGroupProps(toks, startIndex) {
|
|
440
489
|
const props = {};
|
|
441
490
|
const itemIds = [];
|
|
@@ -917,8 +966,12 @@ var AIDiagram = (function (exports) {
|
|
|
917
966
|
};
|
|
918
967
|
}
|
|
919
968
|
skipNL();
|
|
920
|
-
if (cur().value === "diagram")
|
|
969
|
+
if (cur().value === "diagram") {
|
|
921
970
|
skip();
|
|
971
|
+
const toks = lineTokens();
|
|
972
|
+
const props = parseSimpleProps(toks, 0);
|
|
973
|
+
applyRootProps(props);
|
|
974
|
+
}
|
|
922
975
|
skipNL();
|
|
923
976
|
while (cur().type !== "EOF" && cur().value !== "end") {
|
|
924
977
|
skipNL();
|
|
@@ -929,7 +982,7 @@ var AIDiagram = (function (exports) {
|
|
|
929
982
|
continue;
|
|
930
983
|
}
|
|
931
984
|
if (v === "diagram") {
|
|
932
|
-
|
|
985
|
+
lineTokens();
|
|
933
986
|
continue;
|
|
934
987
|
}
|
|
935
988
|
if (v === "end")
|
|
@@ -939,10 +992,7 @@ var AIDiagram = (function (exports) {
|
|
|
939
992
|
continue;
|
|
940
993
|
}
|
|
941
994
|
if (v === "layout") {
|
|
942
|
-
|
|
943
|
-
ast.layout = cur().value ?? "column";
|
|
944
|
-
skip();
|
|
945
|
-
continue;
|
|
995
|
+
throw new ParseError(`Root layout must be declared on the diagram line, e.g. diagram layout=absolute`, t.line, t.col);
|
|
946
996
|
}
|
|
947
997
|
if (v === "title") {
|
|
948
998
|
skip();
|
|
@@ -966,15 +1016,7 @@ var AIDiagram = (function (exports) {
|
|
|
966
1016
|
continue;
|
|
967
1017
|
}
|
|
968
1018
|
if (v === "config") {
|
|
969
|
-
|
|
970
|
-
const key = cur().value;
|
|
971
|
-
skip();
|
|
972
|
-
if (cur().type === "EQUALS")
|
|
973
|
-
skip();
|
|
974
|
-
const value = cur().value;
|
|
975
|
-
skip();
|
|
976
|
-
ast.config[key] = value;
|
|
977
|
-
continue;
|
|
1019
|
+
throw new ParseError(`Root config must be declared on the diagram line, e.g. diagram gap=40 margin=0 tts=true`, t.line, t.col);
|
|
978
1020
|
}
|
|
979
1021
|
if (v === "style") {
|
|
980
1022
|
skip();
|
|
@@ -3627,6 +3669,7 @@ var AIDiagram = (function (exports) {
|
|
|
3627
3669
|
title: ast.title,
|
|
3628
3670
|
description: ast.description,
|
|
3629
3671
|
layout: ast.layout,
|
|
3672
|
+
style: ast.style ?? {},
|
|
3630
3673
|
nodes,
|
|
3631
3674
|
edges,
|
|
3632
3675
|
groups,
|
|
@@ -3639,6 +3682,8 @@ var AIDiagram = (function (exports) {
|
|
|
3639
3682
|
rootOrder: ast.rootOrder ?? [],
|
|
3640
3683
|
width: 0,
|
|
3641
3684
|
height: 0,
|
|
3685
|
+
fixedWidth: ast.width,
|
|
3686
|
+
fixedHeight: ast.height,
|
|
3642
3687
|
};
|
|
3643
3688
|
}
|
|
3644
3689
|
// ── Helpers ───────────────────────────────────────────────
|
|
@@ -5215,8 +5260,10 @@ var AIDiagram = (function (exports) {
|
|
|
5215
5260
|
...sg.charts.map((c) => c.y + c.h),
|
|
5216
5261
|
...sg.markdowns.map((m) => m.y + m.h),
|
|
5217
5262
|
];
|
|
5218
|
-
|
|
5219
|
-
|
|
5263
|
+
const autoWidth = (allX.length ? Math.max(...allX) : 400) + margin;
|
|
5264
|
+
const autoHeight = (allY.length ? Math.max(...allY) : 300) + margin;
|
|
5265
|
+
sg.width = sg.fixedWidth ?? autoWidth;
|
|
5266
|
+
sg.height = sg.fixedHeight ?? autoHeight;
|
|
5220
5267
|
}
|
|
5221
5268
|
// ── Public entry point ────────────────────────────────────
|
|
5222
5269
|
function layout(sg) {
|
|
@@ -8252,7 +8299,7 @@ var AIDiagram = (function (exports) {
|
|
|
8252
8299
|
const palette = resolvePalette(themeName);
|
|
8253
8300
|
// ── Diagram-level font ──────────────────────────────────
|
|
8254
8301
|
const diagramFont = (() => {
|
|
8255
|
-
const raw = String(sg.config["font"] ?? "");
|
|
8302
|
+
const raw = String(sg.style?.font ?? sg.config["font"] ?? "");
|
|
8256
8303
|
if (raw) {
|
|
8257
8304
|
loadFont(raw);
|
|
8258
8305
|
return resolveFont(raw);
|
|
@@ -8282,8 +8329,22 @@ var AIDiagram = (function (exports) {
|
|
|
8282
8329
|
bgRect.setAttribute("y", "0");
|
|
8283
8330
|
bgRect.setAttribute("width", String(sg.width));
|
|
8284
8331
|
bgRect.setAttribute("height", String(sg.height));
|
|
8285
|
-
bgRect.setAttribute("fill", palette.background);
|
|
8332
|
+
bgRect.setAttribute("fill", String(sg.style?.fill ?? palette.background));
|
|
8286
8333
|
svg.appendChild(bgRect);
|
|
8334
|
+
const rootStroke = sg.style?.stroke;
|
|
8335
|
+
const rootStrokeWidth = Number(sg.style?.strokeWidth ?? 0);
|
|
8336
|
+
if (rootStroke && rootStroke !== "none" && rootStrokeWidth > 0) {
|
|
8337
|
+
const frame = se("rect");
|
|
8338
|
+
const inset = rootStrokeWidth / 2;
|
|
8339
|
+
frame.setAttribute("x", String(inset));
|
|
8340
|
+
frame.setAttribute("y", String(inset));
|
|
8341
|
+
frame.setAttribute("width", String(Math.max(0, sg.width - rootStrokeWidth)));
|
|
8342
|
+
frame.setAttribute("height", String(Math.max(0, sg.height - rootStrokeWidth)));
|
|
8343
|
+
frame.setAttribute("fill", "none");
|
|
8344
|
+
frame.setAttribute("stroke", String(rootStroke));
|
|
8345
|
+
frame.setAttribute("stroke-width", String(rootStrokeWidth));
|
|
8346
|
+
svg.appendChild(frame);
|
|
8347
|
+
}
|
|
8287
8348
|
}
|
|
8288
8349
|
const rc = rough.svg(svg);
|
|
8289
8350
|
// ── Title ────────────────────────────────────────────────
|
|
@@ -9011,7 +9072,7 @@ var AIDiagram = (function (exports) {
|
|
|
9011
9072
|
const palette = resolvePalette(themeName);
|
|
9012
9073
|
// ── Diagram-level font ───────────────────────────────────
|
|
9013
9074
|
const diagramFont = (() => {
|
|
9014
|
-
const raw = String(sg.config['font'] ?? '');
|
|
9075
|
+
const raw = String(sg.style?.font ?? sg.config['font'] ?? '');
|
|
9015
9076
|
if (raw) {
|
|
9016
9077
|
loadFont(raw);
|
|
9017
9078
|
return resolveFont(raw);
|
|
@@ -9020,8 +9081,18 @@ var AIDiagram = (function (exports) {
|
|
|
9020
9081
|
})();
|
|
9021
9082
|
// ── Background ───────────────────────────────────────────
|
|
9022
9083
|
if (!options.transparent) {
|
|
9023
|
-
ctx.fillStyle = options.background ?? palette.background;
|
|
9084
|
+
ctx.fillStyle = options.background ?? String(sg.style?.fill ?? palette.background);
|
|
9024
9085
|
ctx.fillRect(0, 0, sg.width, sg.height);
|
|
9086
|
+
const rootStroke = sg.style?.stroke;
|
|
9087
|
+
const rootStrokeWidth = Number(sg.style?.strokeWidth ?? 0);
|
|
9088
|
+
if (rootStroke && rootStroke !== 'none' && rootStrokeWidth > 0) {
|
|
9089
|
+
const inset = rootStrokeWidth / 2;
|
|
9090
|
+
ctx.save();
|
|
9091
|
+
ctx.strokeStyle = String(rootStroke);
|
|
9092
|
+
ctx.lineWidth = rootStrokeWidth;
|
|
9093
|
+
ctx.strokeRect(inset, inset, Math.max(0, sg.width - rootStrokeWidth), Math.max(0, sg.height - rootStrokeWidth));
|
|
9094
|
+
ctx.restore();
|
|
9095
|
+
}
|
|
9025
9096
|
}
|
|
9026
9097
|
else {
|
|
9027
9098
|
ctx.clearRect(0, 0, sg.width, sg.height);
|
|
@@ -10071,6 +10142,10 @@ var AIDiagram = (function (exports) {
|
|
|
10071
10142
|
if (!el.id.startsWith("group-")) {
|
|
10072
10143
|
const ids = new Set([el.id]);
|
|
10073
10144
|
this._relatedElementIdsByPrimaryId.get(el.id)?.forEach((id) => ids.add(id));
|
|
10145
|
+
this.svg.querySelectorAll(POSITIONABLE_SELECTOR).forEach((candidate) => {
|
|
10146
|
+
if (candidate.dataset.animationParent === target)
|
|
10147
|
+
ids.add(candidate.id);
|
|
10148
|
+
});
|
|
10074
10149
|
return Array.from(ids)
|
|
10075
10150
|
.map((id) => getEl(this.svg, id))
|
|
10076
10151
|
.filter((candidate) => candidate != null);
|
|
@@ -10271,6 +10346,7 @@ var AIDiagram = (function (exports) {
|
|
|
10271
10346
|
el.classList.remove("hl", "faded", "hidden");
|
|
10272
10347
|
el.style.opacity = el.style.filter = "";
|
|
10273
10348
|
if (this.drawTargetNodes.has(el.id)) {
|
|
10349
|
+
hideDrawEl(el);
|
|
10274
10350
|
prepareNodeForDraw(el);
|
|
10275
10351
|
}
|
|
10276
10352
|
else {
|
|
@@ -10769,6 +10845,15 @@ var AIDiagram = (function (exports) {
|
|
|
10769
10845
|
_doColor(target, color) {
|
|
10770
10846
|
if (!color)
|
|
10771
10847
|
return;
|
|
10848
|
+
const applyTextColor = (root) => {
|
|
10849
|
+
root.querySelectorAll("text").forEach((t) => {
|
|
10850
|
+
t.style.fill = color;
|
|
10851
|
+
const existingStyle = t.getAttribute("style") ?? "";
|
|
10852
|
+
const nextStyle = `${existingStyle.replace(/(?:^|;)\s*fill\s*:[^;]*/g, "").trim().replace(/;?$/, ";")}fill:${color};`;
|
|
10853
|
+
t.setAttribute("style", nextStyle);
|
|
10854
|
+
t.setAttribute("fill", color);
|
|
10855
|
+
});
|
|
10856
|
+
};
|
|
10772
10857
|
for (const el of this._resolveCascadeTargets(target)) {
|
|
10773
10858
|
if (parseEdgeTarget(target)) {
|
|
10774
10859
|
el.querySelectorAll("path, line, polyline").forEach((p) => {
|
|
@@ -10791,11 +10876,14 @@ var AIDiagram = (function (exports) {
|
|
|
10791
10876
|
hit = true;
|
|
10792
10877
|
});
|
|
10793
10878
|
if (!hit) {
|
|
10794
|
-
el
|
|
10795
|
-
t.style.fill = color;
|
|
10796
|
-
});
|
|
10879
|
+
applyTextColor(el);
|
|
10797
10880
|
}
|
|
10798
10881
|
}
|
|
10882
|
+
this.svg.querySelectorAll(`${POSITIONABLE_SELECTOR}[data-animation-parent]`).forEach((el) => {
|
|
10883
|
+
if (el.dataset.animationParent === target) {
|
|
10884
|
+
applyTextColor(el);
|
|
10885
|
+
}
|
|
10886
|
+
});
|
|
10799
10887
|
}
|
|
10800
10888
|
// ── narration ───────────────────────────────────────────
|
|
10801
10889
|
_initCaption() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sketchmark",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "A plain-text DSL for hand-drawn diagrams. Write boxes, edges, and groups as code — renders sketchy SVG/Canvas via rough.js with a built-in step-by-step animation system.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"diagram",
|