@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,15 @@
|
|
|
1
|
+
/** A reactive signal that holds subscribers */
|
|
2
|
+
export interface Signal<T> {
|
|
3
|
+
readonly name: string;
|
|
4
|
+
get(): T;
|
|
5
|
+
__unsafe__getWithoutCapture(): T;
|
|
6
|
+
lastChangedEpoch: number;
|
|
7
|
+
children: Set<Child>;
|
|
8
|
+
}
|
|
9
|
+
export interface Child {
|
|
10
|
+
type: "computed" | "effect";
|
|
11
|
+
notify(): void;
|
|
12
|
+
source?: Signal<any>;
|
|
13
|
+
}
|
|
14
|
+
export declare const RESET_VALUE: unique symbol;
|
|
15
|
+
export type RESET_VALUE = typeof RESET_VALUE;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RecordsDiff, StoreRecord } from "./types";
|
|
2
|
+
export declare function createEmptyRecordsDiff<TRecord extends StoreRecord>(): RecordsDiff<TRecord>;
|
|
3
|
+
export declare function hasRecordsDiff<TRecord extends StoreRecord>(diff: RecordsDiff<TRecord>): boolean;
|
|
4
|
+
export declare function getRecordMap<TRecord extends StoreRecord>(records: Map<string, TRecord> | Iterable<TRecord>): Map<string, TRecord>;
|
|
5
|
+
export declare function getRecordsDiff<TRecord extends StoreRecord>(before: Map<string, TRecord> | Iterable<TRecord>, after: Map<string, TRecord> | Iterable<TRecord>): RecordsDiff<TRecord>;
|
|
6
|
+
export declare function invertRecordsDiff<TRecord extends StoreRecord>(diff: RecordsDiff<TRecord>): RecordsDiff<TRecord>;
|
|
7
|
+
export declare function composeRecordsDiff<TRecord extends StoreRecord, TNextRecord extends TRecord>(left: RecordsDiff<TRecord>, right: RecordsDiff<TNextRecord>): RecordsDiff<TRecord | TNextRecord>;
|
|
8
|
+
export declare function squashRecordsDiffs<TRecord extends StoreRecord, TNextRecord extends TRecord>(diffs: Iterable<RecordsDiff<TRecord> | RecordsDiff<TNextRecord>>): RecordsDiff<TRecord | TNextRecord>;
|
|
9
|
+
export declare function filterRecordsDiff<TRecord extends StoreRecord, TFilteredRecord extends TRecord>(diff: RecordsDiff<TRecord>, predicate: (record: TRecord) => record is TFilteredRecord): RecordsDiff<TFilteredRecord>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type Signal } from "../signals/index";
|
|
2
|
+
import type { RecordsDiff, StoreRecord } from "./types";
|
|
3
|
+
export interface StoreHistoryMark<TRecord extends StoreRecord = StoreRecord> {
|
|
4
|
+
id: string;
|
|
5
|
+
forward: RecordsDiff<TRecord>;
|
|
6
|
+
parentIds: readonly string[];
|
|
7
|
+
}
|
|
8
|
+
export interface StoreHistoryEntry<TRecord extends StoreRecord = StoreRecord> {
|
|
9
|
+
forward: RecordsDiff<TRecord>;
|
|
10
|
+
inverse: RecordsDiff<TRecord>;
|
|
11
|
+
label: string;
|
|
12
|
+
}
|
|
13
|
+
export interface StoreHistoryState {
|
|
14
|
+
canUndo: boolean;
|
|
15
|
+
canRedo: boolean;
|
|
16
|
+
undoDepth: number;
|
|
17
|
+
redoDepth: number;
|
|
18
|
+
}
|
|
19
|
+
export declare function createStoreHistoryMark<TRecord extends StoreRecord>(id: string, parentIds?: readonly string[]): StoreHistoryMark<TRecord>;
|
|
20
|
+
export declare function appendStoreHistoryMark<TRecord extends StoreRecord, TNextRecord extends TRecord>(mark: StoreHistoryMark<TRecord>, diff: RecordsDiff<TNextRecord>): StoreHistoryMark<TRecord | TNextRecord>;
|
|
21
|
+
export declare function createStoreHistoryEntry<TRecord extends StoreRecord>(label: string, forward: RecordsDiff<TRecord>): StoreHistoryEntry<TRecord>;
|
|
22
|
+
export declare class StoreHistoryBuffer<TRecord extends StoreRecord = StoreRecord> {
|
|
23
|
+
private readonly marks;
|
|
24
|
+
private readonly undoStack;
|
|
25
|
+
private readonly redoStack;
|
|
26
|
+
private readonly _state;
|
|
27
|
+
readonly state: Signal<StoreHistoryState>;
|
|
28
|
+
clear(): void;
|
|
29
|
+
mark(id: string): void;
|
|
30
|
+
append(diff: RecordsDiff<TRecord>): void;
|
|
31
|
+
bailToMark(id: string): RecordsDiff<TRecord> | null;
|
|
32
|
+
squashToMark(id: string, label?: string): StoreHistoryEntry<TRecord> | null;
|
|
33
|
+
undo(): StoreHistoryEntry<TRecord> | null;
|
|
34
|
+
redo(): StoreHistoryEntry<TRecord> | null;
|
|
35
|
+
getEntries(): readonly StoreHistoryEntry<TRecord>[];
|
|
36
|
+
private publishState;
|
|
37
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { composeRecordsDiff, createEmptyRecordsDiff, filterRecordsDiff, getRecordMap, getRecordsDiff, hasRecordsDiff, invertRecordsDiff, squashRecordsDiffs, } from "./diff";
|
|
2
|
+
export { appendStoreHistoryMark, createStoreHistoryEntry, createStoreHistoryMark, StoreHistoryBuffer, } from "./history";
|
|
3
|
+
export { Store } from "./store";
|
|
4
|
+
export type { ChangeSource, RecordUpdate, RecordsDiff, ScopedStoreRecord, StoreRecord, StoreChange, StoreScopeOf, StoreSnapshot, } from "./types";
|
|
5
|
+
export type { StoreHistoryEntry, StoreHistoryMark, StoreHistoryState, } from "./history";
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type Atom, type Signal } from "../signals/index";
|
|
2
|
+
import type { ChangeSource, RecordsDiff, ScopedStoreRecord, StoreChange, StoreRecord, StoreScopeOf } from "./types";
|
|
3
|
+
type StoreListener<TRecord extends StoreRecord> = (change: StoreChange<TRecord>) => void;
|
|
4
|
+
type ScopedRecord<TRecord extends StoreRecord> = Extract<TRecord, ScopedStoreRecord>;
|
|
5
|
+
export declare class Store<TRecord extends StoreRecord = StoreRecord> {
|
|
6
|
+
readonly recordsSignal: Atom<Map<string, TRecord>>;
|
|
7
|
+
private readonly recordSignals;
|
|
8
|
+
private readonly listeners;
|
|
9
|
+
private transactionDepth;
|
|
10
|
+
private draftRecords;
|
|
11
|
+
private pendingSource;
|
|
12
|
+
constructor(initialRecords: TRecord[]);
|
|
13
|
+
get(id: string): TRecord | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Per-record reactive read that still respects draft records during atomic
|
|
16
|
+
* mutations. Use this inside computed values instead of wrapping `get(id)`.
|
|
17
|
+
*/
|
|
18
|
+
getRecordSignal(id: string): Signal<TRecord | undefined>;
|
|
19
|
+
getAll(): TRecord[];
|
|
20
|
+
getByScope<TScope extends StoreScopeOf<ScopedRecord<TRecord>>>(scope: TScope): Array<Extract<ScopedRecord<TRecord>, {
|
|
21
|
+
scope: TScope;
|
|
22
|
+
}>>;
|
|
23
|
+
listen(listener: StoreListener<TRecord>): () => void;
|
|
24
|
+
atomic(fn: () => void, source?: ChangeSource): void;
|
|
25
|
+
put(records: TRecord[], source?: ChangeSource): void;
|
|
26
|
+
remove(ids: string[], source?: ChangeSource): void;
|
|
27
|
+
replaceAll(records: TRecord[], source?: ChangeSource): void;
|
|
28
|
+
applyDiff<TChangeRecord extends TRecord>(diff: RecordsDiff<TChangeRecord>, source?: ChangeSource): void;
|
|
29
|
+
private getMutableRecords;
|
|
30
|
+
private getReadableRecords;
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export type ChangeSource = "user" | "system" | "history";
|
|
2
|
+
export interface StoreRecord {
|
|
3
|
+
id: string;
|
|
4
|
+
}
|
|
5
|
+
export interface ScopedStoreRecord<TScope extends string = string> extends StoreRecord {
|
|
6
|
+
scope: TScope;
|
|
7
|
+
}
|
|
8
|
+
export type StoreScopeOf<TRecord> = TRecord extends {
|
|
9
|
+
scope: infer TScope extends string;
|
|
10
|
+
} ? TScope : never;
|
|
11
|
+
export interface StoreSnapshot<TRecord extends StoreRecord = StoreRecord, TSchemaVersion extends number = number> {
|
|
12
|
+
schemaVersion: TSchemaVersion;
|
|
13
|
+
records: TRecord[];
|
|
14
|
+
}
|
|
15
|
+
export interface RecordUpdate<TRecord extends StoreRecord = StoreRecord> {
|
|
16
|
+
before: TRecord;
|
|
17
|
+
after: TRecord;
|
|
18
|
+
}
|
|
19
|
+
export interface RecordsDiff<TRecord extends StoreRecord = StoreRecord> {
|
|
20
|
+
added: TRecord[];
|
|
21
|
+
updated: RecordUpdate<TRecord>[];
|
|
22
|
+
removed: TRecord[];
|
|
23
|
+
}
|
|
24
|
+
export interface StoreChange<TRecord extends StoreRecord = StoreRecord> {
|
|
25
|
+
source: ChangeSource;
|
|
26
|
+
diff: RecordsDiff<TRecord>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type Editor, type StoreSnapshot } from "../_vendor/canvas-core/index";
|
|
2
|
+
import type { ProductPersistenceRestoreResult } from "../core/runtime/productDefinition";
|
|
3
|
+
export interface PersistedEditorSnapshots {
|
|
4
|
+
documentSnapshot: unknown | null;
|
|
5
|
+
sessionSnapshot: unknown | null;
|
|
6
|
+
}
|
|
7
|
+
export interface LocalSnapshotRestoreResult extends ProductPersistenceRestoreResult {
|
|
8
|
+
preservedUnsupportedRecords: readonly unknown[];
|
|
9
|
+
}
|
|
10
|
+
export declare function restorePersistedEditorSnapshots(editor: Editor, { documentSnapshot, sessionSnapshot }: PersistedEditorSnapshots): LocalSnapshotRestoreResult;
|
|
11
|
+
export declare function getDocumentSnapshotWithPreservedRecords(editor: Editor, preservedRecords: readonly unknown[]): StoreSnapshot<{
|
|
12
|
+
id: string;
|
|
13
|
+
}>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { Editor, StoreSnapshot } from "../_vendor/canvas-core/index";
|
|
2
|
+
import type { ProductPersistenceAdapter } from "../core/runtime/productDefinition";
|
|
3
|
+
import { type PersistedEditorSnapshots } from "./localSnapshotRestore";
|
|
4
|
+
export declare const LAND_DOCUMENT_INDEXEDDB_NAME = "land.canvas.persistence";
|
|
5
|
+
export declare const LAND_DOCUMENT_INDEXEDDB_STORE = "snapshots";
|
|
6
|
+
export declare const LAND_IMAGE_BLOB_INDEXEDDB_STORE = "imageBlobs";
|
|
7
|
+
export declare const LAND_DOCUMENT_STORAGE_KEY = "land.canvas.document";
|
|
8
|
+
export declare const LAND_SESSION_STORAGE_KEY = "land.canvas.session";
|
|
9
|
+
export declare const LAND_DOCUMENT_INDEXEDDB_VERSION = 2;
|
|
10
|
+
export interface LocalSnapshotPersistenceOptions {
|
|
11
|
+
storageNamespace?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function createLocalSnapshotPersistence(options?: LocalSnapshotPersistenceOptions): ProductPersistenceAdapter;
|
|
14
|
+
export declare class PersistenceManager {
|
|
15
|
+
private readonly editor;
|
|
16
|
+
private static readonly SAVE_DELAY_MS;
|
|
17
|
+
private readonly getDocumentSnapshot;
|
|
18
|
+
private readonly options;
|
|
19
|
+
private unsubscribe;
|
|
20
|
+
private saveTimeoutId;
|
|
21
|
+
private hasPendingSave;
|
|
22
|
+
private isSaving;
|
|
23
|
+
private saveAgainAfterCurrentSave;
|
|
24
|
+
constructor(editor: Editor, { getDocumentSnapshot, options, }?: {
|
|
25
|
+
getDocumentSnapshot?: () => StoreSnapshot<{
|
|
26
|
+
id: string;
|
|
27
|
+
}>;
|
|
28
|
+
options?: LocalSnapshotPersistenceOptions;
|
|
29
|
+
});
|
|
30
|
+
start(): void;
|
|
31
|
+
stop(): void;
|
|
32
|
+
flush(): void;
|
|
33
|
+
private save;
|
|
34
|
+
private scheduleSave;
|
|
35
|
+
private cancelScheduledSave;
|
|
36
|
+
private readonly flushWhenHidden;
|
|
37
|
+
private readonly flushWhenPageIsLeaving;
|
|
38
|
+
}
|
|
39
|
+
export declare function persistEditorSnapshot(editor: Editor, options?: LocalSnapshotPersistenceOptions, { documentSnapshot, }?: {
|
|
40
|
+
documentSnapshot?: StoreSnapshot<{
|
|
41
|
+
id: string;
|
|
42
|
+
}>;
|
|
43
|
+
}): Promise<void>;
|
|
44
|
+
export declare function readPersistedEditorSnapshots(options?: LocalSnapshotPersistenceOptions): Promise<PersistedEditorSnapshots>;
|
|
45
|
+
export declare function readPersistedDocumentSnapshot(): Promise<unknown | null>;
|
|
46
|
+
export declare function readPersistedSessionSnapshot(): Promise<unknown | null>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ShapeId } from "../../_vendor/canvas-core/index";
|
|
2
|
+
import type { CanvasProductController, CanvasProductControllerSnapshot, CanvasProductControllerOptions, CanvasProductSessionSnapshot } from "../../core/controller";
|
|
3
|
+
import { type BuiltInCanvasShapeCreationControllers } from "./shapeCreationController";
|
|
4
|
+
import { type BuiltInCanvasLayerNode } from "./layerController";
|
|
5
|
+
export interface BuiltInCanvasControllerSnapshot<TToolId extends string = string> extends CanvasProductControllerSnapshot<TToolId> {
|
|
6
|
+
productId: string;
|
|
7
|
+
session: CanvasProductSessionSnapshot<TToolId>;
|
|
8
|
+
}
|
|
9
|
+
export interface BuiltInCanvasController<TToolId extends string = string> extends CanvasProductController<TToolId>, BuiltInCanvasShapeCreationControllers {
|
|
10
|
+
snapshot(): BuiltInCanvasControllerSnapshot<TToolId>;
|
|
11
|
+
getLayerTree(pageId?: string): BuiltInCanvasLayerNode[];
|
|
12
|
+
getLayerNode(id: ShapeId): BuiltInCanvasLayerNode | null;
|
|
13
|
+
}
|
|
14
|
+
export declare function createBuiltInCanvasController<TToolId extends string = string>(options: CanvasProductControllerOptions<TToolId>): BuiltInCanvasController<TToolId>;
|
|
15
|
+
export declare function useBuiltInCanvasController<TToolId extends string = string>(options: CanvasProductControllerOptions<TToolId>): BuiltInCanvasController<TToolId>;
|
|
16
|
+
export type { BuiltInCanvasLayerNode } from "./layerController";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AssetId, Editor } from "../../_vendor/canvas-core/index";
|
|
2
|
+
import type { GeoShapeKind } from "../../_vendor/plugin-geo/index";
|
|
3
|
+
import type { CanvasProductLayerNode } from "../../core/controller";
|
|
4
|
+
export interface BuiltInCanvasLayerNode extends CanvasProductLayerNode {
|
|
5
|
+
geoKind?: GeoShapeKind;
|
|
6
|
+
imageAssetId?: AssetId | null;
|
|
7
|
+
imageThumbnailSrc?: string | null;
|
|
8
|
+
}
|
|
9
|
+
export declare function withBuiltInLayerNames(editor: Editor, node: CanvasProductLayerNode): BuiltInCanvasLayerNode;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { Editor, ShapeColor, ShapeId } from "../../_vendor/canvas-core/index";
|
|
2
|
+
import { type ArrowShapeProps } from "../../_vendor/plugin-arrow/index";
|
|
3
|
+
import { type TextShapeProps } from "../../_vendor/plugin-text/index";
|
|
4
|
+
import type { CanvasProductShapeRef } from "../../core/controller";
|
|
5
|
+
export interface BuiltInCanvasShapeInput {
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
w?: number;
|
|
9
|
+
h?: number;
|
|
10
|
+
fill?: ShapeColor;
|
|
11
|
+
stroke?: ShapeColor;
|
|
12
|
+
strokeWidth?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface BuiltInCanvasTextInput {
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
text: string;
|
|
18
|
+
w?: number;
|
|
19
|
+
h?: number;
|
|
20
|
+
color?: ShapeColor;
|
|
21
|
+
size?: TextShapeProps["size"];
|
|
22
|
+
}
|
|
23
|
+
export interface BuiltInCanvasFrameInput extends BuiltInCanvasShapeInput {
|
|
24
|
+
name?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface BuiltInCanvasArrowBindingInput {
|
|
27
|
+
targetShapeId: ShapeId;
|
|
28
|
+
normalizedAnchor: {
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export interface BuiltInCanvasArrowInput {
|
|
34
|
+
start: {
|
|
35
|
+
x: number;
|
|
36
|
+
y: number;
|
|
37
|
+
};
|
|
38
|
+
end: {
|
|
39
|
+
x: number;
|
|
40
|
+
y: number;
|
|
41
|
+
};
|
|
42
|
+
bend?: number;
|
|
43
|
+
stroke?: ShapeColor;
|
|
44
|
+
strokeWidth?: number;
|
|
45
|
+
headStart?: ArrowShapeProps["headStart"];
|
|
46
|
+
headEnd?: ArrowShapeProps["headEnd"];
|
|
47
|
+
startBinding?: BuiltInCanvasArrowBindingInput | null;
|
|
48
|
+
endBinding?: BuiltInCanvasArrowBindingInput | null;
|
|
49
|
+
}
|
|
50
|
+
export interface BuiltInGeoController {
|
|
51
|
+
createRectangle(input: BuiltInCanvasShapeInput): CanvasProductShapeRef | null;
|
|
52
|
+
createEllipse(input: BuiltInCanvasShapeInput): CanvasProductShapeRef | null;
|
|
53
|
+
createDiamond(input: BuiltInCanvasShapeInput): CanvasProductShapeRef | null;
|
|
54
|
+
createTriangle(input: BuiltInCanvasShapeInput): CanvasProductShapeRef | null;
|
|
55
|
+
createHexagon(input: BuiltInCanvasShapeInput): CanvasProductShapeRef | null;
|
|
56
|
+
createStar(input: BuiltInCanvasShapeInput): CanvasProductShapeRef | null;
|
|
57
|
+
}
|
|
58
|
+
export interface BuiltInTextController {
|
|
59
|
+
create(input: BuiltInCanvasTextInput): CanvasProductShapeRef | null;
|
|
60
|
+
}
|
|
61
|
+
export interface BuiltInFrameController {
|
|
62
|
+
create(input: BuiltInCanvasFrameInput): CanvasProductShapeRef | null;
|
|
63
|
+
moveShapesToFrame(ids: ShapeId[], frameId: ShapeId): ShapeId[];
|
|
64
|
+
}
|
|
65
|
+
export interface BuiltInArrowController {
|
|
66
|
+
create(input: BuiltInCanvasArrowInput): CanvasProductShapeRef | null;
|
|
67
|
+
}
|
|
68
|
+
export interface BuiltInCanvasShapeCreationControllers {
|
|
69
|
+
arrow: BuiltInArrowController;
|
|
70
|
+
geo: BuiltInGeoController;
|
|
71
|
+
text: BuiltInTextController;
|
|
72
|
+
frame: BuiltInFrameController;
|
|
73
|
+
}
|
|
74
|
+
export declare function createBuiltInShapeCreationControllers(editor: Editor): BuiltInCanvasShapeCreationControllers;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface BuiltInCanvasExtensionOptions {
|
|
2
|
+
arrow?: boolean;
|
|
3
|
+
draw?: boolean;
|
|
4
|
+
eraser?: boolean;
|
|
5
|
+
frame?: boolean;
|
|
6
|
+
geo?: boolean;
|
|
7
|
+
group?: boolean;
|
|
8
|
+
image?: boolean;
|
|
9
|
+
laser?: boolean;
|
|
10
|
+
text?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare const builtInCanvasExtensions: readonly [import("../_vendor/canvas-react/host/index").ConfigurableLandExtension<Record<string, never>>, import("../_vendor/canvas-react/host/index").ConfigurableLandExtension<Record<string, never>>, import("../_vendor/canvas-react/host/index").ConfigurableLandExtension<Record<string, never>>, import("../_vendor/canvas-react/host/index").ConfigurableLandExtension<Record<string, never>>, import("../_vendor/canvas-react/host/index").ConfigurableLandExtension<Record<string, never>>, import("../_vendor/canvas-react/host/index").ConfigurableLandExtension<Record<string, never>>, import("../_vendor/canvas-react/host/index").ConfigurableLandExtension<Record<string, never>>, import("../_vendor/canvas-react/host/index").ConfigurableLandExtension<Record<string, never>>, import("../_vendor/canvas-react/host/index").ConfigurableLandExtension<Record<string, never>>];
|
|
13
|
+
export type BuiltInCanvasExtension = (typeof builtInCanvasExtensions)[number];
|
|
14
|
+
export declare function createBuiltInCanvasExtensions(options?: BuiltInCanvasExtensionOptions): readonly BuiltInCanvasExtension[];
|
|
15
|
+
export declare function hasBuiltInCanvasExtension(extensions: readonly BuiltInCanvasExtension[], name: keyof BuiltInCanvasExtensionOptions): boolean;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { builtInCanvasExtensions, createBuiltInCanvasExtensions, hasBuiltInCanvasExtension, } from "./extensions";
|
|
2
|
+
export type { BuiltInCanvasExtension, BuiltInCanvasExtensionOptions, } from "./extensions";
|
|
3
|
+
export { createBuiltInCanvasController, useBuiltInCanvasController, } from "./controller/createBuiltInCanvasController";
|
|
4
|
+
export type { BuiltInCanvasController, BuiltInCanvasControllerSnapshot, BuiltInCanvasLayerNode, } from "./controller/createBuiltInCanvasController";
|
|
5
|
+
export type { BuiltInArrowController, BuiltInCanvasArrowBindingInput, BuiltInCanvasArrowInput, BuiltInCanvasFrameInput, BuiltInCanvasShapeCreationControllers, BuiltInCanvasShapeInput, BuiltInCanvasTextInput, BuiltInFrameController, BuiltInGeoController, BuiltInTextController, } from "./controller/shapeCreationController";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import type { ToolbarSurfaces } from "./bindings/useToolbarSurfaces";
|
|
3
|
+
export declare function FloatingSelectionToolbarPageSpace({ children, className, dataUi, offset, surfaces, }: {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
className?: string;
|
|
6
|
+
dataUi?: string;
|
|
7
|
+
offset?: number;
|
|
8
|
+
surfaces: ToolbarSurfaces;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Editor, PageId, PageRecord } from "../../_vendor/canvas-core/index";
|
|
2
|
+
export interface HistoryControls {
|
|
3
|
+
canUndo: boolean;
|
|
4
|
+
canRedo: boolean;
|
|
5
|
+
undo(): void;
|
|
6
|
+
redo(): void;
|
|
7
|
+
}
|
|
8
|
+
export interface PageControls {
|
|
9
|
+
pages: readonly PageRecord[];
|
|
10
|
+
currentPage: PageRecord | null;
|
|
11
|
+
currentPageId: PageId;
|
|
12
|
+
canDeleteCurrentPage: boolean;
|
|
13
|
+
createPage(): void;
|
|
14
|
+
deleteCurrentPage(): void;
|
|
15
|
+
renameCurrentPage(nextName: string): void;
|
|
16
|
+
selectPage(pageId: PageId): void;
|
|
17
|
+
}
|
|
18
|
+
export interface ZoomControlsState {
|
|
19
|
+
zoom: number;
|
|
20
|
+
label: string;
|
|
21
|
+
zoomIn(): void;
|
|
22
|
+
zoomOut(): void;
|
|
23
|
+
resetZoom(): void;
|
|
24
|
+
}
|
|
25
|
+
export declare function useHistoryControls(editor: Editor): HistoryControls;
|
|
26
|
+
export declare function usePageControls(editor: Editor): PageControls;
|
|
27
|
+
export declare function useZoomControls(editor: Editor): ZoomControlsState;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ContextMenuContext, ActiveContextMenu, ContextMenuSection, Editor } from "../../_vendor/canvas-core/index";
|
|
2
|
+
import type { CanvasPluginHostRuntime } from "../../_vendor/canvas-react/host/index";
|
|
3
|
+
export interface ContextMenuSurface {
|
|
4
|
+
context: ContextMenuContext | null;
|
|
5
|
+
activeContextMenu: ActiveContextMenu | null;
|
|
6
|
+
sections: readonly ContextMenuSection[];
|
|
7
|
+
}
|
|
8
|
+
export declare function useContextMenuSurface({ editor, activeContextMenu, pluginHostRuntime, }: {
|
|
9
|
+
editor: Editor;
|
|
10
|
+
activeContextMenu: ActiveContextMenu | null;
|
|
11
|
+
pluginHostRuntime: CanvasPluginHostRuntime;
|
|
12
|
+
}): ContextMenuSurface;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type RefObject } from "react";
|
|
2
|
+
import type { Editor, ShapeId } from "../../_vendor/canvas-core/index";
|
|
3
|
+
import { type ExportStatus as ProductExportStatus, type SvgAssetInliner as ProductSvgAssetInliner, type SvgExportResult as ProductSvgExportResult } from "../../core";
|
|
4
|
+
export type ExportStatus = ProductExportStatus;
|
|
5
|
+
export type SvgAssetInliner = ProductSvgAssetInliner;
|
|
6
|
+
export type SvgExportResult = ProductSvgExportResult;
|
|
7
|
+
export interface SvgExportControls {
|
|
8
|
+
status: ExportStatus | null;
|
|
9
|
+
exportSvg(shapeIds: readonly ShapeId[]): Promise<SvgExportResult>;
|
|
10
|
+
}
|
|
11
|
+
export declare function useSvgExport({ assetInliners, editor, themeRootRef, }: {
|
|
12
|
+
assetInliners?: readonly SvgAssetInliner[];
|
|
13
|
+
editor: Editor;
|
|
14
|
+
themeRootRef?: RefObject<HTMLElement | null>;
|
|
15
|
+
}): SvgExportControls;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Editor, CanvasActionContext, ToolbarGroup } from "../../_vendor/canvas-core/index";
|
|
2
|
+
import type { CanvasPluginHostRuntime } from "../../_vendor/canvas-react/host/index";
|
|
3
|
+
export interface FloatingSelectionToolbarPageAnchor {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
}
|
|
7
|
+
export interface ToolbarSurfaces {
|
|
8
|
+
context: CanvasActionContext;
|
|
9
|
+
activeToolId: string;
|
|
10
|
+
activeToolLabel: string;
|
|
11
|
+
isToolLocked: boolean;
|
|
12
|
+
selectionCount: number;
|
|
13
|
+
hasMixedSelectionRotation: boolean;
|
|
14
|
+
toolChromeToolbarGroups: readonly ToolbarGroup[];
|
|
15
|
+
contextToolbarGroups: readonly ToolbarGroup[];
|
|
16
|
+
floatingSelectionToolbarGroups: readonly ToolbarGroup[];
|
|
17
|
+
floatingSelectionToolbarPageAnchor: FloatingSelectionToolbarPageAnchor | null;
|
|
18
|
+
contextToolbarTitle: string;
|
|
19
|
+
showContextToolbar: boolean;
|
|
20
|
+
showFloatingSelectionToolbar: boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare function useToolbarSurfaces({ canShowContextToolbarDuringEditing, editor, pluginHostRuntime, }: {
|
|
23
|
+
canShowContextToolbarDuringEditing?: (context: CanvasActionContext) => boolean;
|
|
24
|
+
editor: Editor;
|
|
25
|
+
pluginHostRuntime: CanvasPluginHostRuntime;
|
|
26
|
+
}): ToolbarSurfaces;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { CanvasKitController, CanvasKitBaseController } from "../controller/canvasKitController";
|
|
2
|
+
import type { BuiltInCanvasLayerNode } from "../builtins";
|
|
3
|
+
import type { ActiveContextMenu, EditorSelectionState, ShapeId, CanvasActionValue, CanvasActionContext } from "../_vendor/canvas-core/index";
|
|
4
|
+
import type { HistoryControls, PageControls, ZoomControlsState } from "./bindings/useCanvasKitChromeControls";
|
|
5
|
+
import type { ContextMenuSurface } from "./bindings/useContextMenuSurface";
|
|
6
|
+
import type { SvgExportControls } from "./bindings/useSvgExport";
|
|
7
|
+
import type { ToolbarSurfaces } from "./bindings/useToolbarSurfaces";
|
|
8
|
+
import type { ProductPersistenceStatus } from "../core";
|
|
9
|
+
export type { ContextMenuCommandItem, ContextMenuItem, ContextMenuSection, EditorSelectionState, ShapeId, CanvasActionValue, CanvasActionContext, ToolbarGroup, ToolbarItem, } from "../_vendor/canvas-core/index";
|
|
10
|
+
export type { HistoryControls, PageControls, ZoomControlsState, } from "./bindings/useCanvasKitChromeControls";
|
|
11
|
+
export type { ContextMenuSurface } from "./bindings/useContextMenuSurface";
|
|
12
|
+
export type { SvgExportControls, } from "./bindings/useSvgExport";
|
|
13
|
+
export type { ToolbarSurfaces, } from "./bindings/useToolbarSurfaces";
|
|
14
|
+
export type CanvasKitLayerNode = BuiltInCanvasLayerNode;
|
|
15
|
+
export interface CanvasKitToolbarActionState {
|
|
16
|
+
value: CanvasActionValue | undefined;
|
|
17
|
+
isEnabled: boolean;
|
|
18
|
+
isVisible: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface CanvasKitToolbarRuntime {
|
|
21
|
+
getActionState(input: {
|
|
22
|
+
actionId: string;
|
|
23
|
+
context: CanvasActionContext;
|
|
24
|
+
}): CanvasKitToolbarActionState | null;
|
|
25
|
+
runAction(input: {
|
|
26
|
+
actionId: string;
|
|
27
|
+
context: CanvasActionContext;
|
|
28
|
+
value?: CanvasActionValue;
|
|
29
|
+
}): void;
|
|
30
|
+
}
|
|
31
|
+
export interface CanvasKitGridControls {
|
|
32
|
+
isVisible: boolean;
|
|
33
|
+
setIsVisible(isVisible: boolean): void;
|
|
34
|
+
}
|
|
35
|
+
export interface CanvasKitPersistenceControls {
|
|
36
|
+
discardUnsupportedRecords: (() => Promise<void>) | null;
|
|
37
|
+
isDiscardingUnsupportedRecords: boolean;
|
|
38
|
+
status: ProductPersistenceStatus | null;
|
|
39
|
+
}
|
|
40
|
+
export interface CanvasKitChromeContext<TController extends CanvasKitBaseController = CanvasKitController> {
|
|
41
|
+
controller: TController;
|
|
42
|
+
contextMenu: CanvasKitContextMenuState;
|
|
43
|
+
currentPageId: string;
|
|
44
|
+
currentPageShapeIds: readonly ShapeId[];
|
|
45
|
+
history: HistoryControls;
|
|
46
|
+
layers: readonly BuiltInCanvasLayerNode[];
|
|
47
|
+
pages: PageControls;
|
|
48
|
+
selection: EditorSelectionState;
|
|
49
|
+
selectedShapeIds: readonly ShapeId[];
|
|
50
|
+
persistence: CanvasKitPersistenceControls;
|
|
51
|
+
svgExport: SvgExportControls;
|
|
52
|
+
toolbarRuntime: CanvasKitToolbarRuntime;
|
|
53
|
+
toolbarSurfaces: ToolbarSurfaces;
|
|
54
|
+
grid: CanvasKitGridControls;
|
|
55
|
+
zoom: ZoomControlsState;
|
|
56
|
+
}
|
|
57
|
+
export interface CanvasKitContextMenuState {
|
|
58
|
+
activeContextMenu: ActiveContextMenu | null;
|
|
59
|
+
onActiveContextMenuChange: (activeContextMenu: ActiveContextMenu | null) => void;
|
|
60
|
+
runAction(input: {
|
|
61
|
+
actionId: string;
|
|
62
|
+
context: NonNullable<ContextMenuSurface["context"]>;
|
|
63
|
+
value?: CanvasActionValue;
|
|
64
|
+
}): void;
|
|
65
|
+
surface: ContextMenuSurface;
|
|
66
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type RefObject } from "react";
|
|
2
|
+
import type { ActiveContextMenu } from "../_vendor/canvas-core/index";
|
|
3
|
+
import type { CanvasKitBaseController } from "../controller/canvasKitController";
|
|
4
|
+
import type { CanvasKitRuntime } from "../runtime/canvasKitRuntime";
|
|
5
|
+
import type { CanvasKitHostExtension } from "../runtime/canvasKitHostExtensions";
|
|
6
|
+
import type { ProductServiceRegistry } from "../core";
|
|
7
|
+
import type { CanvasKitChromeContext, CanvasKitGridControls, CanvasKitPersistenceControls } from "./types";
|
|
8
|
+
export declare function useCanvasKitChromeContext<TController extends CanvasKitBaseController>({ controller, activeContextMenu, editor, grid, hostExtensions, onActiveContextMenuChange, persistence, pluginHostRuntime, services, themeRootRef, }: {
|
|
9
|
+
controller: TController;
|
|
10
|
+
activeContextMenu: ActiveContextMenu | null;
|
|
11
|
+
editor: CanvasKitRuntime["editor"];
|
|
12
|
+
grid: CanvasKitGridControls;
|
|
13
|
+
hostExtensions: readonly CanvasKitHostExtension[];
|
|
14
|
+
onActiveContextMenuChange: (activeContextMenu: ActiveContextMenu | null) => void;
|
|
15
|
+
persistence: CanvasKitPersistenceControls;
|
|
16
|
+
pluginHostRuntime: CanvasKitRuntime["pluginHostRuntime"];
|
|
17
|
+
services: ProductServiceRegistry;
|
|
18
|
+
themeRootRef: RefObject<HTMLElement | null>;
|
|
19
|
+
}): CanvasKitChromeContext<TController>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type CanvasProductController, type CanvasProductControllerContext, type CanvasProductSessionSnapshot } from "../core/controller";
|
|
2
|
+
import type { CanvasPluginHostRuntime } from "../_vendor/canvas-react/host/index";
|
|
3
|
+
import { type BuiltInCanvasController, type BuiltInCanvasControllerSnapshot, type BuiltInCanvasFrameInput, type BuiltInCanvasShapeInput, type BuiltInCanvasTextInput } from "../builtins";
|
|
4
|
+
import { type ImageProductController } from "../features/image";
|
|
5
|
+
export type CanvasKitShapeInput = BuiltInCanvasShapeInput;
|
|
6
|
+
export type CanvasKitTextInput = BuiltInCanvasTextInput;
|
|
7
|
+
export type CanvasKitFrameInput = BuiltInCanvasFrameInput;
|
|
8
|
+
export interface CanvasKitBaseController<TToolId extends string = string> extends CanvasProductController<TToolId> {
|
|
9
|
+
}
|
|
10
|
+
export declare const CANVAS_KIT_TOOL_IDS: readonly ["select", "hand", "rectangle", "ellipse", "diamond", "triangle", "hexagon", "star", "arrow", "draw", "text", "frame", "eraser", "laser"];
|
|
11
|
+
export type CanvasKitToolId = (typeof CANVAS_KIT_TOOL_IDS)[number];
|
|
12
|
+
export interface CanvasKitControllerSnapshot<TToolId extends string = CanvasKitToolId> extends BuiltInCanvasControllerSnapshot<TToolId> {
|
|
13
|
+
productId: string;
|
|
14
|
+
session: CanvasProductSessionSnapshot<TToolId>;
|
|
15
|
+
}
|
|
16
|
+
export interface CanvasKitController<TToolId extends string = CanvasKitToolId> extends BuiltInCanvasController<TToolId> {
|
|
17
|
+
image: ImageProductController | null;
|
|
18
|
+
snapshot(): CanvasKitControllerSnapshot<TToolId>;
|
|
19
|
+
}
|
|
20
|
+
export interface CanvasKitControllerRuntimeContext extends Omit<CanvasProductControllerContext, "pluginHostRuntime"> {
|
|
21
|
+
pluginHostRuntime: CanvasPluginHostRuntime;
|
|
22
|
+
}
|
|
23
|
+
export interface CanvasKitControllerOptions<TToolId extends string = CanvasKitToolId> extends CanvasKitControllerRuntimeContext {
|
|
24
|
+
assertToolId?: (toolId: string) => asserts toolId is TToolId;
|
|
25
|
+
}
|
|
26
|
+
export interface CanvasKitControllerWithToolsOptions<TToolId extends string> extends CanvasKitControllerRuntimeContext {
|
|
27
|
+
assertToolId: (toolId: string) => asserts toolId is TToolId;
|
|
28
|
+
}
|
|
29
|
+
export type CanvasKitControllerWithTools<TToolId extends string> = CanvasKitController<TToolId>;
|
|
30
|
+
declare global {
|
|
31
|
+
interface Window {
|
|
32
|
+
landCanvasKit?: CanvasKitController;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export declare function createCanvasKitController(context: CanvasKitControllerOptions<CanvasKitToolId>): CanvasKitController;
|
|
36
|
+
export declare function createCanvasKitControllerWithTools<TToolId extends string>(context: CanvasKitControllerWithToolsOptions<TToolId>): CanvasKitControllerWithTools<TToolId>;
|