@yuzhouu/canvas-kit 0.1.2 → 0.1.3
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/_vendor/canvas-core/bindings/BindingUtil.d.ts +45 -0
- package/_vendor/canvas-core/bindings/BindingUtilRegistry.d.ts +8 -0
- package/_vendor/canvas-core/bindings/arrow/arrowBindingHelpers.d.ts +28 -0
- package/_vendor/canvas-core/contextMenu.d.ts +62 -0
- package/_vendor/canvas-core/editor/Editor.d.ts +564 -0
- package/_vendor/canvas-core/editor/HistoryManager.d.ts +18 -0
- package/_vendor/canvas-core/editor/StateNode.d.ts +31 -0
- package/_vendor/canvas-core/editor/camera.d.ts +3 -0
- package/_vendor/canvas-core/editor/clipboard.d.ts +43 -0
- package/_vendor/canvas-core/editor/commands.d.ts +126 -0
- package/_vendor/canvas-core/editor/edgeScroll.d.ts +5 -0
- package/_vendor/canvas-core/editor/editorComputedHelpers.d.ts +21 -0
- package/_vendor/canvas-core/editor/editorSelectionTransforms.d.ts +6 -0
- package/_vendor/canvas-core/editor/events.d.ts +71 -0
- package/_vendor/canvas-core/editor/{index.ts → index.d.ts} +1 -5
- package/_vendor/canvas-core/editor/interactions.d.ts +51 -0
- package/_vendor/canvas-core/editor/internal.d.ts +7 -0
- package/_vendor/canvas-core/editor/managers/BindingManager.d.ts +27 -0
- package/_vendor/canvas-core/editor/managers/CameraManager.d.ts +39 -0
- package/_vendor/canvas-core/editor/managers/ClipboardManager.d.ts +14 -0
- package/_vendor/canvas-core/editor/managers/DocumentSnapshotManager.d.ts +28 -0
- package/_vendor/canvas-core/editor/managers/InputsManager.d.ts +44 -0
- package/_vendor/canvas-core/editor/managers/InteractionTransientManager.d.ts +52 -0
- package/_vendor/canvas-core/editor/managers/QueryManager.d.ts +76 -0
- package/_vendor/canvas-core/editor/managers/RenderWindowManager.d.ts +25 -0
- package/_vendor/canvas-core/editor/managers/SelectionLayoutManager.d.ts +29 -0
- package/_vendor/canvas-core/editor/managers/SelectionManager.d.ts +21 -0
- package/_vendor/canvas-core/editor/managers/SelectionOverlayManager.d.ts +23 -0
- package/_vendor/canvas-core/editor/managers/ShapeEditingManager.d.ts +29 -0
- package/_vendor/canvas-core/editor/managers/ShapeGeometryManager.d.ts +42 -0
- package/_vendor/canvas-core/editor/managers/ShapeHierarchyManager.d.ts +58 -0
- package/_vendor/canvas-core/editor/managers/SideEffectManager.d.ts +23 -0
- package/_vendor/canvas-core/editor/managers/SnapManager.d.ts +29 -0
- package/_vendor/canvas-core/editor/managers/SnapSnapshotBuilder.d.ts +22 -0
- package/_vendor/canvas-core/editor/managers/SpatialIndexManager.d.ts +30 -0
- package/_vendor/canvas-core/editor/managers/ToolManager.d.ts +25 -0
- package/_vendor/canvas-core/editor/managers/queryState.d.ts +18 -0
- package/_vendor/canvas-core/editor/managers/selectionGeometry.d.ts +28 -0
- package/_vendor/canvas-core/editor/managers/shapeOrder.d.ts +14 -0
- package/_vendor/canvas-core/editor/managers/shapeReparenting.d.ts +6 -0
- package/_vendor/canvas-core/editor/managers/snapCalculations.d.ts +40 -0
- package/_vendor/canvas-core/editor/managers/snapGeometry.d.ts +26 -0
- package/_vendor/canvas-core/editor/managers/snapIndicators.d.ts +22 -0
- package/_vendor/canvas-core/editor/managers/snapTypes.d.ts +98 -0
- package/_vendor/canvas-core/editor/queries/shapeTransforms.d.ts +27 -0
- package/_vendor/canvas-core/editor/renderWindow.d.ts +30 -0
- package/_vendor/canvas-core/editor/resizeGeometry.d.ts +97 -0
- package/_vendor/canvas-core/editor/selection.d.ts +224 -0
- package/_vendor/canvas-core/editor/selectionHandleInteractions.d.ts +11 -0
- package/_vendor/canvas-core/editor/selectionOverlay.d.ts +31 -0
- package/_vendor/canvas-core/exports/integrity.d.ts +32 -0
- package/_vendor/canvas-core/exports/svg.d.ts +48 -0
- package/_vendor/canvas-core/geometry/Box.d.ts +19 -0
- package/_vendor/canvas-core/geometry/Ellipse2d.d.ts +16 -0
- package/_vendor/canvas-core/geometry/Geometry2d.d.ts +15 -0
- package/_vendor/canvas-core/geometry/Mat.d.ts +28 -0
- package/_vendor/canvas-core/geometry/Polyline2d.d.ts +14 -0
- package/_vendor/canvas-core/geometry/Rectangle2d.d.ts +16 -0
- package/_vendor/canvas-core/geometry/Vec.d.ts +37 -0
- package/_vendor/canvas-core/geometry/{index.ts → index.d.ts} +1 -6
- package/_vendor/canvas-core/geometry/segments.d.ts +5 -0
- package/_vendor/canvas-core/index.d.ts +57 -0
- package/_vendor/canvas-core/plugins/index.d.ts +1 -0
- package/_vendor/canvas-core/plugins/types.d.ts +27 -0
- package/_vendor/canvas-core/reactivity.d.ts +4 -0
- package/_vendor/canvas-core/schema/records.d.ts +112 -0
- package/_vendor/canvas-core/schema/snapshots.d.ts +27 -0
- package/_vendor/canvas-core/shapes/ShapeUtil.d.ts +133 -0
- package/_vendor/canvas-core/shapes/ShapeUtilRegistry.d.ts +9 -0
- package/_vendor/canvas-core/shapes/capabilities.d.ts +25 -0
- package/_vendor/canvas-core/shapes/types.d.ts +2 -0
- package/_vendor/canvas-core/toolbar.d.ts +117 -0
- package/_vendor/canvas-core/tools/hand/HandTool.d.ts +5 -0
- package/_vendor/canvas-core/tools/select/SelectTool.d.ts +5 -0
- package/_vendor/canvas-core/tools/select/selectContainment.d.ts +11 -0
- package/_vendor/canvas-core/tools/select/selectToolHelpers.d.ts +161 -0
- package/_vendor/canvas-core/tools/select/states/BrushingState.d.ts +19 -0
- package/_vendor/canvas-core/tools/select/states/DraggingSelectionHandleInteractionState.d.ts +15 -0
- package/_vendor/canvas-core/tools/select/states/IdleState.d.ts +8 -0
- package/_vendor/canvas-core/tools/select/states/PointingCanvasState.d.ts +11 -0
- package/_vendor/canvas-core/tools/select/states/PointingResizeHandleState.d.ts +10 -0
- package/_vendor/canvas-core/tools/select/states/PointingRotateHandleState.d.ts +10 -0
- package/_vendor/canvas-core/tools/select/states/PointingSelectionHandleInteractionState.d.ts +10 -0
- package/_vendor/canvas-core/tools/select/states/PointingShapeState.d.ts +12 -0
- package/_vendor/canvas-core/tools/select/states/ResizingState.d.ts +16 -0
- package/_vendor/canvas-core/tools/select/states/RotatingState.d.ts +14 -0
- package/_vendor/canvas-core/tools/select/states/SelectStateNode.d.ts +60 -0
- package/_vendor/canvas-core/tools/select/states/TranslatingState.d.ts +16 -0
- package/_vendor/canvas-plugin-api/feature.d.ts +37 -0
- package/_vendor/canvas-plugin-api/index.d.ts +57 -0
- package/_vendor/canvas-product-react/api/apiRegistry.d.ts +12 -0
- package/_vendor/canvas-product-react/api/canvasProductApi.d.ts +124 -0
- package/_vendor/canvas-product-react/api/index.d.ts +4 -0
- package/_vendor/canvas-product-react/capabilities/clipboard/clipboardService.d.ts +9 -0
- package/_vendor/canvas-product-react/capabilities/clipboard/systemClipboard.d.ts +16 -0
- package/_vendor/canvas-product-react/capabilities/context-menu/systemContextMenu.d.ts +17 -0
- package/_vendor/canvas-product-react/capabilities/context-menu/useContextMenuSurface.d.ts +12 -0
- package/_vendor/canvas-product-react/capabilities/export/useSvgExport.d.ts +29 -0
- package/_vendor/canvas-product-react/capabilities/history/useHistoryControls.d.ts +8 -0
- package/_vendor/canvas-product-react/capabilities/pages/usePageControls.d.ts +12 -0
- package/_vendor/canvas-product-react/capabilities/toolbar/systemToolbar.d.ts +32 -0
- package/_vendor/canvas-product-react/capabilities/toolbar/useToolbarSurfaces.d.ts +19 -0
- package/_vendor/canvas-product-react/capabilities/zoom/useZoomControls.d.ts +9 -0
- package/_vendor/canvas-product-react/index.d.ts +24 -0
- package/_vendor/canvas-product-react/persistence/index.d.ts +2 -0
- package/_vendor/canvas-product-react/persistence/localSnapshotPersistence.d.ts +40 -0
- package/_vendor/canvas-product-react/runtime/CanvasProductRoot.d.ts +4 -0
- package/_vendor/canvas-product-react/runtime/productDefinition.d.ts +45 -0
- package/_vendor/canvas-product-react/runtime/productServices.d.ts +31 -0
- package/_vendor/canvas-react/components/CanvasView.d.ts +11 -0
- package/_vendor/canvas-react/components/OverlayLayer.d.ts +1 -0
- package/_vendor/canvas-react/components/PageSpace.d.ts +6 -0
- package/_vendor/canvas-react/components/ShapeLayer.d.ts +1 -0
- package/_vendor/canvas-react/hooks/useEditor.d.ts +3 -0
- package/_vendor/canvas-react/hooks/useValue.d.ts +2 -0
- package/_vendor/canvas-react/host/CanvasRendererRegistryContext.d.ts +3 -0
- package/_vendor/canvas-react/host/contextMenuRegistry.d.ts +12 -0
- package/_vendor/canvas-react/host/domEventGuards.d.ts +11 -0
- package/_vendor/canvas-react/host/index.d.ts +8 -0
- package/_vendor/canvas-react/host/pluginHost.d.ts +93 -0
- package/_vendor/canvas-react/host/rendererRegistry.d.ts +12 -0
- package/_vendor/canvas-react/host/toolbarRegistry.d.ts +24 -0
- package/_vendor/plugin-arrow/ArrowBindingUtil.d.ts +27 -0
- package/_vendor/plugin-arrow/ArrowShapeUtil.d.ts +20 -0
- package/_vendor/plugin-arrow/ArrowTool.d.ts +4 -0
- package/_vendor/plugin-arrow/arrowGeometry.d.ts +50 -0
- package/_vendor/plugin-arrow/arrowTerminalBindingResolver.d.ts +21 -0
- package/_vendor/plugin-arrow/arrowTerminalCommands.d.ts +12 -0
- package/_vendor/plugin-arrow/canvas.d.ts +2 -0
- package/_vendor/plugin-arrow/core.d.ts +7 -0
- package/_vendor/plugin-arrow/feature.d.ts +3 -0
- package/_vendor/plugin-arrow/index.d.ts +11 -0
- package/_vendor/plugin-arrow/selectionHandleInteractions.d.ts +3 -0
- package/_vendor/plugin-arrow/types.d.ts +31 -0
- package/_vendor/plugin-draw/DrawShapeRenderer.d.ts +8 -0
- package/_vendor/plugin-draw/DrawShapeUtil.d.ts +21 -0
- package/_vendor/plugin-draw/DrawTool.d.ts +6 -0
- package/_vendor/plugin-draw/canvas.d.ts +2 -0
- package/_vendor/plugin-draw/core.d.ts +7 -0
- package/_vendor/plugin-draw/drawGeometry.d.ts +45 -0
- package/_vendor/plugin-draw/drawHitTest.d.ts +11 -0
- package/_vendor/plugin-draw/drawInterpolation.d.ts +5 -0
- package/_vendor/plugin-draw/drawPath.d.ts +37 -0
- package/_vendor/plugin-draw/drawSegments.d.ts +11 -0
- package/_vendor/plugin-draw/drawSelectionTransform.d.ts +18 -0
- package/_vendor/plugin-draw/drawShapeGeometry.d.ts +33 -0
- package/_vendor/plugin-draw/drawStrokeGeometry.d.ts +17 -0
- package/_vendor/plugin-draw/feature.d.ts +3 -0
- package/_vendor/plugin-draw/index.d.ts +13 -0
- package/_vendor/plugin-draw/types.d.ts +23 -0
- package/_vendor/plugin-eraser/EraserTool.d.ts +5 -0
- package/_vendor/plugin-eraser/canvas.d.ts +2 -0
- package/_vendor/plugin-eraser/core.d.ts +2 -0
- package/_vendor/plugin-eraser/feature.d.ts +3 -0
- package/_vendor/plugin-frame/FrameShapeUtil.d.ts +22 -0
- package/_vendor/plugin-frame/FrameTool.d.ts +6 -0
- package/_vendor/plugin-frame/canvas.d.ts +8 -0
- package/_vendor/plugin-frame/core.d.ts +7 -0
- package/_vendor/plugin-frame/feature.d.ts +3 -0
- package/_vendor/plugin-geo/GeoShapeUtil.d.ts +13 -0
- package/_vendor/plugin-geo/GeoTools.d.ts +17 -0
- package/_vendor/plugin-geo/canvas.d.ts +11 -0
- package/_vendor/plugin-geo/core.d.ts +7 -0
- package/_vendor/plugin-geo/feature.d.ts +3 -0
- package/_vendor/plugin-geo/types.d.ts +15 -0
- package/_vendor/plugin-group/GroupShapeUtil.d.ts +15 -0
- package/_vendor/plugin-group/canvas.d.ts +10 -0
- package/_vendor/plugin-group/core.d.ts +7 -0
- package/_vendor/plugin-group/feature.d.ts +3 -0
- package/_vendor/plugin-image/ImageShapeUtil.d.ts +10 -0
- package/_vendor/plugin-image/canvas.d.ts +2 -0
- package/_vendor/plugin-image/core.d.ts +16 -0
- package/_vendor/plugin-image/crop.d.ts +112 -0
- package/_vendor/plugin-image/cropInteractions.d.ts +3 -0
- package/_vendor/plugin-image/cropSession.d.ts +4 -0
- package/_vendor/plugin-image/feature.d.ts +3 -0
- package/_vendor/plugin-image/index.d.ts +8 -0
- package/_vendor/plugin-image/types.d.ts +37 -0
- package/_vendor/plugin-image-product-react/ImageImportController.d.ts +9 -0
- package/_vendor/plugin-image-product-react/imageAssetService.d.ts +7 -0
- package/_vendor/plugin-image-product-react/imageBlobStore.d.ts +25 -0
- package/_vendor/plugin-image-product-react/imageHostActions.d.ts +35 -0
- package/_vendor/plugin-image-product-react/imageProductApi.d.ts +21 -0
- package/_vendor/plugin-image-product-react/imageToolbarHostBridge.d.ts +14 -0
- package/_vendor/plugin-image-product-react/imageToolbarRuntime.d.ts +2 -0
- package/_vendor/plugin-image-product-react/index.d.ts +16 -0
- package/_vendor/plugin-image-product-react/snapshotGuards.d.ts +1 -0
- package/_vendor/plugin-image-product-react/svgImageAssetInliner.d.ts +3 -0
- package/_vendor/plugin-image-product-react/useImageImport.d.ts +16 -0
- package/_vendor/plugin-laser/LaserTool.d.ts +4 -0
- package/_vendor/plugin-laser/canvas.d.ts +2 -0
- package/_vendor/plugin-laser/core.d.ts +2 -0
- package/_vendor/plugin-laser/feature.d.ts +3 -0
- package/_vendor/plugin-text/ArrowLabelBindingUtil.d.ts +42 -0
- package/_vendor/plugin-text/GeoLabelBindingUtil.d.ts +45 -0
- package/_vendor/plugin-text/TextShapeSvgExporter.d.ts +6 -0
- package/_vendor/plugin-text/TextShapeUtil.d.ts +19 -0
- package/_vendor/plugin-text/TextTool.d.ts +4 -0
- package/_vendor/plugin-text/canvas.d.ts +2 -0
- package/_vendor/plugin-text/core.d.ts +2 -0
- package/_vendor/plugin-text/feature.d.ts +3 -0
- package/_vendor/plugin-text/host/RichTextEditingBox.d.ts +5 -0
- package/_vendor/plugin-text/host/RichTextToolbar.d.ts +6 -0
- package/_vendor/plugin-text/host/TiptapTextEditor.d.ts +24 -0
- package/_vendor/plugin-text/host/richTextRendering.d.ts +3 -0
- package/_vendor/plugin-text/host/textDomSelection.d.ts +7 -0
- package/_vendor/plugin-text/host/textEditingBoxStyle.d.ts +3 -0
- package/_vendor/plugin-text/host/textEntryFocus.d.ts +22 -0
- package/_vendor/plugin-text/host/textFontLoader.d.ts +2 -0
- package/_vendor/plugin-text/host/textMeasurement.d.ts +12 -0
- package/_vendor/plugin-text/host/textMeasurementSync.d.ts +10 -0
- package/_vendor/plugin-text/host/textRangeSelection.d.ts +14 -0
- package/_vendor/plugin-text/host/textShapeRendererRuntime.d.ts +8 -0
- package/_vendor/plugin-text/host/textShapeSync.d.ts +17 -0
- package/_vendor/plugin-text/host/tiptapTextEditorController.d.ts +33 -0
- package/_vendor/plugin-text/index.d.ts +4 -0
- package/_vendor/plugin-text/richTextUtils.d.ts +18 -0
- package/_vendor/plugin-text/textInteractions.d.ts +2 -0
- package/_vendor/plugin-text/textLabelHelpers.d.ts +44 -0
- package/_vendor/plugin-text/textShapeHelpers.d.ts +21 -0
- package/_vendor/plugin-text/textStyle.d.ts +9 -0
- package/_vendor/plugin-text/textTypes.d.ts +28 -0
- package/_vendor/signals/atom.d.ts +9 -0
- package/_vendor/signals/computed.d.ts +11 -0
- package/_vendor/signals/core.d.ts +17 -0
- package/_vendor/signals/effect.d.ts +29 -0
- package/_vendor/signals/types.d.ts +15 -0
- package/_vendor/store/Store.d.ts +26 -0
- package/_vendor/store/diff.d.ts +9 -0
- package/_vendor/store/history.d.ts +37 -0
- package/_vendor/store/index.d.ts +5 -0
- package/_vendor/store/types.d.ts +27 -0
- package/api/canvasKitApi.d.ts +2 -2
- package/index.css +1 -1
- package/index.d.ts +0 -1
- package/index.mjs +1 -1
- package/package.json +1 -1
- package/product/Shell.d.ts +2 -2
- package/product/chromeContext.d.ts +8 -8
- package/product/createCanvasKitEditor.d.ts +1 -1
- package/product/persistence.d.ts +1 -1
- package/product/product.d.ts +1 -1
- package/product/useCanvasClipboardShortcuts.d.ts +2 -2
- package/product-CxN5NN6u.mjs +4 -0
- package/product.mjs +1 -1
- package/standard/extensions.d.ts +1 -1
- package/standard/standardApi.d.ts +5 -5
- package/standard-R17_x8HU.mjs +44 -0
- package/standard.mjs +1 -1
- package/_vendor/canvas-core/bindings/BindingUtil.ts +0 -92
- package/_vendor/canvas-core/bindings/BindingUtilRegistry.ts +0 -22
- package/_vendor/canvas-core/bindings/arrow/arrowBindingHelpers.ts +0 -52
- package/_vendor/canvas-core/contextMenu.ts +0 -85
- package/_vendor/canvas-core/editor/Editor.ts +0 -2614
- package/_vendor/canvas-core/editor/HistoryManager.ts +0 -83
- package/_vendor/canvas-core/editor/StateNode.ts +0 -162
- package/_vendor/canvas-core/editor/camera.ts +0 -6
- package/_vendor/canvas-core/editor/clipboard.ts +0 -478
- package/_vendor/canvas-core/editor/commands.ts +0 -833
- package/_vendor/canvas-core/editor/edgeScroll.ts +0 -37
- package/_vendor/canvas-core/editor/editorComputedHelpers.ts +0 -257
- package/_vendor/canvas-core/editor/editorSelectionTransforms.ts +0 -116
- package/_vendor/canvas-core/editor/events.ts +0 -93
- package/_vendor/canvas-core/editor/interactions.ts +0 -101
- package/_vendor/canvas-core/editor/internal.ts +0 -22
- package/_vendor/canvas-core/editor/managers/BindingManager.ts +0 -262
- package/_vendor/canvas-core/editor/managers/CameraManager.ts +0 -147
- package/_vendor/canvas-core/editor/managers/ClipboardManager.ts +0 -32
- package/_vendor/canvas-core/editor/managers/DocumentSnapshotManager.ts +0 -256
- package/_vendor/canvas-core/editor/managers/InputsManager.ts +0 -319
- package/_vendor/canvas-core/editor/managers/InteractionTransientManager.ts +0 -218
- package/_vendor/canvas-core/editor/managers/QueryManager.ts +0 -837
- package/_vendor/canvas-core/editor/managers/RenderWindowManager.ts +0 -347
- package/_vendor/canvas-core/editor/managers/SelectionLayoutManager.ts +0 -196
- package/_vendor/canvas-core/editor/managers/SelectionManager.ts +0 -98
- package/_vendor/canvas-core/editor/managers/SelectionOverlayManager.ts +0 -308
- package/_vendor/canvas-core/editor/managers/ShapeEditingManager.ts +0 -226
- package/_vendor/canvas-core/editor/managers/ShapeGeometryManager.ts +0 -162
- package/_vendor/canvas-core/editor/managers/ShapeHierarchyManager.ts +0 -797
- package/_vendor/canvas-core/editor/managers/SideEffectManager.ts +0 -83
- package/_vendor/canvas-core/editor/managers/SnapManager.ts +0 -433
- package/_vendor/canvas-core/editor/managers/SnapSnapshotBuilder.ts +0 -430
- package/_vendor/canvas-core/editor/managers/SpatialIndexManager.ts +0 -354
- package/_vendor/canvas-core/editor/managers/ToolManager.ts +0 -81
- package/_vendor/canvas-core/editor/managers/queryState.ts +0 -583
- package/_vendor/canvas-core/editor/managers/selectionGeometry.ts +0 -287
- package/_vendor/canvas-core/editor/managers/shapeOrder.ts +0 -350
- package/_vendor/canvas-core/editor/managers/shapeReparenting.ts +0 -160
- package/_vendor/canvas-core/editor/managers/snapCalculations.ts +0 -412
- package/_vendor/canvas-core/editor/managers/snapGeometry.ts +0 -202
- package/_vendor/canvas-core/editor/managers/snapIndicators.ts +0 -403
- package/_vendor/canvas-core/editor/managers/snapTypes.ts +0 -122
- package/_vendor/canvas-core/editor/queries/shapeTransforms.ts +0 -171
- package/_vendor/canvas-core/editor/renderWindow.ts +0 -439
- package/_vendor/canvas-core/editor/resizeGeometry.ts +0 -654
- package/_vendor/canvas-core/editor/selection.ts +0 -489
- package/_vendor/canvas-core/editor/selectionHandleInteractions.ts +0 -43
- package/_vendor/canvas-core/editor/selectionOverlay.ts +0 -567
- package/_vendor/canvas-core/exports/integrity.ts +0 -174
- package/_vendor/canvas-core/exports/svg.ts +0 -494
- package/_vendor/canvas-core/geometry/Box.ts +0 -80
- package/_vendor/canvas-core/geometry/Ellipse2d.ts +0 -67
- package/_vendor/canvas-core/geometry/Geometry2d.ts +0 -52
- package/_vendor/canvas-core/geometry/Mat.ts +0 -92
- package/_vendor/canvas-core/geometry/Polyline2d.ts +0 -63
- package/_vendor/canvas-core/geometry/Rectangle2d.ts +0 -64
- package/_vendor/canvas-core/geometry/Vec.ts +0 -123
- package/_vendor/canvas-core/geometry/segments.ts +0 -65
- package/_vendor/canvas-core/index.ts +0 -391
- package/_vendor/canvas-core/plugins/index.ts +0 -5
- package/_vendor/canvas-core/plugins/types.ts +0 -53
- package/_vendor/canvas-core/reactivity.ts +0 -16
- package/_vendor/canvas-core/schema/records.ts +0 -221
- package/_vendor/canvas-core/schema/snapshots.ts +0 -527
- package/_vendor/canvas-core/shapes/ShapeUtil.ts +0 -516
- package/_vendor/canvas-core/shapes/ShapeUtilRegistry.ts +0 -26
- package/_vendor/canvas-core/shapes/capabilities.ts +0 -67
- package/_vendor/canvas-core/shapes/types.ts +0 -20
- package/_vendor/canvas-core/toolbar.ts +0 -148
- package/_vendor/canvas-core/tools/hand/HandTool.ts +0 -75
- package/_vendor/canvas-core/tools/select/SelectTool.ts +0 -33
- package/_vendor/canvas-core/tools/select/selectContainment.ts +0 -104
- package/_vendor/canvas-core/tools/select/selectToolHelpers.ts +0 -801
- package/_vendor/canvas-core/tools/select/states/BrushingState.ts +0 -145
- package/_vendor/canvas-core/tools/select/states/DraggingSelectionHandleInteractionState.ts +0 -116
- package/_vendor/canvas-core/tools/select/states/IdleState.ts +0 -159
- package/_vendor/canvas-core/tools/select/states/PointingCanvasState.ts +0 -41
- package/_vendor/canvas-core/tools/select/states/PointingResizeHandleState.ts +0 -78
- package/_vendor/canvas-core/tools/select/states/PointingRotateHandleState.ts +0 -64
- package/_vendor/canvas-core/tools/select/states/PointingSelectionHandleInteractionState.ts +0 -34
- package/_vendor/canvas-core/tools/select/states/PointingShapeState.ts +0 -140
- package/_vendor/canvas-core/tools/select/states/ResizingState.ts +0 -171
- package/_vendor/canvas-core/tools/select/states/RotatingState.ts +0 -124
- package/_vendor/canvas-core/tools/select/states/SelectStateNode.ts +0 -128
- package/_vendor/canvas-core/tools/select/states/TranslatingState.ts +0 -139
- package/_vendor/canvas-plugin-api/feature.ts +0 -204
- package/_vendor/canvas-plugin-api/index.ts +0 -142
- package/_vendor/canvas-product-react/api/apiRegistry.ts +0 -35
- package/_vendor/canvas-product-react/api/canvasProductApi.ts +0 -422
- package/_vendor/canvas-product-react/api/index.ts +0 -31
- package/_vendor/canvas-product-react/capabilities/clipboard/clipboardService.ts +0 -36
- package/_vendor/canvas-product-react/capabilities/clipboard/systemClipboard.ts +0 -245
- package/_vendor/canvas-product-react/capabilities/context-menu/systemContextMenu.ts +0 -396
- package/_vendor/canvas-product-react/capabilities/context-menu/useContextMenuSurface.ts +0 -59
- package/_vendor/canvas-product-react/capabilities/export/useSvgExport.ts +0 -156
- package/_vendor/canvas-product-react/capabilities/history/useHistoryControls.ts +0 -23
- package/_vendor/canvas-product-react/capabilities/pages/usePageControls.ts +0 -41
- package/_vendor/canvas-product-react/capabilities/toolbar/systemToolbar.ts +0 -490
- package/_vendor/canvas-product-react/capabilities/toolbar/useToolbarSurfaces.ts +0 -92
- package/_vendor/canvas-product-react/capabilities/zoom/useZoomControls.ts +0 -27
- package/_vendor/canvas-product-react/index.ts +0 -84
- package/_vendor/canvas-product-react/persistence/index.ts +0 -18
- package/_vendor/canvas-product-react/persistence/localSnapshotPersistence.ts +0 -294
- package/_vendor/canvas-product-react/runtime/CanvasProductRoot.tsx +0 -250
- package/_vendor/canvas-product-react/runtime/productDefinition.ts +0 -72
- package/_vendor/canvas-product-react/runtime/productServices.ts +0 -96
- package/_vendor/canvas-react/components/CanvasView.tsx +0 -796
- package/_vendor/canvas-react/components/OverlayLayer.tsx +0 -879
- package/_vendor/canvas-react/components/PageSpace.tsx +0 -34
- package/_vendor/canvas-react/components/ShapeLayer.tsx +0 -428
- package/_vendor/canvas-react/hooks/useEditor.ts +0 -11
- package/_vendor/canvas-react/hooks/useValue.ts +0 -14
- package/_vendor/canvas-react/host/CanvasRendererRegistryContext.tsx +0 -14
- package/_vendor/canvas-react/host/contextMenuRegistry.ts +0 -61
- package/_vendor/canvas-react/host/domEventGuards.ts +0 -61
- package/_vendor/canvas-react/host/index.ts +0 -38
- package/_vendor/canvas-react/host/pluginHost.ts +0 -635
- package/_vendor/canvas-react/host/rendererRegistry.tsx +0 -58
- package/_vendor/canvas-react/host/toolbarRegistry.ts +0 -100
- package/_vendor/plugin-arrow/ArrowBindingUtil.ts +0 -239
- package/_vendor/plugin-arrow/ArrowShapeUtil.ts +0 -311
- package/_vendor/plugin-arrow/ArrowTool.ts +0 -208
- package/_vendor/plugin-arrow/arrowGeometry.ts +0 -441
- package/_vendor/plugin-arrow/arrowTerminalBindingResolver.ts +0 -253
- package/_vendor/plugin-arrow/arrowTerminalCommands.ts +0 -230
- package/_vendor/plugin-arrow/canvas.tsx +0 -92
- package/_vendor/plugin-arrow/core.ts +0 -409
- package/_vendor/plugin-arrow/feature.ts +0 -20
- package/_vendor/plugin-arrow/index.ts +0 -28
- package/_vendor/plugin-arrow/selectionHandleInteractions.ts +0 -154
- package/_vendor/plugin-arrow/types.ts +0 -63
- package/_vendor/plugin-draw/DrawShapeRenderer.tsx +0 -60
- package/_vendor/plugin-draw/DrawShapeUtil.ts +0 -372
- package/_vendor/plugin-draw/DrawTool.ts +0 -444
- package/_vendor/plugin-draw/canvas.tsx +0 -24
- package/_vendor/plugin-draw/core.ts +0 -515
- package/_vendor/plugin-draw/drawGeometry.ts +0 -491
- package/_vendor/plugin-draw/drawHitTest.ts +0 -271
- package/_vendor/plugin-draw/drawInterpolation.ts +0 -250
- package/_vendor/plugin-draw/drawPath.ts +0 -550
- package/_vendor/plugin-draw/drawSegments.ts +0 -106
- package/_vendor/plugin-draw/drawSelectionTransform.ts +0 -67
- package/_vendor/plugin-draw/drawShapeGeometry.ts +0 -307
- package/_vendor/plugin-draw/drawStrokeGeometry.ts +0 -454
- package/_vendor/plugin-draw/feature.ts +0 -20
- package/_vendor/plugin-draw/index.ts +0 -31
- package/_vendor/plugin-draw/types.ts +0 -36
- package/_vendor/plugin-eraser/EraserTool.ts +0 -297
- package/_vendor/plugin-eraser/canvas.tsx +0 -616
- package/_vendor/plugin-eraser/core.ts +0 -49
- package/_vendor/plugin-eraser/feature.ts +0 -20
- package/_vendor/plugin-frame/FrameShapeUtil.ts +0 -173
- package/_vendor/plugin-frame/FrameTool.ts +0 -225
- package/_vendor/plugin-frame/canvas.tsx +0 -75
- package/_vendor/plugin-frame/core.ts +0 -534
- package/_vendor/plugin-frame/feature.ts +0 -20
- package/_vendor/plugin-geo/GeoShapeUtil.ts +0 -463
- package/_vendor/plugin-geo/GeoTools.ts +0 -247
- package/_vendor/plugin-geo/canvas.tsx +0 -90
- package/_vendor/plugin-geo/core.ts +0 -495
- package/_vendor/plugin-geo/feature.ts +0 -20
- package/_vendor/plugin-geo/types.ts +0 -27
- package/_vendor/plugin-group/GroupShapeUtil.ts +0 -59
- package/_vendor/plugin-group/canvas.tsx +0 -59
- package/_vendor/plugin-group/core.ts +0 -40
- package/_vendor/plugin-group/feature.ts +0 -20
- package/_vendor/plugin-image/ImageShapeUtil.ts +0 -95
- package/_vendor/plugin-image/canvas.tsx +0 -212
- package/_vendor/plugin-image/core.ts +0 -542
- package/_vendor/plugin-image/crop.ts +0 -770
- package/_vendor/plugin-image/cropInteractions.ts +0 -350
- package/_vendor/plugin-image/cropSession.ts +0 -38
- package/_vendor/plugin-image/feature.ts +0 -20
- package/_vendor/plugin-image/index.ts +0 -29
- package/_vendor/plugin-image/types.ts +0 -55
- package/_vendor/plugin-image-product-react/ImageImportController.tsx +0 -143
- package/_vendor/plugin-image-product-react/imageAssetService.ts +0 -52
- package/_vendor/plugin-image-product-react/imageBlobStore.ts +0 -315
- package/_vendor/plugin-image-product-react/imageHostActions.ts +0 -438
- package/_vendor/plugin-image-product-react/imageProductApi.ts +0 -88
- package/_vendor/plugin-image-product-react/imageToolbarHostBridge.ts +0 -48
- package/_vendor/plugin-image-product-react/imageToolbarRuntime.ts +0 -21
- package/_vendor/plugin-image-product-react/index.ts +0 -60
- package/_vendor/plugin-image-product-react/snapshotGuards.ts +0 -33
- package/_vendor/plugin-image-product-react/svgImageAssetInliner.ts +0 -54
- package/_vendor/plugin-image-product-react/useImageImport.ts +0 -64
- package/_vendor/plugin-laser/LaserTool.ts +0 -154
- package/_vendor/plugin-laser/canvas.tsx +0 -645
- package/_vendor/plugin-laser/core.ts +0 -49
- package/_vendor/plugin-laser/feature.ts +0 -20
- package/_vendor/plugin-text/ArrowLabelBindingUtil.ts +0 -336
- package/_vendor/plugin-text/GeoLabelBindingUtil.ts +0 -391
- package/_vendor/plugin-text/TextShapeSvgExporter.ts +0 -101
- package/_vendor/plugin-text/TextShapeUtil.ts +0 -284
- package/_vendor/plugin-text/TextTool.ts +0 -228
- package/_vendor/plugin-text/canvas.tsx +0 -115
- package/_vendor/plugin-text/core.ts +0 -422
- package/_vendor/plugin-text/feature.ts +0 -20
- package/_vendor/plugin-text/host/RichTextEditingBox.tsx +0 -144
- package/_vendor/plugin-text/host/RichTextToolbar.tsx +0 -266
- package/_vendor/plugin-text/host/TiptapTextEditor.tsx +0 -191
- package/_vendor/plugin-text/host/richTextRendering.tsx +0 -49
- package/_vendor/plugin-text/host/textDomSelection.ts +0 -93
- package/_vendor/plugin-text/host/textEditingBoxStyle.ts +0 -36
- package/_vendor/plugin-text/host/textEntryFocus.ts +0 -307
- package/_vendor/plugin-text/host/textFontLoader.ts +0 -149
- package/_vendor/plugin-text/host/textMeasurement.ts +0 -258
- package/_vendor/plugin-text/host/textMeasurementSync.ts +0 -77
- package/_vendor/plugin-text/host/textRangeSelection.ts +0 -134
- package/_vendor/plugin-text/host/textShapeRendererRuntime.tsx +0 -89
- package/_vendor/plugin-text/host/textShapeSync.ts +0 -173
- package/_vendor/plugin-text/host/tiptapTextEditorController.ts +0 -148
- package/_vendor/plugin-text/index.ts +0 -18
- package/_vendor/plugin-text/richTextUtils.ts +0 -259
- package/_vendor/plugin-text/textInteractions.ts +0 -366
- package/_vendor/plugin-text/textLabelHelpers.ts +0 -235
- package/_vendor/plugin-text/textShapeHelpers.ts +0 -123
- package/_vendor/plugin-text/textStyle.ts +0 -96
- package/_vendor/plugin-text/textTypes.ts +0 -48
- package/_vendor/signals/atom.ts +0 -74
- package/_vendor/signals/computed.ts +0 -132
- package/_vendor/signals/core.ts +0 -130
- package/_vendor/signals/effect.ts +0 -117
- package/_vendor/signals/types.ts +0 -17
- package/_vendor/store/Store.ts +0 -171
- package/_vendor/store/diff.ts +0 -229
- package/_vendor/store/history.ts +0 -177
- package/_vendor/store/index.ts +0 -32
- package/_vendor/store/types.ts +0 -37
- package/internal-modules.d.ts +0 -187
- package/product-iyBbEPIs.mjs +0 -4
- package/standard-BmrxwqpJ.mjs +0 -44
- /package/_vendor/canvas-core/tools/{index.ts → index.d.ts} +0 -0
- /package/_vendor/canvas-core/tools/select/states/{index.ts → index.d.ts} +0 -0
- /package/_vendor/canvas-react/components/{index.ts → index.d.ts} +0 -0
- /package/_vendor/canvas-react/{index.ts → index.d.ts} +0 -0
- /package/_vendor/plugin-eraser/{index.ts → index.d.ts} +0 -0
- /package/_vendor/plugin-frame/{index.ts → index.d.ts} +0 -0
- /package/_vendor/plugin-geo/{index.ts → index.d.ts} +0 -0
- /package/_vendor/plugin-group/{index.ts → index.d.ts} +0 -0
- /package/_vendor/plugin-laser/{index.ts → index.d.ts} +0 -0
- /package/_vendor/signals/{index.ts → index.d.ts} +0 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { Box } from "../../geometry/Box";
|
|
2
|
+
import { Vec } from "../../geometry/Vec";
|
|
3
|
+
import type { ShapeUpdate } from "../../editor/commands";
|
|
4
|
+
import type { Editor } from "../../editor/Editor";
|
|
5
|
+
import type { PointerEditorEvent, TickEditorEvent } from "../../editor/events";
|
|
6
|
+
import type { SelectionResizeHandleId, SelectionResizePointShapeSnapshot, SelectionResizeShapeSnapshot, SelectionRotationTransform, SelectionRotatePointShapeSnapshot, SelectionRotateShapeSnapshot } from "../../editor/selection";
|
|
7
|
+
import type { HandleSnapSnapshot, ResizeSnapSnapshot, TranslateSnapSnapshot } from "../../editor/managers/snapTypes";
|
|
8
|
+
import type { SelectionHandleInteractionSession } from "../../editor/selectionHandleInteractions";
|
|
9
|
+
import type { ShapeId, ShapeRecord } from "../../schema/records";
|
|
10
|
+
export declare const DRAG_START_DISTANCE = 3;
|
|
11
|
+
export declare const DRAG_START_DISTANCE_SQUARED: number;
|
|
12
|
+
export declare const ROTATION_SNAP_STEP: number;
|
|
13
|
+
export declare const ROTATION_SOFT_SNAP_STEP: number;
|
|
14
|
+
export declare const ROTATION_SOFT_SNAP_THRESHOLD: number;
|
|
15
|
+
export declare const ROTATION_SOFT_SNAP_MAX_SCREEN_VELOCITY = 0.5;
|
|
16
|
+
export declare const GROUP_CHILD_QUICK_SELECT_DURATION_MS = 250;
|
|
17
|
+
export declare const TRANSLATE_SNAP_DISTANCE_SCREEN = 8;
|
|
18
|
+
export declare const TRANSLATE_SNAP_MAX_SCREEN_VELOCITY = 0.5;
|
|
19
|
+
export declare const RESIZE_SNAP_DISTANCE_SCREEN = 8;
|
|
20
|
+
export declare const HANDLE_SNAP_DISTANCE_SCREEN = 8;
|
|
21
|
+
export declare const TRANSLATE_HISTORY_MARK = "select.translate";
|
|
22
|
+
export declare const RESIZE_HISTORY_MARK = "select.resize";
|
|
23
|
+
export declare const ROTATE_HISTORY_MARK = "select.rotate";
|
|
24
|
+
export type TranslateAxis = "x" | "y";
|
|
25
|
+
export interface PointingCanvasInfo {
|
|
26
|
+
originPagePoint: Vec;
|
|
27
|
+
previousSelection: ShapeId[];
|
|
28
|
+
additiveSelection: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface PointingShapeInfo {
|
|
31
|
+
shapeId: ShapeId;
|
|
32
|
+
translateTargetId: ShapeId;
|
|
33
|
+
originPagePoint: Vec;
|
|
34
|
+
originTimestamp: number;
|
|
35
|
+
previousSelection: ShapeId[];
|
|
36
|
+
additiveSelection: boolean;
|
|
37
|
+
wasSelected: boolean;
|
|
38
|
+
fromSelectionBounds: boolean;
|
|
39
|
+
quickClickSelectionTargetId: ShapeId | null;
|
|
40
|
+
}
|
|
41
|
+
export interface TranslatingShapeSnapshot {
|
|
42
|
+
id: ShapeId;
|
|
43
|
+
x: number;
|
|
44
|
+
y: number;
|
|
45
|
+
}
|
|
46
|
+
export interface TranslatingInfo {
|
|
47
|
+
originPagePoint: Vec;
|
|
48
|
+
previousSelection: ShapeId[];
|
|
49
|
+
selectedShapeIds: ShapeId[];
|
|
50
|
+
startBounds: Box | null;
|
|
51
|
+
snapSnapshot: TranslateSnapSnapshot;
|
|
52
|
+
snapRotation: number;
|
|
53
|
+
selectedShapes: TranslatingShapeSnapshot[];
|
|
54
|
+
updates: ShapeUpdate[];
|
|
55
|
+
lockedAxis: TranslateAxis | null;
|
|
56
|
+
lastDeltaX: number;
|
|
57
|
+
lastDeltaY: number;
|
|
58
|
+
}
|
|
59
|
+
export interface BrushInfo {
|
|
60
|
+
originPagePoint: Vec;
|
|
61
|
+
previousSelection: ShapeId[];
|
|
62
|
+
additiveSelection: boolean;
|
|
63
|
+
}
|
|
64
|
+
export interface PointingResizeHandleInfo {
|
|
65
|
+
handleId: SelectionResizeHandleId;
|
|
66
|
+
originPagePoint: Vec;
|
|
67
|
+
cursorHandleOffset: Vec;
|
|
68
|
+
previousSelection: ShapeId[];
|
|
69
|
+
}
|
|
70
|
+
export interface ResizingInfo extends PointingResizeHandleInfo {
|
|
71
|
+
startBounds: Box;
|
|
72
|
+
rotation: number;
|
|
73
|
+
rotationCenter: Vec;
|
|
74
|
+
aspectRatio: number;
|
|
75
|
+
snapSnapshot: ResizeSnapSnapshot;
|
|
76
|
+
shapes: SelectionResizeShapeSnapshot[];
|
|
77
|
+
pointShapes: SelectionResizePointShapeSnapshot[];
|
|
78
|
+
updates: ShapeUpdate[];
|
|
79
|
+
aspectRatioLockOverride: boolean | null;
|
|
80
|
+
lastPagePointX: number;
|
|
81
|
+
lastPagePointY: number;
|
|
82
|
+
lastShiftKey: boolean;
|
|
83
|
+
lastAltKey: boolean;
|
|
84
|
+
lastAccelKey: boolean;
|
|
85
|
+
}
|
|
86
|
+
export interface PointingRotateHandleInfo {
|
|
87
|
+
originPagePoint: Vec;
|
|
88
|
+
previousSelection: ShapeId[];
|
|
89
|
+
}
|
|
90
|
+
export interface RotatingInfo extends PointingRotateHandleInfo {
|
|
91
|
+
center: Vec;
|
|
92
|
+
startAngle: number;
|
|
93
|
+
initialSelectionRotation: number;
|
|
94
|
+
shapes: SelectionRotateShapeSnapshot[];
|
|
95
|
+
pointShapes: SelectionRotatePointShapeSnapshot[];
|
|
96
|
+
updates: ShapeUpdate[];
|
|
97
|
+
lastPointerX: number;
|
|
98
|
+
lastPointerY: number;
|
|
99
|
+
lastShiftKey: boolean;
|
|
100
|
+
lastAccelKey: boolean;
|
|
101
|
+
}
|
|
102
|
+
export interface PointingSelectionHandleInteractionInfo {
|
|
103
|
+
originPagePoint: Vec;
|
|
104
|
+
previousSelection: ShapeId[];
|
|
105
|
+
session: SelectionHandleInteractionSession;
|
|
106
|
+
snapSnapshot: HandleSnapSnapshot | null;
|
|
107
|
+
}
|
|
108
|
+
export interface DraggingSelectionHandleInteractionInfo extends PointingSelectionHandleInteractionInfo {
|
|
109
|
+
lastPagePointX: number;
|
|
110
|
+
lastPagePointY: number;
|
|
111
|
+
lastAccelKey: boolean;
|
|
112
|
+
}
|
|
113
|
+
export interface SelectionDragInput {
|
|
114
|
+
pagePoint: Vec;
|
|
115
|
+
shiftKey: boolean;
|
|
116
|
+
altKey: boolean;
|
|
117
|
+
accelKey: boolean;
|
|
118
|
+
ctrlKey: boolean;
|
|
119
|
+
}
|
|
120
|
+
export type EdgeScrollTickMode = "always_apply" | "apply_after_scroll_or_without_screen_point" | "apply_after_scroll";
|
|
121
|
+
export declare function getSelectionDragInputFromCurrentInputs(editor: Editor): SelectionDragInput | null;
|
|
122
|
+
export declare function getSelectionDragInputForTick(editor: Editor, event: TickEditorEvent, mode: EdgeScrollTickMode): SelectionDragInput | null;
|
|
123
|
+
export declare function applySelectionDragFromCurrentInputs(editor: Editor, apply: (input: SelectionDragInput) => void): void;
|
|
124
|
+
export declare function createBrushBounds(origin: Vec, current: Vec): Box;
|
|
125
|
+
export declare function hasExceededDragThreshold(origin: Vec, point: Vec): boolean;
|
|
126
|
+
export declare function arePagePointsApproximatelyEqual(left: Vec, right: Vec): boolean;
|
|
127
|
+
export declare function toggleIds(base: ShapeId[], toggled: ShapeId[]): ShapeId[];
|
|
128
|
+
export declare function getOutermostSelectableShapeIds(editor: Editor, shapeIds: Iterable<ShapeId>): ShapeId[];
|
|
129
|
+
export declare function getSelectableShapeIdForHit(editor: Editor, shapeId: ShapeId, selectedShapeIds: readonly ShapeId[]): ShapeId;
|
|
130
|
+
export declare function getSelectedTransformAncestorIdForHit(editor: Editor, shapeId: ShapeId, selectedShapeIds: readonly ShapeId[]): ShapeId | null;
|
|
131
|
+
export interface TransformDescendantAncestorPathEntry {
|
|
132
|
+
ancestorId: ShapeId;
|
|
133
|
+
childId: ShapeId;
|
|
134
|
+
}
|
|
135
|
+
export declare function getNearestTransformDescendantAncestorId(editor: Editor, shapeId: ShapeId): ShapeId | null;
|
|
136
|
+
export declare function getTransformDescendantAncestorPath(editor: Editor, shapeId: ShapeId): TransformDescendantAncestorPathEntry[];
|
|
137
|
+
export declare function isAdditiveSelectionActive({ shiftKey, accelKey, }: {
|
|
138
|
+
shiftKey: boolean;
|
|
139
|
+
accelKey: boolean;
|
|
140
|
+
}): boolean;
|
|
141
|
+
export declare function isBrushWrappingSelection({ ctrlKey }: {
|
|
142
|
+
ctrlKey: boolean;
|
|
143
|
+
}): boolean;
|
|
144
|
+
export declare function isQuickClick(info: PointingShapeInfo, event: PointerEditorEvent): boolean;
|
|
145
|
+
export declare function normalizeAngle(angle: number): number;
|
|
146
|
+
export declare function snapAngle(angle: number, step: number): number;
|
|
147
|
+
export declare function getBoxCorners(bounds: Box): Vec[];
|
|
148
|
+
export declare function getShapeSelectionResizePageOutlineVertices(editor: Editor, shape: ShapeRecord): Vec[];
|
|
149
|
+
export declare function getResizedShapeUpdate(editor: Editor, shape: SelectionResizeShapeSnapshot, startBounds: Box, nextBounds: Box, scaleX: number, scaleY: number, handleId: SelectionResizeHandleId, isResizingFromCenter: boolean, rotationCenter: Vec, selectionRotation: number, update: ShapeUpdate): void;
|
|
150
|
+
export declare function getSelectionTransform(rotationCenter: Vec, selectionRotation: number): SelectionRotationTransform;
|
|
151
|
+
export declare function getResizedPagePointsUpdate(editor: Editor, shape: SelectionResizePointShapeSnapshot, startBounds: Box, nextBounds: Box, scaleX: number, scaleY: number, handleId: SelectionResizeHandleId, isResizingFromCenter: boolean, rotationCenter: Vec, selectionRotation: number, update: ShapeUpdate): void;
|
|
152
|
+
export declare function getSelectionResizeAspectRatioLockOverride(editor: Editor, shapes: readonly ShapeRecord[], handleId: SelectionResizeHandleId): boolean | null;
|
|
153
|
+
export declare function getRotatedShapeUpdate(shape: SelectionRotateShapeSnapshot, center: Vec, delta: number, update: ShapeUpdate): void;
|
|
154
|
+
export declare function getRotatedPagePointsUpdate(editor: Editor, shape: SelectionRotatePointShapeSnapshot, center: Vec, delta: number, update: ShapeUpdate): void;
|
|
155
|
+
export declare function createTranslatingUpdates(shapes: TranslatingShapeSnapshot[]): ShapeUpdate[];
|
|
156
|
+
export declare function getTranslateShapeSnapshots(editor: Editor, selectedShapeIds: ShapeId[]): TranslatingShapeSnapshot[];
|
|
157
|
+
export declare function isShapeWrappedByBrush(editor: Editor, brushBounds: Box, shapeId: ShapeId): boolean;
|
|
158
|
+
export declare function shouldSelectShapeWithBrush(editor: Editor, brushBounds: Box, shapeId: ShapeId, isWrapping: boolean): boolean;
|
|
159
|
+
export declare function isBrushSelectableShapeId(editor: Editor, shapeId: ShapeId): boolean;
|
|
160
|
+
export declare function createResizingUpdates(shapes: SelectionResizeShapeSnapshot[], pointShapes: SelectionResizePointShapeSnapshot[]): ShapeUpdate[];
|
|
161
|
+
export declare function createRotatingUpdates(shapes: SelectionRotateShapeSnapshot[], pointShapes: SelectionRotatePointShapeSnapshot[]): ShapeUpdate[];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Editor } from "../../../editor/Editor";
|
|
2
|
+
import { StateNode } from "../../../editor/StateNode";
|
|
3
|
+
import type { PointerEditorEvent, TickEditorEvent } from "../../../editor/events";
|
|
4
|
+
import { type BrushInfo } from "../selectToolHelpers";
|
|
5
|
+
import { InfoStateNode } from "./SelectStateNode";
|
|
6
|
+
export declare class BrushingState extends InfoStateNode<BrushInfo> {
|
|
7
|
+
constructor(editor: Editor, parent: StateNode);
|
|
8
|
+
protected onInfoEnter(): void;
|
|
9
|
+
protected onPointerMove(event: PointerEditorEvent): void;
|
|
10
|
+
protected onTick(event: TickEditorEvent): void;
|
|
11
|
+
protected onKeyDown(): void;
|
|
12
|
+
protected onKeyUp(): void;
|
|
13
|
+
protected onPointerUp(event: PointerEditorEvent): void;
|
|
14
|
+
protected onCancel(): void;
|
|
15
|
+
private updateBrush;
|
|
16
|
+
private updateBrushFromInputs;
|
|
17
|
+
private complete;
|
|
18
|
+
private cancel;
|
|
19
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Editor } from "../../../editor/Editor";
|
|
2
|
+
import { StateNode } from "../../../editor/StateNode";
|
|
3
|
+
import type { PointerEditorEvent } from "../../../editor/events";
|
|
4
|
+
import { type DraggingSelectionHandleInteractionInfo } from "../selectToolHelpers";
|
|
5
|
+
import { DraggingStateNode, type DragApplyInput } from "./SelectStateNode";
|
|
6
|
+
export declare class DraggingSelectionHandleInteractionState extends DraggingStateNode<DraggingSelectionHandleInteractionInfo> {
|
|
7
|
+
protected readonly tickMode: "apply_after_scroll";
|
|
8
|
+
constructor(editor: Editor, parent: StateNode);
|
|
9
|
+
protected getHistoryMark(info: DraggingSelectionHandleInteractionInfo): string;
|
|
10
|
+
protected onPointerUp(event: PointerEditorEvent): void;
|
|
11
|
+
protected onCancel(): void;
|
|
12
|
+
protected onInfoExit(): void;
|
|
13
|
+
protected apply({ pagePoint, accelKey }: DragApplyInput): void;
|
|
14
|
+
private complete;
|
|
15
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Editor } from "../../../editor/Editor";
|
|
2
|
+
import { StateNode } from "../../../editor/StateNode";
|
|
3
|
+
import type { PointerEditorEvent } from "../../../editor/events";
|
|
4
|
+
export declare class IdleState extends StateNode {
|
|
5
|
+
constructor(editor: Editor, parent: StateNode);
|
|
6
|
+
protected onEnter(): void;
|
|
7
|
+
protected onPointerDown(event: PointerEditorEvent): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Editor } from "../../../editor/Editor";
|
|
2
|
+
import { StateNode } from "../../../editor/StateNode";
|
|
3
|
+
import type { PointerEditorEvent } from "../../../editor/events";
|
|
4
|
+
import { type PointingCanvasInfo } from "../selectToolHelpers";
|
|
5
|
+
import { PointingStateNode } from "./SelectStateNode";
|
|
6
|
+
export declare class PointingCanvasState extends PointingStateNode<PointingCanvasInfo> {
|
|
7
|
+
constructor(editor: Editor, parent: StateNode);
|
|
8
|
+
protected onDragThresholdExceeded(event: PointerEditorEvent): void;
|
|
9
|
+
protected onPointerUp(event: PointerEditorEvent): void;
|
|
10
|
+
protected onCancel(): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Editor } from "../../../editor/Editor";
|
|
2
|
+
import { StateNode } from "../../../editor/StateNode";
|
|
3
|
+
import { type PointingResizeHandleInfo } from "../selectToolHelpers";
|
|
4
|
+
import { PointingStateNode } from "./SelectStateNode";
|
|
5
|
+
export declare class PointingResizeHandleState extends PointingStateNode<PointingResizeHandleInfo> {
|
|
6
|
+
constructor(editor: Editor, parent: StateNode);
|
|
7
|
+
protected onDragThresholdExceeded(): void;
|
|
8
|
+
protected onPointerUp(): void;
|
|
9
|
+
protected onCancel(): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Editor } from "../../../editor/Editor";
|
|
2
|
+
import { StateNode } from "../../../editor/StateNode";
|
|
3
|
+
import { type PointingRotateHandleInfo } from "../selectToolHelpers";
|
|
4
|
+
import { PointingStateNode } from "./SelectStateNode";
|
|
5
|
+
export declare class PointingRotateHandleState extends PointingStateNode<PointingRotateHandleInfo> {
|
|
6
|
+
constructor(editor: Editor, parent: StateNode);
|
|
7
|
+
protected onDragThresholdExceeded(): void;
|
|
8
|
+
protected onPointerUp(): void;
|
|
9
|
+
protected onCancel(): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Editor } from "../../../editor/Editor";
|
|
2
|
+
import { StateNode } from "../../../editor/StateNode";
|
|
3
|
+
import { type PointingSelectionHandleInteractionInfo } from "../selectToolHelpers";
|
|
4
|
+
import { PointingStateNode } from "./SelectStateNode";
|
|
5
|
+
export declare class PointingSelectionHandleInteractionState extends PointingStateNode<PointingSelectionHandleInteractionInfo> {
|
|
6
|
+
constructor(editor: Editor, parent: StateNode);
|
|
7
|
+
protected onDragThresholdExceeded(): void;
|
|
8
|
+
protected onPointerUp(): void;
|
|
9
|
+
protected onCancel(): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Editor } from "../../../editor/Editor";
|
|
2
|
+
import { StateNode } from "../../../editor/StateNode";
|
|
3
|
+
import type { PointerEditorEvent } from "../../../editor/events";
|
|
4
|
+
import { type PointingShapeInfo } from "../selectToolHelpers";
|
|
5
|
+
import { PointingStateNode } from "./SelectStateNode";
|
|
6
|
+
export declare class PointingShapeState extends PointingStateNode<PointingShapeInfo> {
|
|
7
|
+
constructor(editor: Editor, parent: StateNode);
|
|
8
|
+
protected onInfoEnter(): void;
|
|
9
|
+
protected onDragThresholdExceeded(): void;
|
|
10
|
+
protected onPointerUp(event: PointerEditorEvent): void;
|
|
11
|
+
protected onCancel(): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Editor } from "../../../editor/Editor";
|
|
2
|
+
import { StateNode } from "../../../editor/StateNode";
|
|
3
|
+
import { type ResizingInfo } from "../selectToolHelpers";
|
|
4
|
+
import { DraggingStateNode, type DragApplyInput } from "./SelectStateNode";
|
|
5
|
+
export declare class ResizingState extends DraggingStateNode<ResizingInfo> {
|
|
6
|
+
protected readonly tickMode: "apply_after_scroll_or_without_screen_point";
|
|
7
|
+
constructor(editor: Editor, parent: StateNode);
|
|
8
|
+
protected getHistoryMark(): string;
|
|
9
|
+
protected onDragStart(): void;
|
|
10
|
+
protected onPointerUp(): void;
|
|
11
|
+
protected onCancel(): void;
|
|
12
|
+
protected onInfoExit(): void;
|
|
13
|
+
protected apply({ pagePoint, shiftKey, altKey, accelKey, }: DragApplyInput): void;
|
|
14
|
+
private complete;
|
|
15
|
+
private cancel;
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Editor } from "../../../editor/Editor";
|
|
2
|
+
import { StateNode } from "../../../editor/StateNode";
|
|
3
|
+
import { type RotatingInfo } from "../selectToolHelpers";
|
|
4
|
+
import { DraggingStateNode, type DragApplyInput } from "./SelectStateNode";
|
|
5
|
+
export declare class RotatingState extends DraggingStateNode<RotatingInfo> {
|
|
6
|
+
protected readonly tickMode: "apply_after_scroll";
|
|
7
|
+
constructor(editor: Editor, parent: StateNode);
|
|
8
|
+
protected getHistoryMark(): string;
|
|
9
|
+
protected onPointerUp(): void;
|
|
10
|
+
protected onCancel(): void;
|
|
11
|
+
protected apply({ pagePoint, shiftKey, accelKey }: DragApplyInput): void;
|
|
12
|
+
private complete;
|
|
13
|
+
private cancel;
|
|
14
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { Vec } from "../../../geometry/Vec";
|
|
2
|
+
import { StateNode } from "../../../editor/StateNode";
|
|
3
|
+
import type { PointerEditorEvent, TickEditorEvent } from "../../../editor/events";
|
|
4
|
+
import { type EdgeScrollTickMode } from "../selectToolHelpers";
|
|
5
|
+
/**
|
|
6
|
+
* Base for every select-tool state that carries a transient `info` payload.
|
|
7
|
+
* Centralises the identical `info` lifecycle (assign on enter, clear on exit)
|
|
8
|
+
* so concrete states only express their behaviour. Cleanup that must run while
|
|
9
|
+
* `info` is still readable belongs in {@link onInfoExit}.
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class InfoStateNode<T> extends StateNode {
|
|
12
|
+
protected info: T | null;
|
|
13
|
+
protected onEnter(info?: unknown): void;
|
|
14
|
+
protected onExit(): void;
|
|
15
|
+
/** Runs after `info` is assigned. */
|
|
16
|
+
protected onInfoEnter(): void;
|
|
17
|
+
/** Runs before `info` is cleared. */
|
|
18
|
+
protected onInfoExit(): void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Base for the "pointing_*" states. They all wait for the pointer to exceed the
|
|
22
|
+
* drag threshold before committing to a gesture; subclasses only implement what
|
|
23
|
+
* happens once that threshold is crossed.
|
|
24
|
+
*/
|
|
25
|
+
export declare abstract class PointingStateNode<T extends {
|
|
26
|
+
originPagePoint: Vec;
|
|
27
|
+
}> extends InfoStateNode<T> {
|
|
28
|
+
protected onPointerMove(event: PointerEditorEvent): void;
|
|
29
|
+
protected abstract onDragThresholdExceeded(event: PointerEditorEvent): void;
|
|
30
|
+
}
|
|
31
|
+
/** Pointer/keyboard fields shared by pointer events and synthesized drag inputs. */
|
|
32
|
+
export interface DragApplyInput {
|
|
33
|
+
pagePoint: Vec;
|
|
34
|
+
shiftKey: boolean;
|
|
35
|
+
altKey: boolean;
|
|
36
|
+
accelKey: boolean;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Base for the active drag states (translate / resize / rotate / handle
|
|
40
|
+
* interaction). Centralises the identical event wiring: mark history on enter,
|
|
41
|
+
* apply on pointer-move, apply edge-scroll-aware input on tick, and re-apply the
|
|
42
|
+
* current input on key changes. Subclasses implement {@link apply} plus their own
|
|
43
|
+
* completion/cancellation and any extra cleanup.
|
|
44
|
+
*/
|
|
45
|
+
export declare abstract class DraggingStateNode<T> extends InfoStateNode<T> {
|
|
46
|
+
/** Edge-scroll behaviour for this gesture's tick handling. */
|
|
47
|
+
protected abstract readonly tickMode: EdgeScrollTickMode;
|
|
48
|
+
/** History mark to open on enter (constant or derived from `info`). */
|
|
49
|
+
protected abstract getHistoryMark(info: T): string;
|
|
50
|
+
/** Apply one drag sample. Implementations must guard on `this.info`. */
|
|
51
|
+
protected abstract apply(input: DragApplyInput): void;
|
|
52
|
+
protected onInfoEnter(): void;
|
|
53
|
+
/** Extra setup after the history mark is opened (e.g. clearing indicators). */
|
|
54
|
+
protected onDragStart(): void;
|
|
55
|
+
protected onPointerMove(event: PointerEditorEvent): void;
|
|
56
|
+
protected onTick(event: TickEditorEvent): void;
|
|
57
|
+
protected onKeyDown(): void;
|
|
58
|
+
protected onKeyUp(): void;
|
|
59
|
+
protected applyFromInputs(): void;
|
|
60
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Editor } from "../../../editor/Editor";
|
|
2
|
+
import { StateNode } from "../../../editor/StateNode";
|
|
3
|
+
import { type TranslatingInfo } from "../selectToolHelpers";
|
|
4
|
+
import { DraggingStateNode, type DragApplyInput } from "./SelectStateNode";
|
|
5
|
+
export declare class TranslatingState extends DraggingStateNode<TranslatingInfo> {
|
|
6
|
+
protected readonly tickMode: "always_apply";
|
|
7
|
+
constructor(editor: Editor, parent: StateNode);
|
|
8
|
+
protected getHistoryMark(): string;
|
|
9
|
+
protected onDragStart(): void;
|
|
10
|
+
protected onPointerUp(): void;
|
|
11
|
+
protected onCancel(): void;
|
|
12
|
+
protected onInfoExit(): void;
|
|
13
|
+
protected apply({ pagePoint, shiftKey, accelKey }: DragApplyInput): void;
|
|
14
|
+
private complete;
|
|
15
|
+
private cancel;
|
|
16
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { LandCorePlugin, ShapeRecordBase } from "../canvas-core/index";
|
|
2
|
+
import type { LandCanvasPlugin } from "./index";
|
|
3
|
+
type LandExtensionOptions = Record<string, unknown>;
|
|
4
|
+
export interface LandFeatureBundle {
|
|
5
|
+
id: string;
|
|
6
|
+
corePlugins: readonly LandCorePlugin[];
|
|
7
|
+
canvasPlugins: readonly LandCanvasPlugin[];
|
|
8
|
+
shapeTypes: readonly ShapeRecordBase["type"][];
|
|
9
|
+
}
|
|
10
|
+
export interface LandExtension {
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly options: Readonly<LandExtensionOptions>;
|
|
13
|
+
readonly priority: number;
|
|
14
|
+
createFeature(): LandFeatureBundle | null;
|
|
15
|
+
getExtensions(): readonly LandExtension[];
|
|
16
|
+
}
|
|
17
|
+
export type LandExtensionOptionsInput<T> = T extends readonly unknown[] ? T : T extends LandExtensionOptions ? {
|
|
18
|
+
[K in keyof T]?: LandExtensionOptionsInput<T[K]>;
|
|
19
|
+
} : T;
|
|
20
|
+
export interface ConfigurableLandExtension<Options extends LandExtensionOptions> extends LandExtension {
|
|
21
|
+
readonly options: Readonly<Options>;
|
|
22
|
+
configure(options?: LandExtensionOptionsInput<Options>): ConfigurableLandExtension<Options>;
|
|
23
|
+
}
|
|
24
|
+
export interface LandExtensionConfig<Options extends LandExtensionOptions> {
|
|
25
|
+
name: string;
|
|
26
|
+
priority?: number;
|
|
27
|
+
addOptions?(): Options;
|
|
28
|
+
addExtensions?(options: Readonly<Options>): readonly LandExtension[];
|
|
29
|
+
createFeature?(options: Readonly<Options>): LandFeatureBundle;
|
|
30
|
+
}
|
|
31
|
+
export interface ResolvedLandExtension {
|
|
32
|
+
extension: LandExtension;
|
|
33
|
+
feature: LandFeatureBundle | null;
|
|
34
|
+
}
|
|
35
|
+
export declare function defineLandExtension<Options extends LandExtensionOptions = Record<string, never>>(config: LandExtensionConfig<Options>): ConfigurableLandExtension<Options>;
|
|
36
|
+
export declare function resolveLandExtensions(extensions: readonly LandExtension[]): ResolvedLandExtension[];
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { ComponentType, ReactNode } from "react";
|
|
2
|
+
import type { Editor, ShapeEditingSession, ShapeRecordBase, ToolbarAction, ToolbarActionRunInput, ToolbarActionValue, ToolbarBadgeItem, ToolbarButtonItem, ToolbarContext, ToolbarContribution, ToolbarGroup, ToolbarItem, ToolbarSegmentedItem, ToolbarSegmentedOption, ToolbarSelectionSnapshot, ToolbarSeparatorItem, ToolbarStepperItem, ToolbarStepperOption, ToolbarTextInputItem, ToolbarSurface, ToolbarSwatchesItem, ToolbarSwatchOption, ToolbarToolSnapshot } from "../canvas-core/index";
|
|
3
|
+
export { defineLandExtension, resolveLandExtensions, } from "./feature";
|
|
4
|
+
export type { ConfigurableLandExtension, LandExtension, LandExtensionConfig, LandExtensionOptionsInput, LandFeatureBundle, ResolvedLandExtension, } from "./feature";
|
|
5
|
+
export interface ShapeRendererProps<S extends ShapeRecordBase = ShapeRecordBase> {
|
|
6
|
+
shape: S;
|
|
7
|
+
editor: Editor;
|
|
8
|
+
isSelected: boolean;
|
|
9
|
+
shapeEditingSession: ShapeEditingSession | null;
|
|
10
|
+
}
|
|
11
|
+
export interface RegisteredShapeRenderer<S extends ShapeRecordBase = ShapeRecordBase> {
|
|
12
|
+
type: S["type"];
|
|
13
|
+
component: ComponentType<ShapeRendererProps<S>>;
|
|
14
|
+
}
|
|
15
|
+
export type AnyRegisteredShapeRenderer = RegisteredShapeRenderer<ShapeRecordBase>;
|
|
16
|
+
export interface CanvasPluginComponent {
|
|
17
|
+
id: string;
|
|
18
|
+
component: ComponentType;
|
|
19
|
+
}
|
|
20
|
+
export interface CanvasPluginProvider {
|
|
21
|
+
id: string;
|
|
22
|
+
component: ComponentType<{
|
|
23
|
+
children: ReactNode;
|
|
24
|
+
}>;
|
|
25
|
+
}
|
|
26
|
+
export type ShapeRendererRegistrar = <S extends ShapeRecordBase>(renderer: RegisteredShapeRenderer<S>) => void;
|
|
27
|
+
export type CanvasDomEventGuardName = "pointer_down" | "pointer_move" | "pointer_up" | "pointer_cancel" | "wheel" | "key_down" | "key_up";
|
|
28
|
+
export type CanvasDomEventGuardDecision = "continue" | "handled";
|
|
29
|
+
export interface CanvasDomEventGuardInput {
|
|
30
|
+
name: CanvasDomEventGuardName;
|
|
31
|
+
event: Event;
|
|
32
|
+
editor: Editor;
|
|
33
|
+
container: HTMLElement;
|
|
34
|
+
}
|
|
35
|
+
export interface CanvasDomEventGuardCursorInput {
|
|
36
|
+
element: Element | null;
|
|
37
|
+
editor: Editor;
|
|
38
|
+
container: HTMLElement;
|
|
39
|
+
clientPoint: {
|
|
40
|
+
x: number;
|
|
41
|
+
y: number;
|
|
42
|
+
} | null;
|
|
43
|
+
}
|
|
44
|
+
export interface CanvasDomEventGuard {
|
|
45
|
+
id: string;
|
|
46
|
+
handle(input: CanvasDomEventGuardInput): CanvasDomEventGuardDecision;
|
|
47
|
+
getCursor?(input: CanvasDomEventGuardCursorInput): string | undefined;
|
|
48
|
+
}
|
|
49
|
+
export interface LandCanvasPlugin {
|
|
50
|
+
id: string;
|
|
51
|
+
domEventGuards?: readonly CanvasDomEventGuard[];
|
|
52
|
+
canvasProviders?: readonly CanvasPluginProvider[];
|
|
53
|
+
canvasComponents?: readonly CanvasPluginComponent[];
|
|
54
|
+
setup(registerShapeRenderer: ShapeRendererRegistrar): void;
|
|
55
|
+
}
|
|
56
|
+
export type { ToolbarAction, ToolbarActionRunInput, ToolbarActionValue, ToolbarBadgeItem, ToolbarButtonItem, ToolbarContext, ToolbarContribution, ToolbarGroup, ToolbarItem, ToolbarSegmentedItem, ToolbarSegmentedOption, ToolbarSelectionSnapshot, ToolbarSeparatorItem, ToolbarStepperItem, ToolbarStepperOption, ToolbarTextInputItem, ToolbarSurface, ToolbarSwatchesItem, ToolbarSwatchOption, ToolbarToolSnapshot, };
|
|
57
|
+
export declare function setupCanvasPlugins(plugins: readonly LandCanvasPlugin[], registerShapeRenderer: ShapeRendererRegistrar): void;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface ProductApiToken<TApi> {
|
|
2
|
+
readonly id: string;
|
|
3
|
+
readonly __api?: TApi;
|
|
4
|
+
}
|
|
5
|
+
export interface ProductApiRegistry {
|
|
6
|
+
get<TApi>(token: ProductApiToken<TApi>): TApi | null;
|
|
7
|
+
}
|
|
8
|
+
export interface ProductApiRegistryRuntime extends ProductApiRegistry {
|
|
9
|
+
register<TApi>(token: ProductApiToken<TApi>, api: TApi): void;
|
|
10
|
+
}
|
|
11
|
+
export declare function createProductApiToken<TApi>(id: string): ProductApiToken<TApi>;
|
|
12
|
+
export declare function createProductApiRegistry(): ProductApiRegistryRuntime;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import type { Camera, Editor, LayerOrderDirection, LayerOrderEdge, ReparentShapePlacementFailureReason, ShapeId } from "../../canvas-core/index";
|
|
2
|
+
import type { CanvasPluginHostRuntime } from "../../canvas-react/host/index";
|
|
3
|
+
import type { ProductServiceRegistry } from "../runtime/productServices";
|
|
4
|
+
import type { ProductApiRegistry } from "./apiRegistry";
|
|
5
|
+
export interface CanvasProductShapeRef {
|
|
6
|
+
id: ShapeId;
|
|
7
|
+
type: string;
|
|
8
|
+
}
|
|
9
|
+
export interface CanvasProductSessionPageState {
|
|
10
|
+
pageId: string;
|
|
11
|
+
selectedShapeIds: ShapeId[];
|
|
12
|
+
camera: {
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
z: number;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface CanvasProductSessionSnapshot<TToolId extends string = string> {
|
|
19
|
+
currentPageId: string;
|
|
20
|
+
activeToolId: TToolId;
|
|
21
|
+
isToolLocked: boolean;
|
|
22
|
+
pages: CanvasProductSessionPageState[];
|
|
23
|
+
}
|
|
24
|
+
export interface CanvasProductApiSnapshot<TToolId extends string = string> {
|
|
25
|
+
productId: string;
|
|
26
|
+
pageId: string;
|
|
27
|
+
activeToolId: TToolId;
|
|
28
|
+
selectedShapeIds: ShapeId[];
|
|
29
|
+
shapeCount: number;
|
|
30
|
+
session: CanvasProductSessionSnapshot<TToolId>;
|
|
31
|
+
}
|
|
32
|
+
export interface CanvasProductLayerNode {
|
|
33
|
+
id: ShapeId;
|
|
34
|
+
parentId: string;
|
|
35
|
+
pageId: string;
|
|
36
|
+
type: string;
|
|
37
|
+
childIds: ShapeId[];
|
|
38
|
+
siblingIndex: number;
|
|
39
|
+
depth: number;
|
|
40
|
+
displayName: string;
|
|
41
|
+
canReceiveChildren: boolean;
|
|
42
|
+
isHidden: boolean;
|
|
43
|
+
isLocked: boolean;
|
|
44
|
+
isEffectivelyHidden: boolean;
|
|
45
|
+
isEffectivelyLocked: boolean;
|
|
46
|
+
}
|
|
47
|
+
export interface CanvasProductLayerPlacement {
|
|
48
|
+
parentId: string;
|
|
49
|
+
beforeId?: ShapeId;
|
|
50
|
+
}
|
|
51
|
+
export type CanvasProductLayerPlacementFailureReason = ReparentShapePlacementFailureReason;
|
|
52
|
+
export type CanvasProductLayerPlacementResult = {
|
|
53
|
+
ok: true;
|
|
54
|
+
movedIds: ShapeId[];
|
|
55
|
+
} | {
|
|
56
|
+
ok: false;
|
|
57
|
+
reason: CanvasProductLayerPlacementFailureReason;
|
|
58
|
+
};
|
|
59
|
+
export interface CanvasProductLayerActionState {
|
|
60
|
+
canGroup: boolean;
|
|
61
|
+
canUngroup: boolean;
|
|
62
|
+
canMoveBackward: boolean;
|
|
63
|
+
canMoveForward: boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface CanvasProductPageRef {
|
|
66
|
+
id: string;
|
|
67
|
+
name: string;
|
|
68
|
+
index: string;
|
|
69
|
+
}
|
|
70
|
+
export interface CanvasProductApi<TToolId extends string = string> {
|
|
71
|
+
plugins: ProductApiRegistry;
|
|
72
|
+
snapshot(): CanvasProductApiSnapshot<TToolId>;
|
|
73
|
+
clearHistory(): void;
|
|
74
|
+
canUndo(): boolean;
|
|
75
|
+
canRedo(): boolean;
|
|
76
|
+
undo(): boolean;
|
|
77
|
+
redo(): boolean;
|
|
78
|
+
select(ids: ShapeId[]): void;
|
|
79
|
+
selectAll(): void;
|
|
80
|
+
deleteSelection(): void;
|
|
81
|
+
deleteShapes(ids: ShapeId[]): void;
|
|
82
|
+
duplicateSelection(): ShapeId[];
|
|
83
|
+
centerOnShape(id: ShapeId): boolean;
|
|
84
|
+
getLayerTree(pageId?: string): CanvasProductLayerNode[];
|
|
85
|
+
getLayerNode(id: ShapeId): CanvasProductLayerNode | null;
|
|
86
|
+
setShapesHidden(ids: ShapeId[], isHidden: boolean): ShapeId[];
|
|
87
|
+
setShapesLocked(ids: ShapeId[], isLocked: boolean): ShapeId[];
|
|
88
|
+
groupShapes(ids: ShapeId[]): ShapeId | null;
|
|
89
|
+
ungroupShapes(ids: ShapeId[]): ShapeId[];
|
|
90
|
+
moveShapesInParentOrder(ids: ShapeId[], direction: LayerOrderDirection): boolean;
|
|
91
|
+
moveShapesToParentOrderEdge(ids: ShapeId[], edge: LayerOrderEdge): boolean;
|
|
92
|
+
moveShapesToLayerPlacement(ids: ShapeId[], placement: CanvasProductLayerPlacement): CanvasProductLayerPlacementResult;
|
|
93
|
+
getLayerActionState(ids: ShapeId[]): CanvasProductLayerActionState;
|
|
94
|
+
setTool(toolId: TToolId): void;
|
|
95
|
+
setCamera(camera: Partial<Camera>, pageId?: string): void;
|
|
96
|
+
resetView(): void;
|
|
97
|
+
getPages(): CanvasProductPageRef[];
|
|
98
|
+
createPage(name?: string): CanvasProductPageRef;
|
|
99
|
+
renamePage(pageId: string, name: string): void;
|
|
100
|
+
deletePage(pageId: string): boolean;
|
|
101
|
+
selectPage(pageId: string): void;
|
|
102
|
+
exportSelectionSvg(): string | null;
|
|
103
|
+
exportPageSvg(): string | null;
|
|
104
|
+
}
|
|
105
|
+
export interface CanvasProductApiContext {
|
|
106
|
+
editor: Editor;
|
|
107
|
+
services: ProductServiceRegistry;
|
|
108
|
+
pluginHostRuntime: CanvasPluginHostRuntime;
|
|
109
|
+
apiRegistry: ProductApiRegistry;
|
|
110
|
+
productId: string;
|
|
111
|
+
}
|
|
112
|
+
export interface CanvasProductApiOptions<TToolId extends string = string> extends CanvasProductApiContext {
|
|
113
|
+
assertToolId: (toolId: string) => asserts toolId is TToolId;
|
|
114
|
+
}
|
|
115
|
+
export interface CanvasProductApiLifecycleOptions<TApi> {
|
|
116
|
+
api: TApi;
|
|
117
|
+
exposeOnWindow?: boolean;
|
|
118
|
+
windowKey?: string;
|
|
119
|
+
onDispose?: () => void;
|
|
120
|
+
onReady?: (api: TApi) => void;
|
|
121
|
+
}
|
|
122
|
+
export declare function createCanvasProductApi<TToolId extends string = string>(options: CanvasProductApiOptions<TToolId>): CanvasProductApi<TToolId>;
|
|
123
|
+
export declare function useCanvasProductApi<TToolId extends string = string>(options: CanvasProductApiOptions<TToolId>): CanvasProductApi<TToolId>;
|
|
124
|
+
export declare function useCanvasProductApiLifecycle<TApi>({ api, exposeOnWindow, windowKey, onDispose, onReady, }: CanvasProductApiLifecycleOptions<TApi>): void;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { createProductApiRegistry, createProductApiToken, } from "./apiRegistry";
|
|
2
|
+
export type { ProductApiRegistry, ProductApiRegistryRuntime, ProductApiToken, } from "./apiRegistry";
|
|
3
|
+
export { createCanvasProductApi, useCanvasProductApi, useCanvasProductApiLifecycle, } from "./canvasProductApi";
|
|
4
|
+
export type { CanvasProductApi, CanvasProductApiContext, CanvasProductApiLifecycleOptions, CanvasProductApiOptions, CanvasProductApiSnapshot, CanvasProductLayerActionState, CanvasProductLayerNode, CanvasProductLayerPlacement, CanvasProductLayerPlacementFailureReason, CanvasProductLayerPlacementResult, CanvasProductPageRef, CanvasProductSessionPageState, CanvasProductSessionSnapshot, CanvasProductShapeRef, } from "./canvasProductApi";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { EditorClipboardPayload } from "../../../canvas-core/index";
|
|
2
|
+
import { type ProductServiceFactory } from "../../runtime/productServices";
|
|
3
|
+
export interface CanvasClipboardService {
|
|
4
|
+
write(payload: EditorClipboardPayload): Promise<void>;
|
|
5
|
+
read(): Promise<EditorClipboardPayload | null>;
|
|
6
|
+
getMemoryPayload(): EditorClipboardPayload | null;
|
|
7
|
+
}
|
|
8
|
+
export declare const canvasClipboardServiceToken: import("../..").ProductServiceToken<CanvasClipboardService>;
|
|
9
|
+
export declare function memoryCanvasClipboardService(): ProductServiceFactory<CanvasClipboardService>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { CanvasPluginHostRuntime } from "../../../canvas-react/host/index";
|
|
2
|
+
import type { CanvasProductRuntimeSetupContext } from "../../runtime/productDefinition";
|
|
3
|
+
import type { ProductServiceRegistry } from "../../runtime/productServices";
|
|
4
|
+
import { type CanvasClipboardService } from "./clipboardService";
|
|
5
|
+
export declare const SYSTEM_CLIPBOARD_COPY_ACTION_ID = "system.clipboard.copy";
|
|
6
|
+
export declare const SYSTEM_CLIPBOARD_CUT_ACTION_ID = "system.clipboard.cut";
|
|
7
|
+
export declare const SYSTEM_CLIPBOARD_PASTE_ACTION_ID = "system.clipboard.paste";
|
|
8
|
+
export declare const SYSTEM_CLIPBOARD_PASTE_AT_POINT_ACTION_ID = "system.clipboard.paste-at-point";
|
|
9
|
+
export declare const SYSTEM_SELECTION_DUPLICATE_ACTION_ID = "system.selection.duplicate";
|
|
10
|
+
export declare const SYSTEM_SELECTION_SELECT_ALL_ACTION_ID = "system.selection.select-all";
|
|
11
|
+
export declare function registerSystemClipboardRuntime({ pluginHostRuntime, productId, services, }: CanvasProductRuntimeSetupContext): void;
|
|
12
|
+
export declare function registerSystemClipboardActions({ pluginHostRuntime, services, }: {
|
|
13
|
+
pluginHostRuntime: CanvasPluginHostRuntime;
|
|
14
|
+
services: ProductServiceRegistry;
|
|
15
|
+
}): void;
|
|
16
|
+
export declare function getCanvasClipboardService(services: ProductServiceRegistry): CanvasClipboardService | null;
|