@pixerate/editor-react 0.15.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -2
- package/dist/canvas/index.cjs +484 -119
- package/dist/canvas/index.cjs.map +1 -1
- package/dist/canvas/index.d.cts +122 -3
- package/dist/canvas/index.d.ts +122 -3
- package/dist/canvas/index.js +380 -0
- package/dist/canvas/index.js.map +1 -1
- package/dist/chunk-I3E4KSA2.js +515 -0
- package/dist/chunk-I3E4KSA2.js.map +1 -0
- package/dist/chunk-JR5ZBDR7.js +2012 -0
- package/dist/chunk-JR5ZBDR7.js.map +1 -0
- package/dist/chunk-XWFU2CSG.js +167 -0
- package/dist/chunk-XWFU2CSG.js.map +1 -0
- package/dist/chunk-ZU54BMDC.js +2128 -0
- package/dist/chunk-ZU54BMDC.js.map +1 -0
- package/dist/generation/index.cjs +525 -0
- package/dist/generation/index.cjs.map +1 -0
- package/dist/generation/index.d.cts +124 -0
- package/dist/generation/index.d.ts +124 -0
- package/dist/generation/index.js +19 -0
- package/dist/generation/index.js.map +1 -0
- package/dist/image-editor/index.cjs +988 -337
- package/dist/image-editor/index.cjs.map +1 -1
- package/dist/image-editor/index.d.cts +92 -2
- package/dist/image-editor/index.d.ts +92 -2
- package/dist/image-editor/index.js +17 -3
- package/dist/index.cjs +3628 -754
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +226 -5
- package/dist/index.d.ts +226 -5
- package/dist/index.js +868 -77
- package/dist/index.js.map +1 -1
- package/dist/persistence/index.cjs +191 -0
- package/dist/persistence/index.cjs.map +1 -0
- package/dist/persistence/index.d.cts +77 -0
- package/dist/persistence/index.d.ts +77 -0
- package/dist/persistence/index.js +9 -0
- package/dist/persistence/index.js.map +1 -0
- package/dist/spreadsheet/index.cjs +949 -111
- package/dist/spreadsheet/index.cjs.map +1 -1
- package/dist/spreadsheet/index.d.cts +121 -7
- package/dist/spreadsheet/index.d.ts +121 -7
- package/dist/spreadsheet/index.js +11 -1
- package/dist/tokens/index.cjs +395 -0
- package/dist/tokens/index.cjs.map +1 -0
- package/dist/tokens/index.d.cts +54 -0
- package/dist/tokens/index.d.ts +54 -0
- package/dist/tokens/index.js +375 -0
- package/dist/tokens/index.js.map +1 -0
- package/package.json +26 -2
- package/dist/chunk-LPFZMZ3L.js +0 -1461
- package/dist/chunk-LPFZMZ3L.js.map +0 -1
- package/dist/chunk-QVQYYHJ5.js +0 -1161
- package/dist/chunk-QVQYYHJ5.js.map +0 -1
package/dist/canvas/index.js
CHANGED
|
@@ -791,6 +791,9 @@ function useCanvasArrange(options) {
|
|
|
791
791
|
get rectOptions() {
|
|
792
792
|
return optionsRef.current.rectOptions;
|
|
793
793
|
},
|
|
794
|
+
get autoLayout() {
|
|
795
|
+
return optionsRef.current.autoLayout;
|
|
796
|
+
},
|
|
794
797
|
onGuidesChange: setGuides
|
|
795
798
|
}),
|
|
796
799
|
[]
|
|
@@ -1168,6 +1171,38 @@ import {
|
|
|
1168
1171
|
pointInRings,
|
|
1169
1172
|
pointInMultiPolygon
|
|
1170
1173
|
} from "@pixerate/editor/canvas";
|
|
1174
|
+
import {
|
|
1175
|
+
offsetShapeNodes,
|
|
1176
|
+
outlineShapeNodeStrokes,
|
|
1177
|
+
canOffsetShapeNodes,
|
|
1178
|
+
canOutlineShapeNodeStrokes,
|
|
1179
|
+
applyShapeReplacement,
|
|
1180
|
+
hasVisibleStroke,
|
|
1181
|
+
shapeToBezierPath,
|
|
1182
|
+
shapeNodeToBezierPath,
|
|
1183
|
+
pathBoolean,
|
|
1184
|
+
unitePaths,
|
|
1185
|
+
intersectPaths,
|
|
1186
|
+
subtractPaths,
|
|
1187
|
+
excludePaths,
|
|
1188
|
+
dividePaths,
|
|
1189
|
+
normalizeBezierPath,
|
|
1190
|
+
bezierPathArea,
|
|
1191
|
+
offsetPath,
|
|
1192
|
+
outlineStroke,
|
|
1193
|
+
strokeOutlineRings,
|
|
1194
|
+
dashContours,
|
|
1195
|
+
toBezierPath,
|
|
1196
|
+
bezierPathToSvg,
|
|
1197
|
+
transformBezierPath,
|
|
1198
|
+
bezierPathBounds,
|
|
1199
|
+
bezierPathSignedArea,
|
|
1200
|
+
bezierPathLength,
|
|
1201
|
+
bezierPathPointAtLength,
|
|
1202
|
+
pointInBezierPath,
|
|
1203
|
+
distanceToBezierPath,
|
|
1204
|
+
countPathSegments
|
|
1205
|
+
} from "@pixerate/editor/canvas";
|
|
1171
1206
|
import {
|
|
1172
1207
|
getLayoutedNodes as getLayoutedNodes2,
|
|
1173
1208
|
ensureLayout as ensureLayout2,
|
|
@@ -1203,8 +1238,282 @@ import {
|
|
|
1203
1238
|
blendLayout,
|
|
1204
1239
|
connectedOnly
|
|
1205
1240
|
} from "@pixerate/editor/canvas";
|
|
1241
|
+
import {
|
|
1242
|
+
layoutFrame,
|
|
1243
|
+
layoutAll,
|
|
1244
|
+
layoutUp,
|
|
1245
|
+
layoutUpMany,
|
|
1246
|
+
applyConstraints,
|
|
1247
|
+
getAutoLayout,
|
|
1248
|
+
getChildLayout,
|
|
1249
|
+
getLayoutSizing,
|
|
1250
|
+
getAutoLayoutGrid,
|
|
1251
|
+
getAutoLayoutInsertTarget,
|
|
1252
|
+
getFlowChildren,
|
|
1253
|
+
getLayoutParent,
|
|
1254
|
+
isAutoLayoutFrame,
|
|
1255
|
+
makeSizingCoherent,
|
|
1256
|
+
moveLayoutChild,
|
|
1257
|
+
mergeNodeUpdates,
|
|
1258
|
+
relayoutUpdates,
|
|
1259
|
+
resolvePadding,
|
|
1260
|
+
clampLayoutSize,
|
|
1261
|
+
createCanvasAutoLayoutController as createCanvasAutoLayoutController2,
|
|
1262
|
+
AUTO_LAYOUT_DATA_KEY,
|
|
1263
|
+
CHILD_LAYOUT_DATA_KEY
|
|
1264
|
+
} from "@pixerate/editor/canvas";
|
|
1265
|
+
|
|
1266
|
+
// src/canvas/useCanvasAutoLayout.ts
|
|
1267
|
+
import { useLayoutEffect, useMemo as useMemo4, useRef as useRef8, useState as useState4 } from "react";
|
|
1268
|
+
import {
|
|
1269
|
+
createCanvasAutoLayoutController
|
|
1270
|
+
} from "@pixerate/editor/canvas";
|
|
1271
|
+
function useCanvasAutoLayout(options) {
|
|
1272
|
+
const [guides, setGuides] = useState4([]);
|
|
1273
|
+
const nodesRef = useRef8(options.nodes);
|
|
1274
|
+
nodesRef.current = options.nodes;
|
|
1275
|
+
const optionsRef = useRef8(options);
|
|
1276
|
+
optionsRef.current = options;
|
|
1277
|
+
const controller = useMemo4(
|
|
1278
|
+
() => createCanvasAutoLayoutController({
|
|
1279
|
+
getNodes: () => nodesRef.current,
|
|
1280
|
+
setNodes: (next) => {
|
|
1281
|
+
nodesRef.current = next;
|
|
1282
|
+
optionsRef.current.setNodes(next);
|
|
1283
|
+
},
|
|
1284
|
+
get history() {
|
|
1285
|
+
return optionsRef.current.history;
|
|
1286
|
+
},
|
|
1287
|
+
get enabled() {
|
|
1288
|
+
return optionsRef.current.enabled;
|
|
1289
|
+
},
|
|
1290
|
+
get dragReorder() {
|
|
1291
|
+
return optionsRef.current.dragReorder;
|
|
1292
|
+
},
|
|
1293
|
+
get measure() {
|
|
1294
|
+
return optionsRef.current.measure;
|
|
1295
|
+
},
|
|
1296
|
+
get rectOptions() {
|
|
1297
|
+
return optionsRef.current.rectOptions;
|
|
1298
|
+
},
|
|
1299
|
+
onGuidesChange: setGuides
|
|
1300
|
+
}),
|
|
1301
|
+
[]
|
|
1302
|
+
);
|
|
1303
|
+
useLayoutEffect(() => {
|
|
1304
|
+
if (controller.hasPending) controller.flush();
|
|
1305
|
+
}, [options.nodes, controller]);
|
|
1306
|
+
return useMemo4(
|
|
1307
|
+
() => ({
|
|
1308
|
+
...controller,
|
|
1309
|
+
/** Drop marker of the active reorder drag (flow coordinates). */
|
|
1310
|
+
guides,
|
|
1311
|
+
get hasPending() {
|
|
1312
|
+
return controller.hasPending;
|
|
1313
|
+
}
|
|
1314
|
+
}),
|
|
1315
|
+
[controller, guides]
|
|
1316
|
+
);
|
|
1317
|
+
}
|
|
1318
|
+
|
|
1319
|
+
// src/canvas/useCanvasTokens.ts
|
|
1320
|
+
import { useCallback as useCallback8, useEffect as useEffect5, useRef as useRef9, useSyncExternalStore as useSyncExternalStore2 } from "react";
|
|
1321
|
+
import {
|
|
1322
|
+
bindCanvasToken,
|
|
1323
|
+
detachTokenBindings,
|
|
1324
|
+
getEffectiveTokenModes,
|
|
1325
|
+
resolveCanvasTokens,
|
|
1326
|
+
setCanvasTokenMode
|
|
1327
|
+
} from "@pixerate/editor/canvas";
|
|
1328
|
+
function useCanvasTokens(options) {
|
|
1329
|
+
const { store, nodes, setNodes, modes, properties } = options;
|
|
1330
|
+
const state = useSyncExternalStore2(store.subscribe, store.getState, store.getState);
|
|
1331
|
+
const latest = useRef9({ nodes, setNodes, modes, properties });
|
|
1332
|
+
latest.current = { nodes, setNodes, modes, properties };
|
|
1333
|
+
const opts = () => ({ modes: latest.current.modes, properties: latest.current.properties });
|
|
1334
|
+
useEffect5(
|
|
1335
|
+
() => store.subscribe((event) => {
|
|
1336
|
+
if (event.deletedVariableIds.length === 0) return;
|
|
1337
|
+
latest.current.setNodes((prev) => detachTokenBindings(prev, event.previous, event.deletedVariableIds, opts()));
|
|
1338
|
+
}),
|
|
1339
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1340
|
+
[store]
|
|
1341
|
+
);
|
|
1342
|
+
const modesKey = JSON.stringify(modes ?? {});
|
|
1343
|
+
useEffect5(() => {
|
|
1344
|
+
const next = resolveCanvasTokens(nodes, state, opts());
|
|
1345
|
+
if (next !== nodes) setNodes(next);
|
|
1346
|
+
}, [nodes, state, modesKey, properties]);
|
|
1347
|
+
const bind = useCallback8(
|
|
1348
|
+
(ids, propertyKey, variableId) => {
|
|
1349
|
+
const next = bindCanvasToken(latest.current.nodes, ids, propertyKey, variableId, store.getState(), opts());
|
|
1350
|
+
if (next !== latest.current.nodes) latest.current.setNodes(next);
|
|
1351
|
+
},
|
|
1352
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1353
|
+
[store]
|
|
1354
|
+
);
|
|
1355
|
+
const setMode = useCallback8(
|
|
1356
|
+
(ids, collectionId, modeId) => {
|
|
1357
|
+
const next = setCanvasTokenMode(latest.current.nodes, ids, collectionId, modeId, store.getState(), opts());
|
|
1358
|
+
if (next !== latest.current.nodes) latest.current.setNodes(next);
|
|
1359
|
+
},
|
|
1360
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1361
|
+
[store]
|
|
1362
|
+
);
|
|
1363
|
+
const modesOf = useCallback8(
|
|
1364
|
+
(nodeId) => {
|
|
1365
|
+
const node = latest.current.nodes.find((n) => n.id === nodeId);
|
|
1366
|
+
return node ? getEffectiveTokenModes(node, latest.current.nodes, store.getState(), opts()) : {};
|
|
1367
|
+
},
|
|
1368
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1369
|
+
[store]
|
|
1370
|
+
);
|
|
1371
|
+
return { state, bind, setMode, modesOf };
|
|
1372
|
+
}
|
|
1373
|
+
|
|
1374
|
+
// src/canvas/TokenBindingPicker.tsx
|
|
1375
|
+
import {
|
|
1376
|
+
bindCanvasToken as bindCanvasToken2,
|
|
1377
|
+
getBindableTokenProperties,
|
|
1378
|
+
getEffectiveTokenModes as getEffectiveTokenModes2,
|
|
1379
|
+
getNodeTokenBindings,
|
|
1380
|
+
getNodeTokenModes,
|
|
1381
|
+
setCanvasTokenMode as setCanvasTokenMode2,
|
|
1382
|
+
getTokensForProperty
|
|
1383
|
+
} from "@pixerate/editor/canvas";
|
|
1384
|
+
import { getCurrentMode, resolveToken } from "@pixerate/editor/tokens";
|
|
1385
|
+
import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1386
|
+
function TokenBindingPicker({
|
|
1387
|
+
state,
|
|
1388
|
+
nodes,
|
|
1389
|
+
selectedIds,
|
|
1390
|
+
onChange,
|
|
1391
|
+
options = {},
|
|
1392
|
+
properties,
|
|
1393
|
+
onError,
|
|
1394
|
+
className = ""
|
|
1395
|
+
}) {
|
|
1396
|
+
const selected = nodes.filter((n) => selectedIds.includes(n.id));
|
|
1397
|
+
const first = selected[0];
|
|
1398
|
+
if (!first) return null;
|
|
1399
|
+
let rows = getBindableTokenProperties(first, options);
|
|
1400
|
+
if (properties) rows = properties.map((key) => rows.find((p) => p.key === key)).filter((p) => !!p);
|
|
1401
|
+
const modes = getEffectiveTokenModes2(first, nodes, state, options);
|
|
1402
|
+
return /* @__PURE__ */ jsxs4("div", { "data-token-binding-picker": "", className: `flex flex-col gap-1 text-xs text-foreground ${className}`, children: [
|
|
1403
|
+
rows.map((property) => {
|
|
1404
|
+
const ids = new Set(selected.map((n) => getNodeTokenBindings(n)[property.key] ?? ""));
|
|
1405
|
+
const value = ids.size === 1 ? [...ids][0] : "__mixed";
|
|
1406
|
+
const candidates = getTokensForProperty(state, property, first);
|
|
1407
|
+
const resolved = value && value !== "__mixed" ? resolveToken(state, value, modes) : null;
|
|
1408
|
+
return /* @__PURE__ */ jsxs4("label", { className: "flex items-center gap-2", "data-token-property": property.key, children: [
|
|
1409
|
+
/* @__PURE__ */ jsx4("span", { className: "w-28 shrink-0 text-muted-foreground", children: property.label }),
|
|
1410
|
+
/* @__PURE__ */ jsxs4(
|
|
1411
|
+
"select",
|
|
1412
|
+
{
|
|
1413
|
+
"aria-label": `${property.label} variable`,
|
|
1414
|
+
className: "min-w-0 flex-1 rounded border border-border bg-background px-1 py-0.5 text-xs",
|
|
1415
|
+
value,
|
|
1416
|
+
onChange: (e) => {
|
|
1417
|
+
const id = e.currentTarget.value || null;
|
|
1418
|
+
try {
|
|
1419
|
+
onChange(bindCanvasToken2(nodes, selectedIds, property.key, id, state, options));
|
|
1420
|
+
} catch (error) {
|
|
1421
|
+
onError?.(error);
|
|
1422
|
+
}
|
|
1423
|
+
},
|
|
1424
|
+
children: [
|
|
1425
|
+
value === "__mixed" ? /* @__PURE__ */ jsx4("option", { value: "__mixed", children: "Mixed" }) : null,
|
|
1426
|
+
/* @__PURE__ */ jsx4("option", { value: "", children: "None" }),
|
|
1427
|
+
candidates.map((v) => {
|
|
1428
|
+
const collection = state.collections.find((c) => c.id === v.collectionId);
|
|
1429
|
+
return /* @__PURE__ */ jsxs4("option", { value: v.id, children: [
|
|
1430
|
+
v.name,
|
|
1431
|
+
collection && state.collections.length > 1 ? ` (${collection.name})` : ""
|
|
1432
|
+
] }, v.id);
|
|
1433
|
+
})
|
|
1434
|
+
]
|
|
1435
|
+
}
|
|
1436
|
+
),
|
|
1437
|
+
/* @__PURE__ */ jsx4("span", { className: "w-16 shrink-0 truncate text-right text-muted-foreground", "data-token-resolved": "", children: resolved?.ok ? property.type === "color" ? /* @__PURE__ */ jsx4(
|
|
1438
|
+
"span",
|
|
1439
|
+
{
|
|
1440
|
+
className: "inline-block h-3 w-3 rounded border border-border align-middle",
|
|
1441
|
+
style: { background: String(resolved.value) },
|
|
1442
|
+
title: String(resolved.value)
|
|
1443
|
+
}
|
|
1444
|
+
) : String(resolved.value) : resolved ? /* @__PURE__ */ jsx4("span", { title: resolved.message, children: "\u26A0" }) : null })
|
|
1445
|
+
] }, property.key);
|
|
1446
|
+
}),
|
|
1447
|
+
state.collections.length === 0 ? /* @__PURE__ */ jsx4("p", { className: "text-muted-foreground", children: "No variables yet." }) : null
|
|
1448
|
+
] });
|
|
1449
|
+
}
|
|
1450
|
+
function TokenModeSwitcher({
|
|
1451
|
+
state,
|
|
1452
|
+
nodes,
|
|
1453
|
+
nodeIds,
|
|
1454
|
+
onChange,
|
|
1455
|
+
options = {},
|
|
1456
|
+
showSingleMode = false,
|
|
1457
|
+
className = ""
|
|
1458
|
+
}) {
|
|
1459
|
+
const first = nodes.find((n) => nodeIds.includes(n.id));
|
|
1460
|
+
if (!first) return null;
|
|
1461
|
+
const own = getNodeTokenModes(first);
|
|
1462
|
+
const parent = first.parentId ? nodes.find((n) => n.id === first.parentId) : void 0;
|
|
1463
|
+
const inherited = parent ? getEffectiveTokenModes2(parent, nodes, state, options) : { ...options.modes };
|
|
1464
|
+
const collections = state.collections.filter((c) => showSingleMode || c.modes.length > 1);
|
|
1465
|
+
return /* @__PURE__ */ jsx4("div", { "data-token-mode-switcher": "", className: `flex flex-col gap-1 text-xs text-foreground ${className}`, children: collections.map((collection) => {
|
|
1466
|
+
const auto = getCurrentMode(collection, inherited);
|
|
1467
|
+
const explicit = collection.modes.some((m) => m.id === own[collection.id]) ? own[collection.id] : "";
|
|
1468
|
+
return /* @__PURE__ */ jsxs4("label", { className: "flex items-center gap-2", "data-token-collection": collection.id, children: [
|
|
1469
|
+
/* @__PURE__ */ jsx4("span", { className: "w-28 shrink-0 truncate text-muted-foreground", children: collection.name }),
|
|
1470
|
+
/* @__PURE__ */ jsxs4(
|
|
1471
|
+
"select",
|
|
1472
|
+
{
|
|
1473
|
+
"aria-label": `${collection.name} mode`,
|
|
1474
|
+
className: "min-w-0 flex-1 rounded border border-border bg-background px-1 py-0.5 text-xs",
|
|
1475
|
+
value: explicit,
|
|
1476
|
+
onChange: (e) => onChange(setCanvasTokenMode2(nodes, nodeIds, collection.id, e.currentTarget.value || null, state, options)),
|
|
1477
|
+
children: [
|
|
1478
|
+
/* @__PURE__ */ jsxs4("option", { value: "", children: [
|
|
1479
|
+
"Auto (",
|
|
1480
|
+
auto.name,
|
|
1481
|
+
")"
|
|
1482
|
+
] }),
|
|
1483
|
+
collection.modes.map((m) => /* @__PURE__ */ jsx4("option", { value: m.id, children: m.name }, m.id))
|
|
1484
|
+
]
|
|
1485
|
+
}
|
|
1486
|
+
)
|
|
1487
|
+
] }, collection.id);
|
|
1488
|
+
}) });
|
|
1489
|
+
}
|
|
1490
|
+
|
|
1491
|
+
// src/canvas/index.ts
|
|
1492
|
+
import {
|
|
1493
|
+
bindCanvasToken as bindCanvasToken3,
|
|
1494
|
+
setCanvasTokenMode as setCanvasTokenMode3,
|
|
1495
|
+
resolveCanvasTokens as resolveCanvasTokens2,
|
|
1496
|
+
detachTokenBindings as detachTokenBindings2,
|
|
1497
|
+
pruneCanvasTokenModes,
|
|
1498
|
+
inspectNodeTokens,
|
|
1499
|
+
getNodeTokenBindings as getNodeTokenBindings2,
|
|
1500
|
+
getNodeTokenModes as getNodeTokenModes2,
|
|
1501
|
+
getEffectiveTokenModes as getEffectiveTokenModes3,
|
|
1502
|
+
getBindableTokenProperties as getBindableTokenProperties2,
|
|
1503
|
+
getCanvasTokenProperty,
|
|
1504
|
+
getTokenPropertyScope,
|
|
1505
|
+
getTokensForProperty as getTokensForProperty2,
|
|
1506
|
+
readNodeStyleProperty,
|
|
1507
|
+
writeNodeStyleProperty,
|
|
1508
|
+
CANVAS_TOKEN_PROPERTIES,
|
|
1509
|
+
TOKEN_BINDINGS_DATA_KEY,
|
|
1510
|
+
TOKEN_MODES_DATA_KEY
|
|
1511
|
+
} from "@pixerate/editor/canvas";
|
|
1206
1512
|
export {
|
|
1513
|
+
AUTO_LAYOUT_DATA_KEY,
|
|
1207
1514
|
AgentPresenceLayer,
|
|
1515
|
+
CANVAS_TOKEN_PROPERTIES,
|
|
1516
|
+
CHILD_LAYOUT_DATA_KEY,
|
|
1208
1517
|
CONNECTION_LINE_TYPES,
|
|
1209
1518
|
CanvasGuidesLayer,
|
|
1210
1519
|
CanvasScenesStore2 as CanvasScenesStore,
|
|
@@ -1216,34 +1525,57 @@ export {
|
|
|
1216
1525
|
SHAPE_NODE_TYPE,
|
|
1217
1526
|
SHAPE_OPERATIONS,
|
|
1218
1527
|
ShapeNode,
|
|
1528
|
+
TOKEN_BINDINGS_DATA_KEY,
|
|
1529
|
+
TOKEN_MODES_DATA_KEY,
|
|
1530
|
+
TokenBindingPicker,
|
|
1531
|
+
TokenModeSwitcher,
|
|
1219
1532
|
alignNodes,
|
|
1533
|
+
applyConstraints,
|
|
1220
1534
|
applyNodeUpdates,
|
|
1221
1535
|
applyShapeCombination,
|
|
1536
|
+
applyShapeReplacement,
|
|
1537
|
+
bezierPathArea,
|
|
1538
|
+
bezierPathBounds,
|
|
1539
|
+
bezierPathLength,
|
|
1540
|
+
bezierPathPointAtLength,
|
|
1541
|
+
bezierPathSignedArea,
|
|
1542
|
+
bezierPathToSvg,
|
|
1543
|
+
bindCanvasToken3 as bindCanvasToken,
|
|
1222
1544
|
blendLayout,
|
|
1223
1545
|
boundsOf,
|
|
1224
1546
|
calculateDagreReflowDisplacement,
|
|
1225
1547
|
calculateDirectionalDisplacement2 as calculateDirectionalDisplacement,
|
|
1226
1548
|
canCombineShapeNodes,
|
|
1549
|
+
canOffsetShapeNodes,
|
|
1550
|
+
canOutlineShapeNodeStrokes,
|
|
1227
1551
|
canvasHeight,
|
|
1228
1552
|
centerNodes2 as centerNodes,
|
|
1229
1553
|
centre,
|
|
1554
|
+
clampLayoutSize,
|
|
1230
1555
|
combineShapeNodes,
|
|
1231
1556
|
computeNodesBoundingBox,
|
|
1232
1557
|
computeSnapGuides,
|
|
1233
1558
|
connectedOnly,
|
|
1559
|
+
countPathSegments,
|
|
1234
1560
|
createBezierTrajectory,
|
|
1561
|
+
createCanvasAutoLayoutController2 as createCanvasAutoLayoutController,
|
|
1235
1562
|
createCanvasScenesStore,
|
|
1236
1563
|
createFanOutTrajectory2 as createFanOutTrajectory,
|
|
1237
1564
|
createGuideIndex,
|
|
1238
1565
|
createNodeGuideIndex,
|
|
1239
1566
|
cubicPointAt,
|
|
1240
1567
|
cubicsToPathData,
|
|
1568
|
+
dashContours,
|
|
1241
1569
|
defaultEasing,
|
|
1570
|
+
detachTokenBindings2 as detachTokenBindings,
|
|
1571
|
+
distanceToBezierPath,
|
|
1242
1572
|
distributeNodes,
|
|
1573
|
+
dividePaths,
|
|
1243
1574
|
dividePolygons,
|
|
1244
1575
|
ensureLayout2 as ensureLayout,
|
|
1245
1576
|
estimateCanvasHeight,
|
|
1246
1577
|
estimateNodeSize,
|
|
1578
|
+
excludePaths,
|
|
1247
1579
|
findConnectorSnap,
|
|
1248
1580
|
fitCubicRun,
|
|
1249
1581
|
fitCubics,
|
|
@@ -1254,18 +1586,36 @@ export {
|
|
|
1254
1586
|
flattenSvgPath,
|
|
1255
1587
|
flowSide,
|
|
1256
1588
|
getAbsolutePosition,
|
|
1589
|
+
getAutoLayout,
|
|
1590
|
+
getAutoLayoutGrid,
|
|
1591
|
+
getAutoLayoutInsertTarget,
|
|
1592
|
+
getBindableTokenProperties2 as getBindableTokenProperties,
|
|
1593
|
+
getCanvasTokenProperty,
|
|
1257
1594
|
getCenteredNodePosition2 as getCenteredNodePosition,
|
|
1595
|
+
getChildLayout,
|
|
1596
|
+
getEffectiveTokenModes3 as getEffectiveTokenModes,
|
|
1597
|
+
getFlowChildren,
|
|
1598
|
+
getLayoutParent,
|
|
1599
|
+
getLayoutSizing,
|
|
1258
1600
|
getLayoutedNodes2 as getLayoutedNodes,
|
|
1259
1601
|
getNodeRect,
|
|
1260
1602
|
getNodeShape,
|
|
1261
1603
|
getNodeSize,
|
|
1604
|
+
getNodeTokenBindings2 as getNodeTokenBindings,
|
|
1605
|
+
getNodeTokenModes2 as getNodeTokenModes,
|
|
1262
1606
|
getResizingNodeRect,
|
|
1263
1607
|
getShapeRenderData2 as getShapeRenderData,
|
|
1264
1608
|
getShapeSvg,
|
|
1609
|
+
getTokenPropertyScope,
|
|
1610
|
+
getTokensForProperty2 as getTokensForProperty,
|
|
1265
1611
|
handlePoint,
|
|
1612
|
+
hasVisibleStroke,
|
|
1266
1613
|
inferResizeHandle,
|
|
1614
|
+
inspectNodeTokens,
|
|
1615
|
+
intersectPaths,
|
|
1267
1616
|
intersectPolygons,
|
|
1268
1617
|
invertNodeUpdates,
|
|
1618
|
+
isAutoLayoutFrame,
|
|
1269
1619
|
isEventFromTextInput3 as isEventFromTextInput,
|
|
1270
1620
|
isLocked,
|
|
1271
1621
|
isMeasureModifierHeld2 as isMeasureModifierHeld,
|
|
@@ -1274,42 +1624,64 @@ export {
|
|
|
1274
1624
|
isStraightCubic,
|
|
1275
1625
|
isValidCanvasNode,
|
|
1276
1626
|
isValidUrl2 as isValidUrl,
|
|
1627
|
+
layoutAll,
|
|
1277
1628
|
layoutBounds,
|
|
1629
|
+
layoutFrame,
|
|
1630
|
+
layoutUp,
|
|
1631
|
+
layoutUpMany,
|
|
1278
1632
|
linearPositionTrajectory2 as linearPositionTrajectory,
|
|
1279
1633
|
linearTrajectory,
|
|
1280
1634
|
lockNodes,
|
|
1635
|
+
makeSizingCoherent,
|
|
1281
1636
|
matchArrangeShortcut2 as matchArrangeShortcut,
|
|
1282
1637
|
matchSize,
|
|
1283
1638
|
measureBetween,
|
|
1284
1639
|
measureLabel,
|
|
1285
1640
|
measureSelection2 as measureSelection,
|
|
1286
1641
|
measureToLine,
|
|
1642
|
+
mergeNodeUpdates,
|
|
1643
|
+
moveLayoutChild,
|
|
1287
1644
|
multiPolygonArea,
|
|
1288
1645
|
multiPolygonBounds,
|
|
1289
1646
|
nearestHandlePositions,
|
|
1647
|
+
normalizeBezierPath,
|
|
1648
|
+
offsetPath,
|
|
1649
|
+
offsetShapeNodes,
|
|
1290
1650
|
oppositePosition,
|
|
1651
|
+
outlineShapeNodeStrokes,
|
|
1652
|
+
outlineStroke,
|
|
1291
1653
|
overlaps,
|
|
1292
1654
|
parseCanvasClipboardData2 as parseCanvasClipboardData,
|
|
1293
1655
|
parseCanvasScenes,
|
|
1294
1656
|
parseSvgPath,
|
|
1657
|
+
pathBoolean,
|
|
1295
1658
|
placeBeside2 as placeBeside,
|
|
1659
|
+
pointInBezierPath,
|
|
1296
1660
|
pointInMultiPolygon,
|
|
1297
1661
|
pointInRings,
|
|
1298
1662
|
polygonArea,
|
|
1299
1663
|
polygonBoolean,
|
|
1300
1664
|
polygonToSvgPath,
|
|
1301
1665
|
positionToSide,
|
|
1666
|
+
pruneCanvasTokenModes,
|
|
1667
|
+
readNodeStyleProperty,
|
|
1302
1668
|
readStyleSize,
|
|
1303
1669
|
realClock,
|
|
1670
|
+
relayoutUpdates,
|
|
1304
1671
|
remapPastedNodes2 as remapPastedNodes,
|
|
1305
1672
|
reorderNodes,
|
|
1306
1673
|
repositionNodesTo,
|
|
1307
1674
|
resizeHandleAxes,
|
|
1675
|
+
resolveCanvasTokens2 as resolveCanvasTokens,
|
|
1676
|
+
resolvePadding,
|
|
1308
1677
|
revertShapeCombination,
|
|
1309
1678
|
ringSignedArea,
|
|
1310
1679
|
runMultiNodeTransition2 as runMultiNodeTransition,
|
|
1311
1680
|
serializeCanvasNodes2 as serializeCanvasNodes,
|
|
1681
|
+
setCanvasTokenMode3 as setCanvasTokenMode,
|
|
1682
|
+
shapeNodeToBezierPath,
|
|
1312
1683
|
shapeNodeToPolygon,
|
|
1684
|
+
shapeToBezierPath,
|
|
1313
1685
|
shapeToPolygon,
|
|
1314
1686
|
sideToPosition,
|
|
1315
1687
|
simplifyRing,
|
|
@@ -1317,12 +1689,18 @@ export {
|
|
|
1317
1689
|
snapNodeResize,
|
|
1318
1690
|
snapResize,
|
|
1319
1691
|
snapToGrid,
|
|
1692
|
+
strokeOutlineRings,
|
|
1693
|
+
subtractPaths,
|
|
1320
1694
|
subtractPolygons,
|
|
1695
|
+
toBezierPath,
|
|
1321
1696
|
toggleLockNodes,
|
|
1697
|
+
transformBezierPath,
|
|
1322
1698
|
unionPolygons,
|
|
1699
|
+
unitePaths,
|
|
1323
1700
|
unlockNodes,
|
|
1324
1701
|
useCanvasArrange,
|
|
1325
1702
|
useCanvasArrangeShortcuts,
|
|
1703
|
+
useCanvasAutoLayout,
|
|
1326
1704
|
useCanvasClipboard,
|
|
1327
1705
|
useCanvasDocking,
|
|
1328
1706
|
useCanvasExplosion,
|
|
@@ -1331,8 +1709,10 @@ export {
|
|
|
1331
1709
|
useCanvasMeasure,
|
|
1332
1710
|
useCanvasScenes,
|
|
1333
1711
|
useCanvasShortcuts,
|
|
1712
|
+
useCanvasTokens,
|
|
1334
1713
|
useStreamingCanvas,
|
|
1335
1714
|
withStyleSize,
|
|
1715
|
+
writeNodeStyleProperty,
|
|
1336
1716
|
xorPolygons
|
|
1337
1717
|
};
|
|
1338
1718
|
//# sourceMappingURL=index.js.map
|