@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
@@ -1,235 +0,0 @@
1
- import type { Editor, ShapeId, ShapeRecord } from "@land/canvas-core";
2
- import {
3
- createTextShape,
4
- getDefaultTextShapeProps,
5
- isTextShapeRecord,
6
- } from "./textShapeHelpers";
7
- import type { TextShapeProps, TextShapeRecord } from "./textTypes";
8
-
9
- export const ARROW_LABEL_BINDING_TYPE = "arrow-label";
10
- export const GEO_LABEL_BINDING_TYPE = "geo-label";
11
-
12
- export type TextLabelBindingType =
13
- | typeof ARROW_LABEL_BINDING_TYPE
14
- | typeof GEO_LABEL_BINDING_TYPE;
15
-
16
- export interface TextLabelBehavior {
17
- selectionTarget: "label" | "owner";
18
- translateTarget: "label" | "owner";
19
- contributesToSelectionFrame: boolean;
20
- canUseSelectionFrameHandles: boolean;
21
- canPlaceCaretWhenOwnerSelected: boolean;
22
- showsCompanionFrameWhenOwnerSelected: boolean;
23
- }
24
-
25
- // Bound text labels need four independent answers:
26
- // what gets selected on click, what actually moves on drag, whether the
27
- // label can still enter caret editing while its owner is the current selection,
28
- // and whether owner selection should still surface a companion border for the label.
29
- // Keeping that policy in one table avoids split-brain behavior between
30
- // TextShapeUtil and textInteractions.
31
- const TEXT_LABEL_BEHAVIOR_BY_BINDING_TYPE = {
32
- [ARROW_LABEL_BINDING_TYPE]: {
33
- selectionTarget: "owner",
34
- translateTarget: "owner",
35
- contributesToSelectionFrame: true,
36
- canUseSelectionFrameHandles: false,
37
- canPlaceCaretWhenOwnerSelected: true,
38
- showsCompanionFrameWhenOwnerSelected: true,
39
- },
40
- [GEO_LABEL_BINDING_TYPE]: {
41
- selectionTarget: "owner",
42
- translateTarget: "owner",
43
- contributesToSelectionFrame: false,
44
- canUseSelectionFrameHandles: true,
45
- canPlaceCaretWhenOwnerSelected: true,
46
- showsCompanionFrameWhenOwnerSelected: false,
47
- },
48
- } satisfies Record<TextLabelBindingType, TextLabelBehavior>;
49
-
50
- export interface TextLabelTargetInfo {
51
- label: TextShapeRecord;
52
- ownerId: ShapeId;
53
- bindingType: TextLabelBindingType;
54
- behavior: TextLabelBehavior;
55
- }
56
-
57
- export interface TextLabelCreateOptions {
58
- bindingType: TextLabelBindingType;
59
- owner: ShapeRecord;
60
- historyMarkId: string;
61
- index: string;
62
- layout: Pick<TextShapeRecord, "x" | "y" | "rotation"> & {
63
- props: Pick<TextShapeProps, "w"> & Partial<TextShapeProps>;
64
- };
65
- bindingProps?: Record<string, unknown>;
66
- }
67
-
68
- export function getTextLabelShapeForOwner(
69
- editor: Editor,
70
- ownerId: ShapeId,
71
- bindingType: TextLabelBindingType,
72
- ): TextShapeRecord | null {
73
- const binding = editor
74
- .getBindingsToShape(ownerId)
75
- .find((candidate) => candidate.type === bindingType);
76
- if (!binding) {
77
- return null;
78
- }
79
-
80
- const label = editor.getShape(binding.fromId);
81
- return isTextShapeRecord(label) ? label : null;
82
- }
83
-
84
- export function createBoundTextLabelShape(
85
- editor: Editor,
86
- options: TextLabelCreateOptions,
87
- ): TextShapeRecord {
88
- const defaults = getDefaultTextShapeProps(editor);
89
- editor.history.mark(options.historyMarkId);
90
- const label = createTextShape(
91
- editor,
92
- {
93
- x: options.layout.x,
94
- y: options.layout.y,
95
- parentId: options.owner.parentId,
96
- index: options.index,
97
- rotation: options.layout.rotation,
98
- props: {
99
- ...defaults,
100
- ...options.layout.props,
101
- autoSize: false,
102
- textAlign: "middle",
103
- },
104
- },
105
- "user",
106
- );
107
-
108
- editor.commands.createBinding(
109
- {
110
- type: options.bindingType,
111
- fromId: label.id,
112
- toId: options.owner.id,
113
- props: options.bindingProps,
114
- },
115
- { source: "user" },
116
- );
117
-
118
- return label;
119
- }
120
-
121
- export function getTextLabelTargetInfo(
122
- editor: Editor,
123
- shapeId: ShapeId,
124
- ): TextLabelTargetInfo | null {
125
- const label = editor.getShape(shapeId);
126
- if (!isTextShapeRecord(label)) {
127
- return null;
128
- }
129
-
130
- const ownerBinding = editor
131
- .getBindingsFromShape(shapeId)
132
- .find((binding) => binding.type in TEXT_LABEL_BEHAVIOR_BY_BINDING_TYPE);
133
- if (!ownerBinding) {
134
- return null;
135
- }
136
- const bindingType = ownerBinding.type as TextLabelBindingType;
137
-
138
- return {
139
- label,
140
- ownerId: ownerBinding.toId,
141
- bindingType,
142
- behavior: TEXT_LABEL_BEHAVIOR_BY_BINDING_TYPE[bindingType],
143
- };
144
- }
145
-
146
- export function getTextLabelBehavior(
147
- bindingType: TextLabelBindingType,
148
- ): TextLabelBehavior {
149
- return TEXT_LABEL_BEHAVIOR_BY_BINDING_TYPE[bindingType];
150
- }
151
-
152
- export function getTextLabelSelectionTargetId(
153
- editor: Editor,
154
- shapeId: ShapeId,
155
- ): ShapeId | null {
156
- const target = getTextLabelTargetInfo(editor, shapeId);
157
- if (!target) {
158
- return null;
159
- }
160
- return target.behavior.selectionTarget === "owner" ? target.ownerId : shapeId;
161
- }
162
-
163
- export function getTextLabelTranslateTargetId(
164
- editor: Editor,
165
- shapeId: ShapeId,
166
- ): ShapeId | null {
167
- const target = getTextLabelTargetInfo(editor, shapeId);
168
- if (!target) {
169
- return null;
170
- }
171
- return target.behavior.translateTarget === "owner" ? target.ownerId : shapeId;
172
- }
173
-
174
- export function textLabelContributesToSelectionFrame(
175
- editor: Editor,
176
- shapeId: ShapeId,
177
- ): boolean | null {
178
- return getTextLabelTargetInfo(editor, shapeId)?.behavior
179
- .contributesToSelectionFrame ?? null;
180
- }
181
-
182
- export function textLabelCanUseSelectionFrameHandles(
183
- editor: Editor,
184
- shapeId: ShapeId,
185
- ): boolean | null {
186
- return getTextLabelTargetInfo(editor, shapeId)?.behavior
187
- .canUseSelectionFrameHandles ?? null;
188
- }
189
-
190
- export function textLabelShowsCompanionFrameWhenOwnerSelected(
191
- editor: Editor,
192
- shapeId: ShapeId,
193
- ): boolean | null {
194
- return getTextLabelTargetInfo(editor, shapeId)?.behavior
195
- .showsCompanionFrameWhenOwnerSelected ?? null;
196
- }
197
-
198
- export function canPlaceCaretInTextShapeFromSelection(
199
- editor: Editor,
200
- shapeId: ShapeId,
201
- ): boolean {
202
- const selectedShapeIds = editor.getSelectedShapeIds();
203
- if (selectedShapeIds.length !== 1) {
204
- return false;
205
- }
206
- if (selectedShapeIds[0] === shapeId) {
207
- return true;
208
- }
209
-
210
- const target = getTextLabelTargetInfo(editor, shapeId);
211
- return target
212
- ? target.behavior.canPlaceCaretWhenOwnerSelected &&
213
- selectedShapeIds[0] === target.ownerId
214
- : false;
215
- }
216
-
217
- export function startEditingTextLabel(
218
- editor: Editor,
219
- label: TextShapeRecord,
220
- options: {
221
- editMarkId: string;
222
- createMarkId: string;
223
- isExisting: boolean;
224
- },
225
- ): void {
226
- editor.startEditingShape(
227
- {
228
- shapeId: label.id,
229
- entryMode: "selectAll",
230
- markId: options.isExisting ? options.editMarkId : options.createMarkId,
231
- reuseExistingMark: !options.isExisting,
232
- },
233
- "user",
234
- );
235
- }
@@ -1,123 +0,0 @@
1
- import type {
2
- BaseRecord,
3
- ChangeSource,
4
- Editor,
5
- ShapeId,
6
- ShapeParentId,
7
- } from "@land/canvas-core";
8
- import { isShapeRecord } from "@land/canvas-core";
9
- import { createRichTextFromPlainText } from "./richTextUtils";
10
- import type {
11
- RichTextDocument,
12
- TextShapeProps,
13
- TextShapeRecord,
14
- } from "./textTypes";
15
-
16
- export interface CreateTextShapeInput {
17
- x: number;
18
- y: number;
19
- props?: Partial<TextShapeProps>;
20
- parentId?: ShapeParentId;
21
- index?: string;
22
- rotation?: number;
23
- scaleX?: number;
24
- scaleY?: number;
25
- meta?: Record<string, unknown>;
26
- }
27
-
28
- export function isTextShapeRecord(
29
- record: BaseRecord | null | undefined,
30
- ): record is TextShapeRecord {
31
- return isShapeRecord(record) && record.type === "text";
32
- }
33
-
34
- export function cloneTextShapeProps(props: TextShapeProps): TextShapeProps {
35
- return {
36
- richText: props.richText,
37
- w: props.w,
38
- h: props.h,
39
- autoSize: props.autoSize,
40
- scale: props.scale,
41
- font: props.font,
42
- size: props.size,
43
- color: props.color,
44
- textAlign: props.textAlign,
45
- };
46
- }
47
-
48
- export function getDefaultTextShapeProps(editor: Editor): TextShapeProps {
49
- return cloneTextShapeProps(editor.getDefaultShapeProps<TextShapeProps>("text"));
50
- }
51
-
52
- export function createTextShape(
53
- editor: Editor,
54
- input: CreateTextShapeInput,
55
- source: ChangeSource = "user",
56
- ): TextShapeRecord {
57
- const defaults = getDefaultTextShapeProps(editor);
58
- const props: TextShapeProps = {
59
- ...defaults,
60
- ...input.props,
61
- richText: input.props?.richText ?? createRichTextFromPlainText(""),
62
- };
63
- const [created] = editor.commands.createShapes(
64
- [
65
- {
66
- type: "text",
67
- x: input.x,
68
- y: input.y,
69
- parentId: input.parentId,
70
- index: input.index,
71
- rotation: input.rotation,
72
- scaleX: input.scaleX,
73
- scaleY: input.scaleY,
74
- meta: input.meta,
75
- props: {
76
- richText: props.richText,
77
- w: props.w,
78
- h: props.h,
79
- autoSize: props.autoSize,
80
- scale: props.scale,
81
- font: props.font,
82
- size: props.size,
83
- color: props.color,
84
- textAlign: props.textAlign,
85
- },
86
- },
87
- ],
88
- { source },
89
- );
90
-
91
- if (!isTextShapeRecord(created)) {
92
- throw new Error("Failed to create text shape");
93
- }
94
-
95
- return created;
96
- }
97
-
98
- export function updateTextShapeRichText(
99
- editor: Editor,
100
- shapeId: ShapeId,
101
- richText: RichTextDocument,
102
- options?: { w?: number; h?: number },
103
- source: ChangeSource = "user",
104
- ): void {
105
- const shape = editor.getShape(shapeId);
106
- if (!isTextShapeRecord(shape)) {
107
- return;
108
- }
109
-
110
- editor.commands.updateShapes(
111
- [
112
- {
113
- id: shape.id,
114
- props: {
115
- richText,
116
- ...(typeof options?.w === "number" ? { w: options.w } : null),
117
- ...(typeof options?.h === "number" ? { h: options.h } : null),
118
- },
119
- },
120
- ],
121
- { source },
122
- );
123
- }
@@ -1,96 +0,0 @@
1
- import type {
2
- TextShapeAlign,
3
- TextShapeFont,
4
- TextShapeRecord,
5
- TextShapeSize,
6
- } from "./textTypes";
7
-
8
- export const DEFAULT_TEXT_FONT: TextShapeFont = "noto-sans-sc";
9
-
10
- const TEXT_SIZE_METRICS = {
11
- s: {
12
- fontSize: 14,
13
- lineHeight: 20,
14
- },
15
- m: {
16
- fontSize: 16,
17
- lineHeight: 24,
18
- },
19
- l: {
20
- fontSize: 20,
21
- lineHeight: 28,
22
- },
23
- xl: {
24
- fontSize: 28,
25
- lineHeight: 36,
26
- },
27
- } as const satisfies Record<
28
- TextShapeSize,
29
- {
30
- fontSize: number;
31
- lineHeight: number;
32
- }
33
- >;
34
-
35
- export function getTextFontFamily(font: TextShapeFont): string {
36
- switch (font) {
37
- case "noto-sans-sc":
38
- return "'Noto Sans SC', Inter, ui-sans-serif, system-ui, sans-serif";
39
- case "noto-serif-sc":
40
- return "'Noto Serif SC', Georgia, Cambria, serif";
41
- case "noto-sans-mono":
42
- return "'Noto Sans Mono', 'SFMono-Regular', Consolas, monospace";
43
- case "ma-shan-zheng":
44
- return "'Ma Shan Zheng', 'Comic Sans MS', 'Marker Felt', cursive";
45
- default:
46
- return "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif";
47
- }
48
- }
49
-
50
- export function getTextFontSize(size: TextShapeSize): number {
51
- return TEXT_SIZE_METRICS[size].fontSize;
52
- }
53
-
54
- export function getTextLineHeight(size: TextShapeSize): number {
55
- return TEXT_SIZE_METRICS[size].lineHeight;
56
- }
57
-
58
- export function getTextMinHeight(
59
- size: TextShapeSize,
60
- scale = 1,
61
- ): number {
62
- return Math.max(1, Math.ceil(getTextLineHeight(size) * scale));
63
- }
64
-
65
- export function getTextAlign(align: TextShapeAlign): "left" | "center" | "right" {
66
- switch (align) {
67
- case "middle":
68
- return "center";
69
- case "end":
70
- return "right";
71
- case "start":
72
- default:
73
- return "left";
74
- }
75
- }
76
-
77
- export function getTextAnchorX(
78
- align: TextShapeRecord["props"]["textAlign"],
79
- width: number,
80
- ): number {
81
- switch (align) {
82
- case "middle":
83
- return width / 2;
84
- case "end":
85
- return width;
86
- case "start":
87
- default:
88
- return 0;
89
- }
90
- }
91
-
92
- export function getSvgTextAnchor(
93
- align: TextShapeRecord["props"]["textAlign"],
94
- ): "start" | "middle" | "end" {
95
- return align;
96
- }
@@ -1,48 +0,0 @@
1
- import type { ShapeRecordBase } from "@land/canvas-core";
2
- import type { JSONContent } from "@tiptap/core";
3
-
4
- export type RichTextJsonValue =
5
- | string
6
- | number
7
- | boolean
8
- | null
9
- | RichTextJsonValue[]
10
- | { [key: string]: RichTextJsonValue };
11
-
12
- export interface RichTextDocument {
13
- type: "doc";
14
- attrs?: Record<string, RichTextJsonValue>;
15
- content: JSONContent[];
16
- }
17
-
18
- type AssertTiptapJsonContent<T extends JSONContent> = T;
19
- type _RichTextDocumentTiptapCompatibilityCheck =
20
- AssertTiptapJsonContent<RichTextDocument>;
21
-
22
- export type TextShapeFont =
23
- | "noto-sans-sc"
24
- | "noto-serif-sc"
25
- | "noto-sans-mono"
26
- | "ma-shan-zheng";
27
- export type TextShapeSize = "s" | "m" | "l" | "xl";
28
- export type TextShapeAlign = "start" | "middle" | "end";
29
-
30
- export interface TextShapeProps {
31
- richText: RichTextDocument;
32
- w: number;
33
- h: number;
34
- autoSize: boolean;
35
- scale: number;
36
- font: TextShapeFont;
37
- size: TextShapeSize;
38
- color: string;
39
- textAlign: TextShapeAlign;
40
- }
41
-
42
- export interface TextShapeRecord extends ShapeRecordBase<
43
- "text",
44
- TextShapeProps
45
- > {
46
- type: "text";
47
- props: TextShapeProps;
48
- }
@@ -1,74 +0,0 @@
1
- import { Child, Signal } from "./types";
2
- import {
3
- advanceGlobalEpoch,
4
- atomDidChange,
5
- getGlobalEpoch,
6
- maybeCaptureParent,
7
- noteInitialValue,
8
- getCurrentTransaction,
9
- } from "./core";
10
-
11
- export interface Atom<T> extends Signal<T> {
12
- set(value: T): T;
13
- update(updater: (value: T) => T): T;
14
- }
15
-
16
- class _Atom<T> implements Atom<T> {
17
- lastChangedEpoch: number;
18
- children = new Set<Child>();
19
-
20
- constructor(
21
- public readonly name: string,
22
- private current: T,
23
- private isEqual?: (a: T, b: T) => boolean,
24
- ) {
25
- this.lastChangedEpoch = getGlobalEpoch();
26
- }
27
-
28
- get(): T {
29
- maybeCaptureParent(this);
30
- return this.current;
31
- }
32
-
33
- __unsafe__getWithoutCapture(): T {
34
- return this.current;
35
- }
36
-
37
- __unsafe__setWithoutNotify(value: T): void {
38
- this.current = value;
39
- }
40
-
41
- set(value: T): T {
42
- const previousValue = this.current;
43
- if (
44
- this.isEqual
45
- ? this.isEqual(previousValue, value)
46
- : Object.is(previousValue, value)
47
- ) {
48
- return previousValue;
49
- }
50
-
51
- noteInitialValue(this, previousValue);
52
- advanceGlobalEpoch();
53
- this.lastChangedEpoch = getGlobalEpoch();
54
- this.current = value;
55
- atomDidChange(this as any);
56
- return value;
57
- }
58
-
59
- update(updater: (value: T) => T): T {
60
- return this.set(updater(this.current));
61
- }
62
- }
63
-
64
- export function atom<T>(
65
- name: string,
66
- initialValue: T,
67
- opts?: { isEqual?: (a: T, b: T) => boolean },
68
- ): Atom<T> {
69
- return new _Atom(name, initialValue, opts?.isEqual);
70
- }
71
-
72
- export function isAtom(value: any): value is Atom<any> {
73
- return value instanceof _Atom;
74
- }
@@ -1,132 +0,0 @@
1
- import { Child, Signal } from "./types";
2
- import {
3
- getGlobalEpoch,
4
- advanceGlobalEpoch,
5
- maybeCaptureParent,
6
- startCapture,
7
- stopCapture,
8
- } from "./core";
9
-
10
- const UNINITIALIZED: unique symbol = Symbol("UNINITIALIZED");
11
- type UNINITIALIZED = typeof UNINITIALIZED;
12
-
13
- export { UNINITIALIZED };
14
-
15
- export interface Computed<T> extends Signal<T> {
16
- readonly isComputed: true;
17
- }
18
-
19
- class _Computed<T> implements Computed<T> {
20
- readonly isComputed = true;
21
- lastChangedEpoch: number;
22
- lastCheckedEpoch: number;
23
- children = new Set<Child>();
24
-
25
- private state: T | UNINITIALIZED = UNINITIALIZED;
26
- private parents: Signal<any>[] = [];
27
- private parentEpochs: number[] = [];
28
-
29
- constructor(
30
- public readonly name: string,
31
- private derive: (prev: T | UNINITIALIZED) => T,
32
- private isEqual?: (a: T, b: T) => boolean,
33
- ) {
34
- this.lastChangedEpoch = getGlobalEpoch();
35
- this.lastCheckedEpoch = -1;
36
- }
37
-
38
- get(): T {
39
- maybeCaptureParent(this);
40
- return this.__unsafe__getWithoutCapture();
41
- }
42
-
43
- __unsafe__getWithoutCapture(): T {
44
- // Fast path: nothing changed globally since last check
45
- if (this.lastCheckedEpoch === getGlobalEpoch()) {
46
- return this.state as T;
47
- }
48
-
49
- // Check if parents actually changed
50
- if (this.state !== UNINITIALIZED && !this.haveParentsChanged()) {
51
- this.lastCheckedEpoch = getGlobalEpoch();
52
- return this.state as T;
53
- }
54
-
55
- // Recompute
56
- startCapture(this.selfAsChild);
57
- let newValue: T;
58
- let newParentSet: Set<Signal<any>>;
59
- try {
60
- newValue = this.derive(
61
- this.state === UNINITIALIZED ? UNINITIALIZED : this.state,
62
- );
63
- } finally {
64
- newParentSet = stopCapture();
65
- }
66
-
67
- // Update parent tracking
68
- // Remove this from old parents' children that are no longer dependencies
69
- for (const oldParent of this.parents) {
70
- if (!newParentSet.has(oldParent)) {
71
- oldParent.children.delete(this.selfAsChild);
72
- }
73
- }
74
- this.parents = [...newParentSet];
75
- this.parentEpochs = this.parents.map((p) => p.lastChangedEpoch);
76
- // Add this to new parents' children
77
- for (const parent of this.parents) {
78
- parent.children.add(this.selfAsChild);
79
- }
80
-
81
- if (
82
- this.state === UNINITIALIZED ||
83
- !(this.isEqual
84
- ? this.isEqual(this.state, newValue)
85
- : Object.is(this.state, newValue))
86
- ) {
87
- this.state = newValue;
88
- advanceGlobalEpoch();
89
- this.lastChangedEpoch = getGlobalEpoch();
90
- }
91
-
92
- this.lastCheckedEpoch = getGlobalEpoch();
93
- return this.state as T;
94
- }
95
-
96
- private get selfAsChild(): Child {
97
- // Cache the child identity so we can properly remove from parent sets
98
- if (!this._selfAsChild) {
99
- this._selfAsChild = {
100
- type: "computed",
101
- notify: () => {},
102
- source: this,
103
- };
104
- }
105
- return this._selfAsChild;
106
- }
107
- private _selfAsChild: Child | null = null;
108
-
109
- private haveParentsChanged(): boolean {
110
- for (let i = 0; i < this.parents.length; i++) {
111
- const parent = this.parents[i];
112
- // Force parent to re-evaluate if it's a computed
113
- parent.__unsafe__getWithoutCapture();
114
- if (parent.lastChangedEpoch !== this.parentEpochs[i]) {
115
- return true;
116
- }
117
- }
118
- return false;
119
- }
120
- }
121
-
122
- export function computed<T>(
123
- name: string,
124
- derive: (prev: T | UNINITIALIZED) => T,
125
- opts?: { isEqual?: (a: T, b: T) => boolean },
126
- ): Computed<T> {
127
- return new _Computed(name, derive, opts?.isEqual);
128
- }
129
-
130
- export function isComputed(value: any): value is Computed<any> {
131
- return value instanceof _Computed;
132
- }