@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.
Files changed (563) hide show
  1. package/README.md +80 -78
  2. package/_vendor/canvas-core/bindings/bindingUtil.d.ts +45 -0
  3. package/_vendor/canvas-core/bindings/bindingUtilRegistry.d.ts +8 -0
  4. package/_vendor/canvas-core/bindings/terminalBinding.d.ts +28 -0
  5. package/_vendor/canvas-core/editor/camera.d.ts +3 -0
  6. package/_vendor/canvas-core/editor/clipboard.d.ts +43 -0
  7. package/_vendor/canvas-core/editor/commands.d.ts +131 -0
  8. package/_vendor/canvas-core/editor/createEditorWithPlugins.d.ts +6 -0
  9. package/_vendor/canvas-core/editor/edgeScroll.d.ts +5 -0
  10. package/_vendor/canvas-core/editor/editor.d.ts +559 -0
  11. package/_vendor/canvas-core/editor/editorComputedHelpers.d.ts +21 -0
  12. package/_vendor/canvas-core/editor/editorSelectionTransforms.d.ts +6 -0
  13. package/_vendor/canvas-core/editor/events.d.ts +71 -0
  14. package/_vendor/canvas-core/editor/historyManager.d.ts +18 -0
  15. package/_vendor/canvas-core/editor/index.d.ts +11 -0
  16. package/_vendor/canvas-core/editor/interactions.d.ts +51 -0
  17. package/_vendor/canvas-core/editor/internal.d.ts +7 -0
  18. package/_vendor/canvas-core/editor/managers/bindingManager.d.ts +27 -0
  19. package/_vendor/canvas-core/editor/managers/cameraManager.d.ts +39 -0
  20. package/_vendor/canvas-core/editor/managers/clipboardManager.d.ts +14 -0
  21. package/_vendor/canvas-core/editor/managers/documentSnapshotManager.d.ts +28 -0
  22. package/_vendor/canvas-core/editor/managers/inputsManager.d.ts +44 -0
  23. package/_vendor/canvas-core/editor/managers/interactionTransientManager.d.ts +55 -0
  24. package/_vendor/canvas-core/editor/managers/queryManager.d.ts +77 -0
  25. package/_vendor/canvas-core/editor/managers/queryState.d.ts +18 -0
  26. package/_vendor/canvas-core/editor/managers/renderWindowManager.d.ts +25 -0
  27. package/_vendor/canvas-core/editor/managers/selectionGeometry.d.ts +28 -0
  28. package/_vendor/canvas-core/editor/managers/selectionLayoutManager.d.ts +29 -0
  29. package/_vendor/canvas-core/editor/managers/selectionManager.d.ts +21 -0
  30. package/_vendor/canvas-core/editor/managers/selectionOverlayManager.d.ts +24 -0
  31. package/_vendor/canvas-core/editor/managers/shapeEditingManager.d.ts +29 -0
  32. package/_vendor/canvas-core/editor/managers/shapeGeometryManager.d.ts +42 -0
  33. package/_vendor/canvas-core/editor/managers/shapeHierarchyManager.d.ts +55 -0
  34. package/_vendor/canvas-core/editor/managers/shapeOrder.d.ts +14 -0
  35. package/_vendor/canvas-core/editor/managers/shapeReparenting.d.ts +6 -0
  36. package/_vendor/canvas-core/editor/managers/shortcutManager.d.ts +56 -0
  37. package/_vendor/canvas-core/editor/managers/sideEffectManager.d.ts +23 -0
  38. package/_vendor/canvas-core/editor/managers/snapCalculations.d.ts +40 -0
  39. package/_vendor/canvas-core/editor/managers/snapGeometry.d.ts +26 -0
  40. package/_vendor/canvas-core/editor/managers/snapIndicators.d.ts +22 -0
  41. package/_vendor/canvas-core/editor/managers/snapManager.d.ts +29 -0
  42. package/_vendor/canvas-core/editor/managers/snapSnapshotBuilder.d.ts +22 -0
  43. package/_vendor/canvas-core/editor/managers/snapTypes.d.ts +98 -0
  44. package/_vendor/canvas-core/editor/managers/spatialIndexManager.d.ts +30 -0
  45. package/_vendor/canvas-core/editor/managers/toolManager.d.ts +24 -0
  46. package/_vendor/canvas-core/editor/queries/shapeTransforms.d.ts +27 -0
  47. package/_vendor/canvas-core/editor/renderWindow.d.ts +30 -0
  48. package/_vendor/canvas-core/editor/resizeGeometry.d.ts +97 -0
  49. package/_vendor/canvas-core/editor/selection.d.ts +231 -0
  50. package/_vendor/canvas-core/editor/selectionHandleInteractions.d.ts +11 -0
  51. package/_vendor/canvas-core/editor/selectionOverlay.d.ts +33 -0
  52. package/_vendor/canvas-core/editor/stateNode.d.ts +31 -0
  53. package/_vendor/canvas-core/exports/integrity.d.ts +32 -0
  54. package/_vendor/canvas-core/exports/svg.d.ts +52 -0
  55. package/_vendor/canvas-core/geometry/box.d.ts +19 -0
  56. package/_vendor/canvas-core/geometry/ellipse2d.d.ts +16 -0
  57. package/_vendor/canvas-core/geometry/geometry2d.d.ts +15 -0
  58. package/_vendor/canvas-core/geometry/index.d.ts +8 -0
  59. package/_vendor/canvas-core/geometry/mat.d.ts +28 -0
  60. package/_vendor/canvas-core/geometry/polyline2d.d.ts +14 -0
  61. package/_vendor/canvas-core/geometry/rectangle2d.d.ts +16 -0
  62. package/_vendor/canvas-core/geometry/segments.d.ts +5 -0
  63. package/_vendor/canvas-core/geometry/vec.d.ts +37 -0
  64. package/_vendor/canvas-core/index.d.ts +59 -0
  65. package/_vendor/canvas-core/plugins/editorPlugin.d.ts +28 -0
  66. package/_vendor/canvas-core/plugins/index.d.ts +1 -0
  67. package/_vendor/canvas-core/reactivity.d.ts +4 -0
  68. package/_vendor/canvas-core/schema/records.d.ts +112 -0
  69. package/_vendor/canvas-core/schema/snapshotSupport.d.ts +43 -0
  70. package/_vendor/canvas-core/schema/snapshots.d.ts +31 -0
  71. package/_vendor/canvas-core/shapes/capabilities.d.ts +25 -0
  72. package/_vendor/canvas-core/shapes/colors.d.ts +26 -0
  73. package/_vendor/canvas-core/shapes/shapeUtil.d.ts +146 -0
  74. package/_vendor/canvas-core/shapes/shapeUtilRegistry.d.ts +9 -0
  75. package/_vendor/canvas-core/shapes/types.d.ts +2 -0
  76. package/_vendor/canvas-core/surfaces/actions.d.ts +35 -0
  77. package/_vendor/canvas-core/surfaces/contextMenu.d.ts +64 -0
  78. package/_vendor/canvas-core/surfaces/toolbar.d.ts +96 -0
  79. package/_vendor/canvas-core/tools/hand/handTool.d.ts +5 -0
  80. package/_vendor/canvas-core/tools/index.d.ts +2 -0
  81. package/_vendor/canvas-core/tools/select/selectContainment.d.ts +12 -0
  82. package/_vendor/canvas-core/tools/select/selectTool.d.ts +5 -0
  83. package/_vendor/canvas-core/tools/select/selectToolHelpers.d.ts +161 -0
  84. package/_vendor/canvas-core/tools/select/states/brushingState.d.ts +19 -0
  85. package/_vendor/canvas-core/tools/select/states/draggingSelectionHandleInteractionState.d.ts +15 -0
  86. package/_vendor/canvas-core/tools/select/states/idleState.d.ts +8 -0
  87. package/_vendor/canvas-core/tools/select/states/index.d.ts +11 -0
  88. package/_vendor/canvas-core/tools/select/states/pointingCanvasState.d.ts +11 -0
  89. package/_vendor/canvas-core/tools/select/states/pointingResizeHandleState.d.ts +10 -0
  90. package/_vendor/canvas-core/tools/select/states/pointingRotateHandleState.d.ts +10 -0
  91. package/_vendor/canvas-core/tools/select/states/pointingSelectionHandleInteractionState.d.ts +10 -0
  92. package/_vendor/canvas-core/tools/select/states/pointingShapeState.d.ts +12 -0
  93. package/_vendor/canvas-core/tools/select/states/resizingState.d.ts +16 -0
  94. package/_vendor/canvas-core/tools/select/states/rotatingState.d.ts +14 -0
  95. package/_vendor/canvas-core/tools/select/states/selectStateNode.d.ts +60 -0
  96. package/_vendor/canvas-core/tools/select/states/translatingState.d.ts +17 -0
  97. package/_vendor/canvas-react/components/CanvasView.d.ts +14 -0
  98. package/_vendor/canvas-react/components/OverlayLayer.d.ts +1 -0
  99. package/_vendor/canvas-react/components/PageSpace.d.ts +6 -0
  100. package/_vendor/canvas-react/components/ShapeLayer.d.ts +4 -0
  101. package/_vendor/canvas-react/components/index.d.ts +2 -0
  102. package/_vendor/canvas-react/components/overlays/BindingGuide.d.ts +24 -0
  103. package/_vendor/canvas-react/components/overlays/BindingPreviewOverlay.d.ts +1 -0
  104. package/_vendor/canvas-react/components/overlays/BrushBoxOverlay.d.ts +1 -0
  105. package/_vendor/canvas-react/components/overlays/OverlaySvgRoot.d.ts +1 -0
  106. package/_vendor/canvas-react/components/overlays/SelectionFrameOverlay.d.ts +1 -0
  107. package/_vendor/canvas-react/components/overlays/SelectionHandlesOverlay.d.ts +1 -0
  108. package/_vendor/canvas-react/components/overlays/SelectionOverlaySvg.d.ts +1 -0
  109. package/_vendor/canvas-react/components/overlays/SelectionPathOverlay.d.ts +1 -0
  110. package/_vendor/canvas-react/components/overlays/ShapeOutlineOverlay.d.ts +8 -0
  111. package/_vendor/canvas-react/components/overlays/SnapIndicatorsOverlay.d.ts +1 -0
  112. package/_vendor/canvas-react/components/useCanvasDomEvents.d.ts +21 -0
  113. package/_vendor/canvas-react/dom.d.ts +10 -0
  114. package/_vendor/canvas-react/hooks/useEditor.d.ts +3 -0
  115. package/_vendor/canvas-react/hooks/useValue.d.ts +2 -0
  116. package/_vendor/canvas-react/host/canvasOverlayRegistryContext.d.ts +3 -0
  117. package/_vendor/canvas-react/host/canvasPlugin.d.ts +73 -0
  118. package/_vendor/canvas-react/host/canvasRendererRegistryContext.d.ts +3 -0
  119. package/_vendor/canvas-react/host/contextMenuRegistry.d.ts +12 -0
  120. package/_vendor/canvas-react/host/domEventGuards.d.ts +11 -0
  121. package/_vendor/canvas-react/host/extension.d.ts +37 -0
  122. package/_vendor/canvas-react/host/index.d.ts +13 -0
  123. package/_vendor/canvas-react/host/overlayRegistry.d.ts +18 -0
  124. package/_vendor/canvas-react/host/pluginHost.d.ts +2 -0
  125. package/_vendor/canvas-react/host/pluginHostManifest.d.ts +2 -0
  126. package/_vendor/canvas-react/host/pluginHostRuntime.d.ts +3 -0
  127. package/_vendor/canvas-react/host/pluginHostTypes.d.ts +102 -0
  128. package/_vendor/canvas-react/host/pluginHostValidation.d.ts +11 -0
  129. package/_vendor/canvas-react/host/rendererRegistry.d.ts +12 -0
  130. package/_vendor/canvas-react/host/toolbarRegistry.d.ts +24 -0
  131. package/_vendor/canvas-react/index.d.ts +4 -0
  132. package/_vendor/plugin-arrow/arrowBindingAnchors.d.ts +5 -0
  133. package/_vendor/plugin-arrow/arrowBindingGeometry.d.ts +28 -0
  134. package/_vendor/plugin-arrow/arrowBindingUtil.d.ts +27 -0
  135. package/_vendor/plugin-arrow/arrowGeometry.d.ts +74 -0
  136. package/_vendor/plugin-arrow/arrowShapeUtil.d.ts +21 -0
  137. package/_vendor/plugin-arrow/arrowTerminalBindingResolver.d.ts +20 -0
  138. package/_vendor/plugin-arrow/arrowTerminalCommands.d.ts +12 -0
  139. package/_vendor/plugin-arrow/arrowTool.d.ts +4 -0
  140. package/_vendor/plugin-arrow/canvas.d.ts +2 -0
  141. package/_vendor/plugin-arrow/editor.d.ts +7 -0
  142. package/_vendor/plugin-arrow/feature.d.ts +3 -0
  143. package/_vendor/plugin-arrow/index.d.ts +12 -0
  144. package/_vendor/plugin-arrow/selectionHandleInteractions.d.ts +3 -0
  145. package/_vendor/plugin-arrow/types.d.ts +31 -0
  146. package/_vendor/plugin-draw/DrawShapeRenderer.d.ts +10 -0
  147. package/_vendor/plugin-draw/canvas.d.ts +2 -0
  148. package/_vendor/plugin-draw/drawGeometry.d.ts +45 -0
  149. package/_vendor/plugin-draw/drawHitTest.d.ts +11 -0
  150. package/_vendor/plugin-draw/drawInterpolation.d.ts +5 -0
  151. package/_vendor/plugin-draw/drawPath.d.ts +37 -0
  152. package/_vendor/plugin-draw/drawSegments.d.ts +11 -0
  153. package/_vendor/plugin-draw/drawSelectionTransform.d.ts +18 -0
  154. package/_vendor/plugin-draw/drawShapeGeometry.d.ts +33 -0
  155. package/_vendor/plugin-draw/drawShapeUtil.d.ts +21 -0
  156. package/_vendor/plugin-draw/drawStrokeGeometry.d.ts +17 -0
  157. package/_vendor/plugin-draw/drawTool.d.ts +6 -0
  158. package/_vendor/plugin-draw/editor.d.ts +7 -0
  159. package/_vendor/plugin-draw/feature.d.ts +3 -0
  160. package/_vendor/plugin-draw/index.d.ts +13 -0
  161. package/_vendor/plugin-draw/types.d.ts +23 -0
  162. package/_vendor/plugin-eraser/canvas.d.ts +2 -0
  163. package/_vendor/plugin-eraser/editor.d.ts +2 -0
  164. package/_vendor/plugin-eraser/eraserTool.d.ts +5 -0
  165. package/_vendor/plugin-eraser/feature.d.ts +3 -0
  166. package/_vendor/plugin-eraser/{index.ts → index.d.ts} +2 -2
  167. package/_vendor/plugin-frame/canvas.d.ts +9 -0
  168. package/_vendor/plugin-frame/editor.d.ts +7 -0
  169. package/_vendor/plugin-frame/feature.d.ts +3 -0
  170. package/_vendor/plugin-frame/frameShapeUtil.d.ts +23 -0
  171. package/_vendor/plugin-frame/frameTool.d.ts +6 -0
  172. package/_vendor/plugin-frame/index.d.ts +6 -0
  173. package/_vendor/plugin-geo/canvas.d.ts +13 -0
  174. package/_vendor/plugin-geo/editor.d.ts +7 -0
  175. package/_vendor/plugin-geo/feature.d.ts +3 -0
  176. package/_vendor/plugin-geo/geoGeometry.d.ts +8 -0
  177. package/_vendor/plugin-geo/geoShapeUtil.d.ts +13 -0
  178. package/_vendor/plugin-geo/geoTools.d.ts +26 -0
  179. package/_vendor/plugin-geo/index.d.ts +7 -0
  180. package/_vendor/plugin-geo/types.d.ts +17 -0
  181. package/_vendor/plugin-group/canvas.d.ts +10 -0
  182. package/_vendor/plugin-group/editor.d.ts +7 -0
  183. package/_vendor/plugin-group/feature.d.ts +3 -0
  184. package/_vendor/plugin-group/groupShapeUtil.d.ts +15 -0
  185. package/_vendor/plugin-group/index.d.ts +5 -0
  186. package/_vendor/plugin-image/canvas.d.ts +2 -0
  187. package/_vendor/plugin-image/crop.d.ts +112 -0
  188. package/_vendor/plugin-image/cropInteractions.d.ts +3 -0
  189. package/_vendor/plugin-image/cropSession.d.ts +4 -0
  190. package/_vendor/plugin-image/editor.d.ts +16 -0
  191. package/_vendor/plugin-image/feature.d.ts +3 -0
  192. package/_vendor/plugin-image/imageShapeUtil.d.ts +11 -0
  193. package/_vendor/plugin-image/index.d.ts +8 -0
  194. package/_vendor/plugin-image/types.d.ts +37 -0
  195. package/_vendor/plugin-laser/canvas.d.ts +2 -0
  196. package/_vendor/plugin-laser/editor.d.ts +2 -0
  197. package/_vendor/plugin-laser/feature.d.ts +3 -0
  198. package/_vendor/plugin-laser/{index.ts → index.d.ts} +2 -2
  199. package/_vendor/plugin-laser/laserTool.d.ts +4 -0
  200. package/_vendor/plugin-text/arrowLabelBindingUtil.d.ts +42 -0
  201. package/_vendor/plugin-text/canvas.d.ts +2 -0
  202. package/_vendor/plugin-text/editor.d.ts +2 -0
  203. package/_vendor/plugin-text/feature.d.ts +3 -0
  204. package/_vendor/plugin-text/geoLabelBindingUtil.d.ts +45 -0
  205. package/_vendor/plugin-text/host/RichTextEditingBox.d.ts +5 -0
  206. package/_vendor/plugin-text/host/RichTextToolbar.d.ts +8 -0
  207. package/_vendor/plugin-text/host/TiptapTextEditor.d.ts +24 -0
  208. package/_vendor/plugin-text/host/richTextBubbleMenuPositionSync.d.ts +7 -0
  209. package/_vendor/plugin-text/host/richTextRendering.d.ts +3 -0
  210. package/_vendor/plugin-text/host/textDomSelection.d.ts +7 -0
  211. package/_vendor/plugin-text/host/textEditingBoxStyle.d.ts +3 -0
  212. package/_vendor/plugin-text/host/textEntryFocus.d.ts +22 -0
  213. package/_vendor/plugin-text/host/textFontLoader.d.ts +2 -0
  214. package/_vendor/plugin-text/host/textMeasurement.d.ts +12 -0
  215. package/_vendor/plugin-text/host/textMeasurementSync.d.ts +10 -0
  216. package/_vendor/plugin-text/host/textRangeSelection.d.ts +14 -0
  217. package/_vendor/plugin-text/host/textShapeRendererRuntime.d.ts +8 -0
  218. package/_vendor/plugin-text/host/textShapeSync.d.ts +17 -0
  219. package/_vendor/plugin-text/host/tiptapTextEditorController.d.ts +33 -0
  220. package/_vendor/plugin-text/index.d.ts +4 -0
  221. package/_vendor/plugin-text/richTextUtils.d.ts +18 -0
  222. package/_vendor/plugin-text/textInteractions.d.ts +2 -0
  223. package/_vendor/plugin-text/textLabelHelpers.d.ts +44 -0
  224. package/_vendor/plugin-text/textShapeHelpers.d.ts +21 -0
  225. package/_vendor/plugin-text/textShapeSvgExporter.d.ts +6 -0
  226. package/_vendor/plugin-text/textShapeUtil.d.ts +19 -0
  227. package/_vendor/plugin-text/textStyle.d.ts +9 -0
  228. package/_vendor/plugin-text/textTool.d.ts +4 -0
  229. package/_vendor/plugin-text/textTypes.d.ts +28 -0
  230. package/_vendor/signals/atom.d.ts +9 -0
  231. package/_vendor/signals/computed.d.ts +11 -0
  232. package/_vendor/signals/core.d.ts +17 -0
  233. package/_vendor/signals/effect.d.ts +29 -0
  234. package/_vendor/signals/types.d.ts +15 -0
  235. package/_vendor/store/diff.d.ts +9 -0
  236. package/_vendor/store/history.d.ts +37 -0
  237. package/_vendor/store/index.d.ts +5 -0
  238. package/_vendor/store/store.d.ts +32 -0
  239. package/_vendor/store/types.d.ts +27 -0
  240. package/browser/localSnapshotRestore.d.ts +13 -0
  241. package/browser/persistence.d.ts +46 -0
  242. package/builtins/controller/createBuiltInCanvasController.d.ts +16 -0
  243. package/builtins/controller/layerController.d.ts +9 -0
  244. package/builtins/controller/shapeCreationController.d.ts +74 -0
  245. package/builtins/extensions.d.ts +15 -0
  246. package/builtins/index.d.ts +5 -0
  247. package/chrome/CanvasKitFloatingToolbarLayer.d.ts +6 -0
  248. package/chrome/FloatingSelectionToolbarPageSpace.d.ts +9 -0
  249. package/chrome/bindings/useCanvasKitChromeControls.d.ts +27 -0
  250. package/chrome/bindings/useContextMenuSurface.d.ts +12 -0
  251. package/chrome/bindings/useSvgExport.d.ts +15 -0
  252. package/chrome/bindings/useToolbarSurfaces.d.ts +26 -0
  253. package/chrome/types.d.ts +66 -0
  254. package/chrome/useCanvasKitChromeContext.d.ts +19 -0
  255. package/controller/canvasKitController.d.ts +36 -0
  256. package/core/controller/canvasProductController.d.ts +114 -0
  257. package/core/controller/featureControllerRegistry.d.ts +12 -0
  258. package/core/controller/index.d.ts +4 -0
  259. package/core/controller/productLayerTree.d.ts +10 -0
  260. package/core/features/actions/canvasActionContext.d.ts +15 -0
  261. package/core/features/actions/canvasActions.d.ts +26 -0
  262. package/core/features/clipboard/clipboardContextMenuContributions.d.ts +2 -0
  263. package/core/features/clipboard/clipboardContribution.d.ts +19 -0
  264. package/core/features/clipboard/clipboardService.d.ts +10 -0
  265. package/core/features/context-menu/contextMenuActions.d.ts +12 -0
  266. package/core/features/context-menu/contextMenuContext.d.ts +6 -0
  267. package/core/features/context-menu/contextMenuContribution.d.ts +4 -0
  268. package/core/features/context-menu/viewContextMenuContributions.d.ts +2 -0
  269. package/core/features/export/svgExport.d.ts +33 -0
  270. package/core/features/hostActionIds.d.ts +1 -0
  271. package/core/features/toolbar/selectionContextMenuContributions.d.ts +2 -0
  272. package/core/features/toolbar/toolContextMenuContributions.d.ts +2 -0
  273. package/core/features/toolbar/toolbarContribution.d.ts +4 -0
  274. package/core/features/toolbar/toolbarLabels.d.ts +8 -0
  275. package/core/index.d.ts +23 -0
  276. package/core/runtime/productAssets.d.ts +18 -0
  277. package/core/runtime/productContributions.d.ts +9 -0
  278. package/core/runtime/productDefinition.d.ts +32 -0
  279. package/core/runtime/productEditor.d.ts +3 -0
  280. package/core/runtime/productHost.d.ts +17 -0
  281. package/core/runtime/productServices.d.ts +30 -0
  282. package/features/image/ImageImportController.d.ts +9 -0
  283. package/features/image/imageAssetService.d.ts +7 -0
  284. package/features/image/imageBlobStore.d.ts +25 -0
  285. package/features/image/imageFileHelpers.d.ts +35 -0
  286. package/features/image/imageHostActions.d.ts +36 -0
  287. package/features/image/imageHostExtension.d.ts +5 -0
  288. package/features/image/imageProductController.d.ts +22 -0
  289. package/features/image/imageProductToolbarActions.d.ts +2 -0
  290. package/features/image/imageToolbarHostBridge.d.ts +14 -0
  291. package/features/image/index.d.ts +15 -0
  292. package/features/image/svgImageAssetInliner.d.ts +3 -0
  293. package/features/image/useImageImport.d.ts +17 -0
  294. package/index.css +1 -2
  295. package/index.d.ts +12 -15
  296. package/index.mjs +66 -1
  297. package/package.json +1 -11
  298. package/product/canvasKitProduct.d.ts +59 -0
  299. package/react/CanvasKitPersistenceNotice.d.ts +4 -0
  300. package/react/CanvasKitRoot.d.ts +5 -0
  301. package/react/useCanvasKitController.d.ts +5 -0
  302. package/react/useCanvasKitKeyboardShortcuts.d.ts +6 -0
  303. package/react/useCanvasKitRuntime.d.ts +4 -0
  304. package/react/useCanvasKitStartup.d.ts +9 -0
  305. package/runtime/canvasKitHostExtensions.d.ts +19 -0
  306. package/runtime/canvasKitRuntime.d.ts +19 -0
  307. package/runtime/canvasKitRuntimeInitializer.d.ts +11 -0
  308. package/_vendor/canvas-core/bindings/BindingUtil.ts +0 -92
  309. package/_vendor/canvas-core/bindings/BindingUtilRegistry.ts +0 -22
  310. package/_vendor/canvas-core/bindings/arrow/arrowBindingHelpers.ts +0 -52
  311. package/_vendor/canvas-core/contextMenu.ts +0 -85
  312. package/_vendor/canvas-core/editor/Editor.ts +0 -2614
  313. package/_vendor/canvas-core/editor/HistoryManager.ts +0 -83
  314. package/_vendor/canvas-core/editor/StateNode.ts +0 -162
  315. package/_vendor/canvas-core/editor/camera.ts +0 -6
  316. package/_vendor/canvas-core/editor/clipboard.ts +0 -478
  317. package/_vendor/canvas-core/editor/commands.ts +0 -833
  318. package/_vendor/canvas-core/editor/edgeScroll.ts +0 -37
  319. package/_vendor/canvas-core/editor/editorComputedHelpers.ts +0 -257
  320. package/_vendor/canvas-core/editor/editorSelectionTransforms.ts +0 -116
  321. package/_vendor/canvas-core/editor/events.ts +0 -93
  322. package/_vendor/canvas-core/editor/index.ts +0 -12
  323. package/_vendor/canvas-core/editor/interactions.ts +0 -101
  324. package/_vendor/canvas-core/editor/internal.ts +0 -22
  325. package/_vendor/canvas-core/editor/managers/BindingManager.ts +0 -262
  326. package/_vendor/canvas-core/editor/managers/CameraManager.ts +0 -147
  327. package/_vendor/canvas-core/editor/managers/ClipboardManager.ts +0 -32
  328. package/_vendor/canvas-core/editor/managers/DocumentSnapshotManager.ts +0 -256
  329. package/_vendor/canvas-core/editor/managers/InputsManager.ts +0 -319
  330. package/_vendor/canvas-core/editor/managers/InteractionTransientManager.ts +0 -218
  331. package/_vendor/canvas-core/editor/managers/QueryManager.ts +0 -837
  332. package/_vendor/canvas-core/editor/managers/RenderWindowManager.ts +0 -347
  333. package/_vendor/canvas-core/editor/managers/SelectionLayoutManager.ts +0 -196
  334. package/_vendor/canvas-core/editor/managers/SelectionManager.ts +0 -98
  335. package/_vendor/canvas-core/editor/managers/SelectionOverlayManager.ts +0 -308
  336. package/_vendor/canvas-core/editor/managers/ShapeEditingManager.ts +0 -226
  337. package/_vendor/canvas-core/editor/managers/ShapeGeometryManager.ts +0 -162
  338. package/_vendor/canvas-core/editor/managers/ShapeHierarchyManager.ts +0 -797
  339. package/_vendor/canvas-core/editor/managers/SideEffectManager.ts +0 -83
  340. package/_vendor/canvas-core/editor/managers/SnapManager.ts +0 -433
  341. package/_vendor/canvas-core/editor/managers/SnapSnapshotBuilder.ts +0 -430
  342. package/_vendor/canvas-core/editor/managers/SpatialIndexManager.ts +0 -354
  343. package/_vendor/canvas-core/editor/managers/ToolManager.ts +0 -81
  344. package/_vendor/canvas-core/editor/managers/queryState.ts +0 -583
  345. package/_vendor/canvas-core/editor/managers/selectionGeometry.ts +0 -287
  346. package/_vendor/canvas-core/editor/managers/shapeOrder.ts +0 -350
  347. package/_vendor/canvas-core/editor/managers/shapeReparenting.ts +0 -160
  348. package/_vendor/canvas-core/editor/managers/snapCalculations.ts +0 -412
  349. package/_vendor/canvas-core/editor/managers/snapGeometry.ts +0 -202
  350. package/_vendor/canvas-core/editor/managers/snapIndicators.ts +0 -403
  351. package/_vendor/canvas-core/editor/managers/snapTypes.ts +0 -122
  352. package/_vendor/canvas-core/editor/queries/shapeTransforms.ts +0 -171
  353. package/_vendor/canvas-core/editor/renderWindow.ts +0 -439
  354. package/_vendor/canvas-core/editor/resizeGeometry.ts +0 -654
  355. package/_vendor/canvas-core/editor/selection.ts +0 -489
  356. package/_vendor/canvas-core/editor/selectionHandleInteractions.ts +0 -43
  357. package/_vendor/canvas-core/editor/selectionOverlay.ts +0 -567
  358. package/_vendor/canvas-core/exports/integrity.ts +0 -174
  359. package/_vendor/canvas-core/exports/svg.ts +0 -494
  360. package/_vendor/canvas-core/geometry/Box.ts +0 -80
  361. package/_vendor/canvas-core/geometry/Ellipse2d.ts +0 -67
  362. package/_vendor/canvas-core/geometry/Geometry2d.ts +0 -52
  363. package/_vendor/canvas-core/geometry/Mat.ts +0 -92
  364. package/_vendor/canvas-core/geometry/Polyline2d.ts +0 -63
  365. package/_vendor/canvas-core/geometry/Rectangle2d.ts +0 -64
  366. package/_vendor/canvas-core/geometry/Vec.ts +0 -123
  367. package/_vendor/canvas-core/geometry/index.ts +0 -13
  368. package/_vendor/canvas-core/geometry/segments.ts +0 -65
  369. package/_vendor/canvas-core/index.ts +0 -391
  370. package/_vendor/canvas-core/plugins/index.ts +0 -5
  371. package/_vendor/canvas-core/plugins/types.ts +0 -53
  372. package/_vendor/canvas-core/reactivity.ts +0 -16
  373. package/_vendor/canvas-core/schema/records.ts +0 -221
  374. package/_vendor/canvas-core/schema/snapshots.ts +0 -527
  375. package/_vendor/canvas-core/shapes/ShapeUtil.ts +0 -516
  376. package/_vendor/canvas-core/shapes/ShapeUtilRegistry.ts +0 -26
  377. package/_vendor/canvas-core/shapes/capabilities.ts +0 -67
  378. package/_vendor/canvas-core/shapes/types.ts +0 -20
  379. package/_vendor/canvas-core/toolbar.ts +0 -148
  380. package/_vendor/canvas-core/tools/hand/HandTool.ts +0 -75
  381. package/_vendor/canvas-core/tools/index.ts +0 -2
  382. package/_vendor/canvas-core/tools/select/SelectTool.ts +0 -33
  383. package/_vendor/canvas-core/tools/select/selectContainment.ts +0 -104
  384. package/_vendor/canvas-core/tools/select/selectToolHelpers.ts +0 -801
  385. package/_vendor/canvas-core/tools/select/states/BrushingState.ts +0 -145
  386. package/_vendor/canvas-core/tools/select/states/DraggingSelectionHandleInteractionState.ts +0 -116
  387. package/_vendor/canvas-core/tools/select/states/IdleState.ts +0 -159
  388. package/_vendor/canvas-core/tools/select/states/PointingCanvasState.ts +0 -41
  389. package/_vendor/canvas-core/tools/select/states/PointingResizeHandleState.ts +0 -78
  390. package/_vendor/canvas-core/tools/select/states/PointingRotateHandleState.ts +0 -64
  391. package/_vendor/canvas-core/tools/select/states/PointingSelectionHandleInteractionState.ts +0 -34
  392. package/_vendor/canvas-core/tools/select/states/PointingShapeState.ts +0 -140
  393. package/_vendor/canvas-core/tools/select/states/ResizingState.ts +0 -171
  394. package/_vendor/canvas-core/tools/select/states/RotatingState.ts +0 -124
  395. package/_vendor/canvas-core/tools/select/states/SelectStateNode.ts +0 -128
  396. package/_vendor/canvas-core/tools/select/states/TranslatingState.ts +0 -139
  397. package/_vendor/canvas-core/tools/select/states/index.ts +0 -11
  398. package/_vendor/canvas-plugin-api/feature.ts +0 -204
  399. package/_vendor/canvas-plugin-api/index.ts +0 -142
  400. package/_vendor/canvas-product-react/api/apiRegistry.ts +0 -35
  401. package/_vendor/canvas-product-react/api/canvasProductApi.ts +0 -422
  402. package/_vendor/canvas-product-react/api/index.ts +0 -31
  403. package/_vendor/canvas-product-react/capabilities/clipboard/clipboardService.ts +0 -36
  404. package/_vendor/canvas-product-react/capabilities/clipboard/systemClipboard.ts +0 -245
  405. package/_vendor/canvas-product-react/capabilities/context-menu/systemContextMenu.ts +0 -396
  406. package/_vendor/canvas-product-react/capabilities/context-menu/useContextMenuSurface.ts +0 -59
  407. package/_vendor/canvas-product-react/capabilities/export/useSvgExport.ts +0 -156
  408. package/_vendor/canvas-product-react/capabilities/history/useHistoryControls.ts +0 -23
  409. package/_vendor/canvas-product-react/capabilities/pages/usePageControls.ts +0 -41
  410. package/_vendor/canvas-product-react/capabilities/toolbar/systemToolbar.ts +0 -490
  411. package/_vendor/canvas-product-react/capabilities/toolbar/useToolbarSurfaces.ts +0 -92
  412. package/_vendor/canvas-product-react/capabilities/zoom/useZoomControls.ts +0 -27
  413. package/_vendor/canvas-product-react/index.ts +0 -84
  414. package/_vendor/canvas-product-react/persistence/index.ts +0 -18
  415. package/_vendor/canvas-product-react/persistence/localSnapshotPersistence.ts +0 -294
  416. package/_vendor/canvas-product-react/runtime/CanvasProductRoot.tsx +0 -250
  417. package/_vendor/canvas-product-react/runtime/productDefinition.ts +0 -72
  418. package/_vendor/canvas-product-react/runtime/productServices.ts +0 -96
  419. package/_vendor/canvas-react/components/CanvasView.tsx +0 -796
  420. package/_vendor/canvas-react/components/OverlayLayer.tsx +0 -879
  421. package/_vendor/canvas-react/components/PageSpace.tsx +0 -34
  422. package/_vendor/canvas-react/components/ShapeLayer.tsx +0 -428
  423. package/_vendor/canvas-react/components/index.ts +0 -4
  424. package/_vendor/canvas-react/hooks/useEditor.ts +0 -11
  425. package/_vendor/canvas-react/hooks/useValue.ts +0 -14
  426. package/_vendor/canvas-react/host/CanvasRendererRegistryContext.tsx +0 -14
  427. package/_vendor/canvas-react/host/contextMenuRegistry.ts +0 -61
  428. package/_vendor/canvas-react/host/domEventGuards.ts +0 -61
  429. package/_vendor/canvas-react/host/index.ts +0 -38
  430. package/_vendor/canvas-react/host/pluginHost.ts +0 -635
  431. package/_vendor/canvas-react/host/rendererRegistry.tsx +0 -58
  432. package/_vendor/canvas-react/host/toolbarRegistry.ts +0 -100
  433. package/_vendor/canvas-react/index.ts +0 -3
  434. package/_vendor/plugin-arrow/ArrowBindingUtil.ts +0 -239
  435. package/_vendor/plugin-arrow/ArrowShapeUtil.ts +0 -311
  436. package/_vendor/plugin-arrow/ArrowTool.ts +0 -208
  437. package/_vendor/plugin-arrow/arrowGeometry.ts +0 -441
  438. package/_vendor/plugin-arrow/arrowTerminalBindingResolver.ts +0 -253
  439. package/_vendor/plugin-arrow/arrowTerminalCommands.ts +0 -230
  440. package/_vendor/plugin-arrow/canvas.tsx +0 -92
  441. package/_vendor/plugin-arrow/core.ts +0 -409
  442. package/_vendor/plugin-arrow/feature.ts +0 -20
  443. package/_vendor/plugin-arrow/index.ts +0 -28
  444. package/_vendor/plugin-arrow/selectionHandleInteractions.ts +0 -154
  445. package/_vendor/plugin-arrow/types.ts +0 -63
  446. package/_vendor/plugin-draw/DrawShapeRenderer.tsx +0 -60
  447. package/_vendor/plugin-draw/DrawShapeUtil.ts +0 -372
  448. package/_vendor/plugin-draw/DrawTool.ts +0 -444
  449. package/_vendor/plugin-draw/canvas.tsx +0 -24
  450. package/_vendor/plugin-draw/core.ts +0 -515
  451. package/_vendor/plugin-draw/drawGeometry.ts +0 -491
  452. package/_vendor/plugin-draw/drawHitTest.ts +0 -271
  453. package/_vendor/plugin-draw/drawInterpolation.ts +0 -250
  454. package/_vendor/plugin-draw/drawPath.ts +0 -550
  455. package/_vendor/plugin-draw/drawSegments.ts +0 -106
  456. package/_vendor/plugin-draw/drawSelectionTransform.ts +0 -67
  457. package/_vendor/plugin-draw/drawShapeGeometry.ts +0 -307
  458. package/_vendor/plugin-draw/drawStrokeGeometry.ts +0 -454
  459. package/_vendor/plugin-draw/feature.ts +0 -20
  460. package/_vendor/plugin-draw/index.ts +0 -31
  461. package/_vendor/plugin-draw/types.ts +0 -36
  462. package/_vendor/plugin-eraser/EraserTool.ts +0 -297
  463. package/_vendor/plugin-eraser/canvas.tsx +0 -616
  464. package/_vendor/plugin-eraser/core.ts +0 -49
  465. package/_vendor/plugin-eraser/feature.ts +0 -20
  466. package/_vendor/plugin-frame/FrameShapeUtil.ts +0 -173
  467. package/_vendor/plugin-frame/FrameTool.ts +0 -225
  468. package/_vendor/plugin-frame/canvas.tsx +0 -75
  469. package/_vendor/plugin-frame/core.ts +0 -534
  470. package/_vendor/plugin-frame/feature.ts +0 -20
  471. package/_vendor/plugin-frame/index.ts +0 -6
  472. package/_vendor/plugin-geo/GeoShapeUtil.ts +0 -463
  473. package/_vendor/plugin-geo/GeoTools.ts +0 -247
  474. package/_vendor/plugin-geo/canvas.tsx +0 -90
  475. package/_vendor/plugin-geo/core.ts +0 -495
  476. package/_vendor/plugin-geo/feature.ts +0 -20
  477. package/_vendor/plugin-geo/index.ts +0 -7
  478. package/_vendor/plugin-geo/types.ts +0 -27
  479. package/_vendor/plugin-group/GroupShapeUtil.ts +0 -59
  480. package/_vendor/plugin-group/canvas.tsx +0 -59
  481. package/_vendor/plugin-group/core.ts +0 -40
  482. package/_vendor/plugin-group/feature.ts +0 -20
  483. package/_vendor/plugin-group/index.ts +0 -5
  484. package/_vendor/plugin-image/ImageShapeUtil.ts +0 -95
  485. package/_vendor/plugin-image/canvas.tsx +0 -212
  486. package/_vendor/plugin-image/core.ts +0 -542
  487. package/_vendor/plugin-image/crop.ts +0 -770
  488. package/_vendor/plugin-image/cropInteractions.ts +0 -350
  489. package/_vendor/plugin-image/cropSession.ts +0 -38
  490. package/_vendor/plugin-image/feature.ts +0 -20
  491. package/_vendor/plugin-image/index.ts +0 -29
  492. package/_vendor/plugin-image/types.ts +0 -55
  493. package/_vendor/plugin-image-product-react/ImageImportController.tsx +0 -143
  494. package/_vendor/plugin-image-product-react/imageAssetService.ts +0 -52
  495. package/_vendor/plugin-image-product-react/imageBlobStore.ts +0 -315
  496. package/_vendor/plugin-image-product-react/imageHostActions.ts +0 -438
  497. package/_vendor/plugin-image-product-react/imageProductApi.ts +0 -88
  498. package/_vendor/plugin-image-product-react/imageToolbarHostBridge.ts +0 -48
  499. package/_vendor/plugin-image-product-react/imageToolbarRuntime.ts +0 -21
  500. package/_vendor/plugin-image-product-react/index.ts +0 -60
  501. package/_vendor/plugin-image-product-react/snapshotGuards.ts +0 -33
  502. package/_vendor/plugin-image-product-react/svgImageAssetInliner.ts +0 -54
  503. package/_vendor/plugin-image-product-react/useImageImport.ts +0 -64
  504. package/_vendor/plugin-laser/LaserTool.ts +0 -154
  505. package/_vendor/plugin-laser/canvas.tsx +0 -645
  506. package/_vendor/plugin-laser/core.ts +0 -49
  507. package/_vendor/plugin-laser/feature.ts +0 -20
  508. package/_vendor/plugin-text/ArrowLabelBindingUtil.ts +0 -336
  509. package/_vendor/plugin-text/GeoLabelBindingUtil.ts +0 -391
  510. package/_vendor/plugin-text/TextShapeSvgExporter.ts +0 -101
  511. package/_vendor/plugin-text/TextShapeUtil.ts +0 -284
  512. package/_vendor/plugin-text/TextTool.ts +0 -228
  513. package/_vendor/plugin-text/canvas.tsx +0 -115
  514. package/_vendor/plugin-text/core.ts +0 -422
  515. package/_vendor/plugin-text/feature.ts +0 -20
  516. package/_vendor/plugin-text/host/RichTextEditingBox.tsx +0 -144
  517. package/_vendor/plugin-text/host/RichTextToolbar.tsx +0 -266
  518. package/_vendor/plugin-text/host/TiptapTextEditor.tsx +0 -191
  519. package/_vendor/plugin-text/host/richTextRendering.tsx +0 -49
  520. package/_vendor/plugin-text/host/textDomSelection.ts +0 -93
  521. package/_vendor/plugin-text/host/textEditingBoxStyle.ts +0 -36
  522. package/_vendor/plugin-text/host/textEntryFocus.ts +0 -307
  523. package/_vendor/plugin-text/host/textFontLoader.ts +0 -149
  524. package/_vendor/plugin-text/host/textMeasurement.ts +0 -258
  525. package/_vendor/plugin-text/host/textMeasurementSync.ts +0 -77
  526. package/_vendor/plugin-text/host/textRangeSelection.ts +0 -134
  527. package/_vendor/plugin-text/host/textShapeRendererRuntime.tsx +0 -89
  528. package/_vendor/plugin-text/host/textShapeSync.ts +0 -173
  529. package/_vendor/plugin-text/host/tiptapTextEditorController.ts +0 -148
  530. package/_vendor/plugin-text/index.ts +0 -18
  531. package/_vendor/plugin-text/richTextUtils.ts +0 -259
  532. package/_vendor/plugin-text/textInteractions.ts +0 -366
  533. package/_vendor/plugin-text/textLabelHelpers.ts +0 -235
  534. package/_vendor/plugin-text/textShapeHelpers.ts +0 -123
  535. package/_vendor/plugin-text/textStyle.ts +0 -96
  536. package/_vendor/plugin-text/textTypes.ts +0 -48
  537. package/_vendor/signals/atom.ts +0 -74
  538. package/_vendor/signals/computed.ts +0 -132
  539. package/_vendor/signals/core.ts +0 -130
  540. package/_vendor/signals/effect.ts +0 -117
  541. package/_vendor/signals/types.ts +0 -17
  542. package/_vendor/store/Store.ts +0 -171
  543. package/_vendor/store/diff.ts +0 -229
  544. package/_vendor/store/history.ts +0 -177
  545. package/_vendor/store/index.ts +0 -32
  546. package/_vendor/store/types.ts +0 -37
  547. package/api/canvasKitApi.d.ts +0 -29
  548. package/internal-modules.d.ts +0 -187
  549. package/product/Shell.d.ts +0 -19
  550. package/product/chromeContext.d.ts +0 -70
  551. package/product/createCanvasKitEditor.d.ts +0 -6
  552. package/product/index.d.ts +0 -7
  553. package/product/persistence.d.ts +0 -3
  554. package/product/product.d.ts +0 -22
  555. package/product/useCanvasClipboardShortcuts.d.ts +0 -6
  556. package/product-iyBbEPIs.mjs +0 -4
  557. package/product.mjs +0 -1
  558. package/standard/extensions.d.ts +0 -1
  559. package/standard/index.d.ts +0 -3
  560. package/standard/standardApi.d.ts +0 -91
  561. package/standard-BmrxwqpJ.mjs +0 -44
  562. package/standard.mjs +0 -1
  563. /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,4 @@
1
+ export interface ReadonlyValue<T> {
2
+ get(): T;
3
+ }
4
+ export declare function observeValue<T>(name: string, value: ReadonlyValue<T>, onChange: () => void): () => void;
@@ -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,5 @@
1
+ import type { Editor } from "../../editor/editor";
2
+ import { StateNode } from "../../editor/stateNode";
3
+ export declare class HandTool extends StateNode {
4
+ constructor(editor: Editor);
5
+ }
@@ -0,0 +1,2 @@
1
+ export { HandTool } from "./hand/handTool";
2
+ export { SelectTool } from "./select/selectTool";
@@ -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;
@@ -0,0 +1,5 @@
1
+ import type { Editor } from "../../editor/editor";
2
+ import { StateNode } from "../../editor/stateNode";
3
+ export declare class SelectTool extends StateNode {
4
+ constructor(editor: Editor);
5
+ }