@pixerate/editor-react 0.16.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 +2 -2
- package/dist/canvas/index.cjs +406 -142
- package/dist/canvas/index.cjs.map +1 -1
- package/dist/canvas/index.d.cts +66 -3
- package/dist/canvas/index.d.ts +66 -3
- package/dist/canvas/index.js +277 -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-XTFR3IMK.js → chunk-ZU54BMDC.js} +473 -160
- package/dist/chunk-ZU54BMDC.js.map +1 -0
- package/dist/generation/index.cjs +290 -0
- package/dist/generation/index.cjs.map +1 -1
- package/dist/generation/index.d.cts +66 -2
- package/dist/generation/index.d.ts +66 -2
- package/dist/generation/index.js +7 -1
- package/dist/image-editor/index.cjs +490 -187
- package/dist/image-editor/index.cjs.map +1 -1
- package/dist/image-editor/index.d.cts +34 -2
- package/dist/image-editor/index.d.ts +34 -2
- package/dist/image-editor/index.js +5 -1
- package/dist/index.cjs +2372 -731
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +88 -6
- package/dist/index.d.ts +88 -6
- package/dist/index.js +334 -96
- package/dist/index.js.map +1 -1
- package/dist/spreadsheet/index.cjs +943 -112
- package/dist/spreadsheet/index.cjs.map +1 -1
- package/dist/spreadsheet/index.d.cts +119 -7
- package/dist/spreadsheet/index.d.ts +119 -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 +10 -2
- package/dist/chunk-7SPRQZ6H.js +0 -216
- package/dist/chunk-7SPRQZ6H.js.map +0 -1
- package/dist/chunk-FYIPXHAE.js +0 -1169
- package/dist/chunk-FYIPXHAE.js.map +0 -1
- package/dist/chunk-XTFR3IMK.js.map +0 -1
package/dist/canvas/index.d.ts
CHANGED
|
@@ -2,8 +2,9 @@ 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, 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';
|
|
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, CanvasTokenOptions } 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, BezierCommand, BezierPath, BezierPathInput, CANVAS_TOKEN_PROPERTIES, CHILD_LAYOUT_DATA_KEY, CONNECTION_LINE_TYPES, CanvasArrangeAction, CanvasAutoLayoutController, CanvasAutoLayoutControllerOptions, CanvasClipboardPayload, CanvasConnectionLineType, CanvasDockingCallbacks, CanvasEdge, CanvasHeightOptions, CanvasLayoutOptions, CanvasNode, CanvasNodeUpdate, CanvasScene, CanvasScenesState, CanvasScenesStore, CanvasTokenBindingInfo, CanvasTokenOptions, CanvasTokenProperty, CanvasViewport, Clock, CollapseNodeOptions, CombineShapeNodesOptions, CombineShapeNodesRefusal, CombineShapeNodesResult, ConnectorSnap, ConnectorSnapTarget, CubicSegment, DEFAULT_ARRANGE_SHORTCUTS, DirectionalDisplacementOptions, DisplacementDirection, DistributeAxis, DistributeMode, DividePathsResult, DockStrategy, EllipseShape, ExplodeNodeOptions, ExplosionSnapshot, FanOutTrajectoryOptions, FitCubicsOptions, FitPathDataOptions, FlattenOptions, GraphDifferences, GuideIndex, GuideLine, IncrementalLayoutOptions, ManualClock, MeasureGuide, MeasureSelectionOptions, MeasureSelectionResult, MultiPolygon, NodeTransition, OffsetPathOptions, OffsetShapeNodesOptions, OutlineShapeStrokesOptions, OutlineStrokeOptions, PathBooleanResult, PathCommand, PathOperand, PathOperandInput, PathOpsOptions, 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, ShapePathEditOperation, ShapePathEditRefusal, ShapePathEditResult, ShapeRenderData, ShapeSize, Side, SizeDimension, SnapGuidesOptions, SnapNodeResizeOptions, SnapNodeResizeResult, SnapResizeOptions, SnapResizeResult, SnapResult, StarShape, StrokeCap, StrokeJoin, TOKEN_BINDINGS_DATA_KEY, TOKEN_MODES_DATA_KEY, TrajectoryFunction, TrajectoryPoint, XYPosition, ZOrderOperation, alignNodes, applyConstraints, applyNodeUpdates, applyShapeCombination, applyShapeReplacement, bezierPathArea, bezierPathBounds, bezierPathLength, bezierPathPointAtLength, bezierPathSignedArea, bezierPathToSvg, bindCanvasToken, blendLayout, boundsOf, calculateDagreReflowDisplacement, calculateDirectionalDisplacement, canCombineShapeNodes, canOffsetShapeNodes, canOutlineShapeNodeStrokes, canvasHeight, centerNodes, centre, clampLayoutSize, combineShapeNodes, computeNodesBoundingBox, computeSnapGuides, connectedOnly, countPathSegments, createBezierTrajectory, createCanvasAutoLayoutController, createCanvasScenesStore, createFanOutTrajectory, createGuideIndex, createNodeGuideIndex, cubicPointAt, cubicsToPathData, dashContours, defaultEasing, detachTokenBindings, distanceToBezierPath, distributeNodes, dividePaths, dividePolygons, ensureLayout, estimateCanvasHeight, estimateNodeSize, excludePaths, findConnectorSnap, fitCubicRun, fitCubics, fitFreehandPath, fitPathData, fitViewportToNodes, fitViewportToRect, flattenSvgPath, flowSide, getAbsolutePosition, getAutoLayout, getAutoLayoutGrid, getAutoLayoutInsertTarget, getBindableTokenProperties, getCanvasTokenProperty, getCenteredNodePosition, getChildLayout, getEffectiveTokenModes, getFlowChildren, getLayoutParent, getLayoutSizing, getLayoutedNodes, getNodeRect, getNodeShape, getNodeSize, getNodeTokenBindings, getNodeTokenModes, getResizingNodeRect, getShapeRenderData, getShapeSvg, getTokenPropertyScope, getTokensForProperty, handlePoint, hasVisibleStroke, inferResizeHandle, inspectNodeTokens, intersectPaths, 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, normalizeBezierPath, offsetPath, offsetShapeNodes, oppositePosition, outlineShapeNodeStrokes, outlineStroke, overlaps, parseCanvasClipboardData, parseCanvasScenes, parseSvgPath, pathBoolean, placeBeside, pointInBezierPath, pointInMultiPolygon, pointInRings, polygonArea, polygonBoolean, polygonToSvgPath, positionToSide, pruneCanvasTokenModes, readNodeStyleProperty, readStyleSize, realClock, relayoutUpdates, remapPastedNodes, reorderNodes, repositionNodesTo, resizeHandleAxes, resolveCanvasTokens, resolvePadding, revertShapeCombination, ringSignedArea, runMultiNodeTransition, serializeCanvasNodes, setCanvasTokenMode, shapeNodeToBezierPath, shapeNodeToPolygon, shapeToBezierPath, shapeToPolygon, sideToPosition, simplifyRing, snapNodeDrag, snapNodeResize, snapResize, snapToGrid, strokeOutlineRings, subtractPaths, subtractPolygons, toBezierPath, toggleLockNodes, transformBezierPath, unionPolygons, unitePaths, unlockNodes, withStyleSize, writeNodeStyleProperty, xorPolygons } from '@pixerate/editor/canvas';
|
|
7
|
+
import { TokenState, TokenStore, TokenModeContext } from '@pixerate/editor/tokens';
|
|
7
8
|
|
|
8
9
|
interface AgentPresenceLayerProps {
|
|
9
10
|
presences: AgentPresence[];
|
|
@@ -197,6 +198,10 @@ declare function useCanvasArrange<TNode extends CanvasNode = CanvasNode>(options
|
|
|
197
198
|
exclude: (ids?: Iterable<string>, o?: _pixerate_editor_canvas.CombineShapeNodesOptions) => _pixerate_editor_canvas.CombineShapeNodesResult<TNode>;
|
|
198
199
|
divide: (ids?: Iterable<string>, o?: _pixerate_editor_canvas.CombineShapeNodesOptions) => _pixerate_editor_canvas.CombineShapeNodesResult<TNode>;
|
|
199
200
|
canCombineShapes: (ids?: Iterable<string>) => boolean;
|
|
201
|
+
offsetShapes(distance: number, ids?: Iterable<string>, offsetOptions?: _pixerate_editor_canvas.OffsetShapeNodesOptions): _pixerate_editor_canvas.ShapePathEditResult<TNode>;
|
|
202
|
+
canOffsetShapes: (ids?: Iterable<string>) => boolean;
|
|
203
|
+
outlineStroke(ids?: Iterable<string>, outlineOptions?: _pixerate_editor_canvas.OutlineShapeStrokesOptions): _pixerate_editor_canvas.ShapePathEditResult<TNode>;
|
|
204
|
+
canOutlineStroke: (ids?: Iterable<string>) => boolean;
|
|
200
205
|
runAction(action: CanvasArrangeAction): boolean;
|
|
201
206
|
beginDrag(ids?: Iterable<string>): void;
|
|
202
207
|
drag(ids?: Iterable<string>): _pixerate_editor_canvas.SnapNodeDragResult | null;
|
|
@@ -415,4 +420,62 @@ declare function useCanvasAutoLayout<TNode extends CanvasNode = CanvasNode>(opti
|
|
|
415
420
|
};
|
|
416
421
|
type CanvasAutoLayout = ReturnType<typeof useCanvasAutoLayout>;
|
|
417
422
|
|
|
418
|
-
|
|
423
|
+
interface UseCanvasTokensOptions<TNode extends CanvasNode> extends Omit<CanvasTokenOptions, 'modes'> {
|
|
424
|
+
store: TokenStore;
|
|
425
|
+
nodes: TNode[];
|
|
426
|
+
setNodes: (update: TNode[] | ((nodes: TNode[]) => TNode[])) => void;
|
|
427
|
+
/** Modes for nodes without an explicit mode up their tree (e.g. the page's). */
|
|
428
|
+
modes?: TokenModeContext;
|
|
429
|
+
}
|
|
430
|
+
interface CanvasTokens {
|
|
431
|
+
state: TokenState;
|
|
432
|
+
/** Binds (or with `null` unbinds) a property of the nodes; throws `TokenError` when refused. */
|
|
433
|
+
bind: (ids: Iterable<string>, propertyKey: string, variableId: string | null) => void;
|
|
434
|
+
/** Sets (or with `null` clears) an explicit mode on frames / groups; descendants follow. */
|
|
435
|
+
setMode: (ids: Iterable<string>, collectionId: string, modeId: string | null) => void;
|
|
436
|
+
/** The modes a node is in (its own, inherited, then the root `modes`). */
|
|
437
|
+
modesOf: (nodeId: string) => Record<string, string>;
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* Keeps token-bound node properties resolved: whenever the token store, the nodes or the root
|
|
441
|
+
* modes change, bound values are written into the nodes (only when something changed, so it
|
|
442
|
+
* does not loop). Deleting a variable detaches the nodes bound to it, keeping their values.
|
|
443
|
+
*/
|
|
444
|
+
declare function useCanvasTokens<TNode extends CanvasNode>(options: UseCanvasTokensOptions<TNode>): CanvasTokens;
|
|
445
|
+
|
|
446
|
+
interface TokenBindingPickerProps<TNode extends CanvasNode = CanvasNode> {
|
|
447
|
+
state: TokenState;
|
|
448
|
+
nodes: TNode[];
|
|
449
|
+
/** Nodes to bind (the first one decides which properties are listed). */
|
|
450
|
+
selectedIds: readonly string[];
|
|
451
|
+
/** Receives the nodes with the binding applied and resolved. */
|
|
452
|
+
onChange: (nodes: TNode[]) => void;
|
|
453
|
+
options?: CanvasTokenOptions;
|
|
454
|
+
/** Limit to these property keys (in this order). */
|
|
455
|
+
properties?: readonly string[];
|
|
456
|
+
onError?: (error: Error) => void;
|
|
457
|
+
className?: string;
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* Inspector rows that bind node properties (fill, stroke, opacity, radius, gap, padding, text
|
|
461
|
+
* colour / size, …) to variables of the right type and scope, showing each resolved value.
|
|
462
|
+
*/
|
|
463
|
+
declare function TokenBindingPicker<TNode extends CanvasNode = CanvasNode>({ state, nodes, selectedIds, onChange, options, properties, onError, className, }: TokenBindingPickerProps<TNode>): React__default.JSX.Element | null;
|
|
464
|
+
interface TokenModeSwitcherProps<TNode extends CanvasNode = CanvasNode> {
|
|
465
|
+
state: TokenState;
|
|
466
|
+
nodes: TNode[];
|
|
467
|
+
/** Frames / groups whose explicit mode is set (the first one's choice is shown). */
|
|
468
|
+
nodeIds: readonly string[];
|
|
469
|
+
onChange: (nodes: TNode[]) => void;
|
|
470
|
+
options?: CanvasTokenOptions;
|
|
471
|
+
/** Show collections with a single mode too (default `false`). */
|
|
472
|
+
showSingleMode?: boolean;
|
|
473
|
+
className?: string;
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* Per-collection mode pickers for the selected frames: "Auto" (inherit from the parent, then
|
|
477
|
+
* the root modes, then the default mode) or an explicit mode that descendants inherit.
|
|
478
|
+
*/
|
|
479
|
+
declare function TokenModeSwitcher<TNode extends CanvasNode = CanvasNode>({ state, nodes, nodeIds, onChange, options, showSingleMode, className, }: TokenModeSwitcherProps<TNode>): React__default.JSX.Element | null;
|
|
480
|
+
|
|
481
|
+
export { AgentPresenceLayer, type AgentPresenceLayerProps, type CanvasArrange, type CanvasAutoLayout, type CanvasGraphTarget, CanvasGuidesLayer, type CanvasGuidesLayerProps, type CanvasMeasure, type CanvasScenes, type CanvasTokens, ShapeNode, type ShapeNodeProps, TokenBindingPicker, type TokenBindingPickerProps, TokenModeSwitcher, type TokenModeSwitcherProps, type UseCanvasArrangeOptions, type UseCanvasArrangeShortcutsOptions, type UseCanvasAutoLayoutOptions, type UseCanvasClipboardOptions, type UseCanvasDockingOptions, type UseCanvasGraphOptions, type UseCanvasLayoutOptions, type UseCanvasMeasureOptions, type UseCanvasScenesOptions, type UseCanvasShortcutsOptions, type UseCanvasTokensOptions, type UseStreamingCanvasOptions, useCanvasArrange, useCanvasArrangeShortcuts, useCanvasAutoLayout, useCanvasClipboard, useCanvasDocking, useCanvasExplosion, useCanvasGraph, useCanvasLayout, useCanvasMeasure, useCanvasScenes, useCanvasShortcuts, useCanvasTokens, useStreamingCanvas };
|
package/dist/canvas/index.js
CHANGED
|
@@ -1171,6 +1171,38 @@ import {
|
|
|
1171
1171
|
pointInRings,
|
|
1172
1172
|
pointInMultiPolygon
|
|
1173
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";
|
|
1174
1206
|
import {
|
|
1175
1207
|
getLayoutedNodes as getLayoutedNodes2,
|
|
1176
1208
|
ensureLayout as ensureLayout2,
|
|
@@ -1283,9 +1315,204 @@ function useCanvasAutoLayout(options) {
|
|
|
1283
1315
|
[controller, guides]
|
|
1284
1316
|
);
|
|
1285
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";
|
|
1286
1512
|
export {
|
|
1287
1513
|
AUTO_LAYOUT_DATA_KEY,
|
|
1288
1514
|
AgentPresenceLayer,
|
|
1515
|
+
CANVAS_TOKEN_PROPERTIES,
|
|
1289
1516
|
CHILD_LAYOUT_DATA_KEY,
|
|
1290
1517
|
CONNECTION_LINE_TYPES,
|
|
1291
1518
|
CanvasGuidesLayer,
|
|
@@ -1298,15 +1525,29 @@ export {
|
|
|
1298
1525
|
SHAPE_NODE_TYPE,
|
|
1299
1526
|
SHAPE_OPERATIONS,
|
|
1300
1527
|
ShapeNode,
|
|
1528
|
+
TOKEN_BINDINGS_DATA_KEY,
|
|
1529
|
+
TOKEN_MODES_DATA_KEY,
|
|
1530
|
+
TokenBindingPicker,
|
|
1531
|
+
TokenModeSwitcher,
|
|
1301
1532
|
alignNodes,
|
|
1302
1533
|
applyConstraints,
|
|
1303
1534
|
applyNodeUpdates,
|
|
1304
1535
|
applyShapeCombination,
|
|
1536
|
+
applyShapeReplacement,
|
|
1537
|
+
bezierPathArea,
|
|
1538
|
+
bezierPathBounds,
|
|
1539
|
+
bezierPathLength,
|
|
1540
|
+
bezierPathPointAtLength,
|
|
1541
|
+
bezierPathSignedArea,
|
|
1542
|
+
bezierPathToSvg,
|
|
1543
|
+
bindCanvasToken3 as bindCanvasToken,
|
|
1305
1544
|
blendLayout,
|
|
1306
1545
|
boundsOf,
|
|
1307
1546
|
calculateDagreReflowDisplacement,
|
|
1308
1547
|
calculateDirectionalDisplacement2 as calculateDirectionalDisplacement,
|
|
1309
1548
|
canCombineShapeNodes,
|
|
1549
|
+
canOffsetShapeNodes,
|
|
1550
|
+
canOutlineShapeNodeStrokes,
|
|
1310
1551
|
canvasHeight,
|
|
1311
1552
|
centerNodes2 as centerNodes,
|
|
1312
1553
|
centre,
|
|
@@ -1315,6 +1556,7 @@ export {
|
|
|
1315
1556
|
computeNodesBoundingBox,
|
|
1316
1557
|
computeSnapGuides,
|
|
1317
1558
|
connectedOnly,
|
|
1559
|
+
countPathSegments,
|
|
1318
1560
|
createBezierTrajectory,
|
|
1319
1561
|
createCanvasAutoLayoutController2 as createCanvasAutoLayoutController,
|
|
1320
1562
|
createCanvasScenesStore,
|
|
@@ -1323,12 +1565,17 @@ export {
|
|
|
1323
1565
|
createNodeGuideIndex,
|
|
1324
1566
|
cubicPointAt,
|
|
1325
1567
|
cubicsToPathData,
|
|
1568
|
+
dashContours,
|
|
1326
1569
|
defaultEasing,
|
|
1570
|
+
detachTokenBindings2 as detachTokenBindings,
|
|
1571
|
+
distanceToBezierPath,
|
|
1327
1572
|
distributeNodes,
|
|
1573
|
+
dividePaths,
|
|
1328
1574
|
dividePolygons,
|
|
1329
1575
|
ensureLayout2 as ensureLayout,
|
|
1330
1576
|
estimateCanvasHeight,
|
|
1331
1577
|
estimateNodeSize,
|
|
1578
|
+
excludePaths,
|
|
1332
1579
|
findConnectorSnap,
|
|
1333
1580
|
fitCubicRun,
|
|
1334
1581
|
fitCubics,
|
|
@@ -1342,8 +1589,11 @@ export {
|
|
|
1342
1589
|
getAutoLayout,
|
|
1343
1590
|
getAutoLayoutGrid,
|
|
1344
1591
|
getAutoLayoutInsertTarget,
|
|
1592
|
+
getBindableTokenProperties2 as getBindableTokenProperties,
|
|
1593
|
+
getCanvasTokenProperty,
|
|
1345
1594
|
getCenteredNodePosition2 as getCenteredNodePosition,
|
|
1346
1595
|
getChildLayout,
|
|
1596
|
+
getEffectiveTokenModes3 as getEffectiveTokenModes,
|
|
1347
1597
|
getFlowChildren,
|
|
1348
1598
|
getLayoutParent,
|
|
1349
1599
|
getLayoutSizing,
|
|
@@ -1351,11 +1601,18 @@ export {
|
|
|
1351
1601
|
getNodeRect,
|
|
1352
1602
|
getNodeShape,
|
|
1353
1603
|
getNodeSize,
|
|
1604
|
+
getNodeTokenBindings2 as getNodeTokenBindings,
|
|
1605
|
+
getNodeTokenModes2 as getNodeTokenModes,
|
|
1354
1606
|
getResizingNodeRect,
|
|
1355
1607
|
getShapeRenderData2 as getShapeRenderData,
|
|
1356
1608
|
getShapeSvg,
|
|
1609
|
+
getTokenPropertyScope,
|
|
1610
|
+
getTokensForProperty2 as getTokensForProperty,
|
|
1357
1611
|
handlePoint,
|
|
1612
|
+
hasVisibleStroke,
|
|
1358
1613
|
inferResizeHandle,
|
|
1614
|
+
inspectNodeTokens,
|
|
1615
|
+
intersectPaths,
|
|
1359
1616
|
intersectPolygons,
|
|
1360
1617
|
invertNodeUpdates,
|
|
1361
1618
|
isAutoLayoutFrame,
|
|
@@ -1387,18 +1644,27 @@ export {
|
|
|
1387
1644
|
multiPolygonArea,
|
|
1388
1645
|
multiPolygonBounds,
|
|
1389
1646
|
nearestHandlePositions,
|
|
1647
|
+
normalizeBezierPath,
|
|
1648
|
+
offsetPath,
|
|
1649
|
+
offsetShapeNodes,
|
|
1390
1650
|
oppositePosition,
|
|
1651
|
+
outlineShapeNodeStrokes,
|
|
1652
|
+
outlineStroke,
|
|
1391
1653
|
overlaps,
|
|
1392
1654
|
parseCanvasClipboardData2 as parseCanvasClipboardData,
|
|
1393
1655
|
parseCanvasScenes,
|
|
1394
1656
|
parseSvgPath,
|
|
1657
|
+
pathBoolean,
|
|
1395
1658
|
placeBeside2 as placeBeside,
|
|
1659
|
+
pointInBezierPath,
|
|
1396
1660
|
pointInMultiPolygon,
|
|
1397
1661
|
pointInRings,
|
|
1398
1662
|
polygonArea,
|
|
1399
1663
|
polygonBoolean,
|
|
1400
1664
|
polygonToSvgPath,
|
|
1401
1665
|
positionToSide,
|
|
1666
|
+
pruneCanvasTokenModes,
|
|
1667
|
+
readNodeStyleProperty,
|
|
1402
1668
|
readStyleSize,
|
|
1403
1669
|
realClock,
|
|
1404
1670
|
relayoutUpdates,
|
|
@@ -1406,12 +1672,16 @@ export {
|
|
|
1406
1672
|
reorderNodes,
|
|
1407
1673
|
repositionNodesTo,
|
|
1408
1674
|
resizeHandleAxes,
|
|
1675
|
+
resolveCanvasTokens2 as resolveCanvasTokens,
|
|
1409
1676
|
resolvePadding,
|
|
1410
1677
|
revertShapeCombination,
|
|
1411
1678
|
ringSignedArea,
|
|
1412
1679
|
runMultiNodeTransition2 as runMultiNodeTransition,
|
|
1413
1680
|
serializeCanvasNodes2 as serializeCanvasNodes,
|
|
1681
|
+
setCanvasTokenMode3 as setCanvasTokenMode,
|
|
1682
|
+
shapeNodeToBezierPath,
|
|
1414
1683
|
shapeNodeToPolygon,
|
|
1684
|
+
shapeToBezierPath,
|
|
1415
1685
|
shapeToPolygon,
|
|
1416
1686
|
sideToPosition,
|
|
1417
1687
|
simplifyRing,
|
|
@@ -1419,9 +1689,14 @@ export {
|
|
|
1419
1689
|
snapNodeResize,
|
|
1420
1690
|
snapResize,
|
|
1421
1691
|
snapToGrid,
|
|
1692
|
+
strokeOutlineRings,
|
|
1693
|
+
subtractPaths,
|
|
1422
1694
|
subtractPolygons,
|
|
1695
|
+
toBezierPath,
|
|
1423
1696
|
toggleLockNodes,
|
|
1697
|
+
transformBezierPath,
|
|
1424
1698
|
unionPolygons,
|
|
1699
|
+
unitePaths,
|
|
1425
1700
|
unlockNodes,
|
|
1426
1701
|
useCanvasArrange,
|
|
1427
1702
|
useCanvasArrangeShortcuts,
|
|
@@ -1434,8 +1709,10 @@ export {
|
|
|
1434
1709
|
useCanvasMeasure,
|
|
1435
1710
|
useCanvasScenes,
|
|
1436
1711
|
useCanvasShortcuts,
|
|
1712
|
+
useCanvasTokens,
|
|
1437
1713
|
useStreamingCanvas,
|
|
1438
1714
|
withStyleSize,
|
|
1715
|
+
writeNodeStyleProperty,
|
|
1439
1716
|
xorPolygons
|
|
1440
1717
|
};
|
|
1441
1718
|
//# sourceMappingURL=index.js.map
|