@pixerate/editor 0.163.0 → 0.165.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/agent/index.cjs +54 -39
- package/dist/agent/index.js +24 -9
- package/dist/animation/index.cjs +6 -5
- package/dist/animation/index.js +5 -4
- package/dist/animation-editor/index.cjs +65 -64
- package/dist/animation-editor/index.js +8 -7
- package/dist/bridge/cli.cjs +3 -3
- package/dist/bridge/cli.js +2 -2
- package/dist/bridge/index.cjs +3 -3
- package/dist/bridge/index.js +2 -2
- package/dist/canvas/displacement.d.cts +34 -2
- package/dist/canvas/displacement.d.ts +34 -2
- package/dist/canvas/explosion-tools.d.cts +43 -0
- package/dist/canvas/explosion-tools.d.ts +43 -0
- package/dist/canvas/explosionLayout.d.cts +50 -0
- package/dist/canvas/explosionLayout.d.ts +50 -0
- package/dist/canvas/explosionState.d.cts +52 -0
- package/dist/canvas/explosionState.d.ts +52 -0
- package/dist/canvas/index.cjs +512 -168
- package/dist/canvas/index.d.cts +3 -0
- package/dist/canvas/index.d.ts +3 -0
- package/dist/canvas/index.js +434 -90
- package/dist/canvas/types.d.cts +27 -2
- package/dist/canvas/types.d.ts +27 -2
- package/dist/chart/controller.d.cts +31 -2
- package/dist/chart/controller.d.ts +31 -2
- package/dist/chart/index.cjs +504 -132
- package/dist/chart/index.d.cts +2 -0
- package/dist/chart/index.d.ts +2 -0
- package/dist/chart/index.js +386 -14
- package/dist/chart/layout-families.d.cts +7 -0
- package/dist/chart/layout-families.d.ts +7 -0
- package/dist/chart/links.d.cts +34 -0
- package/dist/chart/links.d.ts +34 -0
- package/dist/chart/mermaid.d.cts +9 -6
- package/dist/chart/mermaid.d.ts +9 -6
- package/dist/chart/schemas.d.cts +3 -0
- package/dist/chart/schemas.d.ts +3 -0
- package/dist/chart/spec.d.cts +3 -2
- package/dist/chart/spec.d.ts +3 -2
- package/dist/chart/style.d.cts +33 -0
- package/dist/chart/style.d.ts +33 -0
- package/dist/chart/types.d.cts +24 -2
- package/dist/chart/types.d.ts +24 -2
- package/dist/{chunk-TALQONZ5.js → chunk-2J5VLJHC.js} +3 -3
- package/dist/{chunk-3NEZJCBY.js → chunk-2ZRN43IN.js} +340 -201
- package/dist/{chunk-ZVNAMTFO.cjs → chunk-3FSUJIXN.cjs} +18 -174
- package/dist/{chunk-RQCMSEM5.cjs → chunk-4QUUHTGJ.cjs} +2 -2
- package/dist/{chunk-CIPIESX4.cjs → chunk-4ZC5QJE2.cjs} +3 -3
- package/dist/{chunk-S6X2QRVU.cjs → chunk-5UEFBM2M.cjs} +1 -138
- package/dist/{chunk-YSAGBIRW.cjs → chunk-64VWWR5U.cjs} +16 -16
- package/dist/{chunk-QYZGBVNC.js → chunk-7272D3K2.js} +10 -8
- package/dist/{chunk-462WGGXX.cjs → chunk-AMX23CSN.cjs} +27 -16
- package/dist/{chunk-3VLOOO3G.js → chunk-BDIM6NVW.js} +1 -1
- package/dist/{chunk-POR54B55.js → chunk-CRFSQWKQ.js} +4 -1
- package/dist/{chunk-GZ2FM3ZB.js → chunk-DKNEQX7T.js} +6 -162
- package/dist/{chunk-JCXMJUQO.cjs → chunk-EGZM52EO.cjs} +3 -3
- package/dist/{chunk-ES3UEVUT.cjs → chunk-EUIDTZNQ.cjs} +112 -110
- package/dist/{chunk-H3OEM3Q2.js → chunk-F6R67I3A.js} +1 -1
- package/dist/{chunk-5FNGLV2D.js → chunk-FEU2XVQH.js} +15 -3
- package/dist/{chunk-SZA42R4N.js → chunk-FRBRLKNQ.js} +154 -16
- package/dist/chunk-HIDFL5LQ.js +484 -0
- package/dist/{chunk-MKTDELCD.js → chunk-I5MRJW7B.js} +1 -1
- package/dist/{chunk-SDHZG5TF.js → chunk-ILP77UD6.js} +160 -2
- package/dist/{chunk-GKNEJ6EN.cjs → chunk-IMRXC7OA.cjs} +241 -103
- package/dist/chunk-KGRZMHZB.js +204 -0
- package/dist/{chunk-SET6KJOP.js → chunk-LPIKXPBM.js} +1 -1
- package/dist/{chunk-BQWGN5WH.js → chunk-M2TPMYJE.js} +1 -1
- package/dist/{chunk-GTELFJRE.cjs → chunk-M5GLQQWG.cjs} +2 -2
- package/dist/{chunk-4VU4CP7R.js → chunk-MHLU6GRJ.js} +1 -138
- package/dist/{chunk-D54JHQK2.cjs → chunk-MKXK6E4O.cjs} +51 -51
- package/dist/{chunk-DAPQGA55.js → chunk-N7NBGT2Y.js} +2 -2
- package/dist/chunk-O6OGNDND.js +164 -0
- package/dist/{chunk-22KLZZGH.cjs → chunk-ODFCS7HF.cjs} +8 -8
- package/dist/{chunk-PA3IMPPS.cjs → chunk-OVYQAYGH.cjs} +81 -81
- package/dist/{chunk-YXOW456B.js → chunk-PPEDZ5WR.js} +1 -1
- package/dist/{chunk-YGG7WDWT.cjs → chunk-Q25WAFTD.cjs} +21 -18
- package/dist/{chunk-SBQVEBSU.cjs → chunk-QO2T6KA5.cjs} +165 -67
- package/dist/{chunk-24M7VD6M.cjs → chunk-S4EIAIEW.cjs} +7 -7
- package/dist/{chunk-M4MIZPQI.cjs → chunk-SJ2CPTQC.cjs} +189 -15
- package/dist/chunk-TFF2GTGN.cjs +153 -0
- package/dist/chunk-TTCJPX4U.cjs +204 -0
- package/dist/{chunk-NZD2MZJC.cjs → chunk-TVQW26AV.cjs} +35 -23
- package/dist/{chunk-R3P2M7HU.cjs → chunk-UVXTOZ2B.cjs} +346 -207
- package/dist/{chunk-WI7QJA7A.cjs → chunk-UXETV2NC.cjs} +161 -3
- package/dist/{chunk-Z4P2RBMJ.js → chunk-V5GSY3NC.js} +101 -3
- package/dist/{chunk-QY4KUDMY.js → chunk-VRXXAXUT.js} +2 -2
- package/dist/chunk-VU6WQSMB.cjs +164 -0
- package/dist/{chunk-OXERWBKE.js → chunk-X5W645RI.js} +3 -3
- package/dist/{chunk-NHLYK3AX.js → chunk-XBQX76CT.js} +182 -8
- package/dist/{chunk-5AARIS3R.cjs → chunk-XCDGM7TD.cjs} +37 -37
- package/dist/{chunk-EVXQNQND.js → chunk-XZB3TJ6K.js} +16 -5
- package/dist/chunk-YBAPT7NL.js +153 -0
- package/dist/chunk-Z2UQYMPS.cjs +484 -0
- package/dist/color/index.cjs +5 -3
- package/dist/color/index.js +12 -10
- package/dist/diagram/index.cjs +55 -243
- package/dist/diagram/index.js +12 -200
- package/dist/export/index.cjs +7 -6
- package/dist/export/index.js +6 -5
- package/dist/extensions/index.cjs +12 -9
- package/dist/extensions/index.js +11 -8
- package/dist/gradient/index.cjs +29 -27
- package/dist/gradient/index.js +6 -4
- package/dist/image-editor/index.cjs +644 -643
- package/dist/image-editor/index.js +7 -6
- package/dist/index.cjs +21 -18
- package/dist/index.js +14 -11
- package/dist/paint-editor/index.cjs +19 -18
- package/dist/paint-editor/index.js +7 -6
- package/dist/parameters/index.cjs +2 -2
- package/dist/parameters/index.js +1 -1
- package/dist/persistence/assetWrites.d.cts +22 -0
- package/dist/persistence/assetWrites.d.ts +22 -0
- package/dist/persistence/assets.d.cts +71 -0
- package/dist/persistence/assets.d.ts +71 -0
- package/dist/persistence/documentStore.d.cts +17 -1
- package/dist/persistence/documentStore.d.ts +17 -1
- package/dist/persistence/documentTools.d.cts +5 -1
- package/dist/persistence/documentTools.d.ts +5 -1
- package/dist/persistence/editorAutosave.d.cts +7 -0
- package/dist/persistence/editorAutosave.d.ts +7 -0
- package/dist/persistence/index.cjs +141 -21
- package/dist/persistence/index.js +130 -10
- package/dist/persistence/storage.d.cts +13 -1
- package/dist/persistence/storage.d.ts +13 -1
- package/dist/spreadsheet/index.cjs +3 -3
- package/dist/spreadsheet/index.js +2 -2
- package/dist/tokens/index.cjs +11 -3
- package/dist/tokens/index.d.cts +1 -0
- package/dist/tokens/index.d.ts +1 -0
- package/dist/tokens/index.js +10 -2
- package/dist/tokens/style.d.cts +36 -0
- package/dist/tokens/style.d.ts +36 -0
- package/dist/tools/index.cjs +15 -3
- package/dist/tools/index.d.cts +2 -0
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.js +14 -2
- package/dist/tools/style-tools.d.cts +19 -0
- package/dist/tools/style-tools.d.ts +19 -0
- package/dist/tools/style.d.cts +212 -0
- package/dist/tools/style.d.ts +212 -0
- package/dist/tools/view.d.cts +6 -0
- package/dist/tools/view.d.ts +6 -0
- package/dist/typography/index.cjs +8 -6
- package/dist/typography/index.js +5 -3
- package/dist/vector/index.cjs +953 -952
- package/dist/vector/index.js +7 -6
- package/dist/video-editor/index.cjs +8 -7
- package/dist/video-editor/index.js +6 -5
- package/package.json +1 -1
- package/skills/README.md +12 -0
- package/skills/pixerate-agent-tools/SKILL.md +34 -1
- package/skills/pixerate-chart/SKILL.md +41 -9
- package/skills/pixerate-image-editor/SKILL.md +2 -0
- package/skills/pixerate-paint-editor/SKILL.md +2 -0
- package/skills/pixerate-tokens/SKILL.md +5 -0
- package/dist/chunk-ERAGQL2N.cjs +0 -68
- package/dist/chunk-KMU6QJB7.js +0 -68
package/dist/canvas/index.cjs
CHANGED
|
@@ -53,14 +53,14 @@ var _chunkYAWLMF3Ocjs = require('../chunk-YAWLMF3O.cjs');
|
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
|
|
56
|
-
var
|
|
56
|
+
var _chunk3FSUJIXNcjs = require('../chunk-3FSUJIXN.cjs');
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
|
|
63
|
-
var
|
|
63
|
+
var _chunkUXETV2NCcjs = require('../chunk-UXETV2NC.cjs');
|
|
64
64
|
|
|
65
65
|
|
|
66
66
|
|
|
@@ -113,10 +113,11 @@ var _chunkPY4GWSE2cjs = require('../chunk-PY4GWSE2.cjs');
|
|
|
113
113
|
var _chunkN2FGYZ4Qcjs = require('../chunk-N2FGYZ4Q.cjs');
|
|
114
114
|
|
|
115
115
|
|
|
116
|
-
var
|
|
116
|
+
var _chunkQO2T6KA5cjs = require('../chunk-QO2T6KA5.cjs');
|
|
117
117
|
|
|
118
118
|
|
|
119
|
-
var
|
|
119
|
+
var _chunkUVXTOZ2Bcjs = require('../chunk-UVXTOZ2B.cjs');
|
|
120
|
+
require('../chunk-VU6WQSMB.cjs');
|
|
120
121
|
require('../chunk-55AKPTLM.cjs');
|
|
121
122
|
|
|
122
123
|
|
|
@@ -215,7 +216,7 @@ require('../chunk-WOFXZ3XU.cjs');
|
|
|
215
216
|
var _chunkYQGCPL5Xcjs = require('../chunk-YQGCPL5X.cjs');
|
|
216
217
|
|
|
217
218
|
|
|
218
|
-
var
|
|
219
|
+
var _chunkSJ2CPTQCcjs = require('../chunk-SJ2CPTQC.cjs');
|
|
219
220
|
require('../chunk-2BSBFBOA.cjs');
|
|
220
221
|
|
|
221
222
|
|
|
@@ -229,7 +230,7 @@ require('../chunk-2BSBFBOA.cjs');
|
|
|
229
230
|
|
|
230
231
|
|
|
231
232
|
|
|
232
|
-
var
|
|
233
|
+
var _chunkM5GLQQWGcjs = require('../chunk-M5GLQQWG.cjs');
|
|
233
234
|
|
|
234
235
|
|
|
235
236
|
|
|
@@ -254,12 +255,13 @@ var _chunkDWJJI6RTcjs = require('../chunk-DWJJI6RT.cjs');
|
|
|
254
255
|
|
|
255
256
|
|
|
256
257
|
|
|
257
|
-
var
|
|
258
|
+
var _chunk4ZC5QJE2cjs = require('../chunk-4ZC5QJE2.cjs');
|
|
258
259
|
|
|
259
260
|
|
|
260
261
|
var _chunkA6QWKBJPcjs = require('../chunk-A6QWKBJP.cjs');
|
|
261
|
-
require('../chunk-
|
|
262
|
-
require('../chunk-
|
|
262
|
+
require('../chunk-EUIDTZNQ.cjs');
|
|
263
|
+
require('../chunk-TFF2GTGN.cjs');
|
|
264
|
+
require('../chunk-5UEFBM2M.cjs');
|
|
263
265
|
require('../chunk-IPJ3TEYR.cjs');
|
|
264
266
|
|
|
265
267
|
// src/canvas/trajectory.ts
|
|
@@ -342,7 +344,7 @@ function runMultiNodeTransition(transitions, options = {}) {
|
|
|
342
344
|
const {
|
|
343
345
|
defaultDuration = 400,
|
|
344
346
|
defaultEasing: easingFunc = defaultEasing,
|
|
345
|
-
clock =
|
|
347
|
+
clock = _chunkM5GLQQWGcjs.realClock,
|
|
346
348
|
styleFormat = "string",
|
|
347
349
|
onUpdate,
|
|
348
350
|
onComplete
|
|
@@ -428,109 +430,162 @@ function computeNodesBoundingBox(nodes, defaultWidth = 200, defaultHeight = 60)
|
|
|
428
430
|
height: maxY - minY
|
|
429
431
|
};
|
|
430
432
|
}
|
|
433
|
+
function nodeSizeOf(node, defaultWidth = 200, defaultHeight = 60) {
|
|
434
|
+
return {
|
|
435
|
+
width: _nullishCoalesce(_nullishCoalesce(_optionalChain([node, 'access', _10 => _10.measured, 'optionalAccess', _11 => _11.width]), () => ( node.width)), () => ( defaultWidth)),
|
|
436
|
+
height: _nullishCoalesce(_nullishCoalesce(_optionalChain([node, 'access', _12 => _12.measured, 'optionalAccess', _13 => _13.height]), () => ( node.height)), () => ( defaultHeight))
|
|
437
|
+
};
|
|
438
|
+
}
|
|
431
439
|
function calculateDirectionalDisplacement(params) {
|
|
432
|
-
const {
|
|
433
|
-
existingNodes,
|
|
434
|
-
originNode,
|
|
435
|
-
childNodes,
|
|
436
|
-
getNodesBounds,
|
|
437
|
-
options = {}
|
|
438
|
-
} = params;
|
|
440
|
+
const { existingNodes, originNode, childNodes, getNodesBounds, options = {} } = params;
|
|
439
441
|
const {
|
|
440
442
|
direction = "right",
|
|
441
443
|
gap = 40,
|
|
442
444
|
spreadSiblingLanes = false,
|
|
443
445
|
siblingTolerance = 50,
|
|
444
|
-
minY
|
|
446
|
+
minY,
|
|
447
|
+
maxY,
|
|
448
|
+
layoutMode = "freeform",
|
|
449
|
+
rowSpacing
|
|
445
450
|
} = options;
|
|
451
|
+
const finite2 = (name, value) => {
|
|
452
|
+
if (value !== void 0 && !Number.isFinite(value)) {
|
|
453
|
+
throw new RangeError(`${name} must be a finite number (got ${value}).`);
|
|
454
|
+
}
|
|
455
|
+
};
|
|
456
|
+
finite2("gap", gap);
|
|
457
|
+
finite2("minY", minY);
|
|
458
|
+
finite2("maxY", maxY);
|
|
459
|
+
finite2("rowSpacing", rowSpacing);
|
|
460
|
+
if (rowSpacing !== void 0 && rowSpacing <= 0) {
|
|
461
|
+
throw new RangeError(`rowSpacing must be greater than 0 (got ${rowSpacing}).`);
|
|
462
|
+
}
|
|
463
|
+
if (minY !== void 0 && maxY !== void 0 && minY > maxY) {
|
|
464
|
+
throw new RangeError(`minY (${minY}) must not be greater than maxY (${maxY}).`);
|
|
465
|
+
}
|
|
446
466
|
const displacedMap = /* @__PURE__ */ new Map();
|
|
447
467
|
if (childNodes.length === 0 || existingNodes.length === 0) {
|
|
448
468
|
return displacedMap;
|
|
449
469
|
}
|
|
450
470
|
const childBounds = getNodesBounds ? getNodesBounds(childNodes) : computeNodesBoundingBox(childNodes);
|
|
451
|
-
const
|
|
452
|
-
const
|
|
453
|
-
const
|
|
471
|
+
const { width: originWidth, height: originHeight } = nodeSizeOf(originNode);
|
|
472
|
+
const rowLane = layoutMode === "row-lane";
|
|
473
|
+
const lane = _nullishCoalesce(rowSpacing, () => ( originHeight));
|
|
474
|
+
const quantize = (delta) => rowLane && delta > 0 && lane > 0 ? Math.ceil(delta / lane) * lane : delta;
|
|
475
|
+
const laneOf = (node) => lane > 0 ? Math.round((node.position.y - originNode.position.y) / lane) : 0;
|
|
476
|
+
const isAbove = (node) => rowLane ? laneOf(node) < 0 : node.position.y < originNode.position.y;
|
|
477
|
+
const isBelow = (node) => rowLane ? laneOf(node) > 0 : node.position.y >= originNode.position.y + originHeight * 0.5;
|
|
478
|
+
const horizontal = direction === "right" || direction === "left";
|
|
479
|
+
const deltaPrimary = horizontal ? childBounds.width + gap : quantize(childBounds.height + gap);
|
|
454
480
|
const deltaUp = Math.max(0, originNode.position.y - childBounds.y + gap);
|
|
455
|
-
const deltaDown = Math.max(
|
|
456
|
-
|
|
457
|
-
childBounds.y + childBounds.height - (originNode.position.y + originHeight) + gap
|
|
458
|
-
);
|
|
459
|
-
const equalDelta = Math.max(deltaUp, deltaDown);
|
|
481
|
+
const deltaDown = Math.max(0, childBounds.y + childBounds.height - (originNode.position.y + originHeight) + gap);
|
|
482
|
+
const equalDelta = quantize(Math.max(deltaUp, deltaDown));
|
|
460
483
|
for (const node of existingNodes) {
|
|
461
484
|
if (node.id === originNode.id) continue;
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
case "left": {
|
|
474
|
-
if (node.position.x < originNode.position.x) {
|
|
475
|
-
displacedMap.set(node.id, {
|
|
476
|
-
x: node.position.x - deltaPrimary,
|
|
477
|
-
y: node.position.y
|
|
478
|
-
});
|
|
479
|
-
}
|
|
480
|
-
break;
|
|
481
|
-
}
|
|
482
|
-
case "down": {
|
|
483
|
-
if (node.position.y > originNode.position.y) {
|
|
484
|
-
displacedMap.set(node.id, {
|
|
485
|
-
x: node.position.x,
|
|
486
|
-
y: node.position.y + deltaPrimary
|
|
487
|
-
});
|
|
485
|
+
let newX = node.position.x;
|
|
486
|
+
let newY = node.position.y;
|
|
487
|
+
if (direction === "right") {
|
|
488
|
+
if (node.position.x >= originNode.position.x + originWidth * 0.5) {
|
|
489
|
+
newX += deltaPrimary;
|
|
490
|
+
} else if (spreadSiblingLanes) {
|
|
491
|
+
const { height } = nodeSizeOf(node);
|
|
492
|
+
const overlapsCluster = node.position.y + height >= childBounds.y - gap && node.position.y <= childBounds.y + childBounds.height + gap;
|
|
493
|
+
if (overlapsCluster && Math.abs(node.position.x - originNode.position.x) <= siblingTolerance) {
|
|
494
|
+
const push2 = node.position.y >= originNode.position.y ? 1 : -1;
|
|
495
|
+
newY += push2 * (childBounds.height * 0.5 + gap);
|
|
488
496
|
}
|
|
489
|
-
break;
|
|
490
497
|
}
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
498
|
+
} else if (direction === "left") {
|
|
499
|
+
if (node.position.x < originNode.position.x) newX -= deltaPrimary;
|
|
500
|
+
} else if (direction === "down") {
|
|
501
|
+
if (isBelow(node)) newY += deltaPrimary;
|
|
502
|
+
} else if (direction === "up") {
|
|
503
|
+
if (isAbove(node)) newY -= deltaPrimary;
|
|
504
|
+
} else if (direction === "vertical") {
|
|
505
|
+
if (isAbove(node)) newY -= equalDelta;
|
|
506
|
+
else if (isBelow(node)) newY += equalDelta;
|
|
507
|
+
}
|
|
508
|
+
if (newX !== node.position.x || newY !== node.position.y) {
|
|
509
|
+
displacedMap.set(node.id, { x: newX, y: newY });
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
if (minY !== void 0 || maxY !== void 0) {
|
|
513
|
+
const byId = new Map(existingNodes.map((n3) => [n3.id, n3]));
|
|
514
|
+
const rowsOf = (moved2) => {
|
|
515
|
+
const rows = /* @__PURE__ */ new Map();
|
|
516
|
+
for (const node of moved2) {
|
|
517
|
+
const key = rowLane ? laneOf(node) : node.position.y;
|
|
518
|
+
rows.set(key, [..._nullishCoalesce(rows.get(key), () => ( [])), node]);
|
|
499
519
|
}
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
520
|
+
return [...rows.entries()].sort((a, b) => a[0] - b[0]).map(([, nodes]) => nodes);
|
|
521
|
+
};
|
|
522
|
+
const spacingFor = (nodes) => _nullishCoalesce(rowSpacing, () => ( Math.max(...nodes.map((n3) => nodeSizeOf(n3).height))));
|
|
523
|
+
const moved = (sign) => [...displacedMap.entries()].filter(([id, pos]) => Math.sign(pos.y - byId.get(id).position.y) === sign).map(([id]) => byId.get(id));
|
|
524
|
+
if (minY !== void 0) {
|
|
525
|
+
const up = moved(-1);
|
|
526
|
+
if (up.length > 0) {
|
|
527
|
+
const spacing = spacingFor(up);
|
|
528
|
+
rowsOf(up).forEach((row, index) => {
|
|
529
|
+
const floor = minY + index * spacing;
|
|
530
|
+
for (const node of row) {
|
|
531
|
+
const pos = displacedMap.get(node.id);
|
|
532
|
+
displacedMap.set(node.id, { x: pos.x, y: Math.min(node.position.y, Math.max(floor, pos.y)) });
|
|
533
|
+
}
|
|
534
|
+
});
|
|
514
535
|
}
|
|
515
536
|
}
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
537
|
+
if (maxY !== void 0) {
|
|
538
|
+
const down = moved(1);
|
|
539
|
+
if (down.length > 0) {
|
|
540
|
+
const spacing = spacingFor(down);
|
|
541
|
+
rowsOf(down).reverse().forEach((row, index) => {
|
|
542
|
+
for (const node of row) {
|
|
543
|
+
const pos = displacedMap.get(node.id);
|
|
544
|
+
const ceiling = maxY - index * spacing - nodeSizeOf(node).height;
|
|
545
|
+
displacedMap.set(node.id, { x: pos.x, y: Math.max(node.position.y, Math.min(ceiling, pos.y)) });
|
|
546
|
+
}
|
|
525
547
|
});
|
|
526
548
|
}
|
|
527
549
|
}
|
|
550
|
+
for (const [id, pos] of [...displacedMap.entries()]) {
|
|
551
|
+
const node = byId.get(id);
|
|
552
|
+
if (pos.x === node.position.x && pos.y === node.position.y) displacedMap.delete(id);
|
|
553
|
+
}
|
|
528
554
|
}
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
555
|
+
return displacedMap;
|
|
556
|
+
}
|
|
557
|
+
function calculateReflowDisplacement(params) {
|
|
558
|
+
const { existingNodes, existingEdges, originNode, childNodes, childEdges = [], options = {} } = params;
|
|
559
|
+
const { direction = "LR", ranksep = 80, nodesep = 30, defaultNodeWidth = 200, defaultNodeHeight = 60 } = options;
|
|
560
|
+
const displacedMap = /* @__PURE__ */ new Map();
|
|
561
|
+
if (existingNodes.length === 0) return displacedMap;
|
|
562
|
+
const allNodes = [...existingNodes, ...childNodes];
|
|
563
|
+
const allEdges = [...existingEdges, ...childEdges];
|
|
564
|
+
const g = new _dagre2.default.graphlib.Graph();
|
|
565
|
+
g.setDefaultEdgeLabel(() => ({}));
|
|
566
|
+
g.setGraph({ rankdir: direction, ranksep, nodesep });
|
|
567
|
+
const allNodeIds = new Set(allNodes.map((n3) => n3.id));
|
|
568
|
+
for (const node of allNodes) {
|
|
569
|
+
g.setNode(node.id, nodeSizeOf(node, defaultNodeWidth, defaultNodeHeight));
|
|
570
|
+
}
|
|
571
|
+
for (const edge of allEdges) {
|
|
572
|
+
if (allNodeIds.has(edge.source) && allNodeIds.has(edge.target)) g.setEdge(edge.source, edge.target);
|
|
573
|
+
}
|
|
574
|
+
_dagre2.default.layout(g);
|
|
575
|
+
const dagreOrigin = g.node(originNode.id);
|
|
576
|
+
if (!dagreOrigin) return displacedMap;
|
|
577
|
+
const origin = nodeSizeOf(originNode, defaultNodeWidth, defaultNodeHeight);
|
|
578
|
+
const anchorOffsetX = originNode.position.x - (dagreOrigin.x - origin.width / 2);
|
|
579
|
+
const anchorOffsetY = originNode.position.y - (dagreOrigin.y - origin.height / 2);
|
|
580
|
+
for (const node of existingNodes) {
|
|
581
|
+
if (node.id === originNode.id) continue;
|
|
582
|
+
const laidOut = g.node(node.id);
|
|
583
|
+
if (!laidOut) continue;
|
|
584
|
+
const { width, height } = nodeSizeOf(node, defaultNodeWidth, defaultNodeHeight);
|
|
585
|
+
const targetX = laidOut.x - width / 2 + anchorOffsetX;
|
|
586
|
+
const targetY = laidOut.y - height / 2 + anchorOffsetY;
|
|
587
|
+
if (Math.abs(targetX - node.position.x) > 0.5 || Math.abs(targetY - node.position.y) > 0.5) {
|
|
588
|
+
displacedMap.set(node.id, { x: targetX, y: targetY });
|
|
534
589
|
}
|
|
535
590
|
}
|
|
536
591
|
return displacedMap;
|
|
@@ -778,7 +833,7 @@ var StreamingLayoutManager = (_class = class {
|
|
|
778
833
|
this.throttleMs = _nullishCoalesce(options.throttleMs, () => ( 200));
|
|
779
834
|
this.glideDurationMs = _nullishCoalesce(options.glideDurationMs, () => ( 300));
|
|
780
835
|
this.connectedOnly = _nullishCoalesce(options.connectedOnly, () => ( false));
|
|
781
|
-
this.clock = _nullishCoalesce(options.clock, () => (
|
|
836
|
+
this.clock = _nullishCoalesce(options.clock, () => ( _chunkM5GLQQWGcjs.realClock));
|
|
782
837
|
this.layoutOptions = _nullishCoalesce(options.layoutOptions, () => ( { direction: "LR" }));
|
|
783
838
|
this.onLayoutUpdated = options.onLayoutUpdated;
|
|
784
839
|
}
|
|
@@ -4050,7 +4105,7 @@ function getTokenPropertyScope(property, node) {
|
|
|
4050
4105
|
}
|
|
4051
4106
|
function getTokensForProperty(state, property, node) {
|
|
4052
4107
|
const scope = getTokenPropertyScope(property, node);
|
|
4053
|
-
return state.variables.filter((v) => v.type === property.type &&
|
|
4108
|
+
return state.variables.filter((v) => v.type === property.type && _chunkUXETV2NCcjs.isTokenInScope.call(void 0, v, scope));
|
|
4054
4109
|
}
|
|
4055
4110
|
function lookupOf(nodes) {
|
|
4056
4111
|
return new Map(nodes.map((n3) => [n3.id, n3]));
|
|
@@ -4058,7 +4113,7 @@ function lookupOf(nodes) {
|
|
|
4058
4113
|
function validModes(state, modes, into) {
|
|
4059
4114
|
for (const [collectionId, modeId] of Object.entries(modes)) {
|
|
4060
4115
|
if (state) {
|
|
4061
|
-
const collection =
|
|
4116
|
+
const collection = _chunkUXETV2NCcjs.getTokenCollection.call(void 0, state, collectionId);
|
|
4062
4117
|
if (!collection || !collection.modes.some((m) => m.id === modeId)) continue;
|
|
4063
4118
|
}
|
|
4064
4119
|
into[collectionId] = modeId;
|
|
@@ -4113,7 +4168,7 @@ function applyBindings(node, state, modes, options, only) {
|
|
|
4113
4168
|
if (only && !only.has(variableId)) continue;
|
|
4114
4169
|
const property = getCanvasTokenProperty(key, options);
|
|
4115
4170
|
if (!property || !property.appliesTo(next)) continue;
|
|
4116
|
-
const resolved =
|
|
4171
|
+
const resolved = _chunkUXETV2NCcjs.resolveToken.call(void 0, state, variableId, modes);
|
|
4117
4172
|
if (!resolved.ok || resolved.type !== property.type) continue;
|
|
4118
4173
|
next = property.write(next, resolved.value);
|
|
4119
4174
|
}
|
|
@@ -4136,7 +4191,7 @@ function inspectNodeTokens(node, nodes, state, options = {}) {
|
|
|
4136
4191
|
for (const [key, variableId] of Object.entries(getNodeTokenBindings(node))) {
|
|
4137
4192
|
const property = getCanvasTokenProperty(key, options);
|
|
4138
4193
|
if (!property) continue;
|
|
4139
|
-
out.push({ property, variableId, variable:
|
|
4194
|
+
out.push({ property, variableId, variable: _chunkUXETV2NCcjs.getTokenVariable.call(void 0, state, variableId), resolution: _chunkUXETV2NCcjs.resolveToken.call(void 0, state, variableId, modes) });
|
|
4140
4195
|
}
|
|
4141
4196
|
return out;
|
|
4142
4197
|
}
|
|
@@ -4148,12 +4203,12 @@ function setDataRecord(node, key, record) {
|
|
|
4148
4203
|
}
|
|
4149
4204
|
function bindCanvasToken(nodes, ids, propertyKey, variableId, state, options = {}) {
|
|
4150
4205
|
const property = getCanvasTokenProperty(propertyKey, options);
|
|
4151
|
-
if (!property) throw new (0,
|
|
4206
|
+
if (!property) throw new (0, _chunkUXETV2NCcjs.TokenError)("not-found", `No bindable property \`${propertyKey}\``);
|
|
4152
4207
|
if (variableId !== null) {
|
|
4153
|
-
const variable =
|
|
4154
|
-
if (!variable) throw new (0,
|
|
4208
|
+
const variable = _chunkUXETV2NCcjs.getTokenVariable.call(void 0, state, variableId);
|
|
4209
|
+
if (!variable) throw new (0, _chunkUXETV2NCcjs.TokenError)("not-found", `No variable \`${variableId}\``);
|
|
4155
4210
|
if (variable.type !== property.type) {
|
|
4156
|
-
throw new (0,
|
|
4211
|
+
throw new (0, _chunkUXETV2NCcjs.TokenError)("type-mismatch", `${property.label} takes a ${property.type} variable; \`${variable.name}\` is a ${variable.type}`);
|
|
4157
4212
|
}
|
|
4158
4213
|
}
|
|
4159
4214
|
const targets = new Set(ids);
|
|
@@ -4175,9 +4230,9 @@ function bindCanvasToken(nodes, ids, propertyKey, variableId, state, options = {
|
|
|
4175
4230
|
}
|
|
4176
4231
|
function setCanvasTokenMode(nodes, ids, collectionId, modeId, state, options = {}) {
|
|
4177
4232
|
if (modeId !== null) {
|
|
4178
|
-
const collection =
|
|
4179
|
-
if (!collection) throw new (0,
|
|
4180
|
-
if (!collection.modes.some((m) => m.id === modeId)) throw new (0,
|
|
4233
|
+
const collection = _chunkUXETV2NCcjs.getTokenCollection.call(void 0, state, collectionId);
|
|
4234
|
+
if (!collection) throw new (0, _chunkUXETV2NCcjs.TokenError)("not-found", `No collection \`${collectionId}\``);
|
|
4235
|
+
if (!collection.modes.some((m) => m.id === modeId)) throw new (0, _chunkUXETV2NCcjs.TokenError)("not-found", `No mode \`${modeId}\` in \`${collection.name}\``);
|
|
4181
4236
|
}
|
|
4182
4237
|
const targets = new Set(ids);
|
|
4183
4238
|
let changed = false;
|
|
@@ -4198,7 +4253,7 @@ function setCanvasTokenMode(nodes, ids, collectionId, modeId, state, options = {
|
|
|
4198
4253
|
}
|
|
4199
4254
|
function detachTokenBindings(nodes, state, variableIds, options = {}) {
|
|
4200
4255
|
const only = variableIds ? new Set(variableIds) : null;
|
|
4201
|
-
const isDetached = (id) => only ? only.has(id) : !
|
|
4256
|
+
const isDetached = (id) => only ? only.has(id) : !_chunkUXETV2NCcjs.getTokenVariable.call(void 0, state, id);
|
|
4202
4257
|
const { modesOf } = modesResolver(nodes, state, options);
|
|
4203
4258
|
let changed = false;
|
|
4204
4259
|
const out = nodes.map((node) => {
|
|
@@ -4376,7 +4431,7 @@ function getNodeAnimation(node) {
|
|
|
4376
4431
|
}
|
|
4377
4432
|
function getAnimationTrack(node, property) {
|
|
4378
4433
|
const track = _optionalChain([getNodeAnimation, 'call', _178 => _178(node), 'optionalAccess', _179 => _179.tracks, 'access', _180 => _180[property]]);
|
|
4379
|
-
return track && Array.isArray(track.keyframes) &&
|
|
4434
|
+
return track && Array.isArray(track.keyframes) && _chunkM5GLQQWGcjs.normalizeKeyframes.call(void 0, track.keyframes).length > 0 ? track : void 0;
|
|
4380
4435
|
}
|
|
4381
4436
|
function isNodeAnimated(node) {
|
|
4382
4437
|
const animation = getNodeAnimation(node);
|
|
@@ -4413,7 +4468,7 @@ function getAnimationDuration(doc) {
|
|
|
4413
4468
|
if (!animation) continue;
|
|
4414
4469
|
for (const track of Object.values(animation.tracks)) {
|
|
4415
4470
|
if (!track || track.enabled === false) continue;
|
|
4416
|
-
const keys =
|
|
4471
|
+
const keys = _chunkM5GLQQWGcjs.normalizeKeyframes.call(void 0, track.keyframes);
|
|
4417
4472
|
if (keys.length > 0) end = Math.max(end, keys[keys.length - 1].time);
|
|
4418
4473
|
}
|
|
4419
4474
|
}
|
|
@@ -4430,7 +4485,7 @@ function evaluateAnimation(doc, time, options = {}) {
|
|
|
4430
4485
|
for (const [key, track] of Object.entries(animation.tracks)) {
|
|
4431
4486
|
if (!track || track.enabled === false) continue;
|
|
4432
4487
|
const property = (_nullishCoalesce(options.properties, () => ( ANIMATABLE_PROPERTIES))).find((p) => p.key === key);
|
|
4433
|
-
const value =
|
|
4488
|
+
const value = _chunkM5GLQQWGcjs.evaluateTrack.call(void 0, track, time, _nullishCoalesce(_optionalChain([property, 'optionalAccess', _182 => _182.type]), () => ( "number")));
|
|
4434
4489
|
if (value === void 0) continue;
|
|
4435
4490
|
(values ??= {})[key] = clampAnimationValue(property, value);
|
|
4436
4491
|
}
|
|
@@ -4468,7 +4523,7 @@ var AnimationEditError = class extends Error {
|
|
|
4468
4523
|
}
|
|
4469
4524
|
};
|
|
4470
4525
|
var MAX_KEYFRAME_REFS = 4096;
|
|
4471
|
-
var sameTime = (a, b) => Math.abs(a - b) <=
|
|
4526
|
+
var sameTime = (a, b) => Math.abs(a - b) <= _chunkM5GLQQWGcjs.ANIMATION_TIME_EPSILON;
|
|
4472
4527
|
var refKey = (r) => `${r.nodeId}\0${r.property}`;
|
|
4473
4528
|
function snapTimeToFrame(time, fps) {
|
|
4474
4529
|
if (!(fps > 0)) return time;
|
|
@@ -4522,7 +4577,7 @@ var Draft = (_class4 = class {
|
|
|
4522
4577
|
const current = getNodeAnimation(this.node(id));
|
|
4523
4578
|
const tracks = {};
|
|
4524
4579
|
for (const [key, track] of Object.entries(_nullishCoalesce(_optionalChain([current, 'optionalAccess', _184 => _184.tracks]), () => ( {})))) {
|
|
4525
|
-
if (track) tracks[key] = { ...track, keyframes:
|
|
4580
|
+
if (track) tracks[key] = { ...track, keyframes: _chunkM5GLQQWGcjs.normalizeKeyframes.call(void 0, track.keyframes) };
|
|
4526
4581
|
}
|
|
4527
4582
|
animation = { ..._nullishCoalesce(current, () => ( {})), tracks };
|
|
4528
4583
|
this.animations.set(id, animation);
|
|
@@ -4592,7 +4647,7 @@ function readAnimatableValue(node, property) {
|
|
|
4592
4647
|
function getAnimatedValue(node, propertyKey, time, options = {}) {
|
|
4593
4648
|
const property = getAnimatableProperty(propertyKey, options);
|
|
4594
4649
|
const track = getAnimationTrack(node, propertyKey);
|
|
4595
|
-
if (track && track.enabled !== false) return
|
|
4650
|
+
if (track && track.enabled !== false) return _chunkM5GLQQWGcjs.evaluateTrack.call(void 0, track, time, _nullishCoalesce(_optionalChain([property, 'optionalAccess', _190 => _190.type]), () => ( "number")));
|
|
4596
4651
|
return property ? readAnimatableValue(node, property) : void 0;
|
|
4597
4652
|
}
|
|
4598
4653
|
function putKey(draft, nodeId, property, time, value, easing, inherit = true) {
|
|
@@ -4694,7 +4749,7 @@ function removeTrack(nodes, nodeId, property, options = {}) {
|
|
|
4694
4749
|
if (!track) return nodes;
|
|
4695
4750
|
const p = draft.property(property);
|
|
4696
4751
|
if (options.keepValueAt !== void 0 && p && property !== "motionPath") {
|
|
4697
|
-
const value =
|
|
4752
|
+
const value = _chunkM5GLQQWGcjs.evaluateTrack.call(void 0, track, options.keepValueAt, p.type);
|
|
4698
4753
|
if (value !== void 0) draft.writeNode(nodeId, (n3) => p.write(n3, value));
|
|
4699
4754
|
}
|
|
4700
4755
|
draft.setKeys(nodeId, property, []);
|
|
@@ -4723,10 +4778,10 @@ function moveKeyframes(nodes, refs, delta, options = {}) {
|
|
|
4723
4778
|
low = Math.max(low, min - time);
|
|
4724
4779
|
high = Math.min(high, max - time);
|
|
4725
4780
|
}
|
|
4726
|
-
if (low > high +
|
|
4781
|
+
if (low > high + _chunkM5GLQQWGcjs.ANIMATION_TIME_EPSILON) throw new AnimationEditError("no_movement_range", "The keyframes have no common movement range.");
|
|
4727
4782
|
const applied = Math.min(high, Math.max(low, delta));
|
|
4728
4783
|
const moved = refs.map((ref) => ({ ...ref, time: draft.keys(ref.nodeId, ref.property)[draft.find(ref)].time + applied }));
|
|
4729
|
-
if (Math.abs(applied) <=
|
|
4784
|
+
if (Math.abs(applied) <= _chunkM5GLQQWGcjs.ANIMATION_TIME_EPSILON) return { nodes, delta: 0, refs: refs.map((r) => ({ ...r })) };
|
|
4730
4785
|
retime(draft, refs, (time) => time + applied);
|
|
4731
4786
|
return { nodes: draft.commit(), delta: applied, refs: moved };
|
|
4732
4787
|
}
|
|
@@ -4772,7 +4827,7 @@ function getKeyframeTimes(nodes, options = {}) {
|
|
|
4772
4827
|
if (!animation) continue;
|
|
4773
4828
|
for (const [property, track] of Object.entries(animation.tracks)) {
|
|
4774
4829
|
const skip = _nullishCoalesce(excluded.get(refKey({ nodeId: node.id, property })), () => ( []));
|
|
4775
|
-
for (const k of
|
|
4830
|
+
for (const k of _chunkM5GLQQWGcjs.normalizeKeyframes.call(void 0, _optionalChain([track, 'optionalAccess', _192 => _192.keyframes]))) if (!skip.some((t) => sameTime(t, k.time))) times.push(k.time);
|
|
4776
4831
|
}
|
|
4777
4832
|
}
|
|
4778
4833
|
times.sort((a, b) => a - b);
|
|
@@ -4891,7 +4946,7 @@ function recordAnimationChanges(base, before, after, time, options = {}) {
|
|
|
4891
4946
|
};
|
|
4892
4947
|
if (animated) {
|
|
4893
4948
|
if (changed) {
|
|
4894
|
-
const keys =
|
|
4949
|
+
const keys = _chunkM5GLQQWGcjs.normalizeKeyframes.call(void 0, track.keyframes).filter((k) => !sameTime(k.time, t));
|
|
4895
4950
|
const before2 = [...keys].reverse().find((k) => k.time < t);
|
|
4896
4951
|
keys.push({ time: t, value: now, ..._optionalChain([before2, 'optionalAccess', _194 => _194.easing]) !== void 0 ? { easing: before2.easing } : {} });
|
|
4897
4952
|
tracksOf()[p.key] = { ...track, keyframes: keys.sort((a, b) => a.time - b.time) };
|
|
@@ -4900,7 +4955,7 @@ function recordAnimationChanges(base, before, after, time, options = {}) {
|
|
|
4900
4955
|
restore();
|
|
4901
4956
|
} else if (changed && options.recording && !track) {
|
|
4902
4957
|
const keys = [];
|
|
4903
|
-
if (t >
|
|
4958
|
+
if (t > _chunkM5GLQQWGcjs.ANIMATION_TIME_EPSILON && was !== void 0) keys.push({ time: 0, value: was });
|
|
4904
4959
|
keys.push({ time: t, value: now });
|
|
4905
4960
|
tracksOf()[p.key] = { keyframes: keys };
|
|
4906
4961
|
keyed.push({ nodeId: next.id, property: p.key, time: t });
|
|
@@ -5027,7 +5082,7 @@ function getCssPropertyAnimations(nodes, nodeId, options = {}) {
|
|
|
5027
5082
|
const tracks = /* @__PURE__ */ new Map();
|
|
5028
5083
|
for (const [key, track] of Object.entries(animation.tracks)) {
|
|
5029
5084
|
if (!track || track.enabled === false || !map[key]) continue;
|
|
5030
|
-
const keys =
|
|
5085
|
+
const keys = _chunkM5GLQQWGcjs.normalizeKeyframes.call(void 0, track.keyframes);
|
|
5031
5086
|
if (keys.length > 0) tracks.set(key, keys);
|
|
5032
5087
|
}
|
|
5033
5088
|
const typeOf = (key) => _nullishCoalesce(_optionalChain([ANIMATABLE_PROPERTIES, 'access', _199 => _199.find, 'call', _200 => _200((p) => p.key === key), 'optionalAccess', _201 => _201.type]), () => ( "number"));
|
|
@@ -5040,7 +5095,7 @@ function getCssPropertyAnimations(nodes, nodeId, options = {}) {
|
|
|
5040
5095
|
for (const [css, sources] of groups) {
|
|
5041
5096
|
const camel2 = map[sources[0]].camel;
|
|
5042
5097
|
const keysOf = (k) => tracks.get(k);
|
|
5043
|
-
const evalAt = (k, t) =>
|
|
5098
|
+
const evalAt = (k, t) => _chunkM5GLQQWGcjs.evaluateTrack.call(void 0, keysOf(k), t, typeOf(k));
|
|
5044
5099
|
const allTimes = sources.flatMap((k) => keysOf(k).map((x) => x.time));
|
|
5045
5100
|
if (sources.includes("motionPath")) {
|
|
5046
5101
|
const position = (t) => {
|
|
@@ -5136,13 +5191,13 @@ function isCssExportExact(nodes, nodeId) {
|
|
|
5136
5191
|
|
|
5137
5192
|
// src/canvas/animation/timeline.ts
|
|
5138
5193
|
function isKeyframeSelected(selection, ref) {
|
|
5139
|
-
return selection.some((s) => s.nodeId === ref.nodeId && s.property === ref.property && Math.abs(s.time - ref.time) <=
|
|
5194
|
+
return selection.some((s) => s.nodeId === ref.nodeId && s.property === ref.property && Math.abs(s.time - ref.time) <= _chunkM5GLQQWGcjs.ANIMATION_TIME_EPSILON);
|
|
5140
5195
|
}
|
|
5141
5196
|
var defaultLabel = (node) => typeof _optionalChain([node, 'access', _202 => _202.data, 'optionalAccess', _203 => _203.label]) === "string" && node.data.label.trim() ? node.data.label : node.id;
|
|
5142
5197
|
function getTimelineRows(nodes, ids, options = {}) {
|
|
5143
5198
|
const byId = new Map(nodes.map((n3) => [n3.id, n3]));
|
|
5144
5199
|
const selection = _nullishCoalesce(options.selection, () => ( []));
|
|
5145
|
-
const
|
|
5200
|
+
const labelOf2 = _nullishCoalesce(options.labelOf, () => ( defaultLabel));
|
|
5146
5201
|
const rows = [];
|
|
5147
5202
|
for (const id of new Set(ids)) {
|
|
5148
5203
|
const node = byId.get(id);
|
|
@@ -5153,11 +5208,11 @@ function getTimelineRows(nodes, ids, options = {}) {
|
|
|
5153
5208
|
rows.push({
|
|
5154
5209
|
id: `${id}:${property}`,
|
|
5155
5210
|
nodeId: id,
|
|
5156
|
-
nodeLabel:
|
|
5211
|
+
nodeLabel: labelOf2(node),
|
|
5157
5212
|
property,
|
|
5158
5213
|
label,
|
|
5159
5214
|
enabled: track.enabled !== false,
|
|
5160
|
-
keyframes:
|
|
5215
|
+
keyframes: _chunkM5GLQQWGcjs.normalizeKeyframes.call(void 0, track.keyframes).map((k) => {
|
|
5161
5216
|
const ref = { nodeId: id, property, time: k.time };
|
|
5162
5217
|
const selected = isKeyframeSelected(selection, ref);
|
|
5163
5218
|
return {
|
|
@@ -5217,7 +5272,7 @@ function createCanvasAnimationController(options) {
|
|
|
5217
5272
|
}
|
|
5218
5273
|
return _nullishCoalesce(fixedDuration, () => ( durationValue));
|
|
5219
5274
|
};
|
|
5220
|
-
const player = new (0,
|
|
5275
|
+
const player = new (0, _chunkM5GLQQWGcjs.AnimationPlayer)({
|
|
5221
5276
|
clock: options.clock,
|
|
5222
5277
|
duration,
|
|
5223
5278
|
loop: options.loop,
|
|
@@ -5296,7 +5351,7 @@ function createCanvasAnimationController(options) {
|
|
|
5296
5351
|
const byId = new Map(options.getNodes().map((n3) => [n3.id, n3]));
|
|
5297
5352
|
const kept = selection.filter((ref) => {
|
|
5298
5353
|
const track = _optionalChain([getNodeAnimation, 'call', _216 => _216(byId.get(ref.nodeId)), 'optionalAccess', _217 => _217.tracks, 'access', _218 => _218[ref.property]]);
|
|
5299
|
-
return !!track &&
|
|
5354
|
+
return !!track && _chunkM5GLQQWGcjs.normalizeKeyframes.call(void 0, track.keyframes).some((k) => Math.abs(k.time - ref.time) <= _chunkM5GLQQWGcjs.ANIMATION_TIME_EPSILON);
|
|
5300
5355
|
});
|
|
5301
5356
|
if (kept.length !== selection.length) selection = kept;
|
|
5302
5357
|
}
|
|
@@ -5368,7 +5423,7 @@ function createCanvasAnimationController(options) {
|
|
|
5368
5423
|
nextKeyframe(ids = selectedIds()) {
|
|
5369
5424
|
const list = [...ids];
|
|
5370
5425
|
const times = getKeyframeTimes(options.getNodes(), list.length ? { ids: list } : {});
|
|
5371
|
-
const next = times.find((t) => t > player.currentTime +
|
|
5426
|
+
const next = times.find((t) => t > player.currentTime + _chunkM5GLQQWGcjs.ANIMATION_TIME_EPSILON);
|
|
5372
5427
|
if (next === void 0) return null;
|
|
5373
5428
|
player.seek(next);
|
|
5374
5429
|
return next;
|
|
@@ -5376,7 +5431,7 @@ function createCanvasAnimationController(options) {
|
|
|
5376
5431
|
previousKeyframe(ids = selectedIds()) {
|
|
5377
5432
|
const list = [...ids];
|
|
5378
5433
|
const times = getKeyframeTimes(options.getNodes(), list.length ? { ids: list } : {});
|
|
5379
|
-
const prev = [...times].reverse().find((t) => t < player.currentTime -
|
|
5434
|
+
const prev = [...times].reverse().find((t) => t < player.currentTime - _chunkM5GLQQWGcjs.ANIMATION_TIME_EPSILON);
|
|
5380
5435
|
if (prev === void 0) return null;
|
|
5381
5436
|
player.seek(prev);
|
|
5382
5437
|
return prev;
|
|
@@ -8347,7 +8402,7 @@ function rankdir(direction) {
|
|
|
8347
8402
|
}
|
|
8348
8403
|
function autoLayoutDiagram(graph, options = {}) {
|
|
8349
8404
|
const measure = _nullishCoalesce(options.measure, () => ( estimateDiagramNodeSize));
|
|
8350
|
-
const custom =
|
|
8405
|
+
const custom = _chunk3FSUJIXNcjs.getFamilyLayout.call(void 0, options.family);
|
|
8351
8406
|
if (custom) return custom(graph, { v: 1 }, { ...options, measure });
|
|
8352
8407
|
const nodeSep = _nullishCoalesce(options.nodeSep, () => ( 48));
|
|
8353
8408
|
const rankSep = _nullishCoalesce(options.rankSep, () => ( 72));
|
|
@@ -8447,7 +8502,7 @@ function push(map, key, value) {
|
|
|
8447
8502
|
}
|
|
8448
8503
|
function ensureDiagramLayout(graph, meta, options) {
|
|
8449
8504
|
const measure = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _342 => _342.measure]), () => ( estimateDiagramNodeSize));
|
|
8450
|
-
const custom =
|
|
8505
|
+
const custom = _chunk3FSUJIXNcjs.getFamilyLayout.call(void 0, _optionalChain([options, 'optionalAccess', _343 => _343.family]));
|
|
8451
8506
|
if (custom) return custom(graph, meta, { ..._nullishCoalesce(options, () => ( {})), measure });
|
|
8452
8507
|
const stored = _nullishCoalesce(meta.layout, () => ( {}));
|
|
8453
8508
|
const allIds = [...graph.nodes.map((n3) => n3.id), ...graph.groups.map((g) => g.id)];
|
|
@@ -8714,7 +8769,7 @@ var DiagramStream = (_class6 = class {
|
|
|
8714
8769
|
/** Reads the source so far. `complete` when nothing more will arrive. */
|
|
8715
8770
|
update(source, complete = false) {
|
|
8716
8771
|
const text2 = streamedDiagramText(source);
|
|
8717
|
-
const parsed =
|
|
8772
|
+
const parsed = _chunk3FSUJIXNcjs.parseMermaid.call(void 0, text2);
|
|
8718
8773
|
const document2 = !complete ? { ...parsed, graph: connectedDiagramOnly(parsed.graph) } : parsed;
|
|
8719
8774
|
if (document2.tier !== "editable" || !document2.graph.nodes.length) return { document: document2, layout: this.layout && complete ? null : this.layout, relaid: false };
|
|
8720
8775
|
const key = fingerprint(document2.graph);
|
|
@@ -8795,9 +8850,9 @@ function estimateTextWidth2(text2, size2) {
|
|
|
8795
8850
|
}
|
|
8796
8851
|
|
|
8797
8852
|
// src/canvas/mermaid/families/pie.ts
|
|
8798
|
-
var M =
|
|
8853
|
+
var M = _chunk3FSUJIXNcjs.PIE_METRICS;
|
|
8799
8854
|
var pieScene = ({ graph, theme }) => {
|
|
8800
|
-
const geo =
|
|
8855
|
+
const geo = _chunk3FSUJIXNcjs.pieGeometry.call(void 0, graph);
|
|
8801
8856
|
const marks = [];
|
|
8802
8857
|
for (const slice of geo.slices) {
|
|
8803
8858
|
if (!slice.drawn) continue;
|
|
@@ -8871,7 +8926,7 @@ function xyChartSpec(graph, palette) {
|
|
|
8871
8926
|
);
|
|
8872
8927
|
}
|
|
8873
8928
|
const bars = graph.nodes.some((n3) => n3.shape === "bar");
|
|
8874
|
-
return
|
|
8929
|
+
return _chunkUVXTOZ2Bcjs.createChartSpec.call(void 0, {
|
|
8875
8930
|
type: bars ? "bar" : "line",
|
|
8876
8931
|
title: _nullishCoalesce(graph.title, () => ( "")),
|
|
8877
8932
|
categories,
|
|
@@ -8885,7 +8940,7 @@ function xyChartSpec(graph, palette) {
|
|
|
8885
8940
|
}
|
|
8886
8941
|
function radarChartSpec(graph, palette) {
|
|
8887
8942
|
const data = _nullishCoalesce(graph.data, () => ( {}));
|
|
8888
|
-
return
|
|
8943
|
+
return _chunkUVXTOZ2Bcjs.createChartSpec.call(void 0, {
|
|
8889
8944
|
type: "radar",
|
|
8890
8945
|
title: _nullishCoalesce(graph.title, () => ( "")),
|
|
8891
8946
|
categories: Array.isArray(data.axes) ? data.axes.map(String) : [],
|
|
@@ -8932,18 +8987,18 @@ function translatePath(d, dx, dy) {
|
|
|
8932
8987
|
return d.replace(/-?\d*\.?\d+(?:e-?\d+)?/gi, (v) => String(Math.round((Number(v) + (i++ % 2 === 0 ? dx : dy)) * 100) / 100));
|
|
8933
8988
|
}
|
|
8934
8989
|
var xyChartScene = ({ graph, theme }) => {
|
|
8935
|
-
const box =
|
|
8936
|
-
const scene =
|
|
8990
|
+
const box = _chunk3FSUJIXNcjs.XY_CHART_BOX;
|
|
8991
|
+
const scene = _chunkQO2T6KA5cjs.layoutChart.call(void 0, xyChartSpec(graph, theme.palette), { width: box.width, height: box.height, theme: chartTheme(theme) });
|
|
8937
8992
|
return toDiagramMarks(scene.marks, box.x, box.y);
|
|
8938
8993
|
};
|
|
8939
8994
|
var radarScene = ({ graph, theme }) => {
|
|
8940
|
-
const box =
|
|
8941
|
-
const scene =
|
|
8995
|
+
const box = _chunk3FSUJIXNcjs.RADAR_CHART_BOX;
|
|
8996
|
+
const scene = _chunkQO2T6KA5cjs.layoutChart.call(void 0, radarChartSpec(graph, theme.palette), { width: box.width, height: box.height, theme: chartTheme(theme) });
|
|
8942
8997
|
return toDiagramMarks(scene.marks, box.x, box.y);
|
|
8943
8998
|
};
|
|
8944
8999
|
|
|
8945
9000
|
// src/canvas/mermaid/families/sequence.ts
|
|
8946
|
-
var M2 =
|
|
9001
|
+
var M2 = _chunk3FSUJIXNcjs.SEQUENCE_METRICS;
|
|
8947
9002
|
var LABEL_SIZE = 14;
|
|
8948
9003
|
var LINE_HEIGHT = 1.25;
|
|
8949
9004
|
var SMALL_SIZE = 13;
|
|
@@ -9035,7 +9090,7 @@ function crossMark(key, target, x, y, dir, stroke) {
|
|
|
9035
9090
|
};
|
|
9036
9091
|
}
|
|
9037
9092
|
var sequenceScene = ({ graph, theme }) => {
|
|
9038
|
-
const geo =
|
|
9093
|
+
const geo = _chunk3FSUJIXNcjs.sequenceGeometry.call(void 0, graph);
|
|
9039
9094
|
const marks = [];
|
|
9040
9095
|
for (const group of graph.groups) {
|
|
9041
9096
|
const box = geo.boxes.get(group.id);
|
|
@@ -9179,7 +9234,7 @@ var sequenceScene = ({ graph, theme }) => {
|
|
|
9179
9234
|
};
|
|
9180
9235
|
|
|
9181
9236
|
// src/canvas/mermaid/families/journey.ts
|
|
9182
|
-
var M3 =
|
|
9237
|
+
var M3 = _chunk3FSUJIXNcjs.JOURNEY_METRICS;
|
|
9183
9238
|
var TITLE_SIZE2 = 32;
|
|
9184
9239
|
function actorColor(theme, slot) {
|
|
9185
9240
|
return sceneColor(theme, M3.sectionColours + slot);
|
|
@@ -9225,7 +9280,7 @@ function boxLabel(key, role, target, text2, box, fill) {
|
|
|
9225
9280
|
}));
|
|
9226
9281
|
}
|
|
9227
9282
|
var journeyScene = ({ graph, theme }) => {
|
|
9228
|
-
const geo =
|
|
9283
|
+
const geo = _chunk3FSUJIXNcjs.journeyGeometry.call(void 0, graph);
|
|
9229
9284
|
const marks = [];
|
|
9230
9285
|
const ink = theme.mutedText;
|
|
9231
9286
|
if (graph.title)
|
|
@@ -9322,10 +9377,10 @@ var journeyScene = ({ graph, theme }) => {
|
|
|
9322
9377
|
};
|
|
9323
9378
|
|
|
9324
9379
|
// src/canvas/mermaid/families/quadrant.ts
|
|
9325
|
-
var M4 =
|
|
9380
|
+
var M4 = _chunk3FSUJIXNcjs.QUADRANT_METRICS;
|
|
9326
9381
|
var QUADRANT_TINT = 0.18;
|
|
9327
9382
|
var quadrantScene = ({ graph, theme }) => {
|
|
9328
|
-
const geo =
|
|
9383
|
+
const geo = _chunk3FSUJIXNcjs.quadrantGeometry.call(void 0, graph);
|
|
9329
9384
|
const marks = [];
|
|
9330
9385
|
const groups = new Map(graph.groups.map((g) => [g.id, g]));
|
|
9331
9386
|
for (const q of geo.quadrants) {
|
|
@@ -9411,7 +9466,7 @@ var quadrantScene = ({ graph, theme }) => {
|
|
|
9411
9466
|
};
|
|
9412
9467
|
|
|
9413
9468
|
// src/canvas/mermaid/families/gitgraph.ts
|
|
9414
|
-
var M5 =
|
|
9469
|
+
var M5 = _chunk3FSUJIXNcjs.GIT_METRICS;
|
|
9415
9470
|
function rot([dx, dy], deg) {
|
|
9416
9471
|
const a = deg * Math.PI / 180;
|
|
9417
9472
|
const c = Math.cos(a);
|
|
@@ -9481,7 +9536,7 @@ function commitSymbol(c, theme) {
|
|
|
9481
9536
|
}
|
|
9482
9537
|
}
|
|
9483
9538
|
function commitLabel(c, text2, direction, theme) {
|
|
9484
|
-
const w =
|
|
9539
|
+
const w = _chunk3FSUJIXNcjs.estimateTextWidth.call(void 0, text2, M5.labelFontSize);
|
|
9485
9540
|
const anchor = direction === "LR" ? [1 - 0.026 * w, 18.1 - 0.0136 * w] : [-14.9, 9.2];
|
|
9486
9541
|
const ax = c.x + anchor[0];
|
|
9487
9542
|
const ay = c.y + anchor[1];
|
|
@@ -9496,7 +9551,7 @@ function commitLabel(c, text2, direction, theme) {
|
|
|
9496
9551
|
];
|
|
9497
9552
|
}
|
|
9498
9553
|
function commitTag(c, text2, index, direction, theme) {
|
|
9499
|
-
const w =
|
|
9554
|
+
const w = _chunk3FSUJIXNcjs.estimateTextWidth.call(void 0, text2, M5.labelFontSize);
|
|
9500
9555
|
const h2 = M5.labelTextHeight / 2;
|
|
9501
9556
|
const key = `${c.id}:${index}`;
|
|
9502
9557
|
let points;
|
|
@@ -9548,7 +9603,7 @@ function commitTag(c, text2, index, direction, theme) {
|
|
|
9548
9603
|
];
|
|
9549
9604
|
}
|
|
9550
9605
|
var gitGraphScene = ({ graph, theme }) => {
|
|
9551
|
-
const geo =
|
|
9606
|
+
const geo = _chunk3FSUJIXNcjs.gitGraphGeometry.call(void 0, graph);
|
|
9552
9607
|
const marks = [];
|
|
9553
9608
|
for (const lane of geo.lanes) {
|
|
9554
9609
|
const { x1, y1, x2, y2 } = lane.line;
|
|
@@ -9603,7 +9658,7 @@ var gitGraphScene = ({ graph, theme }) => {
|
|
|
9603
9658
|
};
|
|
9604
9659
|
|
|
9605
9660
|
// src/canvas/mermaid/families/mindmap.ts
|
|
9606
|
-
var M6 =
|
|
9661
|
+
var M6 = _chunk3FSUJIXNcjs.MINDMAP_METRICS;
|
|
9607
9662
|
var round3 = (v) => Math.round(v * 100) / 100;
|
|
9608
9663
|
function displayLabel(label) {
|
|
9609
9664
|
let text2 = label;
|
|
@@ -9749,7 +9804,7 @@ function iconGlyph(icon) {
|
|
|
9749
9804
|
return (_nullishCoalesce(word[0], () => ( "?"))).toUpperCase();
|
|
9750
9805
|
}
|
|
9751
9806
|
var mindmapScene = ({ graph, theme }) => {
|
|
9752
|
-
const geo =
|
|
9807
|
+
const geo = _chunk3FSUJIXNcjs.mindmapGeometry.call(void 0, graph);
|
|
9753
9808
|
const marks = [];
|
|
9754
9809
|
for (const e of geo.edges) {
|
|
9755
9810
|
const a = geo.topics.get(e.source);
|
|
@@ -9848,7 +9903,7 @@ var c4Scene = ({ graph, layout: layout2, theme }) => {
|
|
|
9848
9903
|
for (const group of [...graph.groups].sort((a, b) => depth2(a.id) - depth2(b.id))) {
|
|
9849
9904
|
const b = box(group.id);
|
|
9850
9905
|
if (!b) continue;
|
|
9851
|
-
const text2 =
|
|
9906
|
+
const text2 = _chunk3FSUJIXNcjs.c4BoundaryText.call(void 0, group);
|
|
9852
9907
|
const cx = b.x + b.width / 2;
|
|
9853
9908
|
marks.push({ kind: "rect", key: `boundary:${group.id}`, role: "boundary", target: group.id, ...b, radius: 2.5, fill: "none", stroke: theme.groupStroke, strokeWidth: 1, dash: text2.solid ? void 0 : "7 7" });
|
|
9854
9909
|
marks.push({ kind: "text", key: `boundary-label:${group.id}`, role: "boundary-label", target: group.id, x: cx, y: b.y + text2.labelY, text: text2.label, anchor: "middle", baseline: "middle", size: 16, weight: 700, fill: theme.groupText });
|
|
@@ -9862,7 +9917,7 @@ var c4Scene = ({ graph, layout: layout2, theme }) => {
|
|
|
9862
9917
|
const from = box(edge.source);
|
|
9863
9918
|
const to = box(edge.target);
|
|
9864
9919
|
if (!from || !to) return;
|
|
9865
|
-
const geo =
|
|
9920
|
+
const geo = _chunk3FSUJIXNcjs.c4RelGeometry.call(void 0, from, to, index);
|
|
9866
9921
|
const { start, end, control } = geo;
|
|
9867
9922
|
const style = styleOf(edge.data);
|
|
9868
9923
|
const line4 = style.lineColor || theme.edge;
|
|
@@ -9877,8 +9932,8 @@ var c4Scene = ({ graph, layout: layout2, theme }) => {
|
|
|
9877
9932
|
strokeWidth: 1
|
|
9878
9933
|
});
|
|
9879
9934
|
const head = (key, points) => marks.push({ kind: "path", key, role: "arrow", target: edge.id, d: `M${points.split(" ").join(" L")} Z`, fill: line4 });
|
|
9880
|
-
if (edge.arrowEnd !== "none") head(`arrow-end:${edge.id}`,
|
|
9881
|
-
if (edge.arrowStart !== "none") head(`arrow-start:${edge.id}`,
|
|
9935
|
+
if (edge.arrowEnd !== "none") head(`arrow-end:${edge.id}`, _chunk3FSUJIXNcjs.c4ArrowHead.call(void 0, end, _nullishCoalesce(control, () => ( start))));
|
|
9936
|
+
if (edge.arrowStart !== "none") head(`arrow-start:${edge.id}`, _chunk3FSUJIXNcjs.c4ArrowHead.call(void 0, start, _nullishCoalesce(control, () => ( end))));
|
|
9882
9937
|
const offsetX = parseInt(_nullishCoalesce(style.offsetX, () => ( "0")), 10) || 0;
|
|
9883
9938
|
const offsetY = parseInt(_nullishCoalesce(style.offsetY, () => ( "0")), 10) || 0;
|
|
9884
9939
|
const left = geo.label.x + offsetX;
|
|
@@ -9908,7 +9963,7 @@ var c4Scene = ({ graph, layout: layout2, theme }) => {
|
|
|
9908
9963
|
for (const node of graph.nodes) {
|
|
9909
9964
|
const b = box(node.id);
|
|
9910
9965
|
if (!b) continue;
|
|
9911
|
-
const geo =
|
|
9966
|
+
const geo = _chunk3FSUJIXNcjs.c4ElementGeometry.call(void 0, node);
|
|
9912
9967
|
const style = styleOf(node.data);
|
|
9913
9968
|
const colors = colorsOf(geo.type);
|
|
9914
9969
|
const fill = style.bgColor || colors.bg;
|
|
@@ -9978,7 +10033,7 @@ var c4Scene = ({ graph, layout: layout2, theme }) => {
|
|
|
9978
10033
|
};
|
|
9979
10034
|
|
|
9980
10035
|
// src/canvas/mermaid/families/architecture.ts
|
|
9981
|
-
var A =
|
|
10036
|
+
var A = _chunk3FSUJIXNcjs.ARCH_METRICS;
|
|
9982
10037
|
var ICON_BG = "#087ebf";
|
|
9983
10038
|
var ICON_FG = "#ffffff";
|
|
9984
10039
|
var r2 = (n3) => Math.round(n3 * 100) / 100;
|
|
@@ -10210,15 +10265,15 @@ var architectureScene = ({ graph, layout: layout2, theme }) => {
|
|
|
10210
10265
|
const to = box(edge.target);
|
|
10211
10266
|
if (!from || !to) continue;
|
|
10212
10267
|
const d = _nullishCoalesce(edge.data, () => ( {}));
|
|
10213
|
-
const sourceSide =
|
|
10214
|
-
const targetSide =
|
|
10215
|
-
const s =
|
|
10216
|
-
const t =
|
|
10217
|
-
const route =
|
|
10268
|
+
const sourceSide = _chunk3FSUJIXNcjs.isSide.call(void 0, d.sourceSide) ? d.sourceSide : "R";
|
|
10269
|
+
const targetSide = _chunk3FSUJIXNcjs.isSide.call(void 0, d.targetSide) ? d.targetSide : "L";
|
|
10270
|
+
const s = _chunk3FSUJIXNcjs.shiftEndpoint.call(void 0, port(from, sourceSide), sourceSide, { group: !!d.sourceGroup, junction: junctions.has(edge.source) });
|
|
10271
|
+
const t = _chunk3FSUJIXNcjs.shiftEndpoint.call(void 0, port(to, targetSide), targetSide, { group: !!d.targetGroup, junction: junctions.has(edge.target) });
|
|
10272
|
+
const route = _chunk3FSUJIXNcjs.architectureEdgeRoute.call(void 0, s, sourceSide, t, targetSide);
|
|
10218
10273
|
marks.push({ kind: "path", key: `edge:${edge.id}`, role: "edge", target: edge.id, d: route.points.map((p, i) => `${i ? "L" : "M"}${p.x},${p.y}`).join(" "), fill: "none", stroke: theme.edge, strokeWidth: 3 });
|
|
10219
10274
|
const head = (key, points) => marks.push({ kind: "path", key, role: "arrow", target: edge.id, d: `M${points.split(" ").join(" L")} Z`, fill: theme.edge });
|
|
10220
|
-
if (edge.arrowStart !== "none") head(`arrow-start:${edge.id}`,
|
|
10221
|
-
if (edge.arrowEnd !== "none") head(`arrow-end:${edge.id}`,
|
|
10275
|
+
if (edge.arrowStart !== "none") head(`arrow-start:${edge.id}`, _chunk3FSUJIXNcjs.architectureArrow.call(void 0, s, sourceSide));
|
|
10276
|
+
if (edge.arrowEnd !== "none") head(`arrow-end:${edge.id}`, _chunk3FSUJIXNcjs.architectureArrow.call(void 0, t, targetSide));
|
|
10222
10277
|
if (edge.label)
|
|
10223
10278
|
labels.push({ kind: "text", key: `edge-label:${edge.id}`, role: "edge-label", target: edge.id, x: route.label.x, y: route.label.y, text: edge.label, anchor: "middle", baseline: "middle", size: A.fontSize, rotate: route.rotate || void 0, fill: theme.text });
|
|
10224
10279
|
}
|
|
@@ -10236,7 +10291,7 @@ var architectureScene = ({ graph, layout: layout2, theme }) => {
|
|
|
10236
10291
|
}
|
|
10237
10292
|
marks.push(...iconMarks(`service:${node.id}`, node.id, iconOf(node.data), b.x, b.y, b.width, theme));
|
|
10238
10293
|
if (_optionalChain([node, 'access', _402 => _402.data, 'optionalAccess', _403 => _403.untitled])) continue;
|
|
10239
|
-
|
|
10294
|
+
_chunk3FSUJIXNcjs.serviceLabelLines.call(void 0, _nullishCoalesce(node.label, () => ( ""))).forEach(
|
|
10240
10295
|
(text2, i) => marks.push({ kind: "text", key: `service-label:${node.id}:${i}`, role: "service-label", target: node.id, x: b.x + b.width / 2, y: b.y + b.height + (i + 0.5) * A.lineHeight, text: text2, anchor: "middle", baseline: "middle", size: A.fontSize, fill: theme.text })
|
|
10241
10296
|
);
|
|
10242
10297
|
}
|
|
@@ -10247,7 +10302,7 @@ var architectureScene = ({ graph, layout: layout2, theme }) => {
|
|
|
10247
10302
|
};
|
|
10248
10303
|
|
|
10249
10304
|
// src/canvas/mermaid/families/gantt.ts
|
|
10250
|
-
var M7 =
|
|
10305
|
+
var M7 = _chunk3FSUJIXNcjs.GANTT_METRICS;
|
|
10251
10306
|
var CRIT = 3;
|
|
10252
10307
|
function statusOf(node) {
|
|
10253
10308
|
const tags = Array.isArray(_optionalChain([node, 'optionalAccess', _404 => _404.data, 'optionalAccess', _405 => _405.tags])) ? node.data.tags.map(String) : [];
|
|
@@ -10299,7 +10354,7 @@ function stepPath(from, to) {
|
|
|
10299
10354
|
return `M ${sx} ${sy} L ${sx + offset} ${sy} L ${sx + offset} ${my} L ${tx - offset} ${my} L ${tx - offset} ${ty} L ${tx} ${ty}`;
|
|
10300
10355
|
}
|
|
10301
10356
|
var ganttScene = ({ graph, selection, theme }) => {
|
|
10302
|
-
const geo =
|
|
10357
|
+
const geo = _chunk3FSUJIXNcjs.ganttGeometry.call(void 0, graph);
|
|
10303
10358
|
const nodes = new Map(graph.nodes.map((n3) => [n3.id, n3]));
|
|
10304
10359
|
const marks = [];
|
|
10305
10360
|
const left = geo.chartX - M7.labelWidth;
|
|
@@ -10381,7 +10436,7 @@ var ganttScene = ({ graph, selection, theme }) => {
|
|
|
10381
10436
|
};
|
|
10382
10437
|
|
|
10383
10438
|
// src/canvas/mermaid/families/timeline.ts
|
|
10384
|
-
var M8 =
|
|
10439
|
+
var M8 = _chunk3FSUJIXNcjs.TIMELINE_METRICS;
|
|
10385
10440
|
var RADIUS = 5;
|
|
10386
10441
|
var TEXT_TOP = 17;
|
|
10387
10442
|
var TEXT_LINE = M8.fontSize * 1.1;
|
|
@@ -10399,7 +10454,7 @@ function wrap(text2, width) {
|
|
|
10399
10454
|
let line4 = "";
|
|
10400
10455
|
for (const word of part.split(/\s+/).filter(Boolean)) {
|
|
10401
10456
|
const next = line4 ? `${line4} ${word}` : word;
|
|
10402
|
-
if (line4 &&
|
|
10457
|
+
if (line4 && _chunk3FSUJIXNcjs.textWidth.call(void 0, next) > width) {
|
|
10403
10458
|
out.push(line4);
|
|
10404
10459
|
line4 = word;
|
|
10405
10460
|
} else line4 = next;
|
|
@@ -10428,7 +10483,7 @@ function arrowLine(key, x1, y1, x2, y2, width, dashed, colour) {
|
|
|
10428
10483
|
];
|
|
10429
10484
|
}
|
|
10430
10485
|
var timelineScene = ({ graph, theme }) => {
|
|
10431
|
-
const geo =
|
|
10486
|
+
const geo = _chunk3FSUJIXNcjs.timelineGeometry.call(void 0, graph);
|
|
10432
10487
|
const marks = [];
|
|
10433
10488
|
const nodes = new Map(graph.nodes.map((n3) => [n3.id, n3]));
|
|
10434
10489
|
const groups = new Map(graph.groups.map((g) => [g.id, g]));
|
|
@@ -11744,7 +11799,7 @@ function createCanvasEditorDocument(options) {
|
|
|
11744
11799
|
options.setEdges(doc.edges.map((e) => ({ ...e })));
|
|
11745
11800
|
if (scenes2) scenes2.load(_nullishCoalesce(doc.scenes, () => ( [])));
|
|
11746
11801
|
};
|
|
11747
|
-
return
|
|
11802
|
+
return _chunkSJ2CPTQCcjs.defineEditorDocument.call(void 0, {
|
|
11748
11803
|
kind: "canvas",
|
|
11749
11804
|
get: snapshot,
|
|
11750
11805
|
load: (document2, { history: mode }) => {
|
|
@@ -11802,6 +11857,295 @@ function createCanvasGestureRecorder(options) {
|
|
|
11802
11857
|
};
|
|
11803
11858
|
}
|
|
11804
11859
|
|
|
11860
|
+
// src/canvas/explosionLayout.ts
|
|
11861
|
+
var explosionEdgeId = (sourceId, targetId) => `explode:${sourceId}:${targetId}`;
|
|
11862
|
+
function computeCanvasExplosionLayout(params) {
|
|
11863
|
+
const {
|
|
11864
|
+
existingNodes,
|
|
11865
|
+
existingEdges = [],
|
|
11866
|
+
originNode,
|
|
11867
|
+
childNodes,
|
|
11868
|
+
childEdges = [],
|
|
11869
|
+
strategy = "directional",
|
|
11870
|
+
options,
|
|
11871
|
+
reflowOptions,
|
|
11872
|
+
connectParentToChildren = false,
|
|
11873
|
+
createEdge,
|
|
11874
|
+
getNodesBounds
|
|
11875
|
+
} = params;
|
|
11876
|
+
const existingIds = new Set(existingNodes.map((n3) => n3.id));
|
|
11877
|
+
if (!existingIds.has(originNode.id)) {
|
|
11878
|
+
throw new Error(`The origin node "${originNode.id}" is not in existingNodes; pass the canvas nodes including the origin.`);
|
|
11879
|
+
}
|
|
11880
|
+
const childIds = /* @__PURE__ */ new Set();
|
|
11881
|
+
for (const child of childNodes) {
|
|
11882
|
+
if (existingIds.has(child.id)) {
|
|
11883
|
+
throw new Error(`Child node id "${child.id}" is already on the canvas; give exploded children unique ids.`);
|
|
11884
|
+
}
|
|
11885
|
+
if (childIds.has(child.id)) throw new Error(`Child node id "${child.id}" is repeated; give exploded children unique ids.`);
|
|
11886
|
+
childIds.add(child.id);
|
|
11887
|
+
}
|
|
11888
|
+
const children = childNodes.map((child) => ({ ...child, position: { ...child.position } }));
|
|
11889
|
+
const edges = [...childEdges];
|
|
11890
|
+
const makeEdge = _nullishCoalesce(createEdge, () => ( ((source, target) => ({ id: explosionEdgeId(source, target), type: "default", source, target }))));
|
|
11891
|
+
const connect = (child) => {
|
|
11892
|
+
if (!edges.some((e) => e.source === originNode.id && e.target === child.id)) edges.push(makeEdge(originNode.id, child.id));
|
|
11893
|
+
};
|
|
11894
|
+
if (connectParentToChildren === true || connectParentToChildren === "all") children.forEach(connect);
|
|
11895
|
+
else if (connectParentToChildren === "first" && children.length > 0) connect(children[0]);
|
|
11896
|
+
let displacedPositions;
|
|
11897
|
+
if (children.length === 0 || strategy === "none") {
|
|
11898
|
+
displacedPositions = /* @__PURE__ */ new Map();
|
|
11899
|
+
} else if (strategy === "dagre") {
|
|
11900
|
+
displacedPositions = calculateReflowDisplacement({
|
|
11901
|
+
existingNodes,
|
|
11902
|
+
existingEdges,
|
|
11903
|
+
originNode,
|
|
11904
|
+
childNodes: children,
|
|
11905
|
+
childEdges: edges,
|
|
11906
|
+
options: reflowOptions
|
|
11907
|
+
});
|
|
11908
|
+
} else {
|
|
11909
|
+
displacedPositions = calculateDirectionalDisplacement({
|
|
11910
|
+
existingNodes,
|
|
11911
|
+
originNode,
|
|
11912
|
+
childNodes: children,
|
|
11913
|
+
getNodesBounds,
|
|
11914
|
+
options
|
|
11915
|
+
});
|
|
11916
|
+
}
|
|
11917
|
+
const byId = new Map(existingNodes.map((n3) => [n3.id, n3]));
|
|
11918
|
+
const originalPositions = /* @__PURE__ */ new Map();
|
|
11919
|
+
let totalDisplacementDelta = 0;
|
|
11920
|
+
for (const [id, to] of displacedPositions) {
|
|
11921
|
+
const from = byId.get(id).position;
|
|
11922
|
+
originalPositions.set(id, { ...from });
|
|
11923
|
+
totalDisplacementDelta = Math.max(totalDisplacementDelta, Math.abs(to.x - from.x), Math.abs(to.y - from.y));
|
|
11924
|
+
}
|
|
11925
|
+
return {
|
|
11926
|
+
displacedPositions,
|
|
11927
|
+
originalPositions,
|
|
11928
|
+
childNodes: children,
|
|
11929
|
+
childEdges: edges,
|
|
11930
|
+
childBounds: getNodesBounds ? getNodesBounds(children) : computeNodesBoundingBox(children),
|
|
11931
|
+
totalDisplacementDelta
|
|
11932
|
+
};
|
|
11933
|
+
}
|
|
11934
|
+
|
|
11935
|
+
// src/canvas/explosionState.ts
|
|
11936
|
+
function createCanvasExplosionStateController(options = {}) {
|
|
11937
|
+
const duration = _nullishCoalesce(options.collapseDurationMs, () => ( 380));
|
|
11938
|
+
if (!Number.isFinite(duration) || duration < 0) {
|
|
11939
|
+
throw new RangeError(`collapseDurationMs must be a finite number >= 0 (got ${duration}).`);
|
|
11940
|
+
}
|
|
11941
|
+
let snapshot = { activeId: _nullishCoalesce(options.initialActiveId, () => ( null)), collapsingId: null };
|
|
11942
|
+
let timer = null;
|
|
11943
|
+
let destroyed = false;
|
|
11944
|
+
const listeners = /* @__PURE__ */ new Set();
|
|
11945
|
+
const clearTimer = () => {
|
|
11946
|
+
if (timer !== null) clearTimeout(timer);
|
|
11947
|
+
timer = null;
|
|
11948
|
+
};
|
|
11949
|
+
const set = (next) => {
|
|
11950
|
+
if (next.activeId === snapshot.activeId && next.collapsingId === snapshot.collapsingId) return;
|
|
11951
|
+
snapshot = next;
|
|
11952
|
+
for (const listener of [...listeners]) listener();
|
|
11953
|
+
};
|
|
11954
|
+
const finishCollapse = () => {
|
|
11955
|
+
clearTimer();
|
|
11956
|
+
if (snapshot.collapsingId !== null) set({ activeId: snapshot.activeId, collapsingId: null });
|
|
11957
|
+
};
|
|
11958
|
+
const explode = (nodeId) => {
|
|
11959
|
+
if (destroyed) return false;
|
|
11960
|
+
if (typeof nodeId !== "string" || nodeId === "") throw new TypeError("explode needs a node id.");
|
|
11961
|
+
if (snapshot.activeId === nodeId) return false;
|
|
11962
|
+
clearTimer();
|
|
11963
|
+
const previous = snapshot.activeId;
|
|
11964
|
+
set({ activeId: nodeId, collapsingId: null });
|
|
11965
|
+
if (previous !== null) _optionalChain([options, 'access', _513 => _513.onCollapse, 'optionalCall', _514 => _514(previous)]);
|
|
11966
|
+
_optionalChain([options, 'access', _515 => _515.onExplode, 'optionalCall', _516 => _516(nodeId)]);
|
|
11967
|
+
return true;
|
|
11968
|
+
};
|
|
11969
|
+
const collapse = (nodeId) => {
|
|
11970
|
+
if (destroyed) return false;
|
|
11971
|
+
const active = snapshot.activeId;
|
|
11972
|
+
if (active === null || nodeId !== void 0 && nodeId !== active) return false;
|
|
11973
|
+
clearTimer();
|
|
11974
|
+
set({ activeId: null, collapsingId: active });
|
|
11975
|
+
_optionalChain([options, 'access', _517 => _517.onCollapse, 'optionalCall', _518 => _518(active)]);
|
|
11976
|
+
if (duration === 0) finishCollapse();
|
|
11977
|
+
else timer = setTimeout(() => {
|
|
11978
|
+
timer = null;
|
|
11979
|
+
finishCollapse();
|
|
11980
|
+
}, duration);
|
|
11981
|
+
return true;
|
|
11982
|
+
};
|
|
11983
|
+
return {
|
|
11984
|
+
get activeId() {
|
|
11985
|
+
return snapshot.activeId;
|
|
11986
|
+
},
|
|
11987
|
+
get collapsingId() {
|
|
11988
|
+
return snapshot.collapsingId;
|
|
11989
|
+
},
|
|
11990
|
+
get isExplodingOrCollapsing() {
|
|
11991
|
+
return snapshot.activeId !== null || snapshot.collapsingId !== null;
|
|
11992
|
+
},
|
|
11993
|
+
get destroyed() {
|
|
11994
|
+
return destroyed;
|
|
11995
|
+
},
|
|
11996
|
+
getSnapshot: () => snapshot,
|
|
11997
|
+
subscribe(listener) {
|
|
11998
|
+
if (destroyed) return () => {
|
|
11999
|
+
};
|
|
12000
|
+
listeners.add(listener);
|
|
12001
|
+
return () => listeners.delete(listener);
|
|
12002
|
+
},
|
|
12003
|
+
isExploded: (nodeId) => snapshot.activeId === nodeId,
|
|
12004
|
+
isCollapsing: (nodeId) => snapshot.collapsingId === nodeId,
|
|
12005
|
+
shouldRenderChildren: (nodeId) => snapshot.activeId === nodeId || snapshot.collapsingId === nodeId,
|
|
12006
|
+
explode,
|
|
12007
|
+
collapse,
|
|
12008
|
+
toggle: (nodeId) => snapshot.activeId === nodeId ? (collapse(nodeId), false) : explode(nodeId),
|
|
12009
|
+
finishCollapse: () => {
|
|
12010
|
+
if (!destroyed) finishCollapse();
|
|
12011
|
+
},
|
|
12012
|
+
destroy() {
|
|
12013
|
+
clearTimer();
|
|
12014
|
+
destroyed = true;
|
|
12015
|
+
listeners.clear();
|
|
12016
|
+
}
|
|
12017
|
+
};
|
|
12018
|
+
}
|
|
12019
|
+
|
|
12020
|
+
// src/canvas/explosion-tools.ts
|
|
12021
|
+
function canvasExplosionToolTarget(state, options) {
|
|
12022
|
+
return {
|
|
12023
|
+
getNodes: options.getNodes,
|
|
12024
|
+
canExplode: options.canExplode,
|
|
12025
|
+
exploded: () => state.activeId ? [state.activeId] : [],
|
|
12026
|
+
collapsing: () => state.collapsingId ? [state.collapsingId] : [],
|
|
12027
|
+
explode: (id) => {
|
|
12028
|
+
state.explode(id);
|
|
12029
|
+
},
|
|
12030
|
+
collapse: (id) => state.collapse(id)
|
|
12031
|
+
};
|
|
12032
|
+
}
|
|
12033
|
+
var READ = { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false };
|
|
12034
|
+
var WRITE_IDEMPOTENT = { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false };
|
|
12035
|
+
var labelOf = (node) => {
|
|
12036
|
+
const label = _nullishCoalesce(_optionalChain([node, 'access', _519 => _519.data, 'optionalAccess', _520 => _520.label]), () => ( _optionalChain([node, 'access', _521 => _521.data, 'optionalAccess', _522 => _522.name])));
|
|
12037
|
+
return typeof label === "string" && label !== "" ? label : void 0;
|
|
12038
|
+
};
|
|
12039
|
+
function createCanvasExplosionToolProvider(target, options = {}) {
|
|
12040
|
+
const readOnlyReason = () => {
|
|
12041
|
+
const ro = typeof options.readOnly === "function" ? options.readOnly() : options.readOnly;
|
|
12042
|
+
return ro ? typeof ro === "string" ? ro : "Exploding nodes is disabled on this canvas." : null;
|
|
12043
|
+
};
|
|
12044
|
+
const reasonNotExplodable = (node) => {
|
|
12045
|
+
const ok = target.canExplode ? target.canExplode(node) : true;
|
|
12046
|
+
if (ok === true) return null;
|
|
12047
|
+
return typeof ok === "string" && ok ? ok : `Node "${node.id}" has nothing to explode into.`;
|
|
12048
|
+
};
|
|
12049
|
+
const state = () => ({ exploded: [...target.exploded()], collapsing: [..._nullishCoalesce(_optionalChain([target, 'access', _523 => _523.collapsing, 'optionalCall', _524 => _524()]), () => ( []))] });
|
|
12050
|
+
const findNode = (id) => {
|
|
12051
|
+
const node = target.getNodes().find((n3) => n3.id === id);
|
|
12052
|
+
if (!node) throw new Error(`No node "${id}" on the canvas. Call list_explodable_nodes for node ids.`);
|
|
12053
|
+
return node;
|
|
12054
|
+
};
|
|
12055
|
+
const refuseIfReadOnly = () => {
|
|
12056
|
+
const reason = readOnlyReason();
|
|
12057
|
+
if (reason) throw new Error(reason);
|
|
12058
|
+
};
|
|
12059
|
+
const listTool = {
|
|
12060
|
+
name: "list_explodable_nodes",
|
|
12061
|
+
title: "List explodable nodes",
|
|
12062
|
+
description: "Lists the canvas nodes that can explode into child nodes (id, label, exploded, collapsing), plus the ids currently exploded and collapsing, and whether exploding is read-only. Call before explode_node or collapse_node.",
|
|
12063
|
+
inputSchema: { type: "object", properties: {}, additionalProperties: false },
|
|
12064
|
+
annotations: { title: "List explodable nodes", ...READ },
|
|
12065
|
+
handler: () => {
|
|
12066
|
+
const { exploded, collapsing } = state();
|
|
12067
|
+
const nodes = target.getNodes().filter((n3) => exploded.includes(n3.id) || reasonNotExplodable(n3) === null).map((n3) => ({
|
|
12068
|
+
id: n3.id,
|
|
12069
|
+
...labelOf(n3) ? { label: labelOf(n3) } : {},
|
|
12070
|
+
exploded: exploded.includes(n3.id),
|
|
12071
|
+
collapsing: collapsing.includes(n3.id)
|
|
12072
|
+
}));
|
|
12073
|
+
return { nodes, exploded, collapsing, multiple: target.multiple === true, readOnly: readOnlyReason() };
|
|
12074
|
+
}
|
|
12075
|
+
};
|
|
12076
|
+
const explodeTool = {
|
|
12077
|
+
name: "explode_node",
|
|
12078
|
+
title: "Explode a node",
|
|
12079
|
+
description: "Expands a node into its child nodes (subtasks, steps, details), moving surrounding nodes to make room. Unless several can be open at once, the node exploded before collapses. Exploding an exploded node changes nothing. Returns the node, the ids now exploded, and the ids that collapsed.",
|
|
12080
|
+
inputSchema: {
|
|
12081
|
+
type: "object",
|
|
12082
|
+
properties: {
|
|
12083
|
+
node: { type: "string", minLength: 1, description: "Id of the node to explode, from list_explodable_nodes." }
|
|
12084
|
+
},
|
|
12085
|
+
required: ["node"],
|
|
12086
|
+
additionalProperties: false
|
|
12087
|
+
},
|
|
12088
|
+
annotations: { title: "Explode a node", ...WRITE_IDEMPOTENT },
|
|
12089
|
+
handler: async (args) => {
|
|
12090
|
+
refuseIfReadOnly();
|
|
12091
|
+
const node = findNode(args.node);
|
|
12092
|
+
const before = state().exploded;
|
|
12093
|
+
if (before.includes(node.id)) return { node: node.id, changed: false, exploded: before, collapsed: [] };
|
|
12094
|
+
const reason = reasonNotExplodable(node);
|
|
12095
|
+
if (reason) throw new Error(reason);
|
|
12096
|
+
if (await target.explode(node.id) === false) {
|
|
12097
|
+
throw new Error(`Node "${node.id}" could not explode (the canvas refused, e.g. an animation is running). Try again or call list_explodable_nodes.`);
|
|
12098
|
+
}
|
|
12099
|
+
const after = state().exploded;
|
|
12100
|
+
return { node: node.id, changed: true, exploded: after, collapsed: before.filter((id) => !after.includes(id)) };
|
|
12101
|
+
}
|
|
12102
|
+
};
|
|
12103
|
+
const collapseTool = {
|
|
12104
|
+
name: "collapse_node",
|
|
12105
|
+
title: "Collapse a node",
|
|
12106
|
+
description: "Collapses an exploded node: its child nodes are removed (after the collapse animation) and moved nodes return to where they were. Returns the node and the ids still exploded.",
|
|
12107
|
+
inputSchema: {
|
|
12108
|
+
type: "object",
|
|
12109
|
+
properties: {
|
|
12110
|
+
node: { type: "string", minLength: 1, description: "Id of an exploded node, from list_explodable_nodes (exploded: true)." }
|
|
12111
|
+
},
|
|
12112
|
+
required: ["node"],
|
|
12113
|
+
additionalProperties: false
|
|
12114
|
+
},
|
|
12115
|
+
annotations: { title: "Collapse a node", ...WRITE_IDEMPOTENT },
|
|
12116
|
+
handler: async (args) => {
|
|
12117
|
+
refuseIfReadOnly();
|
|
12118
|
+
const before = state().exploded;
|
|
12119
|
+
if (!before.includes(args.node)) {
|
|
12120
|
+
findNode(args.node);
|
|
12121
|
+
throw new Error(
|
|
12122
|
+
`Node "${args.node}" is not exploded${before.length ? ` (exploded: ${before.join(", ")})` : " (nothing is exploded)"}. Call list_explodable_nodes.`
|
|
12123
|
+
);
|
|
12124
|
+
}
|
|
12125
|
+
if (await target.collapse(args.node) === false) {
|
|
12126
|
+
throw new Error(`Node "${args.node}" could not collapse (the canvas refused). Try again or call list_explodable_nodes.`);
|
|
12127
|
+
}
|
|
12128
|
+
return { node: args.node, exploded: state().exploded, collapsing: state().collapsing };
|
|
12129
|
+
}
|
|
12130
|
+
};
|
|
12131
|
+
return {
|
|
12132
|
+
id: _nullishCoalesce(options.id, () => ( "canvas-explosion")),
|
|
12133
|
+
namespace: options.namespace,
|
|
12134
|
+
title: "Canvas explosion",
|
|
12135
|
+
description: "Explode canvas nodes into their child nodes and collapse them again.",
|
|
12136
|
+
skill: "pixerate-canvas",
|
|
12137
|
+
tools: () => readOnlyReason() ? [listTool] : [listTool, explodeTool, collapseTool],
|
|
12138
|
+
subscribe: options.subscribe
|
|
12139
|
+
};
|
|
12140
|
+
}
|
|
12141
|
+
|
|
12142
|
+
|
|
12143
|
+
|
|
12144
|
+
|
|
12145
|
+
|
|
12146
|
+
|
|
12147
|
+
|
|
12148
|
+
|
|
11805
12149
|
|
|
11806
12150
|
|
|
11807
12151
|
|
|
@@ -12301,4 +12645,4 @@ function createCanvasGestureRecorder(options) {
|
|
|
12301
12645
|
|
|
12302
12646
|
|
|
12303
12647
|
|
|
12304
|
-
exports.ANIMATABLE_PROPERTIES = ANIMATABLE_PROPERTIES; exports.ANIMATION_DATA_KEY = ANIMATION_DATA_KEY; exports.ANIMATION_EASING_LABELS = _chunkDWJJI6RTcjs.ANIMATION_EASING_LABELS; exports.ANIMATION_EASING_PRESETS = _chunkDWJJI6RTcjs.ANIMATION_EASING_PRESETS; exports.ANIMATION_TIME_EPSILON = _chunkGTELFJREcjs.ANIMATION_TIME_EPSILON; exports.AUTO_LAYOUT_DATA_KEY = AUTO_LAYOUT_DATA_KEY; exports.AnimationEditError = AnimationEditError; exports.AnimationPlayer = _chunkGTELFJREcjs.AnimationPlayer; exports.BUILTIN_FAMILY_SCENES = BUILTIN_FAMILY_SCENES; exports.CANVAS_CAPTURE_CHROME_SELECTORS = CANVAS_CAPTURE_CHROME_SELECTORS; exports.CANVAS_CAPTURE_OVERLAY_SELECTORS = CANVAS_CAPTURE_OVERLAY_SELECTORS; exports.CANVAS_CAPTURE_VIEWPORT_SELECTOR = CANVAS_CAPTURE_VIEWPORT_SELECTOR; exports.CANVAS_COMPONENT_DRAG_TYPE = CANVAS_COMPONENT_DRAG_TYPE; exports.CANVAS_EFFECT_PLACES = CANVAS_EFFECT_PLACES; exports.CANVAS_GRADIENT_PRESETS = _chunkNM3G4VQTcjs.CANVAS_GRADIENT_PRESETS; exports.CANVAS_TOKEN_PROPERTIES = CANVAS_TOKEN_PROPERTIES; exports.CARD_INSPECTION_ZONES = CARD_INSPECTION_ZONES; exports.CHILD_LAYOUT_DATA_KEY = CHILD_LAYOUT_DATA_KEY; exports.COMPONENT_DATA_KEY = COMPONENT_DATA_KEY; exports.COMPONENT_OVERRIDES_DATA_KEY = COMPONENT_OVERRIDES_DATA_KEY; exports.COMPONENT_PROPERTY_REFS_DATA_KEY = COMPONENT_PROPERTY_REFS_DATA_KEY; exports.COMPONENT_SET_DATA_KEY = COMPONENT_SET_DATA_KEY; exports.COMPONENT_SOURCE_DATA_KEY = COMPONENT_SOURCE_DATA_KEY; exports.CONNECTION_LINE_TYPES = CONNECTION_LINE_TYPES; exports.CSS_ANIMATION_PROPERTIES = CSS_ANIMATION_PROPERTIES; exports.CSS_VARIABLE_DIAGRAM_SCENE_THEME = CSS_VARIABLE_DIAGRAM_SCENE_THEME; exports.CUBIC_BEZIER_PRESETS = _chunkDWJJI6RTcjs.CUBIC_BEZIER_PRESETS; exports.CanvasScenesStore = CanvasScenesStore; exports.DEFAULT_ARRANGE_SHORTCUTS = _chunk4EFNS2HVcjs.DEFAULT_ARRANGE_SHORTCUTS; exports.DEFAULT_CURSOR_INACTIVITY_MS = DEFAULT_CURSOR_INACTIVITY_MS; exports.DEFAULT_DIAGRAM_NODE_HEIGHT = DEFAULT_DIAGRAM_NODE_HEIGHT; exports.DEFAULT_DIAGRAM_NODE_WIDTH = DEFAULT_DIAGRAM_NODE_WIDTH; exports.DEFAULT_NODE_HEIGHT = _chunkEL4PSKFTcjs.DEFAULT_NODE_HEIGHT; exports.DEFAULT_NODE_WIDTH = _chunkEL4PSKFTcjs.DEFAULT_NODE_WIDTH; exports.DEFAULT_PLACEMENT_GAP = _chunkEL4PSKFTcjs.DEFAULT_PLACEMENT_GAP; exports.DIAGRAM_MARKER_IDS = DIAGRAM_MARKER_IDS; exports.DIAGRAM_RASTER_MAX_SIZE = DIAGRAM_RASTER_MAX_SIZE; exports.DIAGRAM_SCENE_DARK_THEME = DIAGRAM_SCENE_DARK_THEME; exports.DIAGRAM_SCENE_LIGHT_THEME = DIAGRAM_SCENE_LIGHT_THEME; exports.DIAGRAM_SVG_DARK_THEME = DIAGRAM_SVG_DARK_THEME; exports.DIAGRAM_SVG_LIGHT_THEME = DIAGRAM_SVG_LIGHT_THEME; exports.DIAGRAM_TITLE_TARGET = DIAGRAM_TITLE_TARGET; exports.DiagramStream = DiagramStream; exports.INSTANCE_DATA_KEY = INSTANCE_DATA_KEY; exports.LOCKED_DATA_KEY = _chunkEL4PSKFTcjs.LOCKED_DATA_KEY; exports.LOCKED_PREVIOUS_FLAGS_KEY = _chunkEL4PSKFTcjs.LOCKED_PREVIOUS_FLAGS_KEY; exports.MAX_KEYFRAME_REFS = MAX_KEYFRAME_REFS; exports.MERMAID_SHAPE_PAINT = MERMAID_SHAPE_PAINT; exports.ManualClock = _chunkGTELFJREcjs.ManualClock; exports.PATHFINDER_OPERATIONS = _chunkYAWLMF3Ocjs.PATHFINDER_OPERATIONS; exports.PIXERATE_BRAND_GRADIENT = _chunkNM3G4VQTcjs.PIXERATE_BRAND_GRADIENT; exports.PathOpsError = _chunkGF2RBSDMcjs.PathOpsError; exports.PlanarMap = _chunkYAWLMF3Ocjs.PlanarMap; exports.RESIZE_HANDLES = RESIZE_HANDLES; exports.SHAPE_DATA_KEY = SHAPE_DATA_KEY; exports.SHAPE_KINDS = _chunkNM3G4VQTcjs.SHAPE_KINDS; exports.SHAPE_NODE_TYPE = SHAPE_NODE_TYPE; exports.SHAPE_OPERATIONS = SHAPE_OPERATIONS; exports.SPRING_PRESETS = _chunkDWJJI6RTcjs.SPRING_PRESETS; exports.StreamingLayoutManager = StreamingLayoutManager; exports.TOKEN_BINDINGS_DATA_KEY = TOKEN_BINDINGS_DATA_KEY; exports.TOKEN_MODES_DATA_KEY = TOKEN_MODES_DATA_KEY; exports.addCanvasVariant = addCanvasVariant; exports.addKeyframesAtTime = addKeyframesAtTime; exports.alignNodes = _chunkEL4PSKFTcjs.alignNodes; exports.angleToSvgLinearCoords = _chunkNM3G4VQTcjs.angleToSvgLinearCoords; exports.animateNode = animateNode; exports.applyAnimation = applyAnimation; exports.applyAnimationOverrides = applyAnimationOverrides; exports.applyConstraints = applyConstraints; exports.applyNodeUpdates = _chunkEL4PSKFTcjs.applyNodeUpdates; exports.applyShapeCombination = applyShapeCombination; exports.applyShapeReplacement = applyShapeReplacement; exports.arcToCubics = _chunkGF2RBSDMcjs.arcToCubics; exports.architectureScene = architectureScene; exports.autoLayoutDiagram = autoLayoutDiagram; exports.bezierPathArea = _chunkGF2RBSDMcjs.bezierPathArea; exports.bezierPathBounds = _chunkGF2RBSDMcjs.bezierPathBounds; exports.bezierPathLength = _chunkGF2RBSDMcjs.bezierPathLength; exports.bezierPathPointAtLength = _chunkGF2RBSDMcjs.bezierPathPointAtLength; exports.bezierPathSignedArea = _chunkGF2RBSDMcjs.bezierPathSignedArea; exports.bezierPathToSvg = _chunkGF2RBSDMcjs.bezierPathToSvg; exports.bindCanvasComponentProperty = bindCanvasComponentProperty; exports.bindCanvasToken = bindCanvasToken; exports.blendDiagramLayout = blendDiagramLayout; exports.blendLayout = blendLayout; exports.boundsOf = _chunkEL4PSKFTcjs.boundsOf; exports.brushstrokeScaleBucket = _chunkYQGCPL5Xcjs.brushstrokeScaleBucket; exports.brushstrokeSeed = _chunkWTW7QRTScjs.brushstrokeSeed; exports.c4Scene = c4Scene; exports.calculateCursorArrowRotation = calculateCursorArrowRotation; exports.calculateCurvedPath = calculateCurvedPath; exports.calculateDagreReflowDisplacement = calculateDagreReflowDisplacement; exports.calculateDirectionalDisplacement = calculateDirectionalDisplacement; exports.canCombineShapeNodes = canCombineShapeNodes; exports.canOffsetShapeNodes = canOffsetShapeNodes; exports.canOutlineShapeNodeStrokes = canOutlineShapeNodeStrokes; exports.canvasEffectsPool = canvasEffectsPool; exports.canvasHeight = canvasHeight; exports.canvasNodeCaptureRect = canvasNodeCaptureRect; exports.canvasNodeEffect = canvasNodeEffect; exports.captureCanvasView = captureCanvasView; exports.centerNodes = _chunkEL4PSKFTcjs.centerNodes; exports.centre = _chunkEL4PSKFTcjs.centre; exports.clampAnimationValue = clampAnimationValue; exports.clampLayoutSize = clampLayoutSize; exports.closeContour = _chunkGF2RBSDMcjs.closeContour; exports.collectDescendantIds = collectDescendantIds; exports.combineCanvasComponentsAsVariants = combineCanvasComponentsAsVariants; exports.combineShapeNodes = combineShapeNodes; exports.computeDragBounds = computeDragBounds; exports.computeDragBoundsFromPoints = computeDragBoundsFromPoints; exports.computeNodesBoundingBox = computeNodesBoundingBox; exports.computeSnapGuides = computeSnapGuides; exports.connectedDiagramOnly = connectedDiagramOnly; exports.connectedOnly = connectedOnly; exports.contourEnclosesArea = _chunkYAWLMF3Ocjs.contourEnclosesArea; exports.contourSignedArea = _chunkGF2RBSDMcjs.contourSignedArea; exports.contoursToPath = _chunkGF2RBSDMcjs.contoursToPath; exports.copyKeyframes = copyKeyframes; exports.countPathSegments = _chunkGF2RBSDMcjs.countPathSegments; exports.createAnimationPlayer = _chunkGTELFJREcjs.createAnimationPlayer; exports.createBezierTrajectory = createBezierTrajectory; exports.createCanvasAnimationController = createCanvasAnimationController; exports.createCanvasArrangeController = createCanvasArrangeController; exports.createCanvasAutoLayoutController = createCanvasAutoLayoutController; exports.createCanvasCaptureSurface = createCanvasCaptureSurface; exports.createCanvasCaptureToolProvider = createCanvasCaptureToolProvider; exports.createCanvasComponent = createCanvasComponent; exports.createCanvasComponentsController = createCanvasComponentsController; exports.createCanvasDrawController = createCanvasDrawController; exports.createCanvasEditorDocument = createCanvasEditorDocument; exports.createCanvasEffectsController = createCanvasEffectsController; exports.createCanvasEffectsToolProvider = createCanvasEffectsToolProvider; exports.createCanvasGestureRecorder = createCanvasGestureRecorder; exports.createCanvasInstance = createCanvasInstance; exports.createCanvasPlaybackLocator = createCanvasPlaybackLocator; exports.createCanvasScenesStore = createCanvasScenesStore; exports.createDefaultStrokeStyle = createDefaultStrokeStyle; exports.createFanOutTrajectory = createFanOutTrajectory; exports.createGuideIndex = createGuideIndex; exports.createNodeGuideIndex = createNodeGuideIndex; exports.createNodeLookup = _chunkEL4PSKFTcjs.createNodeLookup; exports.cubicBezierAt = _chunkDWJJI6RTcjs.cubicBezierAt; exports.cubicPointAt = _chunkNM3G4VQTcjs.cubicPointAt; exports.cubicsToPathData = _chunkNM3G4VQTcjs.cubicsToPathData; exports.cutOutPiece = _chunkYAWLMF3Ocjs.cutOutPiece; exports.dashContours = _chunkGF2RBSDMcjs.dashContours; exports.defaultEasing = defaultEasing; exports.deleteKeyframes = deleteKeyframes; exports.detachCanvasInstance = detachCanvasInstance; exports.detachTokenBindings = detachTokenBindings; exports.diagramCanvasHeight = diagramCanvasHeight; exports.diagramFileName = diagramFileName; exports.diagramGroupSize = diagramGroupSize; exports.diagramImageSize = diagramImageSize; exports.diagramLayoutBounds = diagramLayoutBounds; exports.diagramMarksBounds = diagramMarksBounds; exports.diagramMarksToSvg = diagramMarksToSvg; exports.diagramRenameOp = diagramRenameOp; exports.diagramTargetLabel = diagramTargetLabel; exports.diagramTextBaseline = diagramTextBaseline; exports.diffOverrideGroups = diffOverrideGroups; exports.distanceToBezierPath = _chunkGF2RBSDMcjs.distanceToBezierPath; exports.distributeNodes = _chunkEL4PSKFTcjs.distributeNodes; exports.dividePaths = _chunkGF2RBSDMcjs.dividePaths; exports.dividePolygons = _chunkGF2RBSDMcjs.dividePolygons; exports.downloadDiagramPng = downloadDiagramPng; exports.easeDiagramTween = easeDiagramTween; exports.easingFromInfluence = _chunkDWJJI6RTcjs.easingFromInfluence; exports.easingLabel = _chunkDWJJI6RTcjs.easingLabel; exports.easingToCss = _chunkDWJJI6RTcjs.easingToCss; exports.elasticAt = _chunkDWJJI6RTcjs.elasticAt; exports.ensureDiagramLayout = ensureDiagramLayout; exports.ensureLayout = _chunkEL4PSKFTcjs.ensureLayout; exports.estimateCanvasHeight = estimateCanvasHeight; exports.estimateDiagramCanvasHeight = estimateDiagramCanvasHeight; exports.estimateDiagramNodeSize = estimateDiagramNodeSize; exports.estimateNodeSize = _chunkEL4PSKFTcjs.estimateNodeSize; exports.estimateTextWidth = estimateTextWidth2; exports.evaluateAnimation = evaluateAnimation; exports.evaluateEasing = _chunkDWJJI6RTcjs.evaluateEasing; exports.evaluateTrack = _chunkGTELFJREcjs.evaluateTrack; exports.excludePaths = _chunkGF2RBSDMcjs.excludePaths; exports.exportCssAnimation = exportCssAnimation; exports.familySceneFromLayout = familySceneFromLayout; exports.findConnectorSnap = findConnectorSnap; exports.findStrokesAtPoint = findStrokesAtPoint; exports.findVariant = findVariant; exports.fitCubicRun = _chunkNM3G4VQTcjs.fitCubicRun; exports.fitCubicWithTangents = _chunkNM3G4VQTcjs.fitCubicWithTangents; exports.fitCubics = _chunkNM3G4VQTcjs.fitCubics; exports.fitFreehandPath = _chunkNM3G4VQTcjs.fitFreehandPath; exports.fitPathData = _chunkNM3G4VQTcjs.fitPathData; exports.fitViewportToNodes = fitViewportToNodes; exports.fitViewportToRect = fitViewportToRect; exports.flattenSvgPath = _chunkNM3G4VQTcjs.flattenSvgPath; exports.flowSide = _chunkEL4PSKFTcjs.flowSide; exports.formatAgentCursorName = formatAgentCursorName; exports.formatAnimationTime = formatAnimationTime; exports.formatNumber = _chunkNM3G4VQTcjs.formatNumber; exports.formatOklab = _chunkCIPIESX4cjs.formatOklab; exports.formatVariantName = formatVariantName; exports.freehandBrushstroke = freehandBrushstroke; exports.ganttScene = ganttScene; exports.getAbsolutePosition = _chunkEL4PSKFTcjs.getAbsolutePosition; exports.getAgentCardAnchor = getAgentCardAnchor; exports.getAnimatableProperty = getAnimatableProperty; exports.getAnimatedProperties = getAnimatedProperties; exports.getAnimatedValue = getAnimatedValue; exports.getAnimationDuration = getAnimationDuration; exports.getAnimationTrack = getAnimationTrack; exports.getAutoLayout = getAutoLayout; exports.getAutoLayoutGrid = getAutoLayoutGrid; exports.getAutoLayoutInsertTarget = getAutoLayoutInsertTarget; exports.getBindableTokenProperties = getBindableTokenProperties; exports.getBrushedShapeSvg = _chunkWTW7QRTScjs.getBrushedShapeSvg; exports.getCanvasComponentDragId = getCanvasComponentDragId; exports.getCanvasTokenProperty = getCanvasTokenProperty; exports.getCenteredNodePosition = _chunkEL4PSKFTcjs.getCenteredNodePosition; exports.getChildLayout = getChildLayout; exports.getComponentData = getComponentData; exports.getComponentInstances = getComponentInstances; exports.getComponentPropertyDefs = getComponentPropertyDefs; exports.getComponentPropertyRefs = getComponentPropertyRefs; exports.getComponentSourceId = getComponentSourceId; exports.getCssPropertyAnimations = getCssPropertyAnimations; exports.getCursorTransitionDuration = getCursorTransitionDuration; exports.getDefaultVariant = getDefaultVariant; exports.getEffectiveTokenModes = getEffectiveTokenModes; exports.getFamilyScene = getFamilyScene; exports.getFlowChildren = getFlowChildren; exports.getInstanceData = getInstanceData; exports.getInstanceProperties = getInstanceProperties; exports.getInstanceStatus = getInstanceStatus; exports.getKeyframeTimes = getKeyframeTimes; exports.getLayerName = getLayerName; exports.getLayoutParent = getLayoutParent; exports.getLayoutSizing = getLayoutSizing; exports.getLayoutedNodes = _chunkEL4PSKFTcjs.getLayoutedNodes; exports.getNaturalMovementTiming = getNaturalMovementTiming; exports.getNextVariantValues = getNextVariantValues; exports.getNodeAnimation = getNodeAnimation; exports.getNodeOverrides = getNodeOverrides; exports.getNodeRect = _chunkEL4PSKFTcjs.getNodeRect; exports.getNodeShape = getNodeShape; exports.getNodeSize = _chunkEL4PSKFTcjs.getNodeSize; exports.getNodeTokenBindings = getNodeTokenBindings; exports.getNodeTokenModes = getNodeTokenModes; exports.getOwningComponent = getOwningComponent; exports.getOwningInstance = getOwningInstance; exports.getResizingNodeRect = getResizingNodeRect; exports.getRootInstance = getRootInstance; exports.getShapeRenderData = _chunkNM3G4VQTcjs.getShapeRenderData; exports.getShapeSvg = _chunkNM3G4VQTcjs.getShapeSvg; exports.getTimelineRows = getTimelineRows; exports.getTimelineTicks = getTimelineTicks; exports.getTokenPropertyScope = getTokenPropertyScope; exports.getTokensForProperty = getTokensForProperty; exports.getVariantConflicts = getVariantConflicts; exports.getVariantOptions = getVariantOptions; exports.getVariantSet = getVariantSet; exports.getVariantValues = getVariantValues; exports.gitGraphScene = gitGraphScene; exports.gradientToSvgDef = _chunkNM3G4VQTcjs.gradientToSvgDef; exports.handlePoint = handlePoint; exports.hasFamilyScene = hasFamilyScene; exports.hasVisibleStroke = hasVisibleStroke; exports.hashString = hashString; exports.hatchPath = _chunkYAWLMF3Ocjs.hatchPath; exports.inferResizeHandle = inferResizeHandle; exports.inspectCanvasInstance = inspectCanvasInstance; exports.inspectNodeTokens = inspectNodeTokens; exports.interiorPoint = _chunkYAWLMF3Ocjs.interiorPoint; exports.interpolateAnimationValue = _chunkGTELFJREcjs.interpolateAnimationValue; exports.intersectPaths = _chunkGF2RBSDMcjs.intersectPaths; exports.intersectPolygons = _chunkGF2RBSDMcjs.intersectPolygons; exports.invertNodeUpdates = _chunkEL4PSKFTcjs.invertNodeUpdates; exports.isAgentCursor = isAgentCursor; exports.isAnimationEasing = _chunkDWJJI6RTcjs.isAnimationEasing; exports.isAnimationKeyframe = _chunkGTELFJREcjs.isAnimationKeyframe; exports.isAutoLayoutFrame = isAutoLayoutFrame; exports.isBrushedShape = _chunkWTW7QRTScjs.isBrushedShape; exports.isCanvasComponent = isCanvasComponent; exports.isCanvasComponentSet = isCanvasComponentSet; exports.isCanvasGradient = _chunkNM3G4VQTcjs.isCanvasGradient; exports.isCanvasInstance = isCanvasInstance; exports.isCssExportExact = isCssExportExact; exports.isEventFromTextInput = isEventFromTextInput; exports.isInsideInstance = isInsideInstance; exports.isKeyframeSelected = isKeyframeSelected; exports.isLocked = _chunkEL4PSKFTcjs.isLocked; exports.isMeasureModifierHeld = isMeasureModifierHeld; exports.isNodeAnimated = isNodeAnimated; exports.isShapeDescription = _chunkNM3G4VQTcjs.isShapeDescription; exports.isShapeNode = isShapeNode; exports.isStraightCubic = _chunkNM3G4VQTcjs.isStraightCubic; exports.isValidCanvasEdge = isValidCanvasEdge; exports.isValidCanvasNode = isValidCanvasNode; exports.isValidCanvasScene = isValidCanvasScene; exports.isValidUrl = isValidUrl; exports.journeyScene = journeyScene; exports.layoutAll = layoutAll; exports.layoutBounds = layoutBounds; exports.layoutFrame = layoutFrame; exports.layoutUp = layoutUp; exports.layoutUpMany = layoutUpMany; exports.linearPositionTrajectory = linearPositionTrajectory; exports.linearTrajectory = linearTrajectory; exports.listCanvasBrushes = _chunkWTW7QRTScjs.listCanvasBrushes; exports.listCanvasComponents = listCanvasComponents; exports.loadCanvasBrushstrokeRenderer = _chunkWTW7QRTScjs.loadCanvasBrushstrokeRenderer; exports.lockNodes = _chunkEL4PSKFTcjs.lockNodes; exports.makeSizingCoherent = makeSizingCoherent; exports.matchArrangeShortcut = _chunk4EFNS2HVcjs.matchArrangeShortcut; exports.matchSize = _chunkEL4PSKFTcjs.matchSize; exports.measureBetween = measureBetween; exports.measureLabel = measureLabel; exports.measureSelection = measureSelection; exports.measureToLine = measureToLine; exports.mergeNodeUpdates = mergeNodeUpdates; exports.mermaidEdgeDash = mermaidEdgeDash; exports.mermaidEdgeMarker = mermaidEdgeMarker; exports.mermaidEdgeWidth = mermaidEdgeWidth; exports.mermaidFlowEdges = mermaidFlowEdges; exports.mermaidFlowNodes = mermaidFlowNodes; exports.mermaidLabelLines = mermaidLabelLines; exports.mermaidMarkerId = mermaidMarkerId; exports.mermaidMovesFromCanvas = mermaidMovesFromCanvas; exports.mermaidNodeMembers = mermaidNodeMembers; exports.mermaidNodePaint = mermaidNodePaint; exports.mermaidShapePaths = mermaidShapePaths; exports.mermaidThumbnailSvg = mermaidThumbnailSvg; exports.mermaidToCanvas = mermaidToCanvas; exports.mermaidToScene = mermaidToScene; exports.mermaidToSvg = mermaidToSvg; exports.mindmapScene = mindmapScene; exports.mixColorsOklab = _chunkCIPIESX4cjs.mixColorsOklab; exports.moveKeyframes = moveKeyframes; exports.moveLayoutChild = moveLayoutChild; exports.multiPolygonArea = _chunkGF2RBSDMcjs.multiPolygonArea; exports.multiPolygonBounds = _chunkGF2RBSDMcjs.multiPolygonBounds; exports.nearestHandlePositions = nearestHandlePositions; exports.normalizeBezierPath = _chunkGF2RBSDMcjs.normalizeBezierPath; exports.normalizeKeyframes = _chunkGTELFJREcjs.normalizeKeyframes; exports.offsetPath = _chunkGF2RBSDMcjs.offsetPath; exports.offsetShapeNodes = offsetShapeNodes; exports.oklabToRgb = _chunkCIPIESX4cjs.oklabToRgb; exports.oppositePosition = oppositePosition; exports.outlineShapeNodeStrokes = outlineShapeNodeStrokes; exports.outlineStroke = _chunkGF2RBSDMcjs.outlineStroke; exports.overlaps = _chunkEL4PSKFTcjs.overlaps; exports.pageHidden = _chunkGTELFJREcjs.pageHidden; exports.parseCanvasClipboardData = parseCanvasClipboardData; exports.parseCanvasScenes = parseCanvasScenes; exports.parseCssEasing = _chunkDWJJI6RTcjs.parseCssEasing; exports.parseCssGradient = _chunkNM3G4VQTcjs.parseCssGradient; exports.parseKeyframeClipboard = parseKeyframeClipboard; exports.parseMermaidStyles = parseMermaidStyles; exports.parseNodeStyleDeclarations = parseNodeStyleDeclarations; exports.parseOklab = _chunkCIPIESX4cjs.parseOklab; exports.parseSvgPath = _chunkNM3G4VQTcjs.parseSvgPath; exports.parseVariantName = parseVariantName; exports.pasteKeyframes = pasteKeyframes; exports.pathBoolean = _chunkGF2RBSDMcjs.pathBoolean; exports.pathBooleanSelect = _chunkGF2RBSDMcjs.pathBooleanSelect; exports.pathDataToPolyline = _chunkWTW7QRTScjs.pathDataToPolyline; exports.pathToContours = _chunkGF2RBSDMcjs.pathToContours; exports.pathfinder = _chunkYAWLMF3Ocjs.pathfinder; exports.pieScene = pieScene; exports.placeBeside = _chunkEL4PSKFTcjs.placeBeside; exports.placeInView = _chunkEL4PSKFTcjs.placeInView; exports.planarSplit = _chunkGF2RBSDMcjs.planarSplit; exports.playCanvasSceneTransition = playCanvasSceneTransition; exports.playWebAnimations = playWebAnimations; exports.pointInBezierPath = _chunkGF2RBSDMcjs.pointInBezierPath; exports.pointInMultiPolygon = _chunkGF2RBSDMcjs.pointInMultiPolygon; exports.pointInRings = _chunkGF2RBSDMcjs.pointInRings; exports.pointerPenSample = pointerPenSample; exports.polygonArea = _chunkGF2RBSDMcjs.polygonArea; exports.polygonBoolean = _chunkGF2RBSDMcjs.polygonBoolean; exports.polygonToSvgPath = _chunkNM3G4VQTcjs.polygonToSvgPath; exports.positionToSide = positionToSide; exports.profileAlongPolyline = _chunkWTW7QRTScjs.profileAlongPolyline; exports.pruneCanvasTokenModes = pruneCanvasTokenModes; exports.pushCanvasInstanceOverrides = pushCanvasInstanceOverrides; exports.quadrantScene = quadrantScene; exports.radarChartSpec = radarChartSpec; exports.radarScene = radarScene; exports.rasterSize = rasterSize; exports.rasterizeSvg = rasterizeSvg; exports.readAnimatableValue = readAnimatableValue; exports.readNodeStyleProperty = readNodeStyleProperty; exports.readOverrideGroup = readOverrideGroup; exports.readStyleSize = _chunkEL4PSKFTcjs.readStyleSize; exports.realClock = _chunkGTELFJREcjs.realClock; exports.recordAnimationChanges = recordAnimationChanges; exports.registerFamilyScene = registerFamilyScene; exports.relayoutUpdates = relayoutUpdates; exports.remapPastedNodes = remapPastedNodes; exports.removeCanvasVariant = removeCanvasVariant; exports.removeTrack = removeTrack; exports.renameCanvasVariantProperty = renameCanvasVariantProperty; exports.renameCanvasVariantValue = renameCanvasVariantValue; exports.renderCanvasBrushSwatch = _chunkWTW7QRTScjs.renderCanvasBrushSwatch; exports.renderShapeBrushstroke = _chunkWTW7QRTScjs.renderShapeBrushstroke; exports.reorderNodes = _chunkEL4PSKFTcjs.reorderNodes; exports.repositionNodesTo = repositionNodesTo; exports.resetCanvasInstanceOverrides = resetCanvasInstanceOverrides; exports.resizeHandleAxes = resizeHandleAxes; exports.resolveCanvasGradient = _chunkNM3G4VQTcjs.resolveCanvasGradient; exports.resolveCanvasTokens = resolveCanvasTokens; exports.resolveEasing = _chunkDWJJI6RTcjs.resolveEasing; exports.resolveMermaidStyles = resolveMermaidStyles; exports.resolvePadding = resolvePadding; exports.restoreCanvasMainComponent = restoreCanvasMainComponent; exports.reverseCubicBezier = _chunkDWJJI6RTcjs.reverseCubicBezier; exports.revertShapeCombination = revertShapeCombination; exports.rgbToOklab = _chunkCIPIESX4cjs.rgbToOklab; exports.ringSignedArea = _chunkGF2RBSDMcjs.ringSignedArea; exports.runCanvasNodeEffect = runCanvasNodeEffect; exports.runMultiNodeTransition = runMultiNodeTransition; exports.sampleAnimationFrames = sampleAnimationFrames; exports.scaleKeyframes = scaleKeyframes; exports.sceneColor = sceneColor; exports.segmentBounds = _chunkGF2RBSDMcjs.segmentBounds; exports.segmentCurvature = _chunkGF2RBSDMcjs.segmentCurvature; exports.segmentDerivative = _chunkGF2RBSDMcjs.segmentDerivative; exports.segmentExtrema = _chunkGF2RBSDMcjs.segmentExtrema; exports.segmentIntersections = _chunkGF2RBSDMcjs.segmentIntersections; exports.segmentLength = _chunkGF2RBSDMcjs.segmentLength; exports.segmentNearest = _chunkGF2RBSDMcjs.segmentNearest; exports.segmentParamAtLength = _chunkGF2RBSDMcjs.segmentParamAtLength; exports.segmentPoint = _chunkGF2RBSDMcjs.segmentPoint; exports.segmentTangent = _chunkGF2RBSDMcjs.segmentTangent; exports.sequenceScene = sequenceScene; exports.serializeCanvasNodes = serializeCanvasNodes; exports.setCanvasComponentProperty = setCanvasComponentProperty; exports.setCanvasInstanceProperties = setCanvasInstanceProperties; exports.setCanvasTokenMode = setCanvasTokenMode; exports.setCanvasVariantProperties = setCanvasVariantProperties; exports.setKeyframe = setKeyframe; exports.setKeyframeEasing = setKeyframeEasing; exports.setMotionPath = setMotionPath; exports.setTrackEnabled = setTrackEnabled; exports.shapeNodeToBezierPath = shapeNodeToBezierPath; exports.shapeNodeToPolygon = shapeNodeToPolygon; exports.shapeToBezierPath = shapeToBezierPath; exports.shapeToPolygon = _chunkNM3G4VQTcjs.shapeToPolygon; exports.sideToPosition = sideToPosition; exports.simplifyRing = _chunkNM3G4VQTcjs.simplifyRing; exports.snapKeyframeDelta = snapKeyframeDelta; exports.snapNodeDrag = snapNodeDrag; exports.snapNodeResize = snapNodeResize; exports.snapResize = snapResize; exports.snapTimeToFrame = snapTimeToFrame; exports.snapToGrid = snapToGrid; exports.splitSegment = _chunkGF2RBSDMcjs.splitSegment; exports.springAt = _chunkDWJJI6RTcjs.springAt; exports.springSettleMs = _chunkDWJJI6RTcjs.springSettleMs; exports.streamedDiagramText = streamedDiagramText; exports.streamlinePoints = streamlinePoints; exports.strokeBoundingBox = strokeBoundingBox; exports.strokeOutlineRings = _chunkGF2RBSDMcjs.strokeOutlineRings; exports.strokePointsToPathData = strokePointsToPathData; exports.strokeToShapeNode = strokeToShapeNode; exports.subSegment = _chunkGF2RBSDMcjs.subSegment; exports.subtractPaths = _chunkGF2RBSDMcjs.subtractPaths; exports.subtractPolygons = _chunkGF2RBSDMcjs.subtractPolygons; exports.swapCanvasInstance = swapCanvasInstance; exports.syncAllCanvasInstances = syncAllCanvasInstances; exports.syncCanvasComponents = syncCanvasComponents; exports.syncCanvasInstance = syncCanvasInstance; exports.timeToX = timeToX; exports.timelineScene = timelineScene; exports.toBezierPath = _chunkGF2RBSDMcjs.toBezierPath; exports.toWebAnimations = toWebAnimations; exports.toggleLockNodes = _chunkEL4PSKFTcjs.toggleLockNodes; exports.transformBezierPath = _chunkGF2RBSDMcjs.transformBezierPath; exports.transitionCanvasView = transitionCanvasView; exports.trimSegments = _chunkGF2RBSDMcjs.trimSegments; exports.unionPolygons = _chunkGF2RBSDMcjs.unionPolygons; exports.unitePaths = _chunkGF2RBSDMcjs.unitePaths; exports.unlockNodes = _chunkEL4PSKFTcjs.unlockNodes; exports.updateKeyframe = updateKeyframe; exports.validateCanvasBrush = _chunkWTW7QRTScjs.validateCanvasBrush; exports.validateCanvasBrushPaint = _chunkWTW7QRTScjs.validateCanvasBrushPaint; exports.windingNumber = _chunkGF2RBSDMcjs.windingNumber; exports.withNodeAnimation = withNodeAnimation; exports.withStyleOpacity = withStyleOpacity; exports.withStyleSize = _chunkEL4PSKFTcjs.withStyleSize; exports.wouldCreateComponentCycle = wouldCreateComponentCycle; exports.wrapAnimationTime = _chunkGTELFJREcjs.wrapAnimationTime; exports.writeNodeStyleProperty = writeNodeStyleProperty; exports.writeOverrideGroup = writeOverrideGroup; exports.xToTime = xToTime; exports.xorPolygons = _chunkGF2RBSDMcjs.xorPolygons; exports.xyChartScene = xyChartScene; exports.xyChartSpec = xyChartSpec;
|
|
12648
|
+
exports.ANIMATABLE_PROPERTIES = ANIMATABLE_PROPERTIES; exports.ANIMATION_DATA_KEY = ANIMATION_DATA_KEY; exports.ANIMATION_EASING_LABELS = _chunkDWJJI6RTcjs.ANIMATION_EASING_LABELS; exports.ANIMATION_EASING_PRESETS = _chunkDWJJI6RTcjs.ANIMATION_EASING_PRESETS; exports.ANIMATION_TIME_EPSILON = _chunkM5GLQQWGcjs.ANIMATION_TIME_EPSILON; exports.AUTO_LAYOUT_DATA_KEY = AUTO_LAYOUT_DATA_KEY; exports.AnimationEditError = AnimationEditError; exports.AnimationPlayer = _chunkM5GLQQWGcjs.AnimationPlayer; exports.BUILTIN_FAMILY_SCENES = BUILTIN_FAMILY_SCENES; exports.CANVAS_CAPTURE_CHROME_SELECTORS = CANVAS_CAPTURE_CHROME_SELECTORS; exports.CANVAS_CAPTURE_OVERLAY_SELECTORS = CANVAS_CAPTURE_OVERLAY_SELECTORS; exports.CANVAS_CAPTURE_VIEWPORT_SELECTOR = CANVAS_CAPTURE_VIEWPORT_SELECTOR; exports.CANVAS_COMPONENT_DRAG_TYPE = CANVAS_COMPONENT_DRAG_TYPE; exports.CANVAS_EFFECT_PLACES = CANVAS_EFFECT_PLACES; exports.CANVAS_GRADIENT_PRESETS = _chunkNM3G4VQTcjs.CANVAS_GRADIENT_PRESETS; exports.CANVAS_TOKEN_PROPERTIES = CANVAS_TOKEN_PROPERTIES; exports.CARD_INSPECTION_ZONES = CARD_INSPECTION_ZONES; exports.CHILD_LAYOUT_DATA_KEY = CHILD_LAYOUT_DATA_KEY; exports.COMPONENT_DATA_KEY = COMPONENT_DATA_KEY; exports.COMPONENT_OVERRIDES_DATA_KEY = COMPONENT_OVERRIDES_DATA_KEY; exports.COMPONENT_PROPERTY_REFS_DATA_KEY = COMPONENT_PROPERTY_REFS_DATA_KEY; exports.COMPONENT_SET_DATA_KEY = COMPONENT_SET_DATA_KEY; exports.COMPONENT_SOURCE_DATA_KEY = COMPONENT_SOURCE_DATA_KEY; exports.CONNECTION_LINE_TYPES = CONNECTION_LINE_TYPES; exports.CSS_ANIMATION_PROPERTIES = CSS_ANIMATION_PROPERTIES; exports.CSS_VARIABLE_DIAGRAM_SCENE_THEME = CSS_VARIABLE_DIAGRAM_SCENE_THEME; exports.CUBIC_BEZIER_PRESETS = _chunkDWJJI6RTcjs.CUBIC_BEZIER_PRESETS; exports.CanvasScenesStore = CanvasScenesStore; exports.DEFAULT_ARRANGE_SHORTCUTS = _chunk4EFNS2HVcjs.DEFAULT_ARRANGE_SHORTCUTS; exports.DEFAULT_CURSOR_INACTIVITY_MS = DEFAULT_CURSOR_INACTIVITY_MS; exports.DEFAULT_DIAGRAM_NODE_HEIGHT = DEFAULT_DIAGRAM_NODE_HEIGHT; exports.DEFAULT_DIAGRAM_NODE_WIDTH = DEFAULT_DIAGRAM_NODE_WIDTH; exports.DEFAULT_NODE_HEIGHT = _chunkEL4PSKFTcjs.DEFAULT_NODE_HEIGHT; exports.DEFAULT_NODE_WIDTH = _chunkEL4PSKFTcjs.DEFAULT_NODE_WIDTH; exports.DEFAULT_PLACEMENT_GAP = _chunkEL4PSKFTcjs.DEFAULT_PLACEMENT_GAP; exports.DIAGRAM_MARKER_IDS = DIAGRAM_MARKER_IDS; exports.DIAGRAM_RASTER_MAX_SIZE = DIAGRAM_RASTER_MAX_SIZE; exports.DIAGRAM_SCENE_DARK_THEME = DIAGRAM_SCENE_DARK_THEME; exports.DIAGRAM_SCENE_LIGHT_THEME = DIAGRAM_SCENE_LIGHT_THEME; exports.DIAGRAM_SVG_DARK_THEME = DIAGRAM_SVG_DARK_THEME; exports.DIAGRAM_SVG_LIGHT_THEME = DIAGRAM_SVG_LIGHT_THEME; exports.DIAGRAM_TITLE_TARGET = DIAGRAM_TITLE_TARGET; exports.DiagramStream = DiagramStream; exports.INSTANCE_DATA_KEY = INSTANCE_DATA_KEY; exports.LOCKED_DATA_KEY = _chunkEL4PSKFTcjs.LOCKED_DATA_KEY; exports.LOCKED_PREVIOUS_FLAGS_KEY = _chunkEL4PSKFTcjs.LOCKED_PREVIOUS_FLAGS_KEY; exports.MAX_KEYFRAME_REFS = MAX_KEYFRAME_REFS; exports.MERMAID_SHAPE_PAINT = MERMAID_SHAPE_PAINT; exports.ManualClock = _chunkM5GLQQWGcjs.ManualClock; exports.PATHFINDER_OPERATIONS = _chunkYAWLMF3Ocjs.PATHFINDER_OPERATIONS; exports.PIXERATE_BRAND_GRADIENT = _chunkNM3G4VQTcjs.PIXERATE_BRAND_GRADIENT; exports.PathOpsError = _chunkGF2RBSDMcjs.PathOpsError; exports.PlanarMap = _chunkYAWLMF3Ocjs.PlanarMap; exports.RESIZE_HANDLES = RESIZE_HANDLES; exports.SHAPE_DATA_KEY = SHAPE_DATA_KEY; exports.SHAPE_KINDS = _chunkNM3G4VQTcjs.SHAPE_KINDS; exports.SHAPE_NODE_TYPE = SHAPE_NODE_TYPE; exports.SHAPE_OPERATIONS = SHAPE_OPERATIONS; exports.SPRING_PRESETS = _chunkDWJJI6RTcjs.SPRING_PRESETS; exports.StreamingLayoutManager = StreamingLayoutManager; exports.TOKEN_BINDINGS_DATA_KEY = TOKEN_BINDINGS_DATA_KEY; exports.TOKEN_MODES_DATA_KEY = TOKEN_MODES_DATA_KEY; exports.addCanvasVariant = addCanvasVariant; exports.addKeyframesAtTime = addKeyframesAtTime; exports.alignNodes = _chunkEL4PSKFTcjs.alignNodes; exports.angleToSvgLinearCoords = _chunkNM3G4VQTcjs.angleToSvgLinearCoords; exports.animateNode = animateNode; exports.applyAnimation = applyAnimation; exports.applyAnimationOverrides = applyAnimationOverrides; exports.applyConstraints = applyConstraints; exports.applyNodeUpdates = _chunkEL4PSKFTcjs.applyNodeUpdates; exports.applyShapeCombination = applyShapeCombination; exports.applyShapeReplacement = applyShapeReplacement; exports.arcToCubics = _chunkGF2RBSDMcjs.arcToCubics; exports.architectureScene = architectureScene; exports.autoLayoutDiagram = autoLayoutDiagram; exports.bezierPathArea = _chunkGF2RBSDMcjs.bezierPathArea; exports.bezierPathBounds = _chunkGF2RBSDMcjs.bezierPathBounds; exports.bezierPathLength = _chunkGF2RBSDMcjs.bezierPathLength; exports.bezierPathPointAtLength = _chunkGF2RBSDMcjs.bezierPathPointAtLength; exports.bezierPathSignedArea = _chunkGF2RBSDMcjs.bezierPathSignedArea; exports.bezierPathToSvg = _chunkGF2RBSDMcjs.bezierPathToSvg; exports.bindCanvasComponentProperty = bindCanvasComponentProperty; exports.bindCanvasToken = bindCanvasToken; exports.blendDiagramLayout = blendDiagramLayout; exports.blendLayout = blendLayout; exports.boundsOf = _chunkEL4PSKFTcjs.boundsOf; exports.brushstrokeScaleBucket = _chunkYQGCPL5Xcjs.brushstrokeScaleBucket; exports.brushstrokeSeed = _chunkWTW7QRTScjs.brushstrokeSeed; exports.c4Scene = c4Scene; exports.calculateCursorArrowRotation = calculateCursorArrowRotation; exports.calculateCurvedPath = calculateCurvedPath; exports.calculateDagreReflowDisplacement = calculateDagreReflowDisplacement; exports.calculateDirectionalDisplacement = calculateDirectionalDisplacement; exports.calculateReflowDisplacement = calculateReflowDisplacement; exports.canCombineShapeNodes = canCombineShapeNodes; exports.canOffsetShapeNodes = canOffsetShapeNodes; exports.canOutlineShapeNodeStrokes = canOutlineShapeNodeStrokes; exports.canvasEffectsPool = canvasEffectsPool; exports.canvasExplosionToolTarget = canvasExplosionToolTarget; exports.canvasHeight = canvasHeight; exports.canvasNodeCaptureRect = canvasNodeCaptureRect; exports.canvasNodeEffect = canvasNodeEffect; exports.captureCanvasView = captureCanvasView; exports.centerNodes = _chunkEL4PSKFTcjs.centerNodes; exports.centre = _chunkEL4PSKFTcjs.centre; exports.clampAnimationValue = clampAnimationValue; exports.clampLayoutSize = clampLayoutSize; exports.closeContour = _chunkGF2RBSDMcjs.closeContour; exports.collectDescendantIds = collectDescendantIds; exports.combineCanvasComponentsAsVariants = combineCanvasComponentsAsVariants; exports.combineShapeNodes = combineShapeNodes; exports.computeCanvasExplosionLayout = computeCanvasExplosionLayout; exports.computeDragBounds = computeDragBounds; exports.computeDragBoundsFromPoints = computeDragBoundsFromPoints; exports.computeNodesBoundingBox = computeNodesBoundingBox; exports.computeSnapGuides = computeSnapGuides; exports.connectedDiagramOnly = connectedDiagramOnly; exports.connectedOnly = connectedOnly; exports.contourEnclosesArea = _chunkYAWLMF3Ocjs.contourEnclosesArea; exports.contourSignedArea = _chunkGF2RBSDMcjs.contourSignedArea; exports.contoursToPath = _chunkGF2RBSDMcjs.contoursToPath; exports.copyKeyframes = copyKeyframes; exports.countPathSegments = _chunkGF2RBSDMcjs.countPathSegments; exports.createAnimationPlayer = _chunkM5GLQQWGcjs.createAnimationPlayer; exports.createBezierTrajectory = createBezierTrajectory; exports.createCanvasAnimationController = createCanvasAnimationController; exports.createCanvasArrangeController = createCanvasArrangeController; exports.createCanvasAutoLayoutController = createCanvasAutoLayoutController; exports.createCanvasCaptureSurface = createCanvasCaptureSurface; exports.createCanvasCaptureToolProvider = createCanvasCaptureToolProvider; exports.createCanvasComponent = createCanvasComponent; exports.createCanvasComponentsController = createCanvasComponentsController; exports.createCanvasDrawController = createCanvasDrawController; exports.createCanvasEditorDocument = createCanvasEditorDocument; exports.createCanvasEffectsController = createCanvasEffectsController; exports.createCanvasEffectsToolProvider = createCanvasEffectsToolProvider; exports.createCanvasExplosionStateController = createCanvasExplosionStateController; exports.createCanvasExplosionToolProvider = createCanvasExplosionToolProvider; exports.createCanvasGestureRecorder = createCanvasGestureRecorder; exports.createCanvasInstance = createCanvasInstance; exports.createCanvasPlaybackLocator = createCanvasPlaybackLocator; exports.createCanvasScenesStore = createCanvasScenesStore; exports.createDefaultStrokeStyle = createDefaultStrokeStyle; exports.createFanOutTrajectory = createFanOutTrajectory; exports.createGuideIndex = createGuideIndex; exports.createNodeGuideIndex = createNodeGuideIndex; exports.createNodeLookup = _chunkEL4PSKFTcjs.createNodeLookup; exports.cubicBezierAt = _chunkDWJJI6RTcjs.cubicBezierAt; exports.cubicPointAt = _chunkNM3G4VQTcjs.cubicPointAt; exports.cubicsToPathData = _chunkNM3G4VQTcjs.cubicsToPathData; exports.cutOutPiece = _chunkYAWLMF3Ocjs.cutOutPiece; exports.dashContours = _chunkGF2RBSDMcjs.dashContours; exports.defaultEasing = defaultEasing; exports.deleteKeyframes = deleteKeyframes; exports.detachCanvasInstance = detachCanvasInstance; exports.detachTokenBindings = detachTokenBindings; exports.diagramCanvasHeight = diagramCanvasHeight; exports.diagramFileName = diagramFileName; exports.diagramGroupSize = diagramGroupSize; exports.diagramImageSize = diagramImageSize; exports.diagramLayoutBounds = diagramLayoutBounds; exports.diagramMarksBounds = diagramMarksBounds; exports.diagramMarksToSvg = diagramMarksToSvg; exports.diagramRenameOp = diagramRenameOp; exports.diagramTargetLabel = diagramTargetLabel; exports.diagramTextBaseline = diagramTextBaseline; exports.diffOverrideGroups = diffOverrideGroups; exports.distanceToBezierPath = _chunkGF2RBSDMcjs.distanceToBezierPath; exports.distributeNodes = _chunkEL4PSKFTcjs.distributeNodes; exports.dividePaths = _chunkGF2RBSDMcjs.dividePaths; exports.dividePolygons = _chunkGF2RBSDMcjs.dividePolygons; exports.downloadDiagramPng = downloadDiagramPng; exports.easeDiagramTween = easeDiagramTween; exports.easingFromInfluence = _chunkDWJJI6RTcjs.easingFromInfluence; exports.easingLabel = _chunkDWJJI6RTcjs.easingLabel; exports.easingToCss = _chunkDWJJI6RTcjs.easingToCss; exports.elasticAt = _chunkDWJJI6RTcjs.elasticAt; exports.ensureDiagramLayout = ensureDiagramLayout; exports.ensureLayout = _chunkEL4PSKFTcjs.ensureLayout; exports.estimateCanvasHeight = estimateCanvasHeight; exports.estimateDiagramCanvasHeight = estimateDiagramCanvasHeight; exports.estimateDiagramNodeSize = estimateDiagramNodeSize; exports.estimateNodeSize = _chunkEL4PSKFTcjs.estimateNodeSize; exports.estimateTextWidth = estimateTextWidth2; exports.evaluateAnimation = evaluateAnimation; exports.evaluateEasing = _chunkDWJJI6RTcjs.evaluateEasing; exports.evaluateTrack = _chunkM5GLQQWGcjs.evaluateTrack; exports.excludePaths = _chunkGF2RBSDMcjs.excludePaths; exports.explosionEdgeId = explosionEdgeId; exports.exportCssAnimation = exportCssAnimation; exports.familySceneFromLayout = familySceneFromLayout; exports.findConnectorSnap = findConnectorSnap; exports.findStrokesAtPoint = findStrokesAtPoint; exports.findVariant = findVariant; exports.fitCubicRun = _chunkNM3G4VQTcjs.fitCubicRun; exports.fitCubicWithTangents = _chunkNM3G4VQTcjs.fitCubicWithTangents; exports.fitCubics = _chunkNM3G4VQTcjs.fitCubics; exports.fitFreehandPath = _chunkNM3G4VQTcjs.fitFreehandPath; exports.fitPathData = _chunkNM3G4VQTcjs.fitPathData; exports.fitViewportToNodes = fitViewportToNodes; exports.fitViewportToRect = fitViewportToRect; exports.flattenSvgPath = _chunkNM3G4VQTcjs.flattenSvgPath; exports.flowSide = _chunkEL4PSKFTcjs.flowSide; exports.formatAgentCursorName = formatAgentCursorName; exports.formatAnimationTime = formatAnimationTime; exports.formatNumber = _chunkNM3G4VQTcjs.formatNumber; exports.formatOklab = _chunk4ZC5QJE2cjs.formatOklab; exports.formatVariantName = formatVariantName; exports.freehandBrushstroke = freehandBrushstroke; exports.ganttScene = ganttScene; exports.getAbsolutePosition = _chunkEL4PSKFTcjs.getAbsolutePosition; exports.getAgentCardAnchor = getAgentCardAnchor; exports.getAnimatableProperty = getAnimatableProperty; exports.getAnimatedProperties = getAnimatedProperties; exports.getAnimatedValue = getAnimatedValue; exports.getAnimationDuration = getAnimationDuration; exports.getAnimationTrack = getAnimationTrack; exports.getAutoLayout = getAutoLayout; exports.getAutoLayoutGrid = getAutoLayoutGrid; exports.getAutoLayoutInsertTarget = getAutoLayoutInsertTarget; exports.getBindableTokenProperties = getBindableTokenProperties; exports.getBrushedShapeSvg = _chunkWTW7QRTScjs.getBrushedShapeSvg; exports.getCanvasComponentDragId = getCanvasComponentDragId; exports.getCanvasTokenProperty = getCanvasTokenProperty; exports.getCenteredNodePosition = _chunkEL4PSKFTcjs.getCenteredNodePosition; exports.getChildLayout = getChildLayout; exports.getComponentData = getComponentData; exports.getComponentInstances = getComponentInstances; exports.getComponentPropertyDefs = getComponentPropertyDefs; exports.getComponentPropertyRefs = getComponentPropertyRefs; exports.getComponentSourceId = getComponentSourceId; exports.getCssPropertyAnimations = getCssPropertyAnimations; exports.getCursorTransitionDuration = getCursorTransitionDuration; exports.getDefaultVariant = getDefaultVariant; exports.getEffectiveTokenModes = getEffectiveTokenModes; exports.getFamilyScene = getFamilyScene; exports.getFlowChildren = getFlowChildren; exports.getInstanceData = getInstanceData; exports.getInstanceProperties = getInstanceProperties; exports.getInstanceStatus = getInstanceStatus; exports.getKeyframeTimes = getKeyframeTimes; exports.getLayerName = getLayerName; exports.getLayoutParent = getLayoutParent; exports.getLayoutSizing = getLayoutSizing; exports.getLayoutedNodes = _chunkEL4PSKFTcjs.getLayoutedNodes; exports.getNaturalMovementTiming = getNaturalMovementTiming; exports.getNextVariantValues = getNextVariantValues; exports.getNodeAnimation = getNodeAnimation; exports.getNodeOverrides = getNodeOverrides; exports.getNodeRect = _chunkEL4PSKFTcjs.getNodeRect; exports.getNodeShape = getNodeShape; exports.getNodeSize = _chunkEL4PSKFTcjs.getNodeSize; exports.getNodeTokenBindings = getNodeTokenBindings; exports.getNodeTokenModes = getNodeTokenModes; exports.getOwningComponent = getOwningComponent; exports.getOwningInstance = getOwningInstance; exports.getResizingNodeRect = getResizingNodeRect; exports.getRootInstance = getRootInstance; exports.getShapeRenderData = _chunkNM3G4VQTcjs.getShapeRenderData; exports.getShapeSvg = _chunkNM3G4VQTcjs.getShapeSvg; exports.getTimelineRows = getTimelineRows; exports.getTimelineTicks = getTimelineTicks; exports.getTokenPropertyScope = getTokenPropertyScope; exports.getTokensForProperty = getTokensForProperty; exports.getVariantConflicts = getVariantConflicts; exports.getVariantOptions = getVariantOptions; exports.getVariantSet = getVariantSet; exports.getVariantValues = getVariantValues; exports.gitGraphScene = gitGraphScene; exports.gradientToSvgDef = _chunkNM3G4VQTcjs.gradientToSvgDef; exports.handlePoint = handlePoint; exports.hasFamilyScene = hasFamilyScene; exports.hasVisibleStroke = hasVisibleStroke; exports.hashString = hashString; exports.hatchPath = _chunkYAWLMF3Ocjs.hatchPath; exports.inferResizeHandle = inferResizeHandle; exports.inspectCanvasInstance = inspectCanvasInstance; exports.inspectNodeTokens = inspectNodeTokens; exports.interiorPoint = _chunkYAWLMF3Ocjs.interiorPoint; exports.interpolateAnimationValue = _chunkM5GLQQWGcjs.interpolateAnimationValue; exports.intersectPaths = _chunkGF2RBSDMcjs.intersectPaths; exports.intersectPolygons = _chunkGF2RBSDMcjs.intersectPolygons; exports.invertNodeUpdates = _chunkEL4PSKFTcjs.invertNodeUpdates; exports.isAgentCursor = isAgentCursor; exports.isAnimationEasing = _chunkDWJJI6RTcjs.isAnimationEasing; exports.isAnimationKeyframe = _chunkM5GLQQWGcjs.isAnimationKeyframe; exports.isAutoLayoutFrame = isAutoLayoutFrame; exports.isBrushedShape = _chunkWTW7QRTScjs.isBrushedShape; exports.isCanvasComponent = isCanvasComponent; exports.isCanvasComponentSet = isCanvasComponentSet; exports.isCanvasGradient = _chunkNM3G4VQTcjs.isCanvasGradient; exports.isCanvasInstance = isCanvasInstance; exports.isCssExportExact = isCssExportExact; exports.isEventFromTextInput = isEventFromTextInput; exports.isInsideInstance = isInsideInstance; exports.isKeyframeSelected = isKeyframeSelected; exports.isLocked = _chunkEL4PSKFTcjs.isLocked; exports.isMeasureModifierHeld = isMeasureModifierHeld; exports.isNodeAnimated = isNodeAnimated; exports.isShapeDescription = _chunkNM3G4VQTcjs.isShapeDescription; exports.isShapeNode = isShapeNode; exports.isStraightCubic = _chunkNM3G4VQTcjs.isStraightCubic; exports.isValidCanvasEdge = isValidCanvasEdge; exports.isValidCanvasNode = isValidCanvasNode; exports.isValidCanvasScene = isValidCanvasScene; exports.isValidUrl = isValidUrl; exports.journeyScene = journeyScene; exports.layoutAll = layoutAll; exports.layoutBounds = layoutBounds; exports.layoutFrame = layoutFrame; exports.layoutUp = layoutUp; exports.layoutUpMany = layoutUpMany; exports.linearPositionTrajectory = linearPositionTrajectory; exports.linearTrajectory = linearTrajectory; exports.listCanvasBrushes = _chunkWTW7QRTScjs.listCanvasBrushes; exports.listCanvasComponents = listCanvasComponents; exports.loadCanvasBrushstrokeRenderer = _chunkWTW7QRTScjs.loadCanvasBrushstrokeRenderer; exports.lockNodes = _chunkEL4PSKFTcjs.lockNodes; exports.makeSizingCoherent = makeSizingCoherent; exports.matchArrangeShortcut = _chunk4EFNS2HVcjs.matchArrangeShortcut; exports.matchSize = _chunkEL4PSKFTcjs.matchSize; exports.measureBetween = measureBetween; exports.measureLabel = measureLabel; exports.measureSelection = measureSelection; exports.measureToLine = measureToLine; exports.mergeNodeUpdates = mergeNodeUpdates; exports.mermaidEdgeDash = mermaidEdgeDash; exports.mermaidEdgeMarker = mermaidEdgeMarker; exports.mermaidEdgeWidth = mermaidEdgeWidth; exports.mermaidFlowEdges = mermaidFlowEdges; exports.mermaidFlowNodes = mermaidFlowNodes; exports.mermaidLabelLines = mermaidLabelLines; exports.mermaidMarkerId = mermaidMarkerId; exports.mermaidMovesFromCanvas = mermaidMovesFromCanvas; exports.mermaidNodeMembers = mermaidNodeMembers; exports.mermaidNodePaint = mermaidNodePaint; exports.mermaidShapePaths = mermaidShapePaths; exports.mermaidThumbnailSvg = mermaidThumbnailSvg; exports.mermaidToCanvas = mermaidToCanvas; exports.mermaidToScene = mermaidToScene; exports.mermaidToSvg = mermaidToSvg; exports.mindmapScene = mindmapScene; exports.mixColorsOklab = _chunk4ZC5QJE2cjs.mixColorsOklab; exports.moveKeyframes = moveKeyframes; exports.moveLayoutChild = moveLayoutChild; exports.multiPolygonArea = _chunkGF2RBSDMcjs.multiPolygonArea; exports.multiPolygonBounds = _chunkGF2RBSDMcjs.multiPolygonBounds; exports.nearestHandlePositions = nearestHandlePositions; exports.nodeSizeOf = nodeSizeOf; exports.normalizeBezierPath = _chunkGF2RBSDMcjs.normalizeBezierPath; exports.normalizeKeyframes = _chunkM5GLQQWGcjs.normalizeKeyframes; exports.offsetPath = _chunkGF2RBSDMcjs.offsetPath; exports.offsetShapeNodes = offsetShapeNodes; exports.oklabToRgb = _chunk4ZC5QJE2cjs.oklabToRgb; exports.oppositePosition = oppositePosition; exports.outlineShapeNodeStrokes = outlineShapeNodeStrokes; exports.outlineStroke = _chunkGF2RBSDMcjs.outlineStroke; exports.overlaps = _chunkEL4PSKFTcjs.overlaps; exports.pageHidden = _chunkM5GLQQWGcjs.pageHidden; exports.parseCanvasClipboardData = parseCanvasClipboardData; exports.parseCanvasScenes = parseCanvasScenes; exports.parseCssEasing = _chunkDWJJI6RTcjs.parseCssEasing; exports.parseCssGradient = _chunkNM3G4VQTcjs.parseCssGradient; exports.parseKeyframeClipboard = parseKeyframeClipboard; exports.parseMermaidStyles = parseMermaidStyles; exports.parseNodeStyleDeclarations = parseNodeStyleDeclarations; exports.parseOklab = _chunk4ZC5QJE2cjs.parseOklab; exports.parseSvgPath = _chunkNM3G4VQTcjs.parseSvgPath; exports.parseVariantName = parseVariantName; exports.pasteKeyframes = pasteKeyframes; exports.pathBoolean = _chunkGF2RBSDMcjs.pathBoolean; exports.pathBooleanSelect = _chunkGF2RBSDMcjs.pathBooleanSelect; exports.pathDataToPolyline = _chunkWTW7QRTScjs.pathDataToPolyline; exports.pathToContours = _chunkGF2RBSDMcjs.pathToContours; exports.pathfinder = _chunkYAWLMF3Ocjs.pathfinder; exports.pieScene = pieScene; exports.placeBeside = _chunkEL4PSKFTcjs.placeBeside; exports.placeInView = _chunkEL4PSKFTcjs.placeInView; exports.planarSplit = _chunkGF2RBSDMcjs.planarSplit; exports.playCanvasSceneTransition = playCanvasSceneTransition; exports.playWebAnimations = playWebAnimations; exports.pointInBezierPath = _chunkGF2RBSDMcjs.pointInBezierPath; exports.pointInMultiPolygon = _chunkGF2RBSDMcjs.pointInMultiPolygon; exports.pointInRings = _chunkGF2RBSDMcjs.pointInRings; exports.pointerPenSample = pointerPenSample; exports.polygonArea = _chunkGF2RBSDMcjs.polygonArea; exports.polygonBoolean = _chunkGF2RBSDMcjs.polygonBoolean; exports.polygonToSvgPath = _chunkNM3G4VQTcjs.polygonToSvgPath; exports.positionToSide = positionToSide; exports.profileAlongPolyline = _chunkWTW7QRTScjs.profileAlongPolyline; exports.pruneCanvasTokenModes = pruneCanvasTokenModes; exports.pushCanvasInstanceOverrides = pushCanvasInstanceOverrides; exports.quadrantScene = quadrantScene; exports.radarChartSpec = radarChartSpec; exports.radarScene = radarScene; exports.rasterSize = rasterSize; exports.rasterizeSvg = rasterizeSvg; exports.readAnimatableValue = readAnimatableValue; exports.readNodeStyleProperty = readNodeStyleProperty; exports.readOverrideGroup = readOverrideGroup; exports.readStyleSize = _chunkEL4PSKFTcjs.readStyleSize; exports.realClock = _chunkM5GLQQWGcjs.realClock; exports.recordAnimationChanges = recordAnimationChanges; exports.registerFamilyScene = registerFamilyScene; exports.relayoutUpdates = relayoutUpdates; exports.remapPastedNodes = remapPastedNodes; exports.removeCanvasVariant = removeCanvasVariant; exports.removeTrack = removeTrack; exports.renameCanvasVariantProperty = renameCanvasVariantProperty; exports.renameCanvasVariantValue = renameCanvasVariantValue; exports.renderCanvasBrushSwatch = _chunkWTW7QRTScjs.renderCanvasBrushSwatch; exports.renderShapeBrushstroke = _chunkWTW7QRTScjs.renderShapeBrushstroke; exports.reorderNodes = _chunkEL4PSKFTcjs.reorderNodes; exports.repositionNodesTo = repositionNodesTo; exports.resetCanvasInstanceOverrides = resetCanvasInstanceOverrides; exports.resizeHandleAxes = resizeHandleAxes; exports.resolveCanvasGradient = _chunkNM3G4VQTcjs.resolveCanvasGradient; exports.resolveCanvasTokens = resolveCanvasTokens; exports.resolveEasing = _chunkDWJJI6RTcjs.resolveEasing; exports.resolveMermaidStyles = resolveMermaidStyles; exports.resolvePadding = resolvePadding; exports.restoreCanvasMainComponent = restoreCanvasMainComponent; exports.reverseCubicBezier = _chunkDWJJI6RTcjs.reverseCubicBezier; exports.revertShapeCombination = revertShapeCombination; exports.rgbToOklab = _chunk4ZC5QJE2cjs.rgbToOklab; exports.ringSignedArea = _chunkGF2RBSDMcjs.ringSignedArea; exports.runCanvasNodeEffect = runCanvasNodeEffect; exports.runMultiNodeTransition = runMultiNodeTransition; exports.sampleAnimationFrames = sampleAnimationFrames; exports.scaleKeyframes = scaleKeyframes; exports.sceneColor = sceneColor; exports.segmentBounds = _chunkGF2RBSDMcjs.segmentBounds; exports.segmentCurvature = _chunkGF2RBSDMcjs.segmentCurvature; exports.segmentDerivative = _chunkGF2RBSDMcjs.segmentDerivative; exports.segmentExtrema = _chunkGF2RBSDMcjs.segmentExtrema; exports.segmentIntersections = _chunkGF2RBSDMcjs.segmentIntersections; exports.segmentLength = _chunkGF2RBSDMcjs.segmentLength; exports.segmentNearest = _chunkGF2RBSDMcjs.segmentNearest; exports.segmentParamAtLength = _chunkGF2RBSDMcjs.segmentParamAtLength; exports.segmentPoint = _chunkGF2RBSDMcjs.segmentPoint; exports.segmentTangent = _chunkGF2RBSDMcjs.segmentTangent; exports.sequenceScene = sequenceScene; exports.serializeCanvasNodes = serializeCanvasNodes; exports.setCanvasComponentProperty = setCanvasComponentProperty; exports.setCanvasInstanceProperties = setCanvasInstanceProperties; exports.setCanvasTokenMode = setCanvasTokenMode; exports.setCanvasVariantProperties = setCanvasVariantProperties; exports.setKeyframe = setKeyframe; exports.setKeyframeEasing = setKeyframeEasing; exports.setMotionPath = setMotionPath; exports.setTrackEnabled = setTrackEnabled; exports.shapeNodeToBezierPath = shapeNodeToBezierPath; exports.shapeNodeToPolygon = shapeNodeToPolygon; exports.shapeToBezierPath = shapeToBezierPath; exports.shapeToPolygon = _chunkNM3G4VQTcjs.shapeToPolygon; exports.sideToPosition = sideToPosition; exports.simplifyRing = _chunkNM3G4VQTcjs.simplifyRing; exports.snapKeyframeDelta = snapKeyframeDelta; exports.snapNodeDrag = snapNodeDrag; exports.snapNodeResize = snapNodeResize; exports.snapResize = snapResize; exports.snapTimeToFrame = snapTimeToFrame; exports.snapToGrid = snapToGrid; exports.splitSegment = _chunkGF2RBSDMcjs.splitSegment; exports.springAt = _chunkDWJJI6RTcjs.springAt; exports.springSettleMs = _chunkDWJJI6RTcjs.springSettleMs; exports.streamedDiagramText = streamedDiagramText; exports.streamlinePoints = streamlinePoints; exports.strokeBoundingBox = strokeBoundingBox; exports.strokeOutlineRings = _chunkGF2RBSDMcjs.strokeOutlineRings; exports.strokePointsToPathData = strokePointsToPathData; exports.strokeToShapeNode = strokeToShapeNode; exports.subSegment = _chunkGF2RBSDMcjs.subSegment; exports.subtractPaths = _chunkGF2RBSDMcjs.subtractPaths; exports.subtractPolygons = _chunkGF2RBSDMcjs.subtractPolygons; exports.swapCanvasInstance = swapCanvasInstance; exports.syncAllCanvasInstances = syncAllCanvasInstances; exports.syncCanvasComponents = syncCanvasComponents; exports.syncCanvasInstance = syncCanvasInstance; exports.timeToX = timeToX; exports.timelineScene = timelineScene; exports.toBezierPath = _chunkGF2RBSDMcjs.toBezierPath; exports.toWebAnimations = toWebAnimations; exports.toggleLockNodes = _chunkEL4PSKFTcjs.toggleLockNodes; exports.transformBezierPath = _chunkGF2RBSDMcjs.transformBezierPath; exports.transitionCanvasView = transitionCanvasView; exports.trimSegments = _chunkGF2RBSDMcjs.trimSegments; exports.unionPolygons = _chunkGF2RBSDMcjs.unionPolygons; exports.unitePaths = _chunkGF2RBSDMcjs.unitePaths; exports.unlockNodes = _chunkEL4PSKFTcjs.unlockNodes; exports.updateKeyframe = updateKeyframe; exports.validateCanvasBrush = _chunkWTW7QRTScjs.validateCanvasBrush; exports.validateCanvasBrushPaint = _chunkWTW7QRTScjs.validateCanvasBrushPaint; exports.windingNumber = _chunkGF2RBSDMcjs.windingNumber; exports.withNodeAnimation = withNodeAnimation; exports.withStyleOpacity = withStyleOpacity; exports.withStyleSize = _chunkEL4PSKFTcjs.withStyleSize; exports.wouldCreateComponentCycle = wouldCreateComponentCycle; exports.wrapAnimationTime = _chunkM5GLQQWGcjs.wrapAnimationTime; exports.writeNodeStyleProperty = writeNodeStyleProperty; exports.writeOverrideGroup = writeOverrideGroup; exports.xToTime = xToTime; exports.xorPolygons = _chunkGF2RBSDMcjs.xorPolygons; exports.xyChartScene = xyChartScene; exports.xyChartSpec = xyChartSpec;
|