@yuzhouu/canvas-kit 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (492) hide show
  1. package/_vendor/canvas-core/bindings/BindingUtil.d.ts +45 -0
  2. package/_vendor/canvas-core/bindings/BindingUtilRegistry.d.ts +8 -0
  3. package/_vendor/canvas-core/bindings/arrow/arrowBindingHelpers.d.ts +28 -0
  4. package/_vendor/canvas-core/contextMenu.d.ts +62 -0
  5. package/_vendor/canvas-core/editor/Editor.d.ts +564 -0
  6. package/_vendor/canvas-core/editor/HistoryManager.d.ts +18 -0
  7. package/_vendor/canvas-core/editor/StateNode.d.ts +31 -0
  8. package/_vendor/canvas-core/editor/camera.d.ts +3 -0
  9. package/_vendor/canvas-core/editor/clipboard.d.ts +43 -0
  10. package/_vendor/canvas-core/editor/commands.d.ts +126 -0
  11. package/_vendor/canvas-core/editor/edgeScroll.d.ts +5 -0
  12. package/_vendor/canvas-core/editor/editorComputedHelpers.d.ts +21 -0
  13. package/_vendor/canvas-core/editor/editorSelectionTransforms.d.ts +6 -0
  14. package/_vendor/canvas-core/editor/events.d.ts +71 -0
  15. package/_vendor/canvas-core/editor/{index.ts → index.d.ts} +1 -5
  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 +52 -0
  24. package/_vendor/canvas-core/editor/managers/QueryManager.d.ts +76 -0
  25. package/_vendor/canvas-core/editor/managers/RenderWindowManager.d.ts +25 -0
  26. package/_vendor/canvas-core/editor/managers/SelectionLayoutManager.d.ts +29 -0
  27. package/_vendor/canvas-core/editor/managers/SelectionManager.d.ts +21 -0
  28. package/_vendor/canvas-core/editor/managers/SelectionOverlayManager.d.ts +23 -0
  29. package/_vendor/canvas-core/editor/managers/ShapeEditingManager.d.ts +29 -0
  30. package/_vendor/canvas-core/editor/managers/ShapeGeometryManager.d.ts +42 -0
  31. package/_vendor/canvas-core/editor/managers/ShapeHierarchyManager.d.ts +58 -0
  32. package/_vendor/canvas-core/editor/managers/SideEffectManager.d.ts +23 -0
  33. package/_vendor/canvas-core/editor/managers/SnapManager.d.ts +29 -0
  34. package/_vendor/canvas-core/editor/managers/SnapSnapshotBuilder.d.ts +22 -0
  35. package/_vendor/canvas-core/editor/managers/SpatialIndexManager.d.ts +30 -0
  36. package/_vendor/canvas-core/editor/managers/ToolManager.d.ts +25 -0
  37. package/_vendor/canvas-core/editor/managers/queryState.d.ts +18 -0
  38. package/_vendor/canvas-core/editor/managers/selectionGeometry.d.ts +28 -0
  39. package/_vendor/canvas-core/editor/managers/shapeOrder.d.ts +14 -0
  40. package/_vendor/canvas-core/editor/managers/shapeReparenting.d.ts +6 -0
  41. package/_vendor/canvas-core/editor/managers/snapCalculations.d.ts +40 -0
  42. package/_vendor/canvas-core/editor/managers/snapGeometry.d.ts +26 -0
  43. package/_vendor/canvas-core/editor/managers/snapIndicators.d.ts +22 -0
  44. package/_vendor/canvas-core/editor/managers/snapTypes.d.ts +98 -0
  45. package/_vendor/canvas-core/editor/queries/shapeTransforms.d.ts +27 -0
  46. package/_vendor/canvas-core/editor/renderWindow.d.ts +30 -0
  47. package/_vendor/canvas-core/editor/resizeGeometry.d.ts +97 -0
  48. package/_vendor/canvas-core/editor/selection.d.ts +224 -0
  49. package/_vendor/canvas-core/editor/selectionHandleInteractions.d.ts +11 -0
  50. package/_vendor/canvas-core/editor/selectionOverlay.d.ts +31 -0
  51. package/_vendor/canvas-core/exports/integrity.d.ts +32 -0
  52. package/_vendor/canvas-core/exports/svg.d.ts +48 -0
  53. package/_vendor/canvas-core/geometry/Box.d.ts +19 -0
  54. package/_vendor/canvas-core/geometry/Ellipse2d.d.ts +16 -0
  55. package/_vendor/canvas-core/geometry/Geometry2d.d.ts +15 -0
  56. package/_vendor/canvas-core/geometry/Mat.d.ts +28 -0
  57. package/_vendor/canvas-core/geometry/Polyline2d.d.ts +14 -0
  58. package/_vendor/canvas-core/geometry/Rectangle2d.d.ts +16 -0
  59. package/_vendor/canvas-core/geometry/Vec.d.ts +37 -0
  60. package/_vendor/canvas-core/geometry/{index.ts → index.d.ts} +1 -6
  61. package/_vendor/canvas-core/geometry/segments.d.ts +5 -0
  62. package/_vendor/canvas-core/index.d.ts +57 -0
  63. package/_vendor/canvas-core/plugins/index.d.ts +1 -0
  64. package/_vendor/canvas-core/plugins/types.d.ts +27 -0
  65. package/_vendor/canvas-core/reactivity.d.ts +4 -0
  66. package/_vendor/canvas-core/schema/records.d.ts +112 -0
  67. package/_vendor/canvas-core/schema/snapshots.d.ts +27 -0
  68. package/_vendor/canvas-core/shapes/ShapeUtil.d.ts +133 -0
  69. package/_vendor/canvas-core/shapes/ShapeUtilRegistry.d.ts +9 -0
  70. package/_vendor/canvas-core/shapes/capabilities.d.ts +25 -0
  71. package/_vendor/canvas-core/shapes/types.d.ts +2 -0
  72. package/_vendor/canvas-core/toolbar.d.ts +117 -0
  73. package/_vendor/canvas-core/tools/hand/HandTool.d.ts +5 -0
  74. package/_vendor/canvas-core/tools/select/SelectTool.d.ts +5 -0
  75. package/_vendor/canvas-core/tools/select/selectContainment.d.ts +11 -0
  76. package/_vendor/canvas-core/tools/select/selectToolHelpers.d.ts +161 -0
  77. package/_vendor/canvas-core/tools/select/states/BrushingState.d.ts +19 -0
  78. package/_vendor/canvas-core/tools/select/states/DraggingSelectionHandleInteractionState.d.ts +15 -0
  79. package/_vendor/canvas-core/tools/select/states/IdleState.d.ts +8 -0
  80. package/_vendor/canvas-core/tools/select/states/PointingCanvasState.d.ts +11 -0
  81. package/_vendor/canvas-core/tools/select/states/PointingResizeHandleState.d.ts +10 -0
  82. package/_vendor/canvas-core/tools/select/states/PointingRotateHandleState.d.ts +10 -0
  83. package/_vendor/canvas-core/tools/select/states/PointingSelectionHandleInteractionState.d.ts +10 -0
  84. package/_vendor/canvas-core/tools/select/states/PointingShapeState.d.ts +12 -0
  85. package/_vendor/canvas-core/tools/select/states/ResizingState.d.ts +16 -0
  86. package/_vendor/canvas-core/tools/select/states/RotatingState.d.ts +14 -0
  87. package/_vendor/canvas-core/tools/select/states/SelectStateNode.d.ts +60 -0
  88. package/_vendor/canvas-core/tools/select/states/TranslatingState.d.ts +16 -0
  89. package/_vendor/canvas-plugin-api/feature.d.ts +37 -0
  90. package/_vendor/canvas-plugin-api/index.d.ts +57 -0
  91. package/_vendor/canvas-product-react/api/apiRegistry.d.ts +12 -0
  92. package/_vendor/canvas-product-react/api/canvasProductApi.d.ts +124 -0
  93. package/_vendor/canvas-product-react/api/index.d.ts +4 -0
  94. package/_vendor/canvas-product-react/capabilities/clipboard/clipboardService.d.ts +9 -0
  95. package/_vendor/canvas-product-react/capabilities/clipboard/systemClipboard.d.ts +16 -0
  96. package/_vendor/canvas-product-react/capabilities/context-menu/systemContextMenu.d.ts +17 -0
  97. package/_vendor/canvas-product-react/capabilities/context-menu/useContextMenuSurface.d.ts +12 -0
  98. package/_vendor/canvas-product-react/capabilities/export/useSvgExport.d.ts +29 -0
  99. package/_vendor/canvas-product-react/capabilities/history/useHistoryControls.d.ts +8 -0
  100. package/_vendor/canvas-product-react/capabilities/pages/usePageControls.d.ts +12 -0
  101. package/_vendor/canvas-product-react/capabilities/toolbar/systemToolbar.d.ts +32 -0
  102. package/_vendor/canvas-product-react/capabilities/toolbar/useToolbarSurfaces.d.ts +19 -0
  103. package/_vendor/canvas-product-react/capabilities/zoom/useZoomControls.d.ts +9 -0
  104. package/_vendor/canvas-product-react/index.d.ts +24 -0
  105. package/_vendor/canvas-product-react/persistence/index.d.ts +2 -0
  106. package/_vendor/canvas-product-react/persistence/localSnapshotPersistence.d.ts +40 -0
  107. package/_vendor/canvas-product-react/runtime/CanvasProductRoot.d.ts +4 -0
  108. package/_vendor/canvas-product-react/runtime/productDefinition.d.ts +45 -0
  109. package/_vendor/canvas-product-react/runtime/productServices.d.ts +31 -0
  110. package/_vendor/canvas-react/components/CanvasView.d.ts +11 -0
  111. package/_vendor/canvas-react/components/OverlayLayer.d.ts +1 -0
  112. package/_vendor/canvas-react/components/PageSpace.d.ts +6 -0
  113. package/_vendor/canvas-react/components/ShapeLayer.d.ts +1 -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/CanvasRendererRegistryContext.d.ts +3 -0
  117. package/_vendor/canvas-react/host/contextMenuRegistry.d.ts +12 -0
  118. package/_vendor/canvas-react/host/domEventGuards.d.ts +11 -0
  119. package/_vendor/canvas-react/host/index.d.ts +8 -0
  120. package/_vendor/canvas-react/host/pluginHost.d.ts +93 -0
  121. package/_vendor/canvas-react/host/rendererRegistry.d.ts +12 -0
  122. package/_vendor/canvas-react/host/toolbarRegistry.d.ts +24 -0
  123. package/_vendor/plugin-arrow/ArrowBindingUtil.d.ts +27 -0
  124. package/_vendor/plugin-arrow/ArrowShapeUtil.d.ts +20 -0
  125. package/_vendor/plugin-arrow/ArrowTool.d.ts +4 -0
  126. package/_vendor/plugin-arrow/arrowGeometry.d.ts +50 -0
  127. package/_vendor/plugin-arrow/arrowTerminalBindingResolver.d.ts +21 -0
  128. package/_vendor/plugin-arrow/arrowTerminalCommands.d.ts +12 -0
  129. package/_vendor/plugin-arrow/canvas.d.ts +2 -0
  130. package/_vendor/plugin-arrow/core.d.ts +7 -0
  131. package/_vendor/plugin-arrow/feature.d.ts +3 -0
  132. package/_vendor/plugin-arrow/index.d.ts +11 -0
  133. package/_vendor/plugin-arrow/selectionHandleInteractions.d.ts +3 -0
  134. package/_vendor/plugin-arrow/types.d.ts +31 -0
  135. package/_vendor/plugin-draw/DrawShapeRenderer.d.ts +8 -0
  136. package/_vendor/plugin-draw/DrawShapeUtil.d.ts +21 -0
  137. package/_vendor/plugin-draw/DrawTool.d.ts +6 -0
  138. package/_vendor/plugin-draw/canvas.d.ts +2 -0
  139. package/_vendor/plugin-draw/core.d.ts +7 -0
  140. package/_vendor/plugin-draw/drawGeometry.d.ts +45 -0
  141. package/_vendor/plugin-draw/drawHitTest.d.ts +11 -0
  142. package/_vendor/plugin-draw/drawInterpolation.d.ts +5 -0
  143. package/_vendor/plugin-draw/drawPath.d.ts +37 -0
  144. package/_vendor/plugin-draw/drawSegments.d.ts +11 -0
  145. package/_vendor/plugin-draw/drawSelectionTransform.d.ts +18 -0
  146. package/_vendor/plugin-draw/drawShapeGeometry.d.ts +33 -0
  147. package/_vendor/plugin-draw/drawStrokeGeometry.d.ts +17 -0
  148. package/_vendor/plugin-draw/feature.d.ts +3 -0
  149. package/_vendor/plugin-draw/index.d.ts +13 -0
  150. package/_vendor/plugin-draw/types.d.ts +23 -0
  151. package/_vendor/plugin-eraser/EraserTool.d.ts +5 -0
  152. package/_vendor/plugin-eraser/canvas.d.ts +2 -0
  153. package/_vendor/plugin-eraser/core.d.ts +2 -0
  154. package/_vendor/plugin-eraser/feature.d.ts +3 -0
  155. package/_vendor/plugin-frame/FrameShapeUtil.d.ts +22 -0
  156. package/_vendor/plugin-frame/FrameTool.d.ts +6 -0
  157. package/_vendor/plugin-frame/canvas.d.ts +8 -0
  158. package/_vendor/plugin-frame/core.d.ts +7 -0
  159. package/_vendor/plugin-frame/feature.d.ts +3 -0
  160. package/_vendor/plugin-geo/GeoShapeUtil.d.ts +13 -0
  161. package/_vendor/plugin-geo/GeoTools.d.ts +17 -0
  162. package/_vendor/plugin-geo/canvas.d.ts +11 -0
  163. package/_vendor/plugin-geo/core.d.ts +7 -0
  164. package/_vendor/plugin-geo/feature.d.ts +3 -0
  165. package/_vendor/plugin-geo/types.d.ts +15 -0
  166. package/_vendor/plugin-group/GroupShapeUtil.d.ts +15 -0
  167. package/_vendor/plugin-group/canvas.d.ts +10 -0
  168. package/_vendor/plugin-group/core.d.ts +7 -0
  169. package/_vendor/plugin-group/feature.d.ts +3 -0
  170. package/_vendor/plugin-image/ImageShapeUtil.d.ts +10 -0
  171. package/_vendor/plugin-image/canvas.d.ts +2 -0
  172. package/_vendor/plugin-image/core.d.ts +16 -0
  173. package/_vendor/plugin-image/crop.d.ts +112 -0
  174. package/_vendor/plugin-image/cropInteractions.d.ts +3 -0
  175. package/_vendor/plugin-image/cropSession.d.ts +4 -0
  176. package/_vendor/plugin-image/feature.d.ts +3 -0
  177. package/_vendor/plugin-image/index.d.ts +8 -0
  178. package/_vendor/plugin-image/types.d.ts +37 -0
  179. package/_vendor/plugin-image-product-react/ImageImportController.d.ts +9 -0
  180. package/_vendor/plugin-image-product-react/imageAssetService.d.ts +7 -0
  181. package/_vendor/plugin-image-product-react/imageBlobStore.d.ts +25 -0
  182. package/_vendor/plugin-image-product-react/imageHostActions.d.ts +35 -0
  183. package/_vendor/plugin-image-product-react/imageProductApi.d.ts +21 -0
  184. package/_vendor/plugin-image-product-react/imageToolbarHostBridge.d.ts +14 -0
  185. package/_vendor/plugin-image-product-react/imageToolbarRuntime.d.ts +2 -0
  186. package/_vendor/plugin-image-product-react/index.d.ts +16 -0
  187. package/_vendor/plugin-image-product-react/snapshotGuards.d.ts +1 -0
  188. package/_vendor/plugin-image-product-react/svgImageAssetInliner.d.ts +3 -0
  189. package/_vendor/plugin-image-product-react/useImageImport.d.ts +16 -0
  190. package/_vendor/plugin-laser/LaserTool.d.ts +4 -0
  191. package/_vendor/plugin-laser/canvas.d.ts +2 -0
  192. package/_vendor/plugin-laser/core.d.ts +2 -0
  193. package/_vendor/plugin-laser/feature.d.ts +3 -0
  194. package/_vendor/plugin-text/ArrowLabelBindingUtil.d.ts +42 -0
  195. package/_vendor/plugin-text/GeoLabelBindingUtil.d.ts +45 -0
  196. package/_vendor/plugin-text/TextShapeSvgExporter.d.ts +6 -0
  197. package/_vendor/plugin-text/TextShapeUtil.d.ts +19 -0
  198. package/_vendor/plugin-text/TextTool.d.ts +4 -0
  199. package/_vendor/plugin-text/canvas.d.ts +2 -0
  200. package/_vendor/plugin-text/core.d.ts +2 -0
  201. package/_vendor/plugin-text/feature.d.ts +3 -0
  202. package/_vendor/plugin-text/host/RichTextEditingBox.d.ts +5 -0
  203. package/_vendor/plugin-text/host/RichTextToolbar.d.ts +6 -0
  204. package/_vendor/plugin-text/host/TiptapTextEditor.d.ts +24 -0
  205. package/_vendor/plugin-text/host/richTextRendering.d.ts +3 -0
  206. package/_vendor/plugin-text/host/textDomSelection.d.ts +7 -0
  207. package/_vendor/plugin-text/host/textEditingBoxStyle.d.ts +3 -0
  208. package/_vendor/plugin-text/host/textEntryFocus.d.ts +22 -0
  209. package/_vendor/plugin-text/host/textFontLoader.d.ts +2 -0
  210. package/_vendor/plugin-text/host/textMeasurement.d.ts +12 -0
  211. package/_vendor/plugin-text/host/textMeasurementSync.d.ts +10 -0
  212. package/_vendor/plugin-text/host/textRangeSelection.d.ts +14 -0
  213. package/_vendor/plugin-text/host/textShapeRendererRuntime.d.ts +8 -0
  214. package/_vendor/plugin-text/host/textShapeSync.d.ts +17 -0
  215. package/_vendor/plugin-text/host/tiptapTextEditorController.d.ts +33 -0
  216. package/_vendor/plugin-text/index.d.ts +4 -0
  217. package/_vendor/plugin-text/richTextUtils.d.ts +18 -0
  218. package/_vendor/plugin-text/textInteractions.d.ts +2 -0
  219. package/_vendor/plugin-text/textLabelHelpers.d.ts +44 -0
  220. package/_vendor/plugin-text/textShapeHelpers.d.ts +21 -0
  221. package/_vendor/plugin-text/textStyle.d.ts +9 -0
  222. package/_vendor/plugin-text/textTypes.d.ts +28 -0
  223. package/_vendor/signals/atom.d.ts +9 -0
  224. package/_vendor/signals/computed.d.ts +11 -0
  225. package/_vendor/signals/core.d.ts +17 -0
  226. package/_vendor/signals/effect.d.ts +29 -0
  227. package/_vendor/signals/types.d.ts +15 -0
  228. package/_vendor/store/Store.d.ts +26 -0
  229. package/_vendor/store/diff.d.ts +9 -0
  230. package/_vendor/store/history.d.ts +37 -0
  231. package/_vendor/store/index.d.ts +5 -0
  232. package/_vendor/store/types.d.ts +27 -0
  233. package/api/canvasKitApi.d.ts +2 -2
  234. package/index.css +1 -1
  235. package/index.d.ts +0 -1
  236. package/index.mjs +1 -1
  237. package/package.json +1 -1
  238. package/product/Shell.d.ts +2 -2
  239. package/product/chromeContext.d.ts +8 -8
  240. package/product/createCanvasKitEditor.d.ts +1 -1
  241. package/product/persistence.d.ts +1 -1
  242. package/product/product.d.ts +1 -1
  243. package/product/useCanvasClipboardShortcuts.d.ts +2 -2
  244. package/product-CxN5NN6u.mjs +4 -0
  245. package/product.mjs +1 -1
  246. package/standard/extensions.d.ts +1 -1
  247. package/standard/standardApi.d.ts +5 -5
  248. package/standard-R17_x8HU.mjs +44 -0
  249. package/standard.mjs +1 -1
  250. package/_vendor/canvas-core/bindings/BindingUtil.ts +0 -92
  251. package/_vendor/canvas-core/bindings/BindingUtilRegistry.ts +0 -22
  252. package/_vendor/canvas-core/bindings/arrow/arrowBindingHelpers.ts +0 -52
  253. package/_vendor/canvas-core/contextMenu.ts +0 -85
  254. package/_vendor/canvas-core/editor/Editor.ts +0 -2614
  255. package/_vendor/canvas-core/editor/HistoryManager.ts +0 -83
  256. package/_vendor/canvas-core/editor/StateNode.ts +0 -162
  257. package/_vendor/canvas-core/editor/camera.ts +0 -6
  258. package/_vendor/canvas-core/editor/clipboard.ts +0 -478
  259. package/_vendor/canvas-core/editor/commands.ts +0 -833
  260. package/_vendor/canvas-core/editor/edgeScroll.ts +0 -37
  261. package/_vendor/canvas-core/editor/editorComputedHelpers.ts +0 -257
  262. package/_vendor/canvas-core/editor/editorSelectionTransforms.ts +0 -116
  263. package/_vendor/canvas-core/editor/events.ts +0 -93
  264. package/_vendor/canvas-core/editor/interactions.ts +0 -101
  265. package/_vendor/canvas-core/editor/internal.ts +0 -22
  266. package/_vendor/canvas-core/editor/managers/BindingManager.ts +0 -262
  267. package/_vendor/canvas-core/editor/managers/CameraManager.ts +0 -147
  268. package/_vendor/canvas-core/editor/managers/ClipboardManager.ts +0 -32
  269. package/_vendor/canvas-core/editor/managers/DocumentSnapshotManager.ts +0 -256
  270. package/_vendor/canvas-core/editor/managers/InputsManager.ts +0 -319
  271. package/_vendor/canvas-core/editor/managers/InteractionTransientManager.ts +0 -218
  272. package/_vendor/canvas-core/editor/managers/QueryManager.ts +0 -837
  273. package/_vendor/canvas-core/editor/managers/RenderWindowManager.ts +0 -347
  274. package/_vendor/canvas-core/editor/managers/SelectionLayoutManager.ts +0 -196
  275. package/_vendor/canvas-core/editor/managers/SelectionManager.ts +0 -98
  276. package/_vendor/canvas-core/editor/managers/SelectionOverlayManager.ts +0 -308
  277. package/_vendor/canvas-core/editor/managers/ShapeEditingManager.ts +0 -226
  278. package/_vendor/canvas-core/editor/managers/ShapeGeometryManager.ts +0 -162
  279. package/_vendor/canvas-core/editor/managers/ShapeHierarchyManager.ts +0 -797
  280. package/_vendor/canvas-core/editor/managers/SideEffectManager.ts +0 -83
  281. package/_vendor/canvas-core/editor/managers/SnapManager.ts +0 -433
  282. package/_vendor/canvas-core/editor/managers/SnapSnapshotBuilder.ts +0 -430
  283. package/_vendor/canvas-core/editor/managers/SpatialIndexManager.ts +0 -354
  284. package/_vendor/canvas-core/editor/managers/ToolManager.ts +0 -81
  285. package/_vendor/canvas-core/editor/managers/queryState.ts +0 -583
  286. package/_vendor/canvas-core/editor/managers/selectionGeometry.ts +0 -287
  287. package/_vendor/canvas-core/editor/managers/shapeOrder.ts +0 -350
  288. package/_vendor/canvas-core/editor/managers/shapeReparenting.ts +0 -160
  289. package/_vendor/canvas-core/editor/managers/snapCalculations.ts +0 -412
  290. package/_vendor/canvas-core/editor/managers/snapGeometry.ts +0 -202
  291. package/_vendor/canvas-core/editor/managers/snapIndicators.ts +0 -403
  292. package/_vendor/canvas-core/editor/managers/snapTypes.ts +0 -122
  293. package/_vendor/canvas-core/editor/queries/shapeTransforms.ts +0 -171
  294. package/_vendor/canvas-core/editor/renderWindow.ts +0 -439
  295. package/_vendor/canvas-core/editor/resizeGeometry.ts +0 -654
  296. package/_vendor/canvas-core/editor/selection.ts +0 -489
  297. package/_vendor/canvas-core/editor/selectionHandleInteractions.ts +0 -43
  298. package/_vendor/canvas-core/editor/selectionOverlay.ts +0 -567
  299. package/_vendor/canvas-core/exports/integrity.ts +0 -174
  300. package/_vendor/canvas-core/exports/svg.ts +0 -494
  301. package/_vendor/canvas-core/geometry/Box.ts +0 -80
  302. package/_vendor/canvas-core/geometry/Ellipse2d.ts +0 -67
  303. package/_vendor/canvas-core/geometry/Geometry2d.ts +0 -52
  304. package/_vendor/canvas-core/geometry/Mat.ts +0 -92
  305. package/_vendor/canvas-core/geometry/Polyline2d.ts +0 -63
  306. package/_vendor/canvas-core/geometry/Rectangle2d.ts +0 -64
  307. package/_vendor/canvas-core/geometry/Vec.ts +0 -123
  308. package/_vendor/canvas-core/geometry/segments.ts +0 -65
  309. package/_vendor/canvas-core/index.ts +0 -391
  310. package/_vendor/canvas-core/plugins/index.ts +0 -5
  311. package/_vendor/canvas-core/plugins/types.ts +0 -53
  312. package/_vendor/canvas-core/reactivity.ts +0 -16
  313. package/_vendor/canvas-core/schema/records.ts +0 -221
  314. package/_vendor/canvas-core/schema/snapshots.ts +0 -527
  315. package/_vendor/canvas-core/shapes/ShapeUtil.ts +0 -516
  316. package/_vendor/canvas-core/shapes/ShapeUtilRegistry.ts +0 -26
  317. package/_vendor/canvas-core/shapes/capabilities.ts +0 -67
  318. package/_vendor/canvas-core/shapes/types.ts +0 -20
  319. package/_vendor/canvas-core/toolbar.ts +0 -148
  320. package/_vendor/canvas-core/tools/hand/HandTool.ts +0 -75
  321. package/_vendor/canvas-core/tools/select/SelectTool.ts +0 -33
  322. package/_vendor/canvas-core/tools/select/selectContainment.ts +0 -104
  323. package/_vendor/canvas-core/tools/select/selectToolHelpers.ts +0 -801
  324. package/_vendor/canvas-core/tools/select/states/BrushingState.ts +0 -145
  325. package/_vendor/canvas-core/tools/select/states/DraggingSelectionHandleInteractionState.ts +0 -116
  326. package/_vendor/canvas-core/tools/select/states/IdleState.ts +0 -159
  327. package/_vendor/canvas-core/tools/select/states/PointingCanvasState.ts +0 -41
  328. package/_vendor/canvas-core/tools/select/states/PointingResizeHandleState.ts +0 -78
  329. package/_vendor/canvas-core/tools/select/states/PointingRotateHandleState.ts +0 -64
  330. package/_vendor/canvas-core/tools/select/states/PointingSelectionHandleInteractionState.ts +0 -34
  331. package/_vendor/canvas-core/tools/select/states/PointingShapeState.ts +0 -140
  332. package/_vendor/canvas-core/tools/select/states/ResizingState.ts +0 -171
  333. package/_vendor/canvas-core/tools/select/states/RotatingState.ts +0 -124
  334. package/_vendor/canvas-core/tools/select/states/SelectStateNode.ts +0 -128
  335. package/_vendor/canvas-core/tools/select/states/TranslatingState.ts +0 -139
  336. package/_vendor/canvas-plugin-api/feature.ts +0 -204
  337. package/_vendor/canvas-plugin-api/index.ts +0 -142
  338. package/_vendor/canvas-product-react/api/apiRegistry.ts +0 -35
  339. package/_vendor/canvas-product-react/api/canvasProductApi.ts +0 -422
  340. package/_vendor/canvas-product-react/api/index.ts +0 -31
  341. package/_vendor/canvas-product-react/capabilities/clipboard/clipboardService.ts +0 -36
  342. package/_vendor/canvas-product-react/capabilities/clipboard/systemClipboard.ts +0 -245
  343. package/_vendor/canvas-product-react/capabilities/context-menu/systemContextMenu.ts +0 -396
  344. package/_vendor/canvas-product-react/capabilities/context-menu/useContextMenuSurface.ts +0 -59
  345. package/_vendor/canvas-product-react/capabilities/export/useSvgExport.ts +0 -156
  346. package/_vendor/canvas-product-react/capabilities/history/useHistoryControls.ts +0 -23
  347. package/_vendor/canvas-product-react/capabilities/pages/usePageControls.ts +0 -41
  348. package/_vendor/canvas-product-react/capabilities/toolbar/systemToolbar.ts +0 -490
  349. package/_vendor/canvas-product-react/capabilities/toolbar/useToolbarSurfaces.ts +0 -92
  350. package/_vendor/canvas-product-react/capabilities/zoom/useZoomControls.ts +0 -27
  351. package/_vendor/canvas-product-react/index.ts +0 -84
  352. package/_vendor/canvas-product-react/persistence/index.ts +0 -18
  353. package/_vendor/canvas-product-react/persistence/localSnapshotPersistence.ts +0 -294
  354. package/_vendor/canvas-product-react/runtime/CanvasProductRoot.tsx +0 -250
  355. package/_vendor/canvas-product-react/runtime/productDefinition.ts +0 -72
  356. package/_vendor/canvas-product-react/runtime/productServices.ts +0 -96
  357. package/_vendor/canvas-react/components/CanvasView.tsx +0 -796
  358. package/_vendor/canvas-react/components/OverlayLayer.tsx +0 -879
  359. package/_vendor/canvas-react/components/PageSpace.tsx +0 -34
  360. package/_vendor/canvas-react/components/ShapeLayer.tsx +0 -428
  361. package/_vendor/canvas-react/hooks/useEditor.ts +0 -11
  362. package/_vendor/canvas-react/hooks/useValue.ts +0 -14
  363. package/_vendor/canvas-react/host/CanvasRendererRegistryContext.tsx +0 -14
  364. package/_vendor/canvas-react/host/contextMenuRegistry.ts +0 -61
  365. package/_vendor/canvas-react/host/domEventGuards.ts +0 -61
  366. package/_vendor/canvas-react/host/index.ts +0 -38
  367. package/_vendor/canvas-react/host/pluginHost.ts +0 -635
  368. package/_vendor/canvas-react/host/rendererRegistry.tsx +0 -58
  369. package/_vendor/canvas-react/host/toolbarRegistry.ts +0 -100
  370. package/_vendor/plugin-arrow/ArrowBindingUtil.ts +0 -239
  371. package/_vendor/plugin-arrow/ArrowShapeUtil.ts +0 -311
  372. package/_vendor/plugin-arrow/ArrowTool.ts +0 -208
  373. package/_vendor/plugin-arrow/arrowGeometry.ts +0 -441
  374. package/_vendor/plugin-arrow/arrowTerminalBindingResolver.ts +0 -253
  375. package/_vendor/plugin-arrow/arrowTerminalCommands.ts +0 -230
  376. package/_vendor/plugin-arrow/canvas.tsx +0 -92
  377. package/_vendor/plugin-arrow/core.ts +0 -409
  378. package/_vendor/plugin-arrow/feature.ts +0 -20
  379. package/_vendor/plugin-arrow/index.ts +0 -28
  380. package/_vendor/plugin-arrow/selectionHandleInteractions.ts +0 -154
  381. package/_vendor/plugin-arrow/types.ts +0 -63
  382. package/_vendor/plugin-draw/DrawShapeRenderer.tsx +0 -60
  383. package/_vendor/plugin-draw/DrawShapeUtil.ts +0 -372
  384. package/_vendor/plugin-draw/DrawTool.ts +0 -444
  385. package/_vendor/plugin-draw/canvas.tsx +0 -24
  386. package/_vendor/plugin-draw/core.ts +0 -515
  387. package/_vendor/plugin-draw/drawGeometry.ts +0 -491
  388. package/_vendor/plugin-draw/drawHitTest.ts +0 -271
  389. package/_vendor/plugin-draw/drawInterpolation.ts +0 -250
  390. package/_vendor/plugin-draw/drawPath.ts +0 -550
  391. package/_vendor/plugin-draw/drawSegments.ts +0 -106
  392. package/_vendor/plugin-draw/drawSelectionTransform.ts +0 -67
  393. package/_vendor/plugin-draw/drawShapeGeometry.ts +0 -307
  394. package/_vendor/plugin-draw/drawStrokeGeometry.ts +0 -454
  395. package/_vendor/plugin-draw/feature.ts +0 -20
  396. package/_vendor/plugin-draw/index.ts +0 -31
  397. package/_vendor/plugin-draw/types.ts +0 -36
  398. package/_vendor/plugin-eraser/EraserTool.ts +0 -297
  399. package/_vendor/plugin-eraser/canvas.tsx +0 -616
  400. package/_vendor/plugin-eraser/core.ts +0 -49
  401. package/_vendor/plugin-eraser/feature.ts +0 -20
  402. package/_vendor/plugin-frame/FrameShapeUtil.ts +0 -173
  403. package/_vendor/plugin-frame/FrameTool.ts +0 -225
  404. package/_vendor/plugin-frame/canvas.tsx +0 -75
  405. package/_vendor/plugin-frame/core.ts +0 -534
  406. package/_vendor/plugin-frame/feature.ts +0 -20
  407. package/_vendor/plugin-geo/GeoShapeUtil.ts +0 -463
  408. package/_vendor/plugin-geo/GeoTools.ts +0 -247
  409. package/_vendor/plugin-geo/canvas.tsx +0 -90
  410. package/_vendor/plugin-geo/core.ts +0 -495
  411. package/_vendor/plugin-geo/feature.ts +0 -20
  412. package/_vendor/plugin-geo/types.ts +0 -27
  413. package/_vendor/plugin-group/GroupShapeUtil.ts +0 -59
  414. package/_vendor/plugin-group/canvas.tsx +0 -59
  415. package/_vendor/plugin-group/core.ts +0 -40
  416. package/_vendor/plugin-group/feature.ts +0 -20
  417. package/_vendor/plugin-image/ImageShapeUtil.ts +0 -95
  418. package/_vendor/plugin-image/canvas.tsx +0 -212
  419. package/_vendor/plugin-image/core.ts +0 -542
  420. package/_vendor/plugin-image/crop.ts +0 -770
  421. package/_vendor/plugin-image/cropInteractions.ts +0 -350
  422. package/_vendor/plugin-image/cropSession.ts +0 -38
  423. package/_vendor/plugin-image/feature.ts +0 -20
  424. package/_vendor/plugin-image/index.ts +0 -29
  425. package/_vendor/plugin-image/types.ts +0 -55
  426. package/_vendor/plugin-image-product-react/ImageImportController.tsx +0 -143
  427. package/_vendor/plugin-image-product-react/imageAssetService.ts +0 -52
  428. package/_vendor/plugin-image-product-react/imageBlobStore.ts +0 -315
  429. package/_vendor/plugin-image-product-react/imageHostActions.ts +0 -438
  430. package/_vendor/plugin-image-product-react/imageProductApi.ts +0 -88
  431. package/_vendor/plugin-image-product-react/imageToolbarHostBridge.ts +0 -48
  432. package/_vendor/plugin-image-product-react/imageToolbarRuntime.ts +0 -21
  433. package/_vendor/plugin-image-product-react/index.ts +0 -60
  434. package/_vendor/plugin-image-product-react/snapshotGuards.ts +0 -33
  435. package/_vendor/plugin-image-product-react/svgImageAssetInliner.ts +0 -54
  436. package/_vendor/plugin-image-product-react/useImageImport.ts +0 -64
  437. package/_vendor/plugin-laser/LaserTool.ts +0 -154
  438. package/_vendor/plugin-laser/canvas.tsx +0 -645
  439. package/_vendor/plugin-laser/core.ts +0 -49
  440. package/_vendor/plugin-laser/feature.ts +0 -20
  441. package/_vendor/plugin-text/ArrowLabelBindingUtil.ts +0 -336
  442. package/_vendor/plugin-text/GeoLabelBindingUtil.ts +0 -391
  443. package/_vendor/plugin-text/TextShapeSvgExporter.ts +0 -101
  444. package/_vendor/plugin-text/TextShapeUtil.ts +0 -284
  445. package/_vendor/plugin-text/TextTool.ts +0 -228
  446. package/_vendor/plugin-text/canvas.tsx +0 -115
  447. package/_vendor/plugin-text/core.ts +0 -422
  448. package/_vendor/plugin-text/feature.ts +0 -20
  449. package/_vendor/plugin-text/host/RichTextEditingBox.tsx +0 -144
  450. package/_vendor/plugin-text/host/RichTextToolbar.tsx +0 -266
  451. package/_vendor/plugin-text/host/TiptapTextEditor.tsx +0 -191
  452. package/_vendor/plugin-text/host/richTextRendering.tsx +0 -49
  453. package/_vendor/plugin-text/host/textDomSelection.ts +0 -93
  454. package/_vendor/plugin-text/host/textEditingBoxStyle.ts +0 -36
  455. package/_vendor/plugin-text/host/textEntryFocus.ts +0 -307
  456. package/_vendor/plugin-text/host/textFontLoader.ts +0 -149
  457. package/_vendor/plugin-text/host/textMeasurement.ts +0 -258
  458. package/_vendor/plugin-text/host/textMeasurementSync.ts +0 -77
  459. package/_vendor/plugin-text/host/textRangeSelection.ts +0 -134
  460. package/_vendor/plugin-text/host/textShapeRendererRuntime.tsx +0 -89
  461. package/_vendor/plugin-text/host/textShapeSync.ts +0 -173
  462. package/_vendor/plugin-text/host/tiptapTextEditorController.ts +0 -148
  463. package/_vendor/plugin-text/index.ts +0 -18
  464. package/_vendor/plugin-text/richTextUtils.ts +0 -259
  465. package/_vendor/plugin-text/textInteractions.ts +0 -366
  466. package/_vendor/plugin-text/textLabelHelpers.ts +0 -235
  467. package/_vendor/plugin-text/textShapeHelpers.ts +0 -123
  468. package/_vendor/plugin-text/textStyle.ts +0 -96
  469. package/_vendor/plugin-text/textTypes.ts +0 -48
  470. package/_vendor/signals/atom.ts +0 -74
  471. package/_vendor/signals/computed.ts +0 -132
  472. package/_vendor/signals/core.ts +0 -130
  473. package/_vendor/signals/effect.ts +0 -117
  474. package/_vendor/signals/types.ts +0 -17
  475. package/_vendor/store/Store.ts +0 -171
  476. package/_vendor/store/diff.ts +0 -229
  477. package/_vendor/store/history.ts +0 -177
  478. package/_vendor/store/index.ts +0 -32
  479. package/_vendor/store/types.ts +0 -37
  480. package/internal-modules.d.ts +0 -187
  481. package/product-iyBbEPIs.mjs +0 -4
  482. package/standard-BmrxwqpJ.mjs +0 -44
  483. /package/_vendor/canvas-core/tools/{index.ts → index.d.ts} +0 -0
  484. /package/_vendor/canvas-core/tools/select/states/{index.ts → index.d.ts} +0 -0
  485. /package/_vendor/canvas-react/components/{index.ts → index.d.ts} +0 -0
  486. /package/_vendor/canvas-react/{index.ts → index.d.ts} +0 -0
  487. /package/_vendor/plugin-eraser/{index.ts → index.d.ts} +0 -0
  488. /package/_vendor/plugin-frame/{index.ts → index.d.ts} +0 -0
  489. /package/_vendor/plugin-geo/{index.ts → index.d.ts} +0 -0
  490. /package/_vendor/plugin-group/{index.ts → index.d.ts} +0 -0
  491. /package/_vendor/plugin-laser/{index.ts → index.d.ts} +0 -0
  492. /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
- }