@yuzhouu/canvas-kit 0.1.2 → 0.1.4
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 +80 -78
- 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/terminalBinding.d.ts +28 -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 +131 -0
- package/_vendor/canvas-core/editor/createEditorWithPlugins.d.ts +6 -0
- package/_vendor/canvas-core/editor/edgeScroll.d.ts +5 -0
- package/_vendor/canvas-core/editor/editor.d.ts +559 -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/historyManager.d.ts +18 -0
- package/_vendor/canvas-core/editor/index.d.ts +11 -0
- 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 +55 -0
- package/_vendor/canvas-core/editor/managers/queryManager.d.ts +77 -0
- package/_vendor/canvas-core/editor/managers/queryState.d.ts +18 -0
- package/_vendor/canvas-core/editor/managers/renderWindowManager.d.ts +25 -0
- package/_vendor/canvas-core/editor/managers/selectionGeometry.d.ts +28 -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 +24 -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 +55 -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/shortcutManager.d.ts +56 -0
- package/_vendor/canvas-core/editor/managers/sideEffectManager.d.ts +23 -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/snapManager.d.ts +29 -0
- package/_vendor/canvas-core/editor/managers/snapSnapshotBuilder.d.ts +22 -0
- package/_vendor/canvas-core/editor/managers/snapTypes.d.ts +98 -0
- package/_vendor/canvas-core/editor/managers/spatialIndexManager.d.ts +30 -0
- package/_vendor/canvas-core/editor/managers/toolManager.d.ts +24 -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 +231 -0
- package/_vendor/canvas-core/editor/selectionHandleInteractions.d.ts +11 -0
- package/_vendor/canvas-core/editor/selectionOverlay.d.ts +33 -0
- package/_vendor/canvas-core/editor/stateNode.d.ts +31 -0
- package/_vendor/canvas-core/exports/integrity.d.ts +32 -0
- package/_vendor/canvas-core/exports/svg.d.ts +52 -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/index.d.ts +8 -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/segments.d.ts +5 -0
- package/_vendor/canvas-core/geometry/vec.d.ts +37 -0
- package/_vendor/canvas-core/index.d.ts +59 -0
- package/_vendor/canvas-core/plugins/editorPlugin.d.ts +28 -0
- package/_vendor/canvas-core/plugins/index.d.ts +1 -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/snapshotSupport.d.ts +43 -0
- package/_vendor/canvas-core/schema/snapshots.d.ts +31 -0
- package/_vendor/canvas-core/shapes/capabilities.d.ts +25 -0
- package/_vendor/canvas-core/shapes/colors.d.ts +26 -0
- package/_vendor/canvas-core/shapes/shapeUtil.d.ts +146 -0
- package/_vendor/canvas-core/shapes/shapeUtilRegistry.d.ts +9 -0
- package/_vendor/canvas-core/shapes/types.d.ts +2 -0
- package/_vendor/canvas-core/surfaces/actions.d.ts +35 -0
- package/_vendor/canvas-core/surfaces/contextMenu.d.ts +64 -0
- package/_vendor/canvas-core/surfaces/toolbar.d.ts +96 -0
- package/_vendor/canvas-core/tools/hand/handTool.d.ts +5 -0
- package/_vendor/canvas-core/tools/index.d.ts +2 -0
- package/_vendor/canvas-core/tools/select/selectContainment.d.ts +12 -0
- package/_vendor/canvas-core/tools/select/selectTool.d.ts +5 -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/index.d.ts +11 -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 +17 -0
- package/_vendor/canvas-react/components/CanvasView.d.ts +14 -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 +4 -0
- package/_vendor/canvas-react/components/index.d.ts +2 -0
- package/_vendor/canvas-react/components/overlays/BindingGuide.d.ts +24 -0
- package/_vendor/canvas-react/components/overlays/BindingPreviewOverlay.d.ts +1 -0
- package/_vendor/canvas-react/components/overlays/BrushBoxOverlay.d.ts +1 -0
- package/_vendor/canvas-react/components/overlays/OverlaySvgRoot.d.ts +1 -0
- package/_vendor/canvas-react/components/overlays/SelectionFrameOverlay.d.ts +1 -0
- package/_vendor/canvas-react/components/overlays/SelectionHandlesOverlay.d.ts +1 -0
- package/_vendor/canvas-react/components/overlays/SelectionOverlaySvg.d.ts +1 -0
- package/_vendor/canvas-react/components/overlays/SelectionPathOverlay.d.ts +1 -0
- package/_vendor/canvas-react/components/overlays/ShapeOutlineOverlay.d.ts +8 -0
- package/_vendor/canvas-react/components/overlays/SnapIndicatorsOverlay.d.ts +1 -0
- package/_vendor/canvas-react/components/useCanvasDomEvents.d.ts +21 -0
- package/_vendor/canvas-react/dom.d.ts +10 -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/canvasOverlayRegistryContext.d.ts +3 -0
- package/_vendor/canvas-react/host/canvasPlugin.d.ts +73 -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/extension.d.ts +37 -0
- package/_vendor/canvas-react/host/index.d.ts +13 -0
- package/_vendor/canvas-react/host/overlayRegistry.d.ts +18 -0
- package/_vendor/canvas-react/host/pluginHost.d.ts +2 -0
- package/_vendor/canvas-react/host/pluginHostManifest.d.ts +2 -0
- package/_vendor/canvas-react/host/pluginHostRuntime.d.ts +3 -0
- package/_vendor/canvas-react/host/pluginHostTypes.d.ts +102 -0
- package/_vendor/canvas-react/host/pluginHostValidation.d.ts +11 -0
- package/_vendor/canvas-react/host/rendererRegistry.d.ts +12 -0
- package/_vendor/canvas-react/host/toolbarRegistry.d.ts +24 -0
- package/_vendor/canvas-react/index.d.ts +4 -0
- package/_vendor/plugin-arrow/arrowBindingAnchors.d.ts +5 -0
- package/_vendor/plugin-arrow/arrowBindingGeometry.d.ts +28 -0
- package/_vendor/plugin-arrow/arrowBindingUtil.d.ts +27 -0
- package/_vendor/plugin-arrow/arrowGeometry.d.ts +74 -0
- package/_vendor/plugin-arrow/arrowShapeUtil.d.ts +21 -0
- package/_vendor/plugin-arrow/arrowTerminalBindingResolver.d.ts +20 -0
- package/_vendor/plugin-arrow/arrowTerminalCommands.d.ts +12 -0
- package/_vendor/plugin-arrow/arrowTool.d.ts +4 -0
- package/_vendor/plugin-arrow/canvas.d.ts +2 -0
- package/_vendor/plugin-arrow/editor.d.ts +7 -0
- package/_vendor/plugin-arrow/feature.d.ts +3 -0
- package/_vendor/plugin-arrow/index.d.ts +12 -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 +10 -0
- package/_vendor/plugin-draw/canvas.d.ts +2 -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/drawShapeUtil.d.ts +21 -0
- package/_vendor/plugin-draw/drawStrokeGeometry.d.ts +17 -0
- package/_vendor/plugin-draw/drawTool.d.ts +6 -0
- package/_vendor/plugin-draw/editor.d.ts +7 -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/canvas.d.ts +2 -0
- package/_vendor/plugin-eraser/editor.d.ts +2 -0
- package/_vendor/plugin-eraser/eraserTool.d.ts +5 -0
- package/_vendor/plugin-eraser/feature.d.ts +3 -0
- package/_vendor/plugin-eraser/{index.ts → index.d.ts} +2 -2
- package/_vendor/plugin-frame/canvas.d.ts +9 -0
- package/_vendor/plugin-frame/editor.d.ts +7 -0
- package/_vendor/plugin-frame/feature.d.ts +3 -0
- package/_vendor/plugin-frame/frameShapeUtil.d.ts +23 -0
- package/_vendor/plugin-frame/frameTool.d.ts +6 -0
- package/_vendor/plugin-frame/index.d.ts +6 -0
- package/_vendor/plugin-geo/canvas.d.ts +13 -0
- package/_vendor/plugin-geo/editor.d.ts +7 -0
- package/_vendor/plugin-geo/feature.d.ts +3 -0
- package/_vendor/plugin-geo/geoGeometry.d.ts +8 -0
- package/_vendor/plugin-geo/geoShapeUtil.d.ts +13 -0
- package/_vendor/plugin-geo/geoTools.d.ts +26 -0
- package/_vendor/plugin-geo/index.d.ts +7 -0
- package/_vendor/plugin-geo/types.d.ts +17 -0
- package/_vendor/plugin-group/canvas.d.ts +10 -0
- package/_vendor/plugin-group/editor.d.ts +7 -0
- package/_vendor/plugin-group/feature.d.ts +3 -0
- package/_vendor/plugin-group/groupShapeUtil.d.ts +15 -0
- package/_vendor/plugin-group/index.d.ts +5 -0
- package/_vendor/plugin-image/canvas.d.ts +2 -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/editor.d.ts +16 -0
- package/_vendor/plugin-image/feature.d.ts +3 -0
- package/_vendor/plugin-image/imageShapeUtil.d.ts +11 -0
- package/_vendor/plugin-image/index.d.ts +8 -0
- package/_vendor/plugin-image/types.d.ts +37 -0
- package/_vendor/plugin-laser/canvas.d.ts +2 -0
- package/_vendor/plugin-laser/editor.d.ts +2 -0
- package/_vendor/plugin-laser/feature.d.ts +3 -0
- package/_vendor/plugin-laser/{index.ts → index.d.ts} +2 -2
- package/_vendor/plugin-laser/laserTool.d.ts +4 -0
- package/_vendor/plugin-text/arrowLabelBindingUtil.d.ts +42 -0
- package/_vendor/plugin-text/canvas.d.ts +2 -0
- package/_vendor/plugin-text/editor.d.ts +2 -0
- package/_vendor/plugin-text/feature.d.ts +3 -0
- package/_vendor/plugin-text/geoLabelBindingUtil.d.ts +45 -0
- package/_vendor/plugin-text/host/RichTextEditingBox.d.ts +5 -0
- package/_vendor/plugin-text/host/RichTextToolbar.d.ts +8 -0
- package/_vendor/plugin-text/host/TiptapTextEditor.d.ts +24 -0
- package/_vendor/plugin-text/host/richTextBubbleMenuPositionSync.d.ts +7 -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/textShapeSvgExporter.d.ts +6 -0
- package/_vendor/plugin-text/textShapeUtil.d.ts +19 -0
- package/_vendor/plugin-text/textStyle.d.ts +9 -0
- package/_vendor/plugin-text/textTool.d.ts +4 -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/diff.d.ts +9 -0
- package/_vendor/store/history.d.ts +37 -0
- package/_vendor/store/index.d.ts +5 -0
- package/_vendor/store/store.d.ts +32 -0
- package/_vendor/store/types.d.ts +27 -0
- package/browser/localSnapshotRestore.d.ts +13 -0
- package/browser/persistence.d.ts +46 -0
- package/builtins/controller/createBuiltInCanvasController.d.ts +16 -0
- package/builtins/controller/layerController.d.ts +9 -0
- package/builtins/controller/shapeCreationController.d.ts +74 -0
- package/builtins/extensions.d.ts +15 -0
- package/builtins/index.d.ts +5 -0
- package/chrome/CanvasKitFloatingToolbarLayer.d.ts +6 -0
- package/chrome/FloatingSelectionToolbarPageSpace.d.ts +9 -0
- package/chrome/bindings/useCanvasKitChromeControls.d.ts +27 -0
- package/chrome/bindings/useContextMenuSurface.d.ts +12 -0
- package/chrome/bindings/useSvgExport.d.ts +15 -0
- package/chrome/bindings/useToolbarSurfaces.d.ts +26 -0
- package/chrome/types.d.ts +66 -0
- package/chrome/useCanvasKitChromeContext.d.ts +19 -0
- package/controller/canvasKitController.d.ts +36 -0
- package/core/controller/canvasProductController.d.ts +114 -0
- package/core/controller/featureControllerRegistry.d.ts +12 -0
- package/core/controller/index.d.ts +4 -0
- package/core/controller/productLayerTree.d.ts +10 -0
- package/core/features/actions/canvasActionContext.d.ts +15 -0
- package/core/features/actions/canvasActions.d.ts +26 -0
- package/core/features/clipboard/clipboardContextMenuContributions.d.ts +2 -0
- package/core/features/clipboard/clipboardContribution.d.ts +19 -0
- package/core/features/clipboard/clipboardService.d.ts +10 -0
- package/core/features/context-menu/contextMenuActions.d.ts +12 -0
- package/core/features/context-menu/contextMenuContext.d.ts +6 -0
- package/core/features/context-menu/contextMenuContribution.d.ts +4 -0
- package/core/features/context-menu/viewContextMenuContributions.d.ts +2 -0
- package/core/features/export/svgExport.d.ts +33 -0
- package/core/features/hostActionIds.d.ts +1 -0
- package/core/features/toolbar/selectionContextMenuContributions.d.ts +2 -0
- package/core/features/toolbar/toolContextMenuContributions.d.ts +2 -0
- package/core/features/toolbar/toolbarContribution.d.ts +4 -0
- package/core/features/toolbar/toolbarLabels.d.ts +8 -0
- package/core/index.d.ts +23 -0
- package/core/runtime/productAssets.d.ts +18 -0
- package/core/runtime/productContributions.d.ts +9 -0
- package/core/runtime/productDefinition.d.ts +32 -0
- package/core/runtime/productEditor.d.ts +3 -0
- package/core/runtime/productHost.d.ts +17 -0
- package/core/runtime/productServices.d.ts +30 -0
- package/features/image/ImageImportController.d.ts +9 -0
- package/features/image/imageAssetService.d.ts +7 -0
- package/features/image/imageBlobStore.d.ts +25 -0
- package/features/image/imageFileHelpers.d.ts +35 -0
- package/features/image/imageHostActions.d.ts +36 -0
- package/features/image/imageHostExtension.d.ts +5 -0
- package/features/image/imageProductController.d.ts +22 -0
- package/features/image/imageProductToolbarActions.d.ts +2 -0
- package/features/image/imageToolbarHostBridge.d.ts +14 -0
- package/features/image/index.d.ts +15 -0
- package/features/image/svgImageAssetInliner.d.ts +3 -0
- package/features/image/useImageImport.d.ts +17 -0
- package/index.css +1 -2
- package/index.d.ts +12 -15
- package/index.mjs +66 -1
- package/package.json +1 -11
- package/product/canvasKitProduct.d.ts +59 -0
- package/react/CanvasKitPersistenceNotice.d.ts +4 -0
- package/react/CanvasKitRoot.d.ts +5 -0
- package/react/useCanvasKitController.d.ts +5 -0
- package/react/useCanvasKitKeyboardShortcuts.d.ts +6 -0
- package/react/useCanvasKitRuntime.d.ts +4 -0
- package/react/useCanvasKitStartup.d.ts +9 -0
- package/runtime/canvasKitHostExtensions.d.ts +19 -0
- package/runtime/canvasKitRuntime.d.ts +19 -0
- package/runtime/canvasKitRuntimeInitializer.d.ts +11 -0
- 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/index.ts +0 -12
- 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/index.ts +0 -13
- 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/index.ts +0 -2
- 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-core/tools/select/states/index.ts +0 -11
- 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/components/index.ts +0 -4
- 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/canvas-react/index.ts +0 -3
- 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-frame/index.ts +0 -6
- 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/index.ts +0 -7
- 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-group/index.ts +0 -5
- 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/api/canvasKitApi.d.ts +0 -29
- package/internal-modules.d.ts +0 -187
- package/product/Shell.d.ts +0 -19
- package/product/chromeContext.d.ts +0 -70
- package/product/createCanvasKitEditor.d.ts +0 -6
- package/product/index.d.ts +0 -7
- package/product/persistence.d.ts +0 -3
- package/product/product.d.ts +0 -22
- package/product/useCanvasClipboardShortcuts.d.ts +0 -6
- package/product-iyBbEPIs.mjs +0 -4
- package/product.mjs +0 -1
- package/standard/extensions.d.ts +0 -1
- package/standard/index.d.ts +0 -3
- package/standard/standardApi.d.ts +0 -91
- package/standard-BmrxwqpJ.mjs +0 -44
- package/standard.mjs +0 -1
- /package/_vendor/signals/{index.ts → index.d.ts} +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { BindingUtil } from "../bindings/bindingUtil";
|
|
2
|
+
import type { Editor } from "../editor/editor";
|
|
3
|
+
import type { LandInteractionHandler } from "../editor/interactions";
|
|
4
|
+
import type { ShapeSvgExporter } from "../exports/svg";
|
|
5
|
+
import type { ShapeCapabilityDefinition } from "../shapes/capabilities";
|
|
6
|
+
import type { ShapeUtil } from "../shapes/shapeUtil";
|
|
7
|
+
import type { CanvasAction } from "../surfaces/actions";
|
|
8
|
+
import type { ContextMenuContribution } from "../surfaces/contextMenu";
|
|
9
|
+
import type { ToolbarContribution } from "../surfaces/toolbar";
|
|
10
|
+
export interface LandEditorPlugin {
|
|
11
|
+
id: string;
|
|
12
|
+
shapeCapabilities?: ShapeCapabilityDefinition[];
|
|
13
|
+
shapeUtils?: ShapeUtil[];
|
|
14
|
+
shapeSvgExporters?: ShapeSvgExporter[];
|
|
15
|
+
bindingUtils?: BindingUtil[];
|
|
16
|
+
interactionHandlers?: LandInteractionHandler[];
|
|
17
|
+
canvasActions?: CanvasAction[];
|
|
18
|
+
toolbarContributions?: ToolbarContribution[];
|
|
19
|
+
contextMenuContributions?: ContextMenuContribution[];
|
|
20
|
+
setup?(editor: Editor): void;
|
|
21
|
+
}
|
|
22
|
+
export declare function getEditorOptionsFromEditorPlugins(plugins: readonly LandEditorPlugin[]): {
|
|
23
|
+
shapeUtils: ShapeUtil[];
|
|
24
|
+
shapeSvgExporters: ShapeSvgExporter[];
|
|
25
|
+
bindingUtils: BindingUtil[];
|
|
26
|
+
shapeCapabilities: ShapeCapabilityDefinition[];
|
|
27
|
+
};
|
|
28
|
+
export declare function setupEditorPlugins(editor: Editor, plugins: readonly LandEditorPlugin[]): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { getEditorOptionsFromEditorPlugins, setupEditorPlugins, type LandEditorPlugin, } from "./editorPlugin";
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
export type RecordScope = "document" | "session";
|
|
2
|
+
export type PageId = `page:${string}`;
|
|
3
|
+
export type ShapeId = `shape:${string}`;
|
|
4
|
+
export type BindingId = `binding:${string}`;
|
|
5
|
+
export type AssetId = `asset:${string}`;
|
|
6
|
+
export type SessionId = "session:main";
|
|
7
|
+
export type ShapeParentId = PageId | ShapeId;
|
|
8
|
+
export type PageCameraById = Partial<Record<PageId, Camera>>;
|
|
9
|
+
export type PageSelectionById = Partial<Record<PageId, ShapeId[]>>;
|
|
10
|
+
export interface ShapeEditingPoint {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
}
|
|
14
|
+
export type ShapeEditingEntryMode = "selectAll" | "placeCaret" | "focusEnd";
|
|
15
|
+
export interface ShapeEditingEntryRequest {
|
|
16
|
+
id: number;
|
|
17
|
+
shapeId: ShapeId;
|
|
18
|
+
entryMode: ShapeEditingEntryMode;
|
|
19
|
+
caretPagePoint?: ShapeEditingPoint;
|
|
20
|
+
}
|
|
21
|
+
export interface ShapeEditingSession {
|
|
22
|
+
shapeId: ShapeId;
|
|
23
|
+
markId: string;
|
|
24
|
+
entryMode: ShapeEditingEntryMode;
|
|
25
|
+
caretPagePoint?: ShapeEditingPoint;
|
|
26
|
+
isComposing: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface Camera {
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
z: number;
|
|
32
|
+
}
|
|
33
|
+
export interface BaseRecord {
|
|
34
|
+
id: string;
|
|
35
|
+
typeName: string;
|
|
36
|
+
scope: RecordScope;
|
|
37
|
+
meta: Record<string, unknown>;
|
|
38
|
+
}
|
|
39
|
+
export interface PageRecord extends BaseRecord {
|
|
40
|
+
id: PageId;
|
|
41
|
+
typeName: "page";
|
|
42
|
+
scope: "document";
|
|
43
|
+
name: string;
|
|
44
|
+
index: string;
|
|
45
|
+
}
|
|
46
|
+
export interface ShapeRecordBase<Type extends string = string, Props extends object = object> extends BaseRecord {
|
|
47
|
+
id: ShapeId;
|
|
48
|
+
typeName: "shape";
|
|
49
|
+
scope: "document";
|
|
50
|
+
type: Type;
|
|
51
|
+
parentId: ShapeParentId;
|
|
52
|
+
index: string;
|
|
53
|
+
x: number;
|
|
54
|
+
y: number;
|
|
55
|
+
rotation: number;
|
|
56
|
+
scaleX: number;
|
|
57
|
+
scaleY: number;
|
|
58
|
+
opacity: number;
|
|
59
|
+
isHidden: boolean;
|
|
60
|
+
isLocked: boolean;
|
|
61
|
+
props: Props;
|
|
62
|
+
}
|
|
63
|
+
export interface BindingRecordBase<Type extends string = string, Props extends object = object> extends BaseRecord {
|
|
64
|
+
id: BindingId;
|
|
65
|
+
typeName: "binding";
|
|
66
|
+
scope: "document";
|
|
67
|
+
type: Type;
|
|
68
|
+
fromId: ShapeId;
|
|
69
|
+
toId: ShapeId;
|
|
70
|
+
props: Props;
|
|
71
|
+
}
|
|
72
|
+
export interface AssetRecordBase<Type extends string = string, Props extends object = object> extends BaseRecord {
|
|
73
|
+
id: AssetId;
|
|
74
|
+
typeName: "asset";
|
|
75
|
+
scope: "document";
|
|
76
|
+
type: Type;
|
|
77
|
+
props: Props;
|
|
78
|
+
}
|
|
79
|
+
export type ShapeRecord = ShapeRecordBase<string, object>;
|
|
80
|
+
export type BindingRecord = BindingRecordBase<string, object>;
|
|
81
|
+
export type AssetRecord = AssetRecordBase<string, object>;
|
|
82
|
+
export type AnyShapeRecord = ShapeRecord;
|
|
83
|
+
export type AnyBindingRecord = BindingRecord;
|
|
84
|
+
export type AnyAssetRecord = AssetRecord;
|
|
85
|
+
export interface SessionRecord extends BaseRecord {
|
|
86
|
+
id: SessionId;
|
|
87
|
+
typeName: "session";
|
|
88
|
+
scope: "session";
|
|
89
|
+
currentPageId: PageId;
|
|
90
|
+
activeToolId: string;
|
|
91
|
+
isToolLocked: boolean;
|
|
92
|
+
editingShapeId: ShapeId | null;
|
|
93
|
+
shapeEditingSession: ShapeEditingSession | null;
|
|
94
|
+
pageCameraById: PageCameraById;
|
|
95
|
+
pageSelectedShapeIdsById: PageSelectionById;
|
|
96
|
+
}
|
|
97
|
+
export type DocumentRecord = PageRecord | AnyShapeRecord | AnyBindingRecord | AnyAssetRecord;
|
|
98
|
+
export type EditorRecord = DocumentRecord | SessionRecord;
|
|
99
|
+
export declare const DEFAULT_PAGE_ID: PageId;
|
|
100
|
+
export declare const DEFAULT_SESSION_ID: SessionId;
|
|
101
|
+
export declare const DEFAULT_CAMERA: Camera;
|
|
102
|
+
export declare function createDefaultPage(): PageRecord;
|
|
103
|
+
export declare function createDefaultSession(currentPageId?: PageId): SessionRecord;
|
|
104
|
+
export declare function isPageRecord(record: BaseRecord | null | undefined): record is PageRecord;
|
|
105
|
+
export declare function isShapeRecord(record: BaseRecord | null | undefined): record is ShapeRecord;
|
|
106
|
+
export declare function isAnyShapeRecord(record: BaseRecord | null | undefined): record is AnyShapeRecord;
|
|
107
|
+
export declare function isSessionRecord(record: BaseRecord | null | undefined): record is SessionRecord;
|
|
108
|
+
export declare function isBindingRecord(record: BaseRecord | null | undefined): record is BindingRecord;
|
|
109
|
+
export declare function isAnyBindingRecord(record: BaseRecord | null | undefined): record is AnyBindingRecord;
|
|
110
|
+
export declare function isAssetRecord(record: BaseRecord | null | undefined): record is AssetRecord;
|
|
111
|
+
export declare function isAnyAssetRecord(record: BaseRecord | null | undefined): record is AnyAssetRecord;
|
|
112
|
+
export declare function isDocumentRecord(record: EditorRecord): record is DocumentRecord;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { BindingUtilRegistry } from "../bindings/bindingUtilRegistry";
|
|
2
|
+
import type { ShapeUtilRegistry } from "../shapes/shapeUtilRegistry";
|
|
3
|
+
import type { AssetRecord, BindingId, BindingRecord, ShapeId, ShapeRecord } from "./records";
|
|
4
|
+
export interface DocumentSnapshotRequirements {
|
|
5
|
+
shapeTypes: readonly ShapeRecord["type"][];
|
|
6
|
+
bindingTypes: readonly BindingRecord["type"][];
|
|
7
|
+
assetTypes: readonly AssetRecord["type"][];
|
|
8
|
+
}
|
|
9
|
+
export interface DocumentSnapshotSupport {
|
|
10
|
+
modelShapeTypes: ReadonlySet<ShapeRecord["type"]>;
|
|
11
|
+
modelBindingTypes: ReadonlySet<BindingRecord["type"]>;
|
|
12
|
+
renderableShapeTypes?: ReadonlySet<ShapeRecord["type"]>;
|
|
13
|
+
}
|
|
14
|
+
export interface UnsupportedDocumentSnapshotRequirements {
|
|
15
|
+
modelShapeTypes: readonly ShapeRecord["type"][];
|
|
16
|
+
modelBindingTypes: readonly BindingRecord["type"][];
|
|
17
|
+
renderableShapeTypes: readonly ShapeRecord["type"][];
|
|
18
|
+
}
|
|
19
|
+
export interface FilterDocumentSnapshotBySupportResult {
|
|
20
|
+
snapshot: {
|
|
21
|
+
schemaVersion: 1;
|
|
22
|
+
records: unknown[];
|
|
23
|
+
};
|
|
24
|
+
removedShapeIds: readonly ShapeId[];
|
|
25
|
+
removedShapeTypes: readonly ShapeRecord["type"][];
|
|
26
|
+
removedBindingIds: readonly BindingId[];
|
|
27
|
+
removedBindingTypes: readonly BindingRecord["type"][];
|
|
28
|
+
removedRecords: readonly unknown[];
|
|
29
|
+
}
|
|
30
|
+
export declare function createDocumentSnapshotSupport({ bindingUtils, renderableShapeTypes, shapeUtils, }: {
|
|
31
|
+
bindingUtils: BindingUtilRegistry;
|
|
32
|
+
renderableShapeTypes?: Iterable<ShapeRecord["type"]>;
|
|
33
|
+
shapeUtils: ShapeUtilRegistry;
|
|
34
|
+
}): DocumentSnapshotSupport;
|
|
35
|
+
export declare function getDocumentSnapshotRequirements(snapshot: unknown): DocumentSnapshotRequirements;
|
|
36
|
+
export declare function getUnsupportedDocumentSnapshotRequirements({ requirements, support, }: {
|
|
37
|
+
requirements: DocumentSnapshotRequirements;
|
|
38
|
+
support: DocumentSnapshotSupport;
|
|
39
|
+
}): UnsupportedDocumentSnapshotRequirements;
|
|
40
|
+
export declare function filterDocumentSnapshotBySupport({ snapshot, support, }: {
|
|
41
|
+
snapshot: unknown;
|
|
42
|
+
support: DocumentSnapshotSupport;
|
|
43
|
+
}): FilterDocumentSnapshotBySupportResult;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ShapeUtilRegistry } from "../shapes/shapeUtilRegistry";
|
|
2
|
+
import type { BindingUtilRegistry } from "../bindings/bindingUtilRegistry";
|
|
3
|
+
import type { StoreSnapshot } from "../../store/index";
|
|
4
|
+
import { type DocumentRecord, type SessionRecord } from "./records";
|
|
5
|
+
export type DocumentSnapshot = StoreSnapshot<DocumentRecord, 1>;
|
|
6
|
+
export type SessionSnapshot = StoreSnapshot<SessionRecord, 1>;
|
|
7
|
+
export declare class SnapshotParseError extends Error {
|
|
8
|
+
constructor(message: string);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* A single forward migration step. `up` transforms the raw records array from
|
|
12
|
+
* `fromVersion` to `fromVersion + 1`. Steps are chained in order, so adding a
|
|
13
|
+
* new schema version means bumping the CURRENT_* constant and appending one
|
|
14
|
+
* migration with `fromVersion` equal to the previous current version.
|
|
15
|
+
*/
|
|
16
|
+
export interface SnapshotMigration {
|
|
17
|
+
fromVersion: number;
|
|
18
|
+
up: (records: unknown[]) => unknown[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Apply forward migration steps to bring a records array from `fromVersion` up
|
|
22
|
+
* to `toVersion`. Throws if a step is missing or the snapshot is newer than the
|
|
23
|
+
* supported version (no down-migration).
|
|
24
|
+
*/
|
|
25
|
+
export declare function migrateSnapshotRecords(records: unknown[], fromVersion: number, toVersion: number, migrations: readonly SnapshotMigration[], kind?: "document" | "session"): unknown[];
|
|
26
|
+
export declare function getSnapshotEnvelope(snapshot: unknown, kind: "document" | "session"): {
|
|
27
|
+
schemaVersion: number;
|
|
28
|
+
records: unknown[];
|
|
29
|
+
};
|
|
30
|
+
export declare function parseDocumentSnapshot(snapshot: unknown, shapeUtils: ShapeUtilRegistry, bindingUtils: BindingUtilRegistry): DocumentSnapshot;
|
|
31
|
+
export declare function parseSessionSnapshot(snapshot: unknown): SessionSnapshot;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ShapeSvgExporterRegistry } from "../exports/svg";
|
|
2
|
+
import type { ShapeRecordBase } from "../schema/records";
|
|
3
|
+
import type { ShapeUtilRegistry } from "./shapeUtilRegistry";
|
|
4
|
+
export type ShapeCapabilitySupport = "supported" | "partial" | "missing";
|
|
5
|
+
export interface ShapeCapabilityManifestEntry {
|
|
6
|
+
type: ShapeRecordBase["type"];
|
|
7
|
+
schemaProps: string[];
|
|
8
|
+
shapeUtil: ShapeCapabilitySupport;
|
|
9
|
+
reactRenderer: ShapeCapabilitySupport;
|
|
10
|
+
svgExporter: ShapeCapabilitySupport;
|
|
11
|
+
toolbarEntry: ShapeCapabilitySupport;
|
|
12
|
+
exportSupport: ShapeCapabilitySupport;
|
|
13
|
+
notes: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface ShapeCapabilityManifest {
|
|
16
|
+
entries: ShapeCapabilityManifestEntry[];
|
|
17
|
+
supportedExportTypes: ShapeRecordBase["type"][];
|
|
18
|
+
missingExporterTypes: ShapeRecordBase["type"][];
|
|
19
|
+
}
|
|
20
|
+
export type ShapeCapabilityDefinition = Omit<ShapeCapabilityManifestEntry, "shapeUtil" | "svgExporter" | "exportSupport">;
|
|
21
|
+
export declare function getShapeCapabilityManifest({ definitions, exporters, shapeUtils, }: {
|
|
22
|
+
definitions: readonly ShapeCapabilityDefinition[];
|
|
23
|
+
exporters: ShapeSvgExporterRegistry;
|
|
24
|
+
shapeUtils: ShapeUtilRegistry;
|
|
25
|
+
}): ShapeCapabilityManifest;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const LAND_THEME_COLOR_SLOTS: readonly ["fill-blue", "fill-green", "fill-red", "fill-amber", "fill-white", "fill-slate", "stroke-blue", "stroke-green", "stroke-red", "stroke-orange", "stroke-slate", "stroke-muted", "text-slate", "text-blue", "text-green", "text-red"];
|
|
2
|
+
export type ThemeColorSlot = (typeof LAND_THEME_COLOR_SLOTS)[number];
|
|
3
|
+
export type ThemeColorTokenName = `--land-shape-${ThemeColorSlot}`;
|
|
4
|
+
export interface ThemeShapeColorRef {
|
|
5
|
+
kind: "theme";
|
|
6
|
+
slot: ThemeColorSlot;
|
|
7
|
+
}
|
|
8
|
+
export interface CustomShapeColorRef {
|
|
9
|
+
kind: "custom";
|
|
10
|
+
value: string;
|
|
11
|
+
}
|
|
12
|
+
export type ShapeColorRef = ThemeShapeColorRef | CustomShapeColorRef;
|
|
13
|
+
export type ShapeColor = string | ShapeColorRef;
|
|
14
|
+
export declare const LAND_THEME_COLOR_TOKEN_BY_SLOT: Record<ThemeColorSlot, ThemeColorTokenName>;
|
|
15
|
+
export declare const LAND_DEFAULT_THEME_COLOR_FALLBACKS: Record<ThemeColorSlot, string>;
|
|
16
|
+
export declare function createThemeShapeColor(slot: ThemeColorSlot): ThemeShapeColorRef;
|
|
17
|
+
export declare function createCustomShapeColor(value: string): CustomShapeColorRef;
|
|
18
|
+
export declare function isThemeShapeColorRef(value: unknown): value is ThemeShapeColorRef;
|
|
19
|
+
export declare function isCustomShapeColorRef(value: unknown): value is CustomShapeColorRef;
|
|
20
|
+
export declare function isShapeColor(value: unknown): value is ShapeColor;
|
|
21
|
+
export declare function getThemeColorTokenName(slot: ThemeColorSlot): ThemeColorTokenName;
|
|
22
|
+
export declare function normalizeShapeColor(value: unknown, fallback: ShapeColor): ShapeColor;
|
|
23
|
+
export declare function shapeColorToCssColor(color: ShapeColor): string;
|
|
24
|
+
export declare function resolveShapeColor(color: ShapeColor, resolveThemeColor?: (token: ThemeColorTokenName, fallback: string) => string): string;
|
|
25
|
+
export declare function isTransparentShapeColor(color: ShapeColor): boolean;
|
|
26
|
+
export declare function areShapeColorsEqual(left: ShapeColor | null | undefined, right: ShapeColor | null | undefined): boolean;
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Box } from "../geometry/box";
|
|
2
|
+
import { Mat } from "../geometry/mat";
|
|
3
|
+
import { Vec } from "../geometry/vec";
|
|
4
|
+
import type { Editor } from "../editor/editor";
|
|
5
|
+
import type { ShapeUpdate } from "../editor/commands";
|
|
6
|
+
import { type SelectionMirrorAxis } from "../editor/selection";
|
|
7
|
+
import type { SelectionBindingMiddleHandleAnchor, SelectionBindingSegment, SelectionBindingTerminalHandleAnchor, SelectionCustomHandleAnchor, SelectionHandle, SelectionResizeHandleId } from "../editor/selection";
|
|
8
|
+
import type { ShapeId, ShapeRecordBase } from "../schema/records";
|
|
9
|
+
export interface ShapeEditEndResult {
|
|
10
|
+
deleteShapeIds?: ShapeId[];
|
|
11
|
+
}
|
|
12
|
+
export interface ShapeBindingPointInput {
|
|
13
|
+
rawPagePoint: Vec;
|
|
14
|
+
oppositePagePoint: Vec;
|
|
15
|
+
}
|
|
16
|
+
export interface ShapeSelectionResizeInput {
|
|
17
|
+
handleId: SelectionResizeHandleId;
|
|
18
|
+
pageCenter: Vec;
|
|
19
|
+
selectionLocalBounds: Box;
|
|
20
|
+
scaleX: number;
|
|
21
|
+
scaleY: number;
|
|
22
|
+
isResizingFromCenter: boolean;
|
|
23
|
+
selectionRotation: number;
|
|
24
|
+
selectionRotationCenter: Vec;
|
|
25
|
+
}
|
|
26
|
+
export interface ShapeSelectionResizeAspectRatioLockInput {
|
|
27
|
+
editor: Editor;
|
|
28
|
+
handleId: SelectionResizeHandleId;
|
|
29
|
+
isOnlySelected: boolean;
|
|
30
|
+
}
|
|
31
|
+
export type ShapeSelectionFlipAxis = SelectionMirrorAxis;
|
|
32
|
+
export interface ShapeSelectionFlipInput {
|
|
33
|
+
axis: ShapeSelectionFlipAxis;
|
|
34
|
+
selectionBounds: Box;
|
|
35
|
+
selectionLocalBounds: Box;
|
|
36
|
+
selectionRotation: number;
|
|
37
|
+
selectionRotationCenter: Vec;
|
|
38
|
+
}
|
|
39
|
+
export type ShapeSelectionPagePoints = readonly [Vec, Vec];
|
|
40
|
+
export interface ShapeSelectionPagePointsInput {
|
|
41
|
+
pagePoints: ShapeSelectionPagePoints;
|
|
42
|
+
}
|
|
43
|
+
export interface ShapeBrushWrapInput {
|
|
44
|
+
brushBounds: Box;
|
|
45
|
+
pageOutlineVertices: readonly Vec[];
|
|
46
|
+
pageBounds: Box | null;
|
|
47
|
+
}
|
|
48
|
+
export interface ShapeBrushSelectInput extends ShapeBrushWrapInput {
|
|
49
|
+
isWrapping: boolean;
|
|
50
|
+
}
|
|
51
|
+
export interface ShapeLineSegmentHitTestInput {
|
|
52
|
+
editor?: Editor;
|
|
53
|
+
pageStart: Vec;
|
|
54
|
+
pageEnd: Vec;
|
|
55
|
+
positionedStart: Vec;
|
|
56
|
+
positionedEnd: Vec;
|
|
57
|
+
margin: number;
|
|
58
|
+
}
|
|
59
|
+
export interface ShapeGeometryInput {
|
|
60
|
+
editor: Editor;
|
|
61
|
+
}
|
|
62
|
+
export interface ShapePointHitTestInput extends ShapeGeometryInput {
|
|
63
|
+
pagePoint: Vec;
|
|
64
|
+
positionedPoint: Vec;
|
|
65
|
+
}
|
|
66
|
+
export interface ShapeBoundsSnapGeometry {
|
|
67
|
+
points?: readonly Vec[];
|
|
68
|
+
}
|
|
69
|
+
export interface ShapeHandleSnapContext {
|
|
70
|
+
shapeId: ShapeId;
|
|
71
|
+
handle: SelectionHandle;
|
|
72
|
+
currentPagePoint: Vec;
|
|
73
|
+
}
|
|
74
|
+
export interface ShapeHandleSnapGeometry {
|
|
75
|
+
points?: readonly Vec[];
|
|
76
|
+
outline?: readonly Vec[] | null;
|
|
77
|
+
getSelfSnapPoints?(context: ShapeHandleSnapContext): readonly Vec[];
|
|
78
|
+
getSelfSnapOutline?(context: ShapeHandleSnapContext): readonly Vec[] | null;
|
|
79
|
+
}
|
|
80
|
+
export interface ShapeSelectionHandleAnchorInput {
|
|
81
|
+
isOnlySelected: boolean;
|
|
82
|
+
editor: Editor;
|
|
83
|
+
}
|
|
84
|
+
export interface ShapeSelectionFrameInput {
|
|
85
|
+
editor: Editor;
|
|
86
|
+
}
|
|
87
|
+
export interface ShapeSelectionTranslateInput {
|
|
88
|
+
editor: Editor;
|
|
89
|
+
}
|
|
90
|
+
export interface ShapeSelectionOverlayInfoInput {
|
|
91
|
+
editor: Editor;
|
|
92
|
+
}
|
|
93
|
+
export interface ShapeSelectionHandleAnchors {
|
|
94
|
+
terminalHandleAnchors: readonly SelectionBindingTerminalHandleAnchor[];
|
|
95
|
+
middleHandleAnchors: readonly SelectionBindingMiddleHandleAnchor[];
|
|
96
|
+
customHandleAnchors?: readonly SelectionCustomHandleAnchor[];
|
|
97
|
+
}
|
|
98
|
+
export interface ShapeSelectionOverlayInfo {
|
|
99
|
+
usesSelectionPathOverlay: boolean;
|
|
100
|
+
startPagePoint: Vec | null;
|
|
101
|
+
endPagePoint: Vec | null;
|
|
102
|
+
middlePagePoint: Vec | null;
|
|
103
|
+
path: string | null;
|
|
104
|
+
bindingSegments?: readonly SelectionBindingSegment[];
|
|
105
|
+
}
|
|
106
|
+
export declare abstract class ShapeUtil<S extends ShapeRecordBase = ShapeRecordBase> {
|
|
107
|
+
abstract readonly type: S["type"];
|
|
108
|
+
abstract getDefaultProps(): S["props"];
|
|
109
|
+
abstract validateProps(props: unknown): S["props"];
|
|
110
|
+
abstract getBounds(shape: S): Box;
|
|
111
|
+
getLocalBounds(shape: S): Box;
|
|
112
|
+
getRenderBounds(shape: S): Box;
|
|
113
|
+
getPointHitTestBounds(shape: S, _input?: ShapeGeometryInput): Box;
|
|
114
|
+
getExportBounds(shape: S): Box;
|
|
115
|
+
getChildClipLocalBounds(_shape: S): Box | null;
|
|
116
|
+
getChildExportClipLocalBounds(shape: S): Box | null;
|
|
117
|
+
getSelectionResizeLocalBounds(shape: S): Box;
|
|
118
|
+
resizeSelectionBounds(shape: S, input: ShapeSelectionResizeInput): ShapeUpdate;
|
|
119
|
+
getSelectionResizeAspectRatioLock(_shape: S, _input: ShapeSelectionResizeAspectRatioLockInput): boolean | null;
|
|
120
|
+
flipSelectionBounds(shape: S, input: ShapeSelectionFlipInput): ShapeUpdate;
|
|
121
|
+
updateSelectionPagePoints(shape: S, _input: ShapeSelectionPagePointsInput): ShapeUpdate;
|
|
122
|
+
getSelectionPagePoints(_shape: S): ShapeSelectionPagePoints | null;
|
|
123
|
+
contributesToSelectionFrame(_shape: S, _input: ShapeSelectionFrameInput): boolean;
|
|
124
|
+
canUseSelectionFrameHandles(_shape: S, _input: ShapeSelectionFrameInput): boolean;
|
|
125
|
+
getSelectionTargetId(shape: S, _input: ShapeSelectionFrameInput): ShapeId;
|
|
126
|
+
getTranslateTargetId(shape: S, _input: ShapeSelectionTranslateInput): ShapeId;
|
|
127
|
+
shouldTransformDescendants(_shape: S): boolean;
|
|
128
|
+
shouldRotateDescendants(shape: S): boolean;
|
|
129
|
+
canStartTranslateFromSelectionBounds(_shape: S): boolean;
|
|
130
|
+
canSnap(_shape: S): boolean;
|
|
131
|
+
getBoundsSnapGeometry(_shape: S): ShapeBoundsSnapGeometry;
|
|
132
|
+
getHandleSnapGeometry(shape: S): ShapeHandleSnapGeometry;
|
|
133
|
+
getPositionedOutlineVertices(shape: S): Vec[];
|
|
134
|
+
getSelectionHandleAnchors(_shape: S, _input: ShapeSelectionHandleAnchorInput): ShapeSelectionHandleAnchors;
|
|
135
|
+
getSelectionOverlayInfo(_shape: S, _input: ShapeSelectionOverlayInfoInput): ShapeSelectionOverlayInfo;
|
|
136
|
+
isWrappedByBrush(_shape: S, input: ShapeBrushWrapInput): boolean;
|
|
137
|
+
canSelectByBrush(shape: S, input: ShapeBrushSelectInput): boolean;
|
|
138
|
+
getLocalToPageTransform(shape: S): Mat;
|
|
139
|
+
canEdit(_shape: S): boolean;
|
|
140
|
+
canReceiveChildren(_shape: S): boolean;
|
|
141
|
+
repairLoadedShape(_shape: S): S | null;
|
|
142
|
+
onEditEnd(_shape: S): ShapeEditEndResult | void;
|
|
143
|
+
hitTest(shape: S, positionedPoint: Vec, _input?: ShapePointHitTestInput): boolean;
|
|
144
|
+
hitTestLineSegment(shape: S, input: ShapeLineSegmentHitTestInput): boolean;
|
|
145
|
+
resolveBindingPoint(_shape: S, input: ShapeBindingPointInput): Vec;
|
|
146
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ShapeRecordBase } from "../schema/records";
|
|
2
|
+
import { ShapeUtil } from "./shapeUtil";
|
|
3
|
+
export declare class ShapeUtilRegistry {
|
|
4
|
+
private readonly registry;
|
|
5
|
+
register<S extends ShapeRecordBase>(util: ShapeUtil<S>): void;
|
|
6
|
+
has(type: ShapeRecordBase["type"]): boolean;
|
|
7
|
+
values(): IterableIterator<ShapeUtil>;
|
|
8
|
+
get<S extends ShapeRecordBase>(type: S["type"]): ShapeUtil<S>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export type { BindingId, BindingRecord, PageRecord, PageId, EditorRecord, ShapeRecord, ShapeId, SessionRecord, } from "../schema/records";
|
|
2
|
+
export { DEFAULT_PAGE_ID, DEFAULT_SESSION_ID, createDefaultPage, createDefaultSession, isBindingRecord, isPageRecord, isShapeRecord, isSessionRecord, } from "../schema/records";
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Editor } from "../editor/editor";
|
|
2
|
+
import type { ShapeId, ShapeRecordBase } from "../schema/records";
|
|
3
|
+
import type { ShapeColorRef } from "../shapes/colors";
|
|
4
|
+
export interface CanvasSelectionSnapshot {
|
|
5
|
+
selectedShapeIds: readonly ShapeId[];
|
|
6
|
+
selectedShapes: readonly ShapeRecordBase[];
|
|
7
|
+
count: number;
|
|
8
|
+
singleShapeType: ShapeRecordBase["type"] | null;
|
|
9
|
+
commonShapeType: ShapeRecordBase["type"] | null;
|
|
10
|
+
canResetRotation: boolean;
|
|
11
|
+
isMixedFrameAndPointHandleSelection: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface CanvasToolSnapshot {
|
|
14
|
+
activeToolId: string;
|
|
15
|
+
isToolLocked: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface CanvasActionContext {
|
|
18
|
+
editor: Editor;
|
|
19
|
+
selection: CanvasSelectionSnapshot;
|
|
20
|
+
tool: CanvasToolSnapshot;
|
|
21
|
+
}
|
|
22
|
+
export type CanvasActionValue = string | number | boolean | null | ShapeColorRef | {
|
|
23
|
+
readonly [key: string]: CanvasActionValue;
|
|
24
|
+
} | readonly CanvasActionValue[];
|
|
25
|
+
export interface CanvasActionRunInput<TValue extends CanvasActionValue> {
|
|
26
|
+
context: CanvasActionContext;
|
|
27
|
+
value: TValue;
|
|
28
|
+
}
|
|
29
|
+
export interface CanvasAction<TValue extends CanvasActionValue = CanvasActionValue> {
|
|
30
|
+
id: string;
|
|
31
|
+
isVisible?(context: CanvasActionContext): boolean;
|
|
32
|
+
isEnabled?(context: CanvasActionContext): boolean;
|
|
33
|
+
getValue?(context: CanvasActionContext): TValue;
|
|
34
|
+
run(input: CanvasActionRunInput<TValue>): void;
|
|
35
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { Vec } from "../geometry";
|
|
2
|
+
import type { ShapeId, ShapeRecordBase } from "../schema/records";
|
|
3
|
+
import type { CanvasActionContext, CanvasActionValue } from "./actions";
|
|
4
|
+
export interface ContextMenuCanvasTarget {
|
|
5
|
+
type: "canvas";
|
|
6
|
+
}
|
|
7
|
+
export interface ContextMenuShapeTarget {
|
|
8
|
+
type: "shape";
|
|
9
|
+
shapeId: ShapeId;
|
|
10
|
+
shapeType: ShapeRecordBase["type"];
|
|
11
|
+
selected: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface ContextMenuSelectionTarget {
|
|
14
|
+
type: "selection";
|
|
15
|
+
selectedShapeIds: readonly ShapeId[];
|
|
16
|
+
}
|
|
17
|
+
export type ContextMenuTarget = ContextMenuCanvasTarget | ContextMenuShapeTarget | ContextMenuSelectionTarget;
|
|
18
|
+
export interface ActiveContextMenu {
|
|
19
|
+
anchor: {
|
|
20
|
+
screenPoint: Vec;
|
|
21
|
+
pagePoint: Vec;
|
|
22
|
+
};
|
|
23
|
+
target: ContextMenuTarget;
|
|
24
|
+
}
|
|
25
|
+
export interface ContextMenuContext extends CanvasActionContext {
|
|
26
|
+
menu: ActiveContextMenu;
|
|
27
|
+
}
|
|
28
|
+
export type ContextMenuContributionTarget = "canvas" | "selection" | "shape" | "any";
|
|
29
|
+
export interface ContextMenuCommandItem {
|
|
30
|
+
kind: "command";
|
|
31
|
+
id: string;
|
|
32
|
+
actionId: string;
|
|
33
|
+
label: string;
|
|
34
|
+
icon?: string;
|
|
35
|
+
value?: CanvasActionValue;
|
|
36
|
+
shortcut?: string;
|
|
37
|
+
tone?: "default" | "destructive";
|
|
38
|
+
dataUi?: string;
|
|
39
|
+
}
|
|
40
|
+
export interface ContextMenuSeparatorItem {
|
|
41
|
+
kind: "separator";
|
|
42
|
+
id: string;
|
|
43
|
+
}
|
|
44
|
+
export interface ContextMenuBadgeItem {
|
|
45
|
+
kind: "badge";
|
|
46
|
+
id: string;
|
|
47
|
+
label: string;
|
|
48
|
+
dataUi?: string;
|
|
49
|
+
}
|
|
50
|
+
export type ContextMenuItem = ContextMenuCommandItem | ContextMenuSeparatorItem | ContextMenuBadgeItem;
|
|
51
|
+
export interface ContextMenuSection {
|
|
52
|
+
id: string;
|
|
53
|
+
order?: number;
|
|
54
|
+
title?: string;
|
|
55
|
+
items: readonly ContextMenuItem[];
|
|
56
|
+
}
|
|
57
|
+
export interface ContextMenuContribution {
|
|
58
|
+
id: string;
|
|
59
|
+
target: ContextMenuContributionTarget;
|
|
60
|
+
order?: number;
|
|
61
|
+
actionIds: readonly string[];
|
|
62
|
+
when?(context: ContextMenuContext): boolean;
|
|
63
|
+
getSections(context: ContextMenuContext): readonly ContextMenuSection[];
|
|
64
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { CanvasActionContext, CanvasActionValue } from "./actions";
|
|
2
|
+
export declare const SET_ACTIVE_TOOL_TOOLBAR_ACTION_ID = "editor.tool.set-active-tool";
|
|
3
|
+
export declare const TOGGLE_TOOL_LOCKED_TOOLBAR_ACTION_ID = "editor.tool.toggle-locked";
|
|
4
|
+
export type ToolbarSurface = "selection" | "tool";
|
|
5
|
+
export type ToolbarPlacement = "chrome" | "context" | "floating";
|
|
6
|
+
export interface ToolbarButtonItem {
|
|
7
|
+
kind: "button";
|
|
8
|
+
id: string;
|
|
9
|
+
actionId: string;
|
|
10
|
+
label: string;
|
|
11
|
+
icon: string;
|
|
12
|
+
value?: CanvasActionValue;
|
|
13
|
+
shortcut?: string;
|
|
14
|
+
dataUi?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface ToolbarSegmentedOption {
|
|
17
|
+
value: string;
|
|
18
|
+
label: string;
|
|
19
|
+
icon?: string;
|
|
20
|
+
dataUi?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface ToolbarSegmentedItem {
|
|
23
|
+
kind: "segmented";
|
|
24
|
+
id: string;
|
|
25
|
+
actionId: string;
|
|
26
|
+
options: readonly ToolbarSegmentedOption[];
|
|
27
|
+
}
|
|
28
|
+
export interface ToolbarSwatchOption {
|
|
29
|
+
value: CanvasActionValue;
|
|
30
|
+
label: string;
|
|
31
|
+
color: string;
|
|
32
|
+
dataUi?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface ToolbarSwatchesItem {
|
|
35
|
+
kind: "swatches";
|
|
36
|
+
id: string;
|
|
37
|
+
actionId: string;
|
|
38
|
+
label: string;
|
|
39
|
+
options: readonly ToolbarSwatchOption[];
|
|
40
|
+
}
|
|
41
|
+
export interface ToolbarStepperOption {
|
|
42
|
+
value: number;
|
|
43
|
+
label: string;
|
|
44
|
+
dataUi?: string;
|
|
45
|
+
}
|
|
46
|
+
export interface ToolbarStepperItem {
|
|
47
|
+
kind: "stepper";
|
|
48
|
+
id: string;
|
|
49
|
+
actionId: string;
|
|
50
|
+
label: string;
|
|
51
|
+
options: readonly ToolbarStepperOption[];
|
|
52
|
+
dataUi?: string;
|
|
53
|
+
}
|
|
54
|
+
export interface ToolbarTextInputItem {
|
|
55
|
+
kind: "text-input";
|
|
56
|
+
id: string;
|
|
57
|
+
actionId: string;
|
|
58
|
+
label: string;
|
|
59
|
+
placeholder?: string;
|
|
60
|
+
dataUi?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface ToolbarSliderItem {
|
|
63
|
+
kind: "slider";
|
|
64
|
+
id: string;
|
|
65
|
+
actionId: string;
|
|
66
|
+
label: string;
|
|
67
|
+
min: number;
|
|
68
|
+
max: number;
|
|
69
|
+
step?: number;
|
|
70
|
+
dataUi?: string;
|
|
71
|
+
}
|
|
72
|
+
export interface ToolbarBadgeItem {
|
|
73
|
+
kind: "badge";
|
|
74
|
+
id: string;
|
|
75
|
+
label: string;
|
|
76
|
+
dataUi?: string;
|
|
77
|
+
}
|
|
78
|
+
export interface ToolbarSeparatorItem {
|
|
79
|
+
kind: "separator";
|
|
80
|
+
id: string;
|
|
81
|
+
}
|
|
82
|
+
export type ToolbarItem = ToolbarButtonItem | ToolbarSegmentedItem | ToolbarSwatchesItem | ToolbarStepperItem | ToolbarTextInputItem | ToolbarSliderItem | ToolbarBadgeItem | ToolbarSeparatorItem;
|
|
83
|
+
export interface ToolbarGroup {
|
|
84
|
+
id: string;
|
|
85
|
+
order?: number;
|
|
86
|
+
items: readonly ToolbarItem[];
|
|
87
|
+
}
|
|
88
|
+
export interface ToolbarContribution {
|
|
89
|
+
id: string;
|
|
90
|
+
surface: ToolbarSurface;
|
|
91
|
+
placement?: ToolbarPlacement;
|
|
92
|
+
order?: number;
|
|
93
|
+
actionIds: readonly string[];
|
|
94
|
+
when?(context: CanvasActionContext): boolean;
|
|
95
|
+
getGroups(context: CanvasActionContext): readonly ToolbarGroup[];
|
|
96
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Editor } from "../../editor/editor";
|
|
2
|
+
import type { Vec } from "../../geometry/vec";
|
|
3
|
+
import type { ShapeId, ShapeParentId } from "../../schema/records";
|
|
4
|
+
/**
|
|
5
|
+
* Containment / reparenting helpers used by the translating gesture. These are
|
|
6
|
+
* pure with respect to the state node: they read and mutate editor state only,
|
|
7
|
+
* driven by the set of shape ids being dragged.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getSharedCurrentParentId(editor: Editor, shapeIds: readonly ShapeId[]): ShapeParentId | null;
|
|
10
|
+
export declare function resolveContainmentParentId(editor: Editor, shapeIds: readonly ShapeId[], pagePoint?: Vec): ShapeParentId | null;
|
|
11
|
+
export declare function updateDropTarget(editor: Editor, shapeIds: readonly ShapeId[], pagePoint?: Vec): void;
|
|
12
|
+
export declare function applyContainmentParent(editor: Editor, shapeIds: readonly ShapeId[], pagePoint?: Vec): void;
|