@pixerate/editor-react 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +4 -0
  2. package/dist/canvas/index.cjs +219 -118
  3. package/dist/canvas/index.cjs.map +1 -1
  4. package/dist/canvas/index.d.cts +59 -3
  5. package/dist/canvas/index.d.ts +59 -3
  6. package/dist/canvas/index.js +103 -0
  7. package/dist/canvas/index.js.map +1 -1
  8. package/dist/chunk-7SPRQZ6H.js +216 -0
  9. package/dist/chunk-7SPRQZ6H.js.map +1 -0
  10. package/dist/{chunk-QVQYYHJ5.js → chunk-FYIPXHAE.js} +21 -13
  11. package/dist/chunk-FYIPXHAE.js.map +1 -0
  12. package/dist/{chunk-LPFZMZ3L.js → chunk-XTFR3IMK.js} +676 -322
  13. package/dist/chunk-XTFR3IMK.js.map +1 -0
  14. package/dist/chunk-XWFU2CSG.js +167 -0
  15. package/dist/chunk-XWFU2CSG.js.map +1 -0
  16. package/dist/generation/index.cjs +235 -0
  17. package/dist/generation/index.cjs.map +1 -0
  18. package/dist/generation/index.d.cts +60 -0
  19. package/dist/generation/index.d.ts +60 -0
  20. package/dist/generation/index.js +13 -0
  21. package/dist/generation/index.js.map +1 -0
  22. package/dist/image-editor/index.cjs +684 -336
  23. package/dist/image-editor/index.cjs.map +1 -1
  24. package/dist/image-editor/index.d.cts +60 -2
  25. package/dist/image-editor/index.d.ts +60 -2
  26. package/dist/image-editor/index.js +13 -3
  27. package/dist/index.cjs +1881 -648
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.d.cts +143 -4
  30. package/dist/index.d.ts +143 -4
  31. package/dist/index.js +626 -73
  32. package/dist/index.js.map +1 -1
  33. package/dist/persistence/index.cjs +191 -0
  34. package/dist/persistence/index.cjs.map +1 -0
  35. package/dist/persistence/index.d.cts +77 -0
  36. package/dist/persistence/index.d.ts +77 -0
  37. package/dist/persistence/index.js +9 -0
  38. package/dist/persistence/index.js.map +1 -0
  39. package/dist/spreadsheet/index.cjs +17 -10
  40. package/dist/spreadsheet/index.cjs.map +1 -1
  41. package/dist/spreadsheet/index.d.cts +2 -0
  42. package/dist/spreadsheet/index.d.ts +2 -0
  43. package/dist/spreadsheet/index.js +1 -1
  44. package/package.json +18 -2
  45. package/dist/chunk-LPFZMZ3L.js.map +0 -1
  46. package/dist/chunk-QVQYYHJ5.js.map +0 -1
@@ -2,8 +2,8 @@ import * as React$1 from 'react';
2
2
  import React__default from 'react';
3
3
  import { AgentPresence } from '@pixerate/editor/agent';
4
4
  import * as _pixerate_editor_canvas from '@pixerate/editor/canvas';
5
- import { CanvasNode, CanvasEdge, IncrementalLayoutOptions, XYPosition, GraphDifferences, Rect, CanvasLayoutOptions, Side, PlaceBesideOptions, getCenteredNodePosition, CanvasDockingCallbacks, DockStrategy, ExplodeNodeOptions, CollapseNodeOptions, ExplosionSnapshot, ArrangeHistoryTarget, SnapGuidesOptions, NodeRectOptions, GuideLine, CanvasArrangeAction, ArrangeShortcutBinding, CanvasScenesOptions, CanvasViewport, CanvasScenesStore, CanvasScene, FitViewportOptions, ShapeDescription } from '@pixerate/editor/canvas';
6
- export { AlignEdge, ArrangeShortcutBinding, CONNECTION_LINE_TYPES, CanvasArrangeAction, CanvasClipboardPayload, CanvasConnectionLineType, CanvasDockingCallbacks, CanvasEdge, CanvasHeightOptions, CanvasLayoutOptions, CanvasNode, CanvasNodeUpdate, CanvasScene, CanvasScenesState, CanvasScenesStore, CanvasViewport, Clock, CollapseNodeOptions, CombineShapeNodesOptions, CombineShapeNodesRefusal, CombineShapeNodesResult, ConnectorSnap, ConnectorSnapTarget, CubicSegment, DEFAULT_ARRANGE_SHORTCUTS, DirectionalDisplacementOptions, DisplacementDirection, DistributeAxis, DistributeMode, DockStrategy, EllipseShape, ExplodeNodeOptions, ExplosionSnapshot, FanOutTrajectoryOptions, FitCubicsOptions, FitPathDataOptions, FlattenOptions, GraphDifferences, GuideIndex, GuideLine, IncrementalLayoutOptions, ManualClock, MeasureGuide, MeasureSelectionOptions, MeasureSelectionResult, MultiPolygon, NodeTransition, PathCommand, PathShape, PlaceBesideOptions, Point, PolygonBooleanOperation, PolygonBooleanOptions, PolygonFillRule, PolygonInput, PolygonOperand, PolygonPiece, PolygonRing, PolygonToPathOptions, PolygonWithHoles, Position, RESIZE_HANDLES, Rect, RectShape, ReflowDisplacementOptions, RegularPolygonShape, ResizeHandle, SHAPE_DATA_KEY, SHAPE_KINDS, SHAPE_NODE_TYPE, SHAPE_OPERATIONS, ShapeDescription, ShapeKind, ShapeNodePolygonOptions, ShapeOperation, ShapePaint, ShapeRenderData, ShapeSize, Side, SizeDimension, SnapGuidesOptions, SnapNodeResizeOptions, SnapNodeResizeResult, SnapResizeOptions, SnapResizeResult, SnapResult, StarShape, TrajectoryFunction, TrajectoryPoint, XYPosition, ZOrderOperation, alignNodes, applyNodeUpdates, applyShapeCombination, blendLayout, boundsOf, calculateDagreReflowDisplacement, calculateDirectionalDisplacement, canCombineShapeNodes, canvasHeight, centerNodes, centre, combineShapeNodes, computeNodesBoundingBox, computeSnapGuides, connectedOnly, createBezierTrajectory, createCanvasScenesStore, createFanOutTrajectory, createGuideIndex, createNodeGuideIndex, cubicPointAt, cubicsToPathData, defaultEasing, distributeNodes, dividePolygons, ensureLayout, estimateCanvasHeight, estimateNodeSize, findConnectorSnap, fitCubicRun, fitCubics, fitFreehandPath, fitPathData, fitViewportToNodes, fitViewportToRect, flattenSvgPath, flowSide, getAbsolutePosition, getCenteredNodePosition, getLayoutedNodes, getNodeRect, getNodeShape, getNodeSize, getResizingNodeRect, getShapeRenderData, getShapeSvg, handlePoint, inferResizeHandle, intersectPolygons, invertNodeUpdates, isEventFromTextInput, isLocked, isMeasureModifierHeld, isShapeDescription, isShapeNode, isStraightCubic, isValidCanvasNode, isValidUrl, layoutBounds, linearPositionTrajectory, linearTrajectory, lockNodes, matchArrangeShortcut, matchSize, measureBetween, measureLabel, measureSelection, measureToLine, multiPolygonArea, multiPolygonBounds, nearestHandlePositions, oppositePosition, overlaps, parseCanvasClipboardData, parseCanvasScenes, parseSvgPath, placeBeside, pointInMultiPolygon, pointInRings, polygonArea, polygonBoolean, polygonToSvgPath, positionToSide, readStyleSize, realClock, remapPastedNodes, reorderNodes, repositionNodesTo, resizeHandleAxes, revertShapeCombination, ringSignedArea, runMultiNodeTransition, serializeCanvasNodes, shapeNodeToPolygon, shapeToPolygon, sideToPosition, simplifyRing, snapNodeDrag, snapNodeResize, snapResize, snapToGrid, subtractPolygons, toggleLockNodes, unionPolygons, unlockNodes, withStyleSize, xorPolygons } from '@pixerate/editor/canvas';
5
+ import { CanvasNode, CanvasEdge, IncrementalLayoutOptions, XYPosition, GraphDifferences, Rect, CanvasLayoutOptions, Side, PlaceBesideOptions, getCenteredNodePosition, CanvasDockingCallbacks, DockStrategy, ExplodeNodeOptions, CollapseNodeOptions, ExplosionSnapshot, ArrangeHistoryTarget, SnapGuidesOptions, NodeRectOptions, AutoLayoutOptions, GuideLine, CanvasArrangeAction, ArrangeShortcutBinding, CanvasScenesOptions, CanvasViewport, CanvasScenesStore, CanvasScene, FitViewportOptions, ShapeDescription, AutoLayoutMeasure } from '@pixerate/editor/canvas';
6
+ export { AUTO_LAYOUT_DATA_KEY, AlignEdge, ArrangeShortcutBinding, AutoLayout, AutoLayoutAlignContent, AutoLayoutAlignCross, AutoLayoutAlignMain, AutoLayoutCellAlign, AutoLayoutChild, AutoLayoutConstraints, AutoLayoutGrid, AutoLayoutGridArea, AutoLayoutGridCell, AutoLayoutGridGeometry, AutoLayoutGridTrack, AutoLayoutHorizontalConstraint, AutoLayoutInsertTarget, AutoLayoutMeasure, AutoLayoutMode, AutoLayoutOptions, AutoLayoutPadding, AutoLayoutSize, AutoLayoutSizing, AutoLayoutSizingPair, AutoLayoutVerticalConstraint, CHILD_LAYOUT_DATA_KEY, CONNECTION_LINE_TYPES, CanvasArrangeAction, CanvasAutoLayoutController, CanvasAutoLayoutControllerOptions, CanvasClipboardPayload, CanvasConnectionLineType, CanvasDockingCallbacks, CanvasEdge, CanvasHeightOptions, CanvasLayoutOptions, CanvasNode, CanvasNodeUpdate, CanvasScene, CanvasScenesState, CanvasScenesStore, CanvasViewport, Clock, CollapseNodeOptions, CombineShapeNodesOptions, CombineShapeNodesRefusal, CombineShapeNodesResult, ConnectorSnap, ConnectorSnapTarget, CubicSegment, DEFAULT_ARRANGE_SHORTCUTS, DirectionalDisplacementOptions, DisplacementDirection, DistributeAxis, DistributeMode, DockStrategy, EllipseShape, ExplodeNodeOptions, ExplosionSnapshot, FanOutTrajectoryOptions, FitCubicsOptions, FitPathDataOptions, FlattenOptions, GraphDifferences, GuideIndex, GuideLine, IncrementalLayoutOptions, ManualClock, MeasureGuide, MeasureSelectionOptions, MeasureSelectionResult, MultiPolygon, NodeTransition, PathCommand, PathShape, PlaceBesideOptions, Point, PolygonBooleanOperation, PolygonBooleanOptions, PolygonFillRule, PolygonInput, PolygonOperand, PolygonPiece, PolygonRing, PolygonToPathOptions, PolygonWithHoles, Position, RESIZE_HANDLES, Rect, RectShape, ReflowDisplacementOptions, RegularPolygonShape, ResizeHandle, SHAPE_DATA_KEY, SHAPE_KINDS, SHAPE_NODE_TYPE, SHAPE_OPERATIONS, ShapeDescription, ShapeKind, ShapeNodePolygonOptions, ShapeOperation, ShapePaint, ShapeRenderData, ShapeSize, Side, SizeDimension, SnapGuidesOptions, SnapNodeResizeOptions, SnapNodeResizeResult, SnapResizeOptions, SnapResizeResult, SnapResult, StarShape, TrajectoryFunction, TrajectoryPoint, XYPosition, ZOrderOperation, alignNodes, applyConstraints, applyNodeUpdates, applyShapeCombination, blendLayout, boundsOf, calculateDagreReflowDisplacement, calculateDirectionalDisplacement, canCombineShapeNodes, canvasHeight, centerNodes, centre, clampLayoutSize, combineShapeNodes, computeNodesBoundingBox, computeSnapGuides, connectedOnly, createBezierTrajectory, createCanvasAutoLayoutController, createCanvasScenesStore, createFanOutTrajectory, createGuideIndex, createNodeGuideIndex, cubicPointAt, cubicsToPathData, defaultEasing, distributeNodes, dividePolygons, ensureLayout, estimateCanvasHeight, estimateNodeSize, findConnectorSnap, fitCubicRun, fitCubics, fitFreehandPath, fitPathData, fitViewportToNodes, fitViewportToRect, flattenSvgPath, flowSide, getAbsolutePosition, getAutoLayout, getAutoLayoutGrid, getAutoLayoutInsertTarget, getCenteredNodePosition, getChildLayout, getFlowChildren, getLayoutParent, getLayoutSizing, getLayoutedNodes, getNodeRect, getNodeShape, getNodeSize, getResizingNodeRect, getShapeRenderData, getShapeSvg, handlePoint, inferResizeHandle, intersectPolygons, invertNodeUpdates, isAutoLayoutFrame, isEventFromTextInput, isLocked, isMeasureModifierHeld, isShapeDescription, isShapeNode, isStraightCubic, isValidCanvasNode, isValidUrl, layoutAll, layoutBounds, layoutFrame, layoutUp, layoutUpMany, linearPositionTrajectory, linearTrajectory, lockNodes, makeSizingCoherent, matchArrangeShortcut, matchSize, measureBetween, measureLabel, measureSelection, measureToLine, mergeNodeUpdates, moveLayoutChild, multiPolygonArea, multiPolygonBounds, nearestHandlePositions, oppositePosition, overlaps, parseCanvasClipboardData, parseCanvasScenes, parseSvgPath, placeBeside, pointInMultiPolygon, pointInRings, polygonArea, polygonBoolean, polygonToSvgPath, positionToSide, readStyleSize, realClock, relayoutUpdates, remapPastedNodes, reorderNodes, repositionNodesTo, resizeHandleAxes, resolvePadding, revertShapeCombination, ringSignedArea, runMultiNodeTransition, serializeCanvasNodes, shapeNodeToPolygon, shapeToPolygon, sideToPosition, simplifyRing, snapNodeDrag, snapNodeResize, snapResize, snapToGrid, subtractPolygons, toggleLockNodes, unionPolygons, unlockNodes, withStyleSize, xorPolygons } from '@pixerate/editor/canvas';
7
7
 
8
8
  interface AgentPresenceLayerProps {
9
9
  presences: AgentPresence[];
@@ -164,6 +164,8 @@ interface UseCanvasArrangeOptions<TNode extends CanvasNode = CanvasNode> {
164
164
  /** Turns drag snapping off (default `true`). */
165
165
  snapping?: boolean;
166
166
  rectOptions?: NodeRectOptions;
167
+ /** Re-run auto layout around arranged nodes in the same undo step (see `useCanvasAutoLayout`). */
168
+ autoLayout?: boolean | AutoLayoutOptions;
167
169
  }
168
170
  /**
169
171
  * React hook for Freeform-style arrangement on React Flow: align, distribute, make same size,
@@ -359,4 +361,58 @@ interface ShapeNodeProps {
359
361
  */
360
362
  declare function ShapeNode({ data, width, height, selected, className, children }: ShapeNodeProps): React__default.JSX.Element | null;
361
363
 
362
- export { AgentPresenceLayer, type AgentPresenceLayerProps, type CanvasArrange, type CanvasGraphTarget, CanvasGuidesLayer, type CanvasGuidesLayerProps, type CanvasMeasure, type CanvasScenes, ShapeNode, type ShapeNodeProps, type UseCanvasArrangeOptions, type UseCanvasArrangeShortcutsOptions, type UseCanvasClipboardOptions, type UseCanvasDockingOptions, type UseCanvasGraphOptions, type UseCanvasLayoutOptions, type UseCanvasMeasureOptions, type UseCanvasScenesOptions, type UseCanvasShortcutsOptions, type UseStreamingCanvasOptions, useCanvasArrange, useCanvasArrangeShortcuts, useCanvasClipboard, useCanvasDocking, useCanvasExplosion, useCanvasGraph, useCanvasLayout, useCanvasMeasure, useCanvasScenes, useCanvasShortcuts, useStreamingCanvas };
364
+ interface UseCanvasAutoLayoutOptions<TNode extends CanvasNode = CanvasNode> {
365
+ nodes: TNode[];
366
+ setNodes: (updater: TNode[] | ((prev: TNode[]) => TNode[])) => void;
367
+ /** When set, the hook's actions (add / remove / resize / reorder / apply) are undoable steps. */
368
+ history?: ArrangeHistoryTarget;
369
+ /** Turns automatic relayout off (`applyAutoLayout` still works). Default `true`. */
370
+ enabled?: boolean;
371
+ /** Reorder flow children by dragging them within their frame (default `true`). */
372
+ dragReorder?: boolean;
373
+ /** Text measuring and size hooks (default: xyflow `measured` sizes). */
374
+ measure?: AutoLayoutMeasure;
375
+ rectOptions?: NodeRectOptions;
376
+ }
377
+ /**
378
+ * React hook for Figma-style auto layout on React Flow sub-flows. Frames are nodes with
379
+ * `data.layout`; their children (`parentId`) are stacked, wrapped or placed on a grid, with
380
+ * hug / fill / fixed sizing, min / max, padding, alignment and constraints.
381
+ *
382
+ * Pass every `onNodesChange` batch through `noteChanges` before applying it
383
+ * (`onNodesChange={(c) => setNodes((n) => applyNodeChanges(autoLayout.noteChanges(c), n))}`):
384
+ * after the nodes update the hook relayouts frames whose children were measured, resized,
385
+ * added or removed, and turns drags of a flow child inside its frame into a reorder (one
386
+ * undoable step). Render `guides` (the drop marker) with `<CanvasGuidesLayer>`.
387
+ */
388
+ declare function useCanvasAutoLayout<TNode extends CanvasNode = CanvasNode>(options: UseCanvasAutoLayoutOptions<TNode>): {
389
+ /** Drop marker of the active reorder drag (flow coordinates). */
390
+ guides: GuideLine[];
391
+ hasPending: boolean;
392
+ applyAutoLayout(frameId?: string): _pixerate_editor_canvas.CanvasNodeUpdate[];
393
+ layoutUpdates(ids: Iterable<string>): _pixerate_editor_canvas.CanvasNodeUpdate[];
394
+ relayout(ids: Iterable<string>): _pixerate_editor_canvas.CanvasNodeUpdate[];
395
+ addNode(node: TNode, addOptions?: {
396
+ index?: number;
397
+ }): _pixerate_editor_canvas.CanvasNodeUpdate[];
398
+ removeNodes(ids: Iterable<string>): _pixerate_editor_canvas.CanvasNodeUpdate[];
399
+ resizeNode(id: string, size: {
400
+ width?: number;
401
+ height?: number;
402
+ }): _pixerate_editor_canvas.CanvasNodeUpdate[];
403
+ moveChild(childId: string, index: number): _pixerate_editor_canvas.CanvasNodeUpdate[];
404
+ getInsertTarget(id: string, point?: _pixerate_editor_canvas.XYPosition): _pixerate_editor_canvas.AutoLayoutInsertTarget | undefined;
405
+ beginReorderDrag(id: string): void;
406
+ dragReorder(id: string, point?: _pixerate_editor_canvas.XYPosition): _pixerate_editor_canvas.AutoLayoutInsertTarget | undefined;
407
+ endReorderDrag(id: string, point?: _pixerate_editor_canvas.XYPosition): _pixerate_editor_canvas.CanvasNodeUpdate[];
408
+ noteChanges<TChange extends _pixerate_editor_canvas.PositionChangeLike>(changes: TChange[]): TChange[];
409
+ noteRemoved(removed: Iterable<{
410
+ id: string;
411
+ parentId?: string;
412
+ }>): void;
413
+ flush(): _pixerate_editor_canvas.CanvasNodeUpdate[];
414
+ isFrame: (id: string) => boolean;
415
+ };
416
+ type CanvasAutoLayout = ReturnType<typeof useCanvasAutoLayout>;
417
+
418
+ export { AgentPresenceLayer, type AgentPresenceLayerProps, type CanvasArrange, type CanvasAutoLayout, type CanvasGraphTarget, CanvasGuidesLayer, type CanvasGuidesLayerProps, type CanvasMeasure, type CanvasScenes, ShapeNode, type ShapeNodeProps, type UseCanvasArrangeOptions, type UseCanvasArrangeShortcutsOptions, type UseCanvasAutoLayoutOptions, type UseCanvasClipboardOptions, type UseCanvasDockingOptions, type UseCanvasGraphOptions, type UseCanvasLayoutOptions, type UseCanvasMeasureOptions, type UseCanvasScenesOptions, type UseCanvasShortcutsOptions, type UseStreamingCanvasOptions, useCanvasArrange, useCanvasArrangeShortcuts, useCanvasAutoLayout, useCanvasClipboard, useCanvasDocking, useCanvasExplosion, useCanvasGraph, useCanvasLayout, useCanvasMeasure, useCanvasScenes, useCanvasShortcuts, useStreamingCanvas };
@@ -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
  []
@@ -1203,8 +1206,87 @@ import {
1203
1206
  blendLayout,
1204
1207
  connectedOnly
1205
1208
  } from "@pixerate/editor/canvas";
1209
+ import {
1210
+ layoutFrame,
1211
+ layoutAll,
1212
+ layoutUp,
1213
+ layoutUpMany,
1214
+ applyConstraints,
1215
+ getAutoLayout,
1216
+ getChildLayout,
1217
+ getLayoutSizing,
1218
+ getAutoLayoutGrid,
1219
+ getAutoLayoutInsertTarget,
1220
+ getFlowChildren,
1221
+ getLayoutParent,
1222
+ isAutoLayoutFrame,
1223
+ makeSizingCoherent,
1224
+ moveLayoutChild,
1225
+ mergeNodeUpdates,
1226
+ relayoutUpdates,
1227
+ resolvePadding,
1228
+ clampLayoutSize,
1229
+ createCanvasAutoLayoutController as createCanvasAutoLayoutController2,
1230
+ AUTO_LAYOUT_DATA_KEY,
1231
+ CHILD_LAYOUT_DATA_KEY
1232
+ } from "@pixerate/editor/canvas";
1233
+
1234
+ // src/canvas/useCanvasAutoLayout.ts
1235
+ import { useLayoutEffect, useMemo as useMemo4, useRef as useRef8, useState as useState4 } from "react";
1236
+ import {
1237
+ createCanvasAutoLayoutController
1238
+ } from "@pixerate/editor/canvas";
1239
+ function useCanvasAutoLayout(options) {
1240
+ const [guides, setGuides] = useState4([]);
1241
+ const nodesRef = useRef8(options.nodes);
1242
+ nodesRef.current = options.nodes;
1243
+ const optionsRef = useRef8(options);
1244
+ optionsRef.current = options;
1245
+ const controller = useMemo4(
1246
+ () => createCanvasAutoLayoutController({
1247
+ getNodes: () => nodesRef.current,
1248
+ setNodes: (next) => {
1249
+ nodesRef.current = next;
1250
+ optionsRef.current.setNodes(next);
1251
+ },
1252
+ get history() {
1253
+ return optionsRef.current.history;
1254
+ },
1255
+ get enabled() {
1256
+ return optionsRef.current.enabled;
1257
+ },
1258
+ get dragReorder() {
1259
+ return optionsRef.current.dragReorder;
1260
+ },
1261
+ get measure() {
1262
+ return optionsRef.current.measure;
1263
+ },
1264
+ get rectOptions() {
1265
+ return optionsRef.current.rectOptions;
1266
+ },
1267
+ onGuidesChange: setGuides
1268
+ }),
1269
+ []
1270
+ );
1271
+ useLayoutEffect(() => {
1272
+ if (controller.hasPending) controller.flush();
1273
+ }, [options.nodes, controller]);
1274
+ return useMemo4(
1275
+ () => ({
1276
+ ...controller,
1277
+ /** Drop marker of the active reorder drag (flow coordinates). */
1278
+ guides,
1279
+ get hasPending() {
1280
+ return controller.hasPending;
1281
+ }
1282
+ }),
1283
+ [controller, guides]
1284
+ );
1285
+ }
1206
1286
  export {
1287
+ AUTO_LAYOUT_DATA_KEY,
1207
1288
  AgentPresenceLayer,
1289
+ CHILD_LAYOUT_DATA_KEY,
1208
1290
  CONNECTION_LINE_TYPES,
1209
1291
  CanvasGuidesLayer,
1210
1292
  CanvasScenesStore2 as CanvasScenesStore,
@@ -1217,6 +1299,7 @@ export {
1217
1299
  SHAPE_OPERATIONS,
1218
1300
  ShapeNode,
1219
1301
  alignNodes,
1302
+ applyConstraints,
1220
1303
  applyNodeUpdates,
1221
1304
  applyShapeCombination,
1222
1305
  blendLayout,
@@ -1227,11 +1310,13 @@ export {
1227
1310
  canvasHeight,
1228
1311
  centerNodes2 as centerNodes,
1229
1312
  centre,
1313
+ clampLayoutSize,
1230
1314
  combineShapeNodes,
1231
1315
  computeNodesBoundingBox,
1232
1316
  computeSnapGuides,
1233
1317
  connectedOnly,
1234
1318
  createBezierTrajectory,
1319
+ createCanvasAutoLayoutController2 as createCanvasAutoLayoutController,
1235
1320
  createCanvasScenesStore,
1236
1321
  createFanOutTrajectory2 as createFanOutTrajectory,
1237
1322
  createGuideIndex,
@@ -1254,7 +1339,14 @@ export {
1254
1339
  flattenSvgPath,
1255
1340
  flowSide,
1256
1341
  getAbsolutePosition,
1342
+ getAutoLayout,
1343
+ getAutoLayoutGrid,
1344
+ getAutoLayoutInsertTarget,
1257
1345
  getCenteredNodePosition2 as getCenteredNodePosition,
1346
+ getChildLayout,
1347
+ getFlowChildren,
1348
+ getLayoutParent,
1349
+ getLayoutSizing,
1258
1350
  getLayoutedNodes2 as getLayoutedNodes,
1259
1351
  getNodeRect,
1260
1352
  getNodeShape,
@@ -1266,6 +1358,7 @@ export {
1266
1358
  inferResizeHandle,
1267
1359
  intersectPolygons,
1268
1360
  invertNodeUpdates,
1361
+ isAutoLayoutFrame,
1269
1362
  isEventFromTextInput3 as isEventFromTextInput,
1270
1363
  isLocked,
1271
1364
  isMeasureModifierHeld2 as isMeasureModifierHeld,
@@ -1274,16 +1367,23 @@ export {
1274
1367
  isStraightCubic,
1275
1368
  isValidCanvasNode,
1276
1369
  isValidUrl2 as isValidUrl,
1370
+ layoutAll,
1277
1371
  layoutBounds,
1372
+ layoutFrame,
1373
+ layoutUp,
1374
+ layoutUpMany,
1278
1375
  linearPositionTrajectory2 as linearPositionTrajectory,
1279
1376
  linearTrajectory,
1280
1377
  lockNodes,
1378
+ makeSizingCoherent,
1281
1379
  matchArrangeShortcut2 as matchArrangeShortcut,
1282
1380
  matchSize,
1283
1381
  measureBetween,
1284
1382
  measureLabel,
1285
1383
  measureSelection2 as measureSelection,
1286
1384
  measureToLine,
1385
+ mergeNodeUpdates,
1386
+ moveLayoutChild,
1287
1387
  multiPolygonArea,
1288
1388
  multiPolygonBounds,
1289
1389
  nearestHandlePositions,
@@ -1301,10 +1401,12 @@ export {
1301
1401
  positionToSide,
1302
1402
  readStyleSize,
1303
1403
  realClock,
1404
+ relayoutUpdates,
1304
1405
  remapPastedNodes2 as remapPastedNodes,
1305
1406
  reorderNodes,
1306
1407
  repositionNodesTo,
1307
1408
  resizeHandleAxes,
1409
+ resolvePadding,
1308
1410
  revertShapeCombination,
1309
1411
  ringSignedArea,
1310
1412
  runMultiNodeTransition2 as runMultiNodeTransition,
@@ -1323,6 +1425,7 @@ export {
1323
1425
  unlockNodes,
1324
1426
  useCanvasArrange,
1325
1427
  useCanvasArrangeShortcuts,
1428
+ useCanvasAutoLayout,
1326
1429
  useCanvasClipboard,
1327
1430
  useCanvasDocking,
1328
1431
  useCanvasExplosion,