@yuzhouu/canvas-kit 0.1.9 → 0.1.10

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 (270) hide show
  1. package/README.md +158 -102
  2. package/_vendor/canvas-core/bindings/bindingUtil.d.ts +8 -0
  3. package/_vendor/canvas-core/editor/cameraPanSession.d.ts +9 -0
  4. package/_vendor/canvas-core/editor/canvasPanInteraction.d.ts +2 -0
  5. package/_vendor/canvas-core/editor/commands.d.ts +15 -3
  6. package/_vendor/canvas-core/editor/createEditorWithPlugins.d.ts +6 -0
  7. package/_vendor/canvas-core/editor/editor.d.ts +24 -26
  8. package/_vendor/canvas-core/editor/editorComputedHelpers.d.ts +4 -2
  9. package/_vendor/canvas-core/editor/historyManager.d.ts +22 -1
  10. package/_vendor/canvas-core/editor/index.d.ts +2 -2
  11. package/_vendor/canvas-core/editor/interactions.d.ts +10 -1
  12. package/_vendor/canvas-core/editor/managers/bindingManager.d.ts +1 -0
  13. package/_vendor/canvas-core/editor/managers/inputsManager.d.ts +3 -0
  14. package/_vendor/canvas-core/editor/managers/interactionTransientManager.d.ts +0 -26
  15. package/_vendor/canvas-core/editor/managers/queryManager.d.ts +13 -1
  16. package/_vendor/canvas-core/editor/managers/selectionLayoutManager.d.ts +2 -0
  17. package/_vendor/canvas-core/editor/managers/shapeGeometryManager.d.ts +3 -2
  18. package/_vendor/canvas-core/editor/managers/shapeHierarchyManager.d.ts +6 -2
  19. package/_vendor/canvas-core/editor/managers/shapeReparenting.d.ts +3 -2
  20. package/_vendor/canvas-core/editor/managers/snapTypes.d.ts +1 -0
  21. package/_vendor/canvas-core/editor/managers/spatialIndexManager.d.ts +1 -0
  22. package/_vendor/canvas-core/editor/queries/shapeTransforms.d.ts +32 -12
  23. package/_vendor/canvas-core/editor/selection.d.ts +19 -5
  24. package/_vendor/canvas-core/editor/selectionOverlay.d.ts +4 -3
  25. package/_vendor/canvas-core/editor/selectionResizeCapabilities.d.ts +9 -0
  26. package/_vendor/canvas-core/editor/shapeTransformSpace.d.ts +6 -0
  27. package/_vendor/canvas-core/exports/svg.d.ts +1 -0
  28. package/_vendor/canvas-core/geometry/index.d.ts +1 -0
  29. package/_vendor/canvas-core/geometry/mat.d.ts +6 -2
  30. package/_vendor/canvas-core/geometry/polygon.d.ts +7 -0
  31. package/_vendor/canvas-core/geometry/vec.d.ts +0 -2
  32. package/_vendor/canvas-core/index.d.ts +14 -20
  33. package/_vendor/canvas-core/plugins/editorRuntimePlugin.d.ts +4 -10
  34. package/_vendor/canvas-core/plugins/editorRuntimeRegistry.d.ts +19 -0
  35. package/_vendor/canvas-core/plugins/index.d.ts +2 -1
  36. package/_vendor/canvas-core/schema/records.d.ts +2 -7
  37. package/_vendor/canvas-core/schema/snapshots.d.ts +10 -19
  38. package/_vendor/canvas-core/shapes/colors.d.ts +1 -2
  39. package/_vendor/canvas-core/shapes/shapeUtil.d.ts +52 -14
  40. package/_vendor/canvas-core/tools/select/selectToolHelpers.d.ts +9 -6
  41. package/_vendor/canvas-core/tools/select/states/draggingSelectionHandleInteractionState.d.ts +3 -3
  42. package/_vendor/canvas-core/tools/select/states/pointingSelectionHandleInteractionState.d.ts +2 -1
  43. package/_vendor/canvas-plugin-sdk/actionRegistry.d.ts +7 -0
  44. package/_vendor/{canvas-core/surfaces → canvas-plugin-sdk}/actions.d.ts +2 -4
  45. package/_vendor/{canvas-core/surfaces → canvas-plugin-sdk}/contextMenu.d.ts +25 -30
  46. package/_vendor/canvas-plugin-sdk/contextMenuRegistry.d.ts +11 -0
  47. package/_vendor/canvas-plugin-sdk/index.d.ts +7 -0
  48. package/_vendor/canvas-plugin-sdk/plugin.d.ts +39 -0
  49. package/_vendor/{canvas-core/surfaces → canvas-plugin-sdk}/toolbar.d.ts +22 -1
  50. package/_vendor/canvas-plugin-sdk/toolbarRegistry.d.ts +19 -0
  51. package/_vendor/canvas-react/components/CanvasView.d.ts +2 -2
  52. package/_vendor/canvas-react/components/canvasKeyboardEvents.d.ts +13 -0
  53. package/_vendor/canvas-react/components/useCanvasDomEvents.d.ts +4 -3
  54. package/_vendor/canvas-react/contextMenuRequest.d.ts +19 -0
  55. package/_vendor/canvas-react/host/canvasRenderPlugin.d.ts +7 -1
  56. package/_vendor/canvas-react/host/canvasRenderRuntime.d.ts +13 -0
  57. package/_vendor/canvas-react/host/domEventGuards.d.ts +3 -3
  58. package/_vendor/canvas-react/host/index.d.ts +2 -8
  59. package/_vendor/canvas-react/host/overlayRegistry.d.ts +3 -3
  60. package/_vendor/canvas-react/host/rendererRegistry.d.ts +7 -4
  61. package/_vendor/canvas-react/index.d.ts +1 -0
  62. package/_vendor/plugin-arrow/arrowGeometry.d.ts +6 -4
  63. package/_vendor/plugin-arrow/arrowShapeUtil.d.ts +5 -3
  64. package/_vendor/plugin-arrow/arrowTerminalCommands.d.ts +2 -2
  65. package/_vendor/plugin-arrow/canvasRender.d.ts +2 -2
  66. package/_vendor/plugin-arrow/editorRuntime.d.ts +4 -2
  67. package/_vendor/plugin-arrow/feature.d.ts +2 -3
  68. package/_vendor/plugin-arrow/index.d.ts +2 -2
  69. package/_vendor/plugin-draw/canvasRender.d.ts +2 -2
  70. package/_vendor/plugin-draw/drawGeometry.d.ts +4 -7
  71. package/_vendor/plugin-draw/drawShapeUtil.d.ts +2 -2
  72. package/_vendor/plugin-draw/editorRuntime.d.ts +4 -2
  73. package/_vendor/plugin-draw/feature.d.ts +2 -3
  74. package/_vendor/plugin-draw/index.d.ts +3 -3
  75. package/_vendor/plugin-eraser/canvasRender.d.ts +2 -2
  76. package/_vendor/plugin-eraser/editorRuntime.d.ts +4 -2
  77. package/_vendor/plugin-eraser/eraserRuntime.d.ts +12 -0
  78. package/_vendor/plugin-eraser/feature.d.ts +2 -3
  79. package/_vendor/plugin-eraser/index.d.ts +3 -2
  80. package/_vendor/plugin-frame/canvasRender.d.ts +2 -2
  81. package/_vendor/plugin-frame/editorRuntime.d.ts +4 -2
  82. package/_vendor/plugin-frame/feature.d.ts +2 -3
  83. package/_vendor/plugin-frame/frameShapeUtil.d.ts +4 -2
  84. package/_vendor/plugin-frame/index.d.ts +2 -2
  85. package/_vendor/plugin-geo/canvasRender.d.ts +2 -2
  86. package/_vendor/plugin-geo/editorRuntime.d.ts +4 -2
  87. package/_vendor/plugin-geo/feature.d.ts +2 -3
  88. package/_vendor/plugin-geo/geoShapeUtil.d.ts +1 -1
  89. package/_vendor/plugin-geo/index.d.ts +2 -2
  90. package/_vendor/plugin-group/canvasRender.d.ts +2 -2
  91. package/_vendor/plugin-group/editorRuntime.d.ts +4 -2
  92. package/_vendor/plugin-group/feature.d.ts +2 -3
  93. package/_vendor/plugin-group/groupContributions.d.ts +7 -0
  94. package/_vendor/plugin-group/groupShapeUtil.d.ts +24 -5
  95. package/_vendor/plugin-group/index.d.ts +3 -2
  96. package/_vendor/plugin-image/canvasRender.d.ts +2 -2
  97. package/_vendor/plugin-image/cropRuntime.d.ts +1 -1
  98. package/_vendor/plugin-image/cropSession.d.ts +5 -3
  99. package/_vendor/plugin-image/editorRuntime.d.ts +4 -2
  100. package/_vendor/plugin-image/feature.d.ts +2 -3
  101. package/_vendor/plugin-image/imageHostActionContract.d.ts +1 -1
  102. package/_vendor/plugin-image/imageShapeUtil.d.ts +3 -3
  103. package/_vendor/plugin-image/index.d.ts +4 -4
  104. package/_vendor/plugin-image/runtimeShared.d.ts +1 -1
  105. package/_vendor/plugin-image/smudge.d.ts +6 -2
  106. package/_vendor/plugin-image/smudgeRuntime.d.ts +1 -1
  107. package/_vendor/plugin-image/styleRuntime.d.ts +1 -1
  108. package/_vendor/plugin-image/toolbarRuntime.d.ts +1 -1
  109. package/_vendor/plugin-laser/canvasRender.d.ts +2 -2
  110. package/_vendor/plugin-laser/editorRuntime.d.ts +4 -2
  111. package/_vendor/plugin-laser/feature.d.ts +2 -3
  112. package/_vendor/plugin-laser/index.d.ts +3 -2
  113. package/_vendor/plugin-laser/laserRuntime.d.ts +18 -0
  114. package/_vendor/plugin-packaging/canvasRender.d.ts +2 -0
  115. package/_vendor/plugin-packaging/editorRuntime.d.ts +2 -0
  116. package/_vendor/plugin-packaging/feature.d.ts +2 -0
  117. package/_vendor/plugin-packaging/index.d.ts +17 -0
  118. package/_vendor/plugin-packaging/packagingArtwork.d.ts +5 -0
  119. package/_vendor/plugin-packaging/packagingDxf.d.ts +9 -0
  120. package/_vendor/plugin-packaging/packagingGeometry.d.ts +74 -0
  121. package/_vendor/plugin-packaging/packagingInteractions.d.ts +2 -0
  122. package/_vendor/plugin-packaging/packagingPdfExporter.d.ts +25 -0
  123. package/_vendor/plugin-packaging/packagingRuntime.d.ts +11 -0
  124. package/_vendor/plugin-packaging/packagingShapeUtil.d.ts +34 -0
  125. package/_vendor/plugin-packaging/packagingStyle.d.ts +10 -0
  126. package/_vendor/plugin-packaging/packagingSvgExporter.d.ts +7 -0
  127. package/_vendor/plugin-packaging/productRuntime.d.ts +2 -0
  128. package/_vendor/plugin-packaging/types.d.ts +168 -0
  129. package/_vendor/plugin-packaging/validation.d.ts +3 -0
  130. package/_vendor/plugin-path/PathDraftOverlay.d.ts +1 -0
  131. package/_vendor/plugin-path/PathEditInsertPreviewOverlay.d.ts +1 -0
  132. package/_vendor/plugin-path/PathShapeRenderer.d.ts +12 -0
  133. package/_vendor/plugin-path/canvasRender.d.ts +2 -0
  134. package/_vendor/plugin-path/editorRuntime.d.ts +21 -0
  135. package/_vendor/plugin-path/feature.d.ts +2 -0
  136. package/_vendor/plugin-path/index.d.ts +7 -0
  137. package/_vendor/plugin-path/pathBoolean.d.ts +13 -0
  138. package/_vendor/plugin-path/pathDraft.d.ts +10 -0
  139. package/_vendor/plugin-path/pathEditPreview.d.ts +11 -0
  140. package/_vendor/plugin-path/pathEditSelection.d.ts +24 -0
  141. package/_vendor/plugin-path/pathEditSnap.d.ts +6 -0
  142. package/_vendor/plugin-path/pathGeometry.d.ts +74 -0
  143. package/_vendor/plugin-path/pathHandles.d.ts +18 -0
  144. package/_vendor/plugin-path/pathInteractions.d.ts +7 -0
  145. package/_vendor/plugin-path/pathShapeUtil.d.ts +28 -0
  146. package/_vendor/plugin-path/pathSvg.d.ts +3 -0
  147. package/_vendor/plugin-path/pathTool.d.ts +39 -0
  148. package/_vendor/plugin-path/types.d.ts +36 -0
  149. package/_vendor/plugin-text/arrowLabelBindingUtil.d.ts +6 -1
  150. package/_vendor/plugin-text/canvasRender.d.ts +6 -3
  151. package/_vendor/plugin-text/editorRuntime.d.ts +9 -3
  152. package/_vendor/plugin-text/feature.d.ts +4 -4
  153. package/_vendor/plugin-text/geoLabelBindingUtil.d.ts +6 -1
  154. package/_vendor/plugin-text/host/RichTextEditingBox.d.ts +4 -1
  155. package/_vendor/plugin-text/host/TiptapTextEditor.d.ts +5 -2
  156. package/_vendor/plugin-text/host/richTextRendering.d.ts +0 -1
  157. package/_vendor/plugin-text/host/textFormattingApi.d.ts +16 -0
  158. package/_vendor/plugin-text/host/textShapeRendererRuntime.d.ts +3 -1
  159. package/_vendor/plugin-text/host/tiptapTextEditorController.d.ts +4 -1
  160. package/_vendor/plugin-text/index.d.ts +7 -4
  161. package/_vendor/plugin-text/richTextUtils.d.ts +6 -0
  162. package/_vendor/plugin-text/shapeWideTextFormatting.d.ts +8 -0
  163. package/_vendor/plugin-text/textFonts.d.ts +6 -3
  164. package/_vendor/plugin-text/textFormatting.d.ts +45 -0
  165. package/_vendor/plugin-text/textFormattingSession.d.ts +6 -0
  166. package/_vendor/plugin-text/textLabelHelpers.d.ts +9 -4
  167. package/_vendor/plugin-text/textLinkPopoverPresentation.d.ts +18 -0
  168. package/_vendor/plugin-text/textShapeHelpers.d.ts +1 -0
  169. package/_vendor/plugin-text/textShapeUtil.d.ts +5 -4
  170. package/_vendor/signals/effect.d.ts +0 -4
  171. package/_vendor/signals/index.d.ts +1 -1
  172. package/_vendor/store/store.d.ts +4 -0
  173. package/browser/persistence.d.ts +5 -16
  174. package/builtins/controller/createBuiltInCanvasController.d.ts +2 -0
  175. package/builtins/controller/packagingController.d.ts +71 -0
  176. package/builtins/index.d.ts +4 -2
  177. package/builtins/plugins.d.ts +16 -0
  178. package/chrome/floating/CanvasKitFloatingPortal.d.ts +6 -0
  179. package/chrome/floating/useCanvasKitFloatingPosition.d.ts +11 -0
  180. package/chrome/toolbar/CanvasKitFloatingToolbarLayer.d.ts +1 -1
  181. package/chrome/toolbar/toolbarLabels.d.ts +1 -1
  182. package/chrome/toolbar/useToolbarSurfaces.d.ts +6 -10
  183. package/chrome/types.d.ts +5 -10
  184. package/chrome/useCanvasKitChromeContext.d.ts +13 -13
  185. package/chrome/useContextMenuSurface.d.ts +4 -4
  186. package/chrome/useHistoryControls.d.ts +3 -3
  187. package/chrome/usePageControls.d.ts +3 -3
  188. package/controller/canvasKitController.d.ts +5 -9
  189. package/core/index.d.ts +1 -2
  190. package/core/product-controller/canvasProductController.d.ts +2 -1
  191. package/core/runtime/productAssets.d.ts +4 -2
  192. package/core/runtime/productEditor.d.ts +1 -1
  193. package/core/runtime/productServices.d.ts +6 -2
  194. package/core/runtime/runtimeContracts.d.ts +17 -0
  195. package/es-DocrZgUh.mjs +2 -0
  196. package/features/actions/actionRuntime.d.ts +2 -7
  197. package/features/clipboard/clipboardContextMenuContributions.d.ts +1 -1
  198. package/features/clipboard/clipboardContribution.d.ts +2 -1
  199. package/features/clipboard/clipboardPlugin.d.ts +1 -0
  200. package/features/clipboard/clipboardService.d.ts +1 -1
  201. package/features/context-menu/contextMenuRuntime.d.ts +4 -4
  202. package/features/image/asset/imageAssetService.d.ts +1 -1
  203. package/features/image/asset/imageBlobStore.d.ts +6 -2
  204. package/features/image/controller/imageProductController.d.ts +1 -1
  205. package/features/image/imageProductPlugin.d.ts +1 -0
  206. package/features/image/smudge/imageSmudgeHostActions.d.ts +1 -1
  207. package/features/image/toolbar/imageHostActions.d.ts +13 -2
  208. package/features/image/toolbar/imageToolbarHostBridge.d.ts +1 -1
  209. package/features/keyboard/keyboardShortcutPlugin.d.ts +1 -0
  210. package/features/keyboard/useCanvasKitKeyboardShortcuts.d.ts +5 -3
  211. package/features/selection/selectionActions.d.ts +2 -3
  212. package/features/selection/selectionContextMenuContributions.d.ts +1 -1
  213. package/features/selection/selectionPlugin.d.ts +1 -0
  214. package/features/selection/selectionToolbarContributions.d.ts +1 -1
  215. package/features/text/link/TextLinkHoverPopover.d.ts +6 -0
  216. package/features/text/textProductPlugin.d.ts +5 -0
  217. package/features/tool/toolActions.d.ts +1 -1
  218. package/features/tool/toolContextMenuContributions.d.ts +1 -1
  219. package/features/tool/toolPlugin.d.ts +1 -0
  220. package/features/tool/toolToolbarContributions.d.ts +1 -1
  221. package/features/view/viewActions.d.ts +1 -1
  222. package/features/view/viewContextMenuContributions.d.ts +1 -1
  223. package/features/view/viewPlugin.d.ts +1 -0
  224. package/index.css +1 -1
  225. package/index.d.ts +23 -9
  226. package/index.mjs +84 -96
  227. package/package.json +12 -9
  228. package/product/standardCanvasKitPlugins.d.ts +4 -0
  229. package/react/CanvasKitRoot.d.ts +10 -5
  230. package/react/useCanvasKitControllerLifecycle.d.ts +8 -0
  231. package/react/useCanvasKitRuntime.d.ts +2 -4
  232. package/runtime/canvasKitCommandExecutor.d.ts +13 -0
  233. package/runtime/canvasKitPluginContracts.d.ts +79 -0
  234. package/runtime/canvasKitPlugins.d.ts +33 -0
  235. package/runtime/canvasKitRuntime.d.ts +46 -19
  236. package/runtime/canvasKitRuntimeContracts.d.ts +37 -0
  237. package/_vendor/canvas-core/editor/createEditorWithRuntimePlugins.d.ts +0 -6
  238. package/_vendor/canvas-core/editor/middleMousePanInteraction.d.ts +0 -2
  239. package/_vendor/canvas-core/schema/snapshotSupport.d.ts +0 -43
  240. package/_vendor/canvas-react/host/actionRegistry.d.ts +0 -15
  241. package/_vendor/canvas-react/host/canvasRenderPluginHost.d.ts +0 -2
  242. package/_vendor/canvas-react/host/canvasRenderPluginHostManifest.d.ts +0 -2
  243. package/_vendor/canvas-react/host/canvasRenderPluginHostRuntime.d.ts +0 -3
  244. package/_vendor/canvas-react/host/canvasRenderPluginHostTypes.d.ts +0 -104
  245. package/_vendor/canvas-react/host/canvasRenderPluginHostValidation.d.ts +0 -11
  246. package/_vendor/canvas-react/host/contextMenuRegistry.d.ts +0 -17
  247. package/_vendor/canvas-react/host/extension.d.ts +0 -37
  248. package/_vendor/canvas-react/host/toolbarRegistry.d.ts +0 -20
  249. package/_vendor/plugin-text/host/RichTextLinkPopover.d.ts +0 -14
  250. package/_vendor/plugin-text/host/RichTextToolbar.d.ts +0 -8
  251. package/_vendor/plugin-text/host/richTextBubbleMenuPositionSync.d.ts +0 -7
  252. package/browser/localSnapshotRestore.d.ts +0 -13
  253. package/builtins/extensions.d.ts +0 -18
  254. package/core/runtime/productDefinition.d.ts +0 -33
  255. package/core/runtime/productHost.d.ts +0 -20
  256. package/features/clipboard/clipboardHostExtension.d.ts +0 -2
  257. package/features/image/imageHostExtension.d.ts +0 -10
  258. package/features/keyboard/keyboardShortcutHostExtension.d.ts +0 -2
  259. package/features/persistence/CanvasKitPersistenceNotice.d.ts +0 -4
  260. package/features/persistence/persistenceHostExtension.d.ts +0 -2
  261. package/features/selection/selectionHostExtension.d.ts +0 -2
  262. package/features/tool/toolHostExtension.d.ts +0 -2
  263. package/features/view/viewHostExtension.d.ts +0 -2
  264. package/host/defaultHostExtensions.d.ts +0 -2
  265. package/product/canvasKitProduct.d.ts +0 -51
  266. package/react/useCanvasKitController.d.ts +0 -5
  267. package/react/useCanvasKitStartup.d.ts +0 -9
  268. package/runtime/canvasKitHostContracts.d.ts +0 -135
  269. package/runtime/canvasKitHostFeatureHooks.d.ts +0 -12
  270. package/runtime/canvasKitRuntimePlan.d.ts +0 -50
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yuzhouu/canvas-kit",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "description": "Land canvas packaged as an all-in-one React canvas kit and typed API surface.",
5
5
  "type": "module",
6
6
  "main": "./index.mjs",
@@ -23,14 +23,17 @@
23
23
  "react-dom": "^19.0.0"
24
24
  },
25
25
  "dependencies": {
26
- "@tiptap/core": "^3.25.0",
27
- "@tiptap/extension-bold": "^3.25.0",
28
- "@tiptap/extension-bubble-menu": "^3.25.0",
29
- "@tiptap/extension-italic": "^3.25.0",
30
- "@tiptap/extension-strike": "^3.25.0",
31
- "@tiptap/pm": "^3.25.0",
32
- "@tiptap/react": "^3.25.0",
33
- "@tiptap/starter-kit": "^3.25.0"
26
+ "@tiptap/core": "3.27.3",
27
+ "@tiptap/extension-bold": "3.27.3",
28
+ "@tiptap/extension-italic": "3.27.3",
29
+ "@tiptap/extension-link": "3.27.3",
30
+ "@tiptap/extension-strike": "3.27.3",
31
+ "@tiptap/extension-text-align": "3.27.3",
32
+ "@tiptap/extension-text-style": "3.27.3",
33
+ "@tiptap/extension-underline": "3.27.3",
34
+ "@tiptap/extensions": "3.27.3",
35
+ "@tiptap/react": "3.27.3",
36
+ "@tiptap/starter-kit": "3.27.3"
34
37
  },
35
38
  "publishConfig": {
36
39
  "access": "public"
@@ -0,0 +1,4 @@
1
+ import type { CanvasPluginInput } from "../runtime/canvasKitPluginContracts";
2
+ import { type BuiltInCanvasPluginOptions } from "../builtins";
3
+ export type CanvasKitStandardPluginOptions = BuiltInCanvasPluginOptions;
4
+ export declare function createStandardCanvasKitPlugins(options?: CanvasKitStandardPluginOptions): readonly CanvasPluginInput[];
@@ -1,5 +1,10 @@
1
- import type { CanvasKitController, CanvasKitBaseController } from "../controller/canvasKitController";
2
- import type { CanvasKitProduct } from "../product/canvasKitProduct";
3
- export declare function CanvasKitRoot<TController extends CanvasKitBaseController = CanvasKitController>({ product, }: {
4
- product: CanvasKitProduct<TController>;
5
- }): import("react/jsx-runtime").JSX.Element | null;
1
+ import type { CanvasKitController } from "../controller/canvasKitController";
2
+ import type { CanvasKitRuntime } from "../runtime/canvasKitRuntimeContracts";
3
+ export interface CanvasKitRootProps {
4
+ runtime: CanvasKitRuntime;
5
+ onControllerReady?: (controller: CanvasKitController) => void;
6
+ onControllerDispose?: () => void;
7
+ exposeControllerOnWindow?: boolean;
8
+ windowKey?: string;
9
+ }
10
+ export declare function CanvasKitRoot({ runtime, onControllerReady, onControllerDispose, exposeControllerOnWindow, windowKey, }: CanvasKitRootProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,8 @@
1
+ import type { CanvasKitController } from "../controller/canvasKitController";
2
+ export declare function useCanvasKitControllerLifecycle({ controller, exposeControllerOnWindow, onControllerDispose, onControllerReady, windowKey, }: {
3
+ controller: CanvasKitController;
4
+ exposeControllerOnWindow: boolean;
5
+ onControllerDispose?: () => void;
6
+ onControllerReady?: (controller: CanvasKitController) => void;
7
+ windowKey: string;
8
+ }): void;
@@ -1,4 +1,2 @@
1
- import type { CanvasKitController, CanvasKitBaseController } from "../controller/canvasKitController";
2
- import type { CanvasKitProduct } from "../product/canvasKitProduct";
3
- import { type CanvasKitRuntime } from "../runtime/canvasKitRuntime";
4
- export declare function useCanvasKitRuntime<TController extends CanvasKitBaseController = CanvasKitController>(product: CanvasKitProduct<TController>): CanvasKitRuntime<TController> | null;
1
+ import type { CanvasKitRuntimeOptions, CanvasKitRuntimeState } from "../runtime/canvasKitRuntimeContracts";
2
+ export declare function useCanvasKitRuntime(options: CanvasKitRuntimeOptions): CanvasKitRuntimeState;
@@ -0,0 +1,13 @@
1
+ import type { CanvasActionContext } from "../_vendor/canvas-plugin-sdk/index";
2
+ import type { Editor } from "../_vendor/canvas-core/index";
3
+ import type { CanvasPluginBeforeCommand } from "./canvasKitPluginContracts";
4
+ export interface CanvasKitCommandInput<TResult> {
5
+ commandId: string;
6
+ context?: CanvasActionContext;
7
+ run(): TResult;
8
+ }
9
+ export type ExecuteCanvasKitCommand = <TResult>(input: CanvasKitCommandInput<TResult>) => TResult;
10
+ export declare function createCanvasKitCommandExecutor({ editor, hooks, }: {
11
+ editor: Editor;
12
+ hooks: readonly CanvasPluginBeforeCommand[];
13
+ }): ExecuteCanvasKitCommand;
@@ -0,0 +1,79 @@
1
+ import { type CanvasAction, type CanvasActionContext, type CanvasActionRegistry, type CanvasProductContribution as BaseCanvasProductContribution, type CanvasPlugin as SdkCanvasPlugin, type CanvasPluginInput as SdkCanvasPluginInput } from "../_vendor/canvas-plugin-sdk/index";
2
+ import type { Editor } from "../_vendor/canvas-core/index";
3
+ import type { ComponentType, ReactNode } from "react";
4
+ import type { ProductApiRegistry, ProductApiToken, ProductAssetResolverService, ProductPersistenceAdapter, ProductServiceFactory, ProductServiceRegistry, ProductServiceToken } from "../core";
5
+ import type { SvgAssetInliner } from "../features/export/svgExport";
6
+ import type { ExecuteCanvasKitCommand } from "./canvasKitCommandExecutor";
7
+ import type { CanvasKitStartupResult } from "./canvasKitRuntimeContracts";
8
+ export interface CanvasProductFactoryContext {
9
+ persistence: ProductPersistenceAdapter | null;
10
+ productId: string;
11
+ }
12
+ export interface CanvasProductContribution extends BaseCanvasProductContribution {
13
+ services?: readonly ProductServiceFactory<unknown>[];
14
+ createActions?: (context: CanvasActionFactoryContext) => readonly CanvasAction[];
15
+ apis?: readonly CanvasPluginApi<unknown>[];
16
+ setup?(context: CanvasPluginContext): void | (() => void);
17
+ beforeReady?: CanvasPluginBeforeReady;
18
+ beforeCommand?: CanvasPluginBeforeCommand;
19
+ providers?: readonly CanvasPluginProvider[];
20
+ components?: readonly CanvasPluginComponent[];
21
+ assetResolverTokens?: readonly ProductServiceToken<ProductAssetResolverService>[];
22
+ svgAssetInliners?: (context: CanvasPluginSvgAssetInlinerContext) => readonly SvgAssetInliner[];
23
+ canShowToolbarDuringEditing?: (context: CanvasActionContext) => boolean;
24
+ }
25
+ export type CanvasProductFactory = (context: CanvasProductFactoryContext) => CanvasProductContribution;
26
+ export type CanvasPlugin = SdkCanvasPlugin<CanvasProductFactory>;
27
+ export type CanvasPluginInput = SdkCanvasPluginInput<CanvasProductFactory>;
28
+ export declare function defineCanvasPlugin(plugin: CanvasPlugin): CanvasPlugin;
29
+ export interface CanvasActionFactoryContext {
30
+ productId: string;
31
+ services: ProductServiceRegistry;
32
+ }
33
+ export interface CanvasPluginApi<TApi> {
34
+ token: ProductApiToken<TApi>;
35
+ create(context: CanvasPluginContext): TApi | null;
36
+ }
37
+ export interface CanvasPluginContext {
38
+ apis: ProductApiRegistry;
39
+ editor: Editor;
40
+ productId: string;
41
+ services: ProductServiceRegistry;
42
+ }
43
+ export interface CanvasPluginSvgAssetInlinerContext {
44
+ editor: Editor;
45
+ services: ProductServiceRegistry;
46
+ }
47
+ export interface CanvasPluginBeforeReadyContext {
48
+ editor: Editor;
49
+ persistence: ProductPersistenceAdapter | null;
50
+ productId: string;
51
+ signal: AbortSignal;
52
+ startup: CanvasKitStartupResult;
53
+ services: ProductServiceRegistry;
54
+ }
55
+ export interface CanvasPluginBeforeCommandContext {
56
+ commandId: string;
57
+ context?: CanvasActionContext;
58
+ editor: Editor;
59
+ }
60
+ export type CanvasPluginBeforeReady = (context: CanvasPluginBeforeReadyContext) => Promise<void> | void;
61
+ export type CanvasPluginBeforeCommand = (context: CanvasPluginBeforeCommandContext) => void;
62
+ export interface CanvasPluginComponentProps {
63
+ actionRegistry: CanvasActionRegistry;
64
+ editor: Editor;
65
+ executeCommand: ExecuteCanvasKitCommand;
66
+ services: ProductServiceRegistry;
67
+ }
68
+ export interface CanvasPluginProvider {
69
+ id: string;
70
+ order?: number;
71
+ component: ComponentType<{
72
+ children: ReactNode;
73
+ }>;
74
+ }
75
+ export interface CanvasPluginComponent {
76
+ id: string;
77
+ order?: number;
78
+ component: ComponentType<CanvasPluginComponentProps>;
79
+ }
@@ -0,0 +1,33 @@
1
+ import { type CanvasAction, type ContextMenuContribution, type ToolbarContribution } from "../_vendor/canvas-plugin-sdk/index";
2
+ import type { ProductServiceRegistry } from "../core";
3
+ import type { CanvasPluginInput } from "./canvasKitPluginContracts";
4
+ import type { CanvasKitRuntimeOptions } from "./canvasKitRuntimeContracts";
5
+ export declare function collectCanvasKitContributions({ persistence, plugins, productId, }: {
6
+ persistence: CanvasKitRuntimeOptions["persistence"];
7
+ plugins: readonly CanvasPluginInput[];
8
+ productId: string;
9
+ }): {
10
+ editorPlugins: readonly import("../_vendor/canvas-core/index").EditorPlugin[];
11
+ renderPlugins: readonly import("../_vendor/canvas-react/host/index").CanvasRenderPlugin[];
12
+ services: import("..").ProductServiceFactory<unknown>[];
13
+ actions: CanvasAction<import("../_vendor/canvas-plugin-sdk/index").CanvasActionValue>[];
14
+ createActions: ((context: import("./canvasKitPluginContracts").CanvasActionFactoryContext) => readonly CanvasAction[])[];
15
+ actionShortcuts: import("../_vendor/canvas-plugin-sdk/index").CanvasActionShortcut[];
16
+ toolbarContributions: ToolbarContribution[];
17
+ contextMenuContributions: ContextMenuContribution[];
18
+ apis: import("./canvasKitPluginContracts").CanvasPluginApi<unknown>[];
19
+ setup: ((context: import("./canvasKitPluginContracts").CanvasPluginContext) => void | (() => void))[];
20
+ beforeReady: import("./canvasKitPluginContracts").CanvasPluginBeforeReady[];
21
+ beforeCommand: import("./canvasKitPluginContracts").CanvasPluginBeforeCommand[];
22
+ providers: import("./canvasKitPluginContracts").CanvasPluginProvider[];
23
+ components: import("./canvasKitPluginContracts").CanvasPluginComponent[];
24
+ assetResolverTokens: import("..").ProductServiceToken<import("../core").ProductAssetResolverService>[];
25
+ svgAssetInliners: ((context: import("./canvasKitPluginContracts").CanvasPluginSvgAssetInlinerContext) => readonly import("../features/export/svgExport").SvgAssetInliner[])[];
26
+ canShowToolbarDuringEditing: ((context: import("../_vendor/canvas-plugin-sdk/index").CanvasActionContext) => boolean)[];
27
+ };
28
+ export type CanvasKitContributions = ReturnType<typeof collectCanvasKitContributions>;
29
+ export declare function createCanvasKitActions({ contributions, productId, services, }: {
30
+ contributions: CanvasKitContributions;
31
+ productId: string;
32
+ services: ProductServiceRegistry;
33
+ }): readonly CanvasAction[];
@@ -1,21 +1,48 @@
1
1
  import type { Editor } from "../_vendor/canvas-core/index";
2
- import { type CanvasRenderPluginHostRuntime } from "../_vendor/canvas-react/host/index";
3
- import { type ProductApiRegistryRuntime, type ProductAssetResolverService, type ProductPersistenceAdapter, type ProductServiceRegistryRuntime, type ProductServiceToken } from "../core";
4
- import { type CanvasKitController, type CanvasKitBaseController } from "../controller/canvasKitController";
5
- import type { ResolvedCanvasKitConfig, ResolvedCanvasKitProduct } from "../product/canvasKitProduct";
6
- import type { CanvasKitHostExtension } from "./canvasKitHostContracts";
7
- import { type CanvasKitRuntimePlan } from "./canvasKitRuntimePlan";
8
- export interface CanvasKitRuntime<TController extends CanvasKitBaseController = CanvasKitController> {
9
- apis: ProductApiRegistryRuntime;
10
- assetResolverTokens: readonly ProductServiceToken<ProductAssetResolverService>[];
11
- config: ResolvedCanvasKitConfig<TController>;
12
- editor: Editor;
13
- hostExtensions: readonly CanvasKitHostExtension[];
14
- persistence: ProductPersistenceAdapter | null;
15
- plan: CanvasKitRuntimePlan;
16
- pluginHostRuntime: CanvasRenderPluginHostRuntime;
17
- productId: string;
18
- services: ProductServiceRegistryRuntime;
19
- shouldSkipStoredSnapshots?: () => boolean;
2
+ import { type CanvasActionContext, type CanvasActionRegistry, type CanvasContextMenuRegistry, type CanvasToolbarRegistry } from "../_vendor/canvas-plugin-sdk/index";
3
+ import { type CanvasRenderRuntime } from "../_vendor/canvas-react/host/index";
4
+ import { type ProductAssetResolverService, type ProductPersistenceAdapter, type ProductServiceRegistryRuntime, type ProductServiceToken } from "../core";
5
+ import type { SvgAssetInliner } from "../features/export/svgExport";
6
+ import { type CanvasKitController } from "../controller/canvasKitController";
7
+ import { createCanvasKitCommandExecutor } from "./canvasKitCommandExecutor";
8
+ import type { CanvasPluginBeforeReady, CanvasPluginComponent, CanvasPluginProvider } from "./canvasKitPluginContracts";
9
+ import type { CanvasKitChromeRenderer, CanvasKitDocumentSeed, CanvasKitRuntime, CanvasKitRuntimeOptions, CanvasKitStartupResult } from "./canvasKitRuntimeContracts";
10
+ export declare const CANVAS_KIT_STORAGE_NAMESPACE = "land.canvasKit";
11
+ type CanvasKitRuntimeLifecycleState = "created" | "starting" | "ready" | "failed" | "disposing" | "disposed";
12
+ export interface CanvasKitRuntimeInternals {
13
+ readonly abortController: AbortController;
14
+ readonly assetResolverTokens: readonly ProductServiceToken<ProductAssetResolverService>[];
15
+ readonly beforeReadyHooks: readonly CanvasPluginBeforeReady[];
16
+ readonly cleanDocumentSnapshot: unknown;
17
+ readonly cleanSessionSnapshot: unknown;
18
+ readonly controller: CanvasKitController;
19
+ readonly editor: Editor;
20
+ readonly setupDisposers: Array<() => void>;
21
+ readonly persistence: ProductPersistenceAdapter | null;
22
+ readonly productId: string;
23
+ readonly render: {
24
+ readonly canvasRuntime: CanvasRenderRuntime;
25
+ readonly actionRegistry: CanvasActionRegistry;
26
+ readonly toolbarRegistry: CanvasToolbarRegistry;
27
+ readonly contextMenuRegistry: CanvasContextMenuRegistry;
28
+ readonly executeCommand: ReturnType<typeof createCanvasKitCommandExecutor>;
29
+ readonly providers: readonly CanvasPluginProvider[];
30
+ readonly components: readonly CanvasPluginComponent[];
31
+ readonly chrome?: CanvasKitChromeRenderer;
32
+ readonly svgAssetInliners: readonly SvgAssetInliner[];
33
+ canShowToolbarDuringEditing(context: CanvasActionContext): boolean;
34
+ };
35
+ readonly seedDocument?: CanvasKitDocumentSeed;
36
+ readonly services: ProductServiceRegistryRuntime;
37
+ readonly shouldSkipStoredSnapshots?: () => boolean;
38
+ mountedOwner: object | null;
39
+ persistenceStop: (() => void) | null;
40
+ startPromise: Promise<CanvasKitStartupResult> | null;
41
+ state: CanvasKitRuntimeLifecycleState;
20
42
  }
21
- export declare function createCanvasKitRuntime<TController extends CanvasKitBaseController = CanvasKitController>(product: ResolvedCanvasKitProduct<TController>): CanvasKitRuntime<TController>;
43
+ export declare function createCanvasKitRuntime(options?: CanvasKitRuntimeOptions): CanvasKitRuntime;
44
+ export declare function getCanvasKitRuntimeInternals(runtime: CanvasKitRuntime): CanvasKitRuntimeInternals;
45
+ export declare function claimCanvasKitRuntimeMount(runtime: CanvasKitRuntime, owner: object): CanvasKitRuntimeInternals;
46
+ export declare function releaseCanvasKitRuntimeMount(runtime: CanvasKitRuntime, owner: object): void;
47
+ export declare function assertCanvasKitRuntimeReady(internals: CanvasKitRuntimeInternals): void;
48
+ export {};
@@ -0,0 +1,37 @@
1
+ import type { ReactNode } from "react";
2
+ import type { ProductPersistenceAdapter } from "../core";
3
+ import type { CanvasKitChromeContext } from "../chrome/types";
4
+ import type { CanvasKitController } from "../controller/canvasKitController";
5
+ import type { CanvasPluginInput } from "./canvasKitPluginContracts";
6
+ export type CanvasKitChromeRenderer = (context: CanvasKitChromeContext<CanvasKitController>) => ReactNode;
7
+ export type CanvasKitDocumentSeed = (controller: CanvasKitController) => void;
8
+ export interface CanvasKitRuntimeOptions {
9
+ id?: string;
10
+ chrome?: CanvasKitChromeRenderer;
11
+ documentMeta?: Record<string, unknown>;
12
+ persistence?: ProductPersistenceAdapter | null;
13
+ seedDocument?: CanvasKitDocumentSeed;
14
+ shouldSkipStoredSnapshots?: () => boolean;
15
+ plugins?: readonly CanvasPluginInput[];
16
+ storageNamespace?: string;
17
+ }
18
+ export interface CanvasKitStartupResult {
19
+ documentSource: "restored" | "seeded" | "empty";
20
+ sessionRestored: boolean;
21
+ warnings: readonly unknown[];
22
+ }
23
+ export interface CanvasKitRuntime {
24
+ readonly controller: CanvasKitController;
25
+ start(): Promise<CanvasKitStartupResult>;
26
+ dispose(): void;
27
+ }
28
+ export type CanvasKitRuntimeState = {
29
+ status: "starting";
30
+ } | {
31
+ status: "ready";
32
+ runtime: CanvasKitRuntime;
33
+ startup: CanvasKitStartupResult;
34
+ } | {
35
+ status: "error";
36
+ error: unknown;
37
+ };
@@ -1,6 +0,0 @@
1
- import { type LandEditorRuntimePlugin } from "../plugins";
2
- import { Editor, type EditorOptions } from "./editor";
3
- export interface CreateEditorWithRuntimePluginsOptions extends Omit<EditorOptions, "shapeUtils" | "shapeSvgExporters" | "bindingUtils" | "shapeCapabilities"> {
4
- editorRuntimePlugins?: readonly LandEditorRuntimePlugin[];
5
- }
6
- export declare function createEditorWithRuntimePlugins(options?: CreateEditorWithRuntimePluginsOptions): Editor;
@@ -1,2 +0,0 @@
1
- import type { LandInteractionHandler } from "./interactions";
2
- export declare function createMiddleMousePanInteractionHandler(): LandInteractionHandler;
@@ -1,43 +0,0 @@
1
- import type { BindingUtilRegistry } from "../bindings/bindingUtilRegistry";
2
- import type { ShapeUtilRegistry } from "../shapes/shapeUtilRegistry";
3
- import type { AssetRecord, BindingId, BindingRecord, ShapeId, ShapeRecord } from "./records";
4
- export interface DocumentSnapshotRequirements {
5
- shapeTypes: readonly ShapeRecord["type"][];
6
- bindingTypes: readonly BindingRecord["type"][];
7
- assetTypes: readonly AssetRecord["type"][];
8
- }
9
- export interface DocumentSnapshotSupport {
10
- modelShapeTypes: ReadonlySet<ShapeRecord["type"]>;
11
- modelBindingTypes: ReadonlySet<BindingRecord["type"]>;
12
- renderableShapeTypes?: ReadonlySet<ShapeRecord["type"]>;
13
- }
14
- export interface UnsupportedDocumentSnapshotRequirements {
15
- modelShapeTypes: readonly ShapeRecord["type"][];
16
- modelBindingTypes: readonly BindingRecord["type"][];
17
- renderableShapeTypes: readonly ShapeRecord["type"][];
18
- }
19
- export interface FilterDocumentSnapshotBySupportResult {
20
- snapshot: {
21
- schemaVersion: 1;
22
- records: unknown[];
23
- };
24
- removedShapeIds: readonly ShapeId[];
25
- removedShapeTypes: readonly ShapeRecord["type"][];
26
- removedBindingIds: readonly BindingId[];
27
- removedBindingTypes: readonly BindingRecord["type"][];
28
- removedRecords: readonly unknown[];
29
- }
30
- export declare function createDocumentSnapshotSupport({ bindingUtils, renderableShapeTypes, shapeUtils, }: {
31
- bindingUtils: BindingUtilRegistry;
32
- renderableShapeTypes?: Iterable<ShapeRecord["type"]>;
33
- shapeUtils: ShapeUtilRegistry;
34
- }): DocumentSnapshotSupport;
35
- export declare function getDocumentSnapshotRequirements(snapshot: unknown): DocumentSnapshotRequirements;
36
- export declare function getUnsupportedDocumentSnapshotRequirements({ requirements, support, }: {
37
- requirements: DocumentSnapshotRequirements;
38
- support: DocumentSnapshotSupport;
39
- }): UnsupportedDocumentSnapshotRequirements;
40
- export declare function filterDocumentSnapshotBySupport({ snapshot, support, }: {
41
- snapshot: unknown;
42
- support: DocumentSnapshotSupport;
43
- }): FilterDocumentSnapshotBySupportResult;
@@ -1,15 +0,0 @@
1
- import type { CanvasAction, LandEditorRuntimePlugin } from "../../canvas-core/index";
2
- export declare class CanvasActionRegistry {
3
- private readonly actions;
4
- private readonly hostActionIds;
5
- private readonly duplicateActionIds;
6
- registerAction(action: CanvasAction, options?: {
7
- replace?: boolean;
8
- }): void;
9
- registerHostAction(action: CanvasAction): void;
10
- registerEditorRuntimePlugins(plugins: readonly LandEditorRuntimePlugin[]): void;
11
- getAction(actionId: string): CanvasAction | null;
12
- getHostActionIds(): string[];
13
- getDuplicateActionIds(): string[];
14
- }
15
- export declare function createCanvasActionRegistry(plugins?: readonly LandEditorRuntimePlugin[]): CanvasActionRegistry;
@@ -1,2 +0,0 @@
1
- export { createCanvasRenderPluginHostRuntime } from "./canvasRenderPluginHostRuntime";
2
- export type { CanvasRenderPluginHostManifestContextMenuContributionEntry, CanvasRenderPluginHostManifestEntry, CanvasRenderPluginHostManifestToolbarContributionEntry, CanvasRenderPluginHostRuntime, CanvasRenderPluginHostShapeValidationSummary, CanvasRenderPluginHostSource, CanvasRenderPluginHostValidationIssue, CanvasRenderPluginHostValidationIssueSeverity, CanvasRenderPluginHostValidationSummary, CanvasRenderPluginHostVerdict, CreateCanvasRenderPluginHostRuntimeOptions, } from "./canvasRenderPluginHostTypes";
@@ -1,2 +0,0 @@
1
- import type { CanvasRenderPluginHostManifestEntry, ResolvedCanvasFeature } from "./canvasRenderPluginHostTypes";
2
- export declare function getManifestEntryFromFeature(resolvedFeature: ResolvedCanvasFeature): CanvasRenderPluginHostManifestEntry;
@@ -1,3 +0,0 @@
1
- import { type LandExtension } from "./extension";
2
- import type { CanvasRenderPluginHostRuntime, CreateCanvasRenderPluginHostRuntimeOptions } from "./canvasRenderPluginHostTypes";
3
- export declare function createCanvasRenderPluginHostRuntime(extensions: readonly LandExtension[], options?: CreateCanvasRenderPluginHostRuntimeOptions): CanvasRenderPluginHostRuntime;
@@ -1,104 +0,0 @@
1
- import type { LandEditorRuntimePlugin, ShapeCapabilitySupport } from "../../canvas-core/index";
2
- import type { CanvasRenderPluginComponent, CanvasRenderPluginProvider, LandCanvasRenderPlugin } from "./canvasRenderPlugin";
3
- import type { CanvasActionRegistry } from "./actionRegistry";
4
- import type { CanvasContextMenuRegistry } from "./contextMenuRegistry";
5
- import type { CanvasDomEventGuardRegistry } from "./domEventGuards";
6
- import type { LandFeatureBundle } from "./extension";
7
- import type { CanvasOverlayRegistry } from "./overlayRegistry";
8
- import type { CanvasRendererRegistry } from "./rendererRegistry";
9
- import type { CanvasToolbarRegistry } from "./toolbarRegistry";
10
- export type CanvasRenderPluginHostSource = "built-in" | "dev-sample";
11
- export type CanvasRenderPluginHostVerdict = "pass" | "fail";
12
- export interface CreateCanvasRenderPluginHostRuntimeOptions {
13
- knownHostActionIds?: readonly string[];
14
- source?: CanvasRenderPluginHostSource;
15
- }
16
- export interface CanvasRenderPluginHostManifestEntry {
17
- id: string;
18
- extensionName: string;
19
- source: CanvasRenderPluginHostSource;
20
- editorRuntimePluginIds: string[];
21
- canvasRenderPluginIds: string[];
22
- interactionHandlerIds: string[];
23
- canvasActionIds: string[];
24
- toolbarContributionIds: string[];
25
- toolbarContributions: CanvasRenderPluginHostManifestToolbarContributionEntry[];
26
- contextMenuContributionIds: string[];
27
- contextMenuContributions: CanvasRenderPluginHostManifestContextMenuContributionEntry[];
28
- domEventGuardIds: string[];
29
- canvasOverlayIds: string[];
30
- selectionCustomHandleRendererTypes: string[];
31
- canvasProviderIds: string[];
32
- canvasComponentIds: string[];
33
- shapeTypes: string[];
34
- }
35
- export interface CanvasRenderPluginHostManifestToolbarContributionEntry {
36
- id: string;
37
- surface: string;
38
- placement: string;
39
- actionIds: string[];
40
- }
41
- export interface CanvasRenderPluginHostManifestContextMenuContributionEntry {
42
- id: string;
43
- target: string;
44
- actionIds: string[];
45
- }
46
- export interface CanvasRenderPluginHostRuntime {
47
- editorRuntimePlugins: LandEditorRuntimePlugin[];
48
- canvasRenderPlugins: LandCanvasRenderPlugin[];
49
- canvasProviders: CanvasRenderPluginProvider[];
50
- canvasComponents: CanvasRenderPluginComponent[];
51
- actionRegistry: CanvasActionRegistry;
52
- rendererRegistry: CanvasRendererRegistry;
53
- overlayRegistry: CanvasOverlayRegistry;
54
- domEventGuardRegistry: CanvasDomEventGuardRegistry;
55
- toolbarRegistry: CanvasToolbarRegistry;
56
- contextMenuRegistry: CanvasContextMenuRegistry;
57
- manifest: CanvasRenderPluginHostManifestEntry[];
58
- validation: CanvasRenderPluginHostValidationSummary;
59
- externalPluginIds: string[];
60
- }
61
- export type CanvasRenderPluginHostValidationIssueSeverity = "error" | "warning";
62
- export interface CanvasRenderPluginHostValidationIssue {
63
- severity: CanvasRenderPluginHostValidationIssueSeverity;
64
- code: "duplicate-feature-id" | "duplicate-editor-runtime-plugin-id" | "duplicate-canvas-render-plugin-id" | "duplicate-interaction-handler-id" | "duplicate-canvas-action-id" | "duplicate-toolbar-contribution-id" | "duplicate-context-menu-contribution-id" | "duplicate-dom-event-guard-id" | "duplicate-canvas-overlay-id" | "duplicate-selection-custom-handle-renderer" | "duplicate-canvas-provider-id" | "duplicate-canvas-component-id" | "missing-canvas-action" | "missing-context-menu-action" | "missing-editor-runtime-plugin" | "missing-canvas-render-plugin" | "missing-shape-type" | "missing-shape-capability" | "missing-shape-util" | "missing-svg-exporter" | "missing-canvas-renderer";
65
- featureId: string | null;
66
- pluginId: string | null;
67
- shapeType: string | null;
68
- message: string;
69
- }
70
- export interface CanvasRenderPluginHostShapeValidationSummary {
71
- featureId: string;
72
- shapeType: string;
73
- hasCapability: boolean;
74
- hasShapeUtil: boolean;
75
- hasSvgExporter: boolean;
76
- hasCanvasRenderer: boolean;
77
- exportSupport: ShapeCapabilitySupport | null;
78
- }
79
- export interface CanvasRenderPluginHostValidationSummary {
80
- verdict: CanvasRenderPluginHostVerdict;
81
- issueCount: number;
82
- errorCount: number;
83
- warningCount: number;
84
- issues: CanvasRenderPluginHostValidationIssue[];
85
- featureIds: string[];
86
- editorRuntimePluginIds: string[];
87
- canvasRenderPluginIds: string[];
88
- interactionHandlerIds: string[];
89
- canvasActionIds: string[];
90
- toolbarContributionIds: string[];
91
- contextMenuContributionIds: string[];
92
- domEventGuardIds: string[];
93
- canvasOverlayIds: string[];
94
- selectionCustomHandleRendererTypes: string[];
95
- canvasProviderIds: string[];
96
- canvasComponentIds: string[];
97
- registeredRendererTypes: string[];
98
- shapeSummaries: CanvasRenderPluginHostShapeValidationSummary[];
99
- }
100
- export interface ResolvedCanvasFeature {
101
- extensionName: string;
102
- feature: LandFeatureBundle;
103
- source: CanvasRenderPluginHostSource;
104
- }
@@ -1,11 +0,0 @@
1
- import type { LandEditorRuntimePlugin } from "../../canvas-core/index";
2
- import type { LandCanvasRenderPlugin } from "./canvasRenderPlugin";
3
- import type { CanvasRendererRegistry } from "./rendererRegistry";
4
- import type { CanvasRenderPluginHostValidationSummary, ResolvedCanvasFeature } from "./canvasRenderPluginHostTypes";
5
- export declare function validateCanvasRenderPluginHost({ editorRuntimePlugins, canvasRenderPlugins, knownHostActionIds, rendererRegistry, resolvedFeatures, }: {
6
- editorRuntimePlugins: readonly LandEditorRuntimePlugin[];
7
- canvasRenderPlugins: readonly LandCanvasRenderPlugin[];
8
- knownHostActionIds: readonly string[];
9
- rendererRegistry: CanvasRendererRegistry;
10
- resolvedFeatures: readonly ResolvedCanvasFeature[];
11
- }): CanvasRenderPluginHostValidationSummary;
@@ -1,17 +0,0 @@
1
- import type { ContextMenuContext, ContextMenuContribution, ContextMenuContributionTarget, ContextMenuSection, LandEditorRuntimePlugin } from "../../canvas-core/index";
2
- export declare class CanvasContextMenuRegistry {
3
- private readonly contributions;
4
- private readonly contributionsByTarget;
5
- private readonly contributionIndexes;
6
- private readonly duplicateContributionIds;
7
- private nextContributionIndex;
8
- registerContribution(contribution: ContextMenuContribution, options?: {
9
- replace?: boolean;
10
- }): void;
11
- registerEditorRuntimePlugins(plugins: readonly LandEditorRuntimePlugin[]): void;
12
- getDuplicateContributionIds(): string[];
13
- getSections(target: ContextMenuContributionTarget, context: ContextMenuContext): ContextMenuSection[];
14
- private addToIndex;
15
- private removeFromIndex;
16
- }
17
- export declare function createCanvasContextMenuRegistry(plugins?: readonly LandEditorRuntimePlugin[]): CanvasContextMenuRegistry;
@@ -1,37 +0,0 @@
1
- import type { LandEditorRuntimePlugin, ShapeRecordBase } from "../../canvas-core/index";
2
- import type { LandCanvasRenderPlugin } from "./canvasRenderPlugin";
3
- type LandExtensionOptions = Record<string, unknown>;
4
- export interface LandFeatureBundle {
5
- id: string;
6
- editorRuntimePlugins: readonly LandEditorRuntimePlugin[];
7
- canvasRenderPlugins: readonly LandCanvasRenderPlugin[];
8
- shapeTypes: readonly ShapeRecordBase["type"][];
9
- }
10
- export interface LandExtension {
11
- readonly name: string;
12
- readonly options: Readonly<LandExtensionOptions>;
13
- readonly priority: number;
14
- createFeature(): LandFeatureBundle | null;
15
- getExtensions(): readonly LandExtension[];
16
- }
17
- export type LandExtensionOptionsInput<T> = T extends readonly unknown[] ? T : T extends LandExtensionOptions ? {
18
- [K in keyof T]?: LandExtensionOptionsInput<T[K]>;
19
- } : T;
20
- export interface ConfigurableLandExtension<Options extends LandExtensionOptions> extends LandExtension {
21
- readonly options: Readonly<Options>;
22
- configure(options?: LandExtensionOptionsInput<Options>): ConfigurableLandExtension<Options>;
23
- }
24
- export interface LandExtensionConfig<Options extends LandExtensionOptions> {
25
- name: string;
26
- priority?: number;
27
- addOptions?(): Options;
28
- addExtensions?(options: Readonly<Options>): readonly LandExtension[];
29
- createFeature?(options: Readonly<Options>): LandFeatureBundle;
30
- }
31
- export interface ResolvedLandExtension {
32
- extension: LandExtension;
33
- feature: LandFeatureBundle | null;
34
- }
35
- export declare function defineLandExtension<Options extends LandExtensionOptions = Record<string, never>>(config: LandExtensionConfig<Options>): ConfigurableLandExtension<Options>;
36
- export declare function resolveLandExtensions(extensions: readonly LandExtension[]): ResolvedLandExtension[];
37
- export {};
@@ -1,20 +0,0 @@
1
- import type { LandEditorRuntimePlugin, CanvasActionContext, ToolbarContribution, ToolbarGroup, ToolbarPlacement, ToolbarSurface } from "../../canvas-core/index";
2
- export declare class CanvasToolbarRegistry {
3
- private readonly contributions;
4
- private readonly contributionsBySurface;
5
- private readonly contributionsBySurfaceAndPlacement;
6
- private readonly contributionIndexes;
7
- private readonly duplicateContributionIds;
8
- private nextContributionIndex;
9
- registerContribution(contribution: ToolbarContribution, options?: {
10
- replace?: boolean;
11
- }): void;
12
- registerEditorRuntimePlugins(plugins: readonly LandEditorRuntimePlugin[]): void;
13
- getDuplicateContributionIds(): string[];
14
- getGroups(surface: ToolbarSurface, context: CanvasActionContext, options?: {
15
- placement?: ToolbarPlacement;
16
- }): ToolbarGroup[];
17
- private addToIndexes;
18
- private removeFromIndexes;
19
- }
20
- export declare function createCanvasToolbarRegistry(plugins?: readonly LandEditorRuntimePlugin[]): CanvasToolbarRegistry;
@@ -1,14 +0,0 @@
1
- export interface RichTextLinkHoverState {
2
- href: string;
3
- path: readonly number[];
4
- rect: DOMRect;
5
- }
6
- export declare function RichTextLinkPopover({ link, onApply, onKeepVisible, onClear, }: {
7
- link: RichTextLinkHoverState | null;
8
- onApply(input: {
9
- path: readonly number[];
10
- href: string | null;
11
- }): void;
12
- onKeepVisible(): void;
13
- onClear(): void;
14
- }): import("react").ReactPortal | null;
@@ -1,8 +0,0 @@
1
- import type { Editor as LandEditor } from "../../canvas-core/index";
2
- import type { Editor as TiptapEditor } from "@tiptap/react";
3
- export declare function isRichTextToolbarTarget(target: EventTarget | null): boolean;
4
- export declare function RichTextToolbar({ editor, landEditor, version: _version, }: {
5
- editor: TiptapEditor;
6
- landEditor: LandEditor;
7
- version: number;
8
- }): import("react/jsx-runtime").JSX.Element | null;
@@ -1,7 +0,0 @@
1
- import { type Editor as LandEditor } from "../../canvas-core/index";
2
- import type { Editor as TiptapEditor } from "@tiptap/react";
3
- export declare const RICH_TEXT_BUBBLE_MENU_PLUGIN_KEY = "land.rich-text-bubble-menu";
4
- export declare function useRichTextBubbleMenuPositionSync({ landEditor, textEditor, }: {
5
- landEditor: LandEditor;
6
- textEditor: TiptapEditor;
7
- }): void;