oasis-editor 0.0.1

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 (287) hide show
  1. package/README.md +1 -0
  2. package/dist/__tests__/app/PersistenceService.test.d.ts +1 -0
  3. package/dist/__tests__/app/footnoteUiCommands.test.d.ts +1 -0
  4. package/dist/__tests__/commands/text.test.d.ts +1 -0
  5. package/dist/__tests__/core/editorPluginIntegration.test.d.ts +1 -0
  6. package/dist/__tests__/core/editorState.test.d.ts +1 -0
  7. package/dist/__tests__/core/footnotes.test.d.ts +1 -0
  8. package/dist/__tests__/core/model.test.d.ts +1 -0
  9. package/dist/__tests__/core/pluginCollection.test.d.ts +1 -0
  10. package/dist/__tests__/core/tableCommands.test.d.ts +1 -0
  11. package/dist/__tests__/export/docxExport.test.d.ts +1 -0
  12. package/dist/__tests__/export/footnotesExport.test.d.ts +1 -0
  13. package/dist/__tests__/export/pdfWriter.test.d.ts +1 -0
  14. package/dist/__tests__/export/underlineStyle.test.d.ts +1 -0
  15. package/dist/__tests__/import/docxComplexSmoke.test.d.ts +1 -0
  16. package/dist/__tests__/import/docxImport.test.d.ts +1 -0
  17. package/dist/__tests__/import/footnotesImport.test.d.ts +1 -0
  18. package/dist/__tests__/integration/documentFlow.test.d.ts +1 -0
  19. package/dist/__tests__/ui/CanvasTableLayout.test.d.ts +1 -0
  20. package/dist/__tests__/ui/canvasHitTestService.test.d.ts +1 -0
  21. package/dist/__tests__/ui/canvasLayoutSnapshot.test.d.ts +1 -0
  22. package/dist/__tests__/ui/canvasSelectionGeometry.test.d.ts +1 -0
  23. package/dist/__tests__/ui/canvasTextRendering.test.d.ts +1 -0
  24. package/dist/__tests__/ui/composeMeasuredParagraphLines.test.d.ts +1 -0
  25. package/dist/__tests__/ui/dialog.test.d.ts +1 -0
  26. package/dist/__tests__/ui/fontDialog.test.d.ts +1 -0
  27. package/dist/__tests__/ui/footnotesLayout.test.d.ts +1 -0
  28. package/dist/__tests__/ui/layoutIdentity.test.d.ts +1 -0
  29. package/dist/__tests__/ui/layoutProjection.test.d.ts +1 -0
  30. package/dist/__tests__/ui/registry.test.d.ts +1 -0
  31. package/dist/__tests__/ui/tabs.test.d.ts +1 -0
  32. package/dist/__tests__/ui/textMeasurementAlignment.test.d.ts +1 -0
  33. package/dist/__tests__/word-parity/fixtures/corpus.d.ts +10 -0
  34. package/dist/__tests__/word-parity/fixtures/loremFixtures.d.ts +8 -0
  35. package/dist/__tests__/word-parity/wordLayout.word-parity.d.ts +1 -0
  36. package/dist/app/bootstrap/createOasisEditorApp.d.ts +6 -0
  37. package/dist/app/bootstrap/createOasisEditorContainer.d.ts +6 -0
  38. package/dist/app/clipboard/htmlClipboardParser.d.ts +3 -0
  39. package/dist/app/controllers/EditorCommandRegistry.d.ts +23 -0
  40. package/dist/app/controllers/EditorCommandsController.d.ts +53 -0
  41. package/dist/app/controllers/documentIO/DocumentExporter.d.ts +11 -0
  42. package/dist/app/controllers/documentIO/DocumentImporter.d.ts +17 -0
  43. package/dist/app/controllers/documentIO/ImageInsertionService.d.ts +14 -0
  44. package/dist/app/controllers/documentIO/downloadBlob.d.ts +1 -0
  45. package/dist/app/controllers/tableOpsCellSpanCommands.d.ts +21 -0
  46. package/dist/app/controllers/tableOpsGuards.d.ts +19 -0
  47. package/dist/app/controllers/tableOpsMutationCommands.d.ts +4 -0
  48. package/dist/app/controllers/tableOpsRowColumnCommands.d.ts +12 -0
  49. package/dist/app/controllers/tableOpsSelectionAwareCommands.d.ts +20 -0
  50. package/dist/app/controllers/tableOpsSelectionNavigation.d.ts +7 -0
  51. package/dist/app/controllers/tableOpsSelectionRanges.d.ts +34 -0
  52. package/dist/app/controllers/useEditorClipboard.d.ts +28 -0
  53. package/dist/app/controllers/useEditorDocumentIO.d.ts +31 -0
  54. package/dist/app/controllers/useEditorFindReplace.d.ts +28 -0
  55. package/dist/app/controllers/useEditorHistoryActions.d.ts +21 -0
  56. package/dist/app/controllers/useEditorImageOperations.d.ts +72 -0
  57. package/dist/app/controllers/useEditorKeyboard.d.ts +50 -0
  58. package/dist/app/controllers/useEditorLayout.d.ts +42 -0
  59. package/dist/app/controllers/useEditorNavigation.d.ts +22 -0
  60. package/dist/app/controllers/useEditorPersistence.d.ts +16 -0
  61. package/dist/app/controllers/useEditorRevision.d.ts +12 -0
  62. package/dist/app/controllers/useEditorStyle.d.ts +23 -0
  63. package/dist/app/controllers/useEditorSurfaceEvents.d.ts +44 -0
  64. package/dist/app/controllers/useEditorTableDrag.d.ts +29 -0
  65. package/dist/app/controllers/useEditorTableOperations.d.ts +45 -0
  66. package/dist/app/controllers/useEditorTableResize.d.ts +32 -0
  67. package/dist/app/controllers/useEditorTextDrag.d.ts +38 -0
  68. package/dist/app/controllers/useEditorTextInput.d.ts +27 -0
  69. package/dist/app/services/FindReplaceService.d.ts +12 -0
  70. package/dist/app/services/PersistenceService.d.ts +11 -0
  71. package/dist/assets/Arimo-Bold.ttf +0 -0
  72. package/dist/assets/Arimo-BoldItalic.ttf +0 -0
  73. package/dist/assets/Arimo-Italic.ttf +0 -0
  74. package/dist/assets/Arimo-Regular.ttf +0 -0
  75. package/dist/assets/Carlito-Bold.ttf +0 -0
  76. package/dist/assets/Carlito-BoldItalic.ttf +0 -0
  77. package/dist/assets/Carlito-Italic.ttf +0 -0
  78. package/dist/assets/Carlito-Regular.ttf +0 -0
  79. package/dist/assets/Roboto-Italic.ttf +0 -0
  80. package/dist/assets/Roboto-Medium.ttf +0 -0
  81. package/dist/assets/Roboto-MediumItalic.ttf +0 -0
  82. package/dist/assets/Roboto-Regular.ttf +0 -0
  83. package/dist/assets/Tinos-Bold.ttf +0 -0
  84. package/dist/assets/Tinos-BoldItalic.ttf +0 -0
  85. package/dist/assets/Tinos-Italic.ttf +0 -0
  86. package/dist/assets/Tinos-Regular.ttf +0 -0
  87. package/dist/assets/importDocxWorker-DIQ28Lka.js +12 -0
  88. package/dist/core/Editor.d.ts +33 -0
  89. package/dist/core/cloneState.d.ts +8 -0
  90. package/dist/core/commands/CommandBus.d.ts +9 -0
  91. package/dist/core/commands/CommandRef.d.ts +10 -0
  92. package/dist/core/commands/CommandRegistry.d.ts +10 -0
  93. package/dist/core/commands/block.d.ts +11 -0
  94. package/dist/core/commands/clipboard.d.ts +13 -0
  95. package/dist/core/commands/footnotes.d.ts +27 -0
  96. package/dist/core/commands/history.d.ts +7 -0
  97. package/dist/core/commands/image.d.ts +15 -0
  98. package/dist/core/commands/link.d.ts +4 -0
  99. package/dist/core/commands/list.d.ts +10 -0
  100. package/dist/core/commands/misc.d.ts +3 -0
  101. package/dist/core/commands/selection.d.ts +12 -0
  102. package/dist/core/commands/table.d.ts +10 -0
  103. package/dist/core/commands/text.d.ts +12 -0
  104. package/dist/core/commands/utils.d.ts +69 -0
  105. package/dist/core/editorCommands.d.ts +14 -0
  106. package/dist/core/editorState.d.ts +66 -0
  107. package/dist/core/engine.d.ts +13 -0
  108. package/dist/core/footnotes.d.ts +42 -0
  109. package/dist/core/headings.d.ts +9 -0
  110. package/dist/core/model/queries.d.ts +8 -0
  111. package/dist/core/model.d.ts +447 -0
  112. package/dist/core/plugin.d.ts +64 -0
  113. package/dist/core/plugins/PluginCollection.d.ts +16 -0
  114. package/dist/core/selection.d.ts +19 -0
  115. package/dist/core/tableLayout.d.ts +13 -0
  116. package/dist/core/textStyleMappings.d.ts +8 -0
  117. package/dist/core/wordBoundaries.d.ts +7 -0
  118. package/dist/demo/OasisSiteApp.d.ts +1 -0
  119. package/dist/export/docx/docxTypes.d.ts +66 -0
  120. package/dist/export/docx/exportEditorDocumentToDocx.d.ts +4 -0
  121. package/dist/export/docx/footnotesXml.d.ts +40 -0
  122. package/dist/export/docx/tableXml.d.ts +4 -0
  123. package/dist/export/docx/textXml.d.ts +6 -0
  124. package/dist/export/docx/xmlUtils.d.ts +10 -0
  125. package/dist/export/pdf/OasisPdfWriter.d.ts +93 -0
  126. package/dist/export/pdf/draw/drawBlockList.d.ts +5 -0
  127. package/dist/export/pdf/draw/drawFragment.d.ts +7 -0
  128. package/dist/export/pdf/draw/drawPageBackground.d.ts +3 -0
  129. package/dist/export/pdf/draw/drawParagraph.d.ts +5 -0
  130. package/dist/export/pdf/draw/drawTable.d.ts +5 -0
  131. package/dist/export/pdf/draw/fragmentGeometry.d.ts +12 -0
  132. package/dist/export/pdf/draw/lists.d.ts +6 -0
  133. package/dist/export/pdf/exportEditorDocumentToPdf.d.ts +4 -0
  134. package/dist/export/pdf/fonts/PdfFontRegistry.d.ts +28 -0
  135. package/dist/export/pdf/fonts/collectPdfFontFamilies.d.ts +3 -0
  136. package/dist/export/pdf/images.d.ts +4 -0
  137. package/dist/export/pdf/layout/PdfTextMeasurer.d.ts +24 -0
  138. package/dist/export/pdf/layout/layoutParagraph.d.ts +37 -0
  139. package/dist/export/pdf/units.d.ts +6 -0
  140. package/dist/i18n/index.d.ts +7 -0
  141. package/dist/i18n/locales/en.d.ts +251 -0
  142. package/dist/i18n/locales/pt-BR.d.ts +251 -0
  143. package/dist/import/docx/assetRegistry.d.ts +18 -0
  144. package/dist/import/docx/footnotes.d.ts +17 -0
  145. package/dist/import/docx/headerFooter.d.ts +7 -0
  146. package/dist/import/docx/importDocxInWorker.d.ts +8 -0
  147. package/dist/import/docx/importDocxToEditorDocument.d.ts +7 -0
  148. package/dist/import/docx/importDocxWorker.d.ts +1 -0
  149. package/dist/import/docx/numbering.d.ts +9 -0
  150. package/dist/import/docx/paragraphs.d.ts +12 -0
  151. package/dist/import/docx/relationships.d.ts +4 -0
  152. package/dist/import/docx/runs.d.ts +41 -0
  153. package/dist/import/docx/sectionProperties.d.ts +16 -0
  154. package/dist/import/docx/settings.d.ts +4 -0
  155. package/dist/import/docx/styles.d.ts +24 -0
  156. package/dist/import/docx/tables.d.ts +8 -0
  157. package/dist/import/docx/themeFonts.d.ts +12 -0
  158. package/dist/import/docx/units.d.ts +9 -0
  159. package/dist/import/docx/xmlHelpers.d.ts +15 -0
  160. package/dist/index.d.ts +43 -0
  161. package/dist/layoutProjection/blockHeights.d.ts +1 -0
  162. package/dist/layoutProjection/blocksPagination.d.ts +18 -0
  163. package/dist/layoutProjection/constants.d.ts +1 -0
  164. package/dist/layoutProjection/documentLayout.d.ts +7 -0
  165. package/dist/layoutProjection/footnotePagination.d.ts +21 -0
  166. package/dist/layoutProjection/headerFooterFootnotes.d.ts +4 -0
  167. package/dist/layoutProjection/headerFooterProjection.d.ts +14 -0
  168. package/dist/layoutProjection/index.d.ts +7 -0
  169. package/dist/layoutProjection/paragraphPagination.d.ts +20 -0
  170. package/dist/layoutProjection/paragraphProjection.d.ts +1 -0
  171. package/dist/layoutProjection/sectionPagination.d.ts +35 -0
  172. package/dist/layoutProjection/tablePagination.d.ts +14 -0
  173. package/dist/layoutProjection/tableProjection.d.ts +1 -0
  174. package/dist/main.d.ts +1 -0
  175. package/dist/oasis-editor.css +1 -0
  176. package/dist/oasis-editor.js +80464 -0
  177. package/dist/oasis-editor.umd.cjs +24 -0
  178. package/dist/plugins/internal/createEssentialsPlugin.d.ts +135 -0
  179. package/dist/plugins/internal/essentialsCommandBuilders.d.ts +10 -0
  180. package/dist/plugins/internal/essentialsCommandGroups.d.ts +39 -0
  181. package/dist/testing/wordLayoutParity.d.ts +62 -0
  182. package/dist/ui/OasisEditorApp.d.ts +4 -0
  183. package/dist/ui/OasisEditorAppProps.d.ts +49 -0
  184. package/dist/ui/OasisEditorContainer.d.ts +6 -0
  185. package/dist/ui/OasisEditorEditor.d.ts +103 -0
  186. package/dist/ui/app/EditorDialogsLayer.d.ts +26 -0
  187. package/dist/ui/app/EditorDragLayers.d.ts +20 -0
  188. package/dist/ui/app/EditorWorkspace.d.ts +37 -0
  189. package/dist/ui/app/buildEditorViewProps.d.ts +59 -0
  190. package/dist/ui/app/createEditorEssentialsPlugin.d.ts +42 -0
  191. package/dist/ui/app/createRuntimeCommandHost.d.ts +29 -0
  192. package/dist/ui/app/fontOptions.d.ts +5 -0
  193. package/dist/ui/app/shouldShowCaret.d.ts +9 -0
  194. package/dist/ui/app/useCanvasSurfaceHitResolver.d.ts +16 -0
  195. package/dist/ui/app/useEditorAppState.d.ts +11 -0
  196. package/dist/ui/app/useEditorContextMenuClipboard.d.ts +33 -0
  197. package/dist/ui/app/useEditorDialogs.d.ts +38 -0
  198. package/dist/ui/app/useEditorFocus.d.ts +11 -0
  199. package/dist/ui/app/useEditorFontOptions.d.ts +17 -0
  200. package/dist/ui/app/useEditorInteractionWiring.d.ts +64 -0
  201. package/dist/ui/app/useEditorRuntimeBootstrap.d.ts +33 -0
  202. package/dist/ui/app/useEditorRuntimePlugins.d.ts +14 -0
  203. package/dist/ui/app/useEditorTransactions.d.ts +20 -0
  204. package/dist/ui/app/useEditorUiOptions.d.ts +24 -0
  205. package/dist/ui/app/useFontDialogBridge.d.ts +31 -0
  206. package/dist/ui/canvas/CanvasDebug.d.ts +125 -0
  207. package/dist/ui/canvas/CanvasGeometry.d.ts +35 -0
  208. package/dist/ui/canvas/CanvasHitTestService.d.ts +37 -0
  209. package/dist/ui/canvas/CanvasLayoutSnapshot.d.ts +93 -0
  210. package/dist/ui/canvas/CanvasSelectionGeometry.d.ts +20 -0
  211. package/dist/ui/canvas/CanvasTableLayout.d.ts +65 -0
  212. package/dist/ui/canvas/canvasBlockPainter.d.ts +4 -0
  213. package/dist/ui/canvas/canvasImageCache.d.ts +1 -0
  214. package/dist/ui/canvas/canvasPageRenderer.d.ts +18 -0
  215. package/dist/ui/canvas/canvasParagraphPainter.d.ts +12 -0
  216. package/dist/ui/canvas/canvasTablePainter.d.ts +3 -0
  217. package/dist/ui/canvas/listNumbering.d.ts +3 -0
  218. package/dist/ui/caretGeometry.d.ts +30 -0
  219. package/dist/ui/clipboardImage.d.ts +2 -0
  220. package/dist/ui/components/CanvasEditorSurface.d.ts +5 -0
  221. package/dist/ui/components/CaretOverlay.d.ts +9 -0
  222. package/dist/ui/components/ContextMenu/ContextMenu.d.ts +19 -0
  223. package/dist/ui/components/Dialogs/Dialog.d.ts +17 -0
  224. package/dist/ui/components/Dialogs/FontDialog.d.ts +67 -0
  225. package/dist/ui/components/Dialogs/FontDialogModel.d.ts +15 -0
  226. package/dist/ui/components/Dialogs/ImageAltDialog.d.ts +8 -0
  227. package/dist/ui/components/Dialogs/LineSpacingDialog.d.ts +17 -0
  228. package/dist/ui/components/Dialogs/LinkDialog.d.ts +8 -0
  229. package/dist/ui/components/DropCaret.d.ts +16 -0
  230. package/dist/ui/components/FindReplace/FindReplaceDialog.d.ts +7 -0
  231. package/dist/ui/components/FloatingToolbar/FloatingTableToolbar.d.ts +11 -0
  232. package/dist/ui/components/Menubar/Menubar.d.ts +7 -0
  233. package/dist/ui/components/Menubar/defaultMenuItems.d.ts +3 -0
  234. package/dist/ui/components/Menubar/menuRegistry.d.ts +28 -0
  235. package/dist/ui/components/Outline/OutlinePanel.d.ts +10 -0
  236. package/dist/ui/components/PageBreak.d.ts +4 -0
  237. package/dist/ui/components/RevisionOverlay.d.ts +6 -0
  238. package/dist/ui/components/SelectionOverlay.d.ts +11 -0
  239. package/dist/ui/components/Tabs/Tabs.d.ts +18 -0
  240. package/dist/ui/components/TitleBar/TitleBar.d.ts +6 -0
  241. package/dist/ui/components/Toolbar/LineSpacingButton.d.ts +6 -0
  242. package/dist/ui/components/Toolbar/Toolbar.d.ts +15 -0
  243. package/dist/ui/components/Toolbar/ToolbarOverflowManager.d.ts +13 -0
  244. package/dist/ui/components/Toolbar/controls/ListOptionsControl.d.ts +7 -0
  245. package/dist/ui/components/Toolbar/controls/UnderlineControl.d.ts +10 -0
  246. package/dist/ui/components/Toolbar/groups/MetricGroup.d.ts +6 -0
  247. package/dist/ui/components/Toolbar/groups/SectionGroup.d.ts +6 -0
  248. package/dist/ui/components/Toolbar/groups/TableGroup.d.ts +6 -0
  249. package/dist/ui/components/Toolbar/presets/defaultPalette.d.ts +4 -0
  250. package/dist/ui/components/Toolbar/presets/defaultToolbar.d.ts +9 -0
  251. package/dist/ui/components/Toolbar/primitives/Button.d.ts +11 -0
  252. package/dist/ui/components/Toolbar/primitives/ColorPicker.d.ts +22 -0
  253. package/dist/ui/components/Toolbar/primitives/GridPicker.d.ts +12 -0
  254. package/dist/ui/components/Toolbar/primitives/Menu.d.ts +20 -0
  255. package/dist/ui/components/Toolbar/primitives/Popover.d.ts +34 -0
  256. package/dist/ui/components/Toolbar/primitives/Select.d.ts +12 -0
  257. package/dist/ui/components/Toolbar/primitives/Separator.d.ts +6 -0
  258. package/dist/ui/components/Toolbar/primitives/SplitButton.d.ts +30 -0
  259. package/dist/ui/components/Toolbar/primitives/useDismiss.d.ts +15 -0
  260. package/dist/ui/components/Toolbar/primitives/usePopoverPosition.d.ts +31 -0
  261. package/dist/ui/components/Toolbar/registry/ToolbarRegistry.d.ts +23 -0
  262. package/dist/ui/components/Toolbar/renderers/ToolbarItemRenderer.d.ts +13 -0
  263. package/dist/ui/components/Toolbar/renderers/renderers.d.ts +14 -0
  264. package/dist/ui/components/Toolbar/schema/items.d.ts +136 -0
  265. package/dist/ui/components/Toolbar/schema/palette.d.ts +15 -0
  266. package/dist/ui/components/Toolbar/state/bindItem.d.ts +28 -0
  267. package/dist/ui/components/Toolbar/state/createToolbarApi.d.ts +14 -0
  268. package/dist/ui/components/Toolbar/underlineStyles.d.ts +16 -0
  269. package/dist/ui/editorHistory.d.ts +25 -0
  270. package/dist/ui/editorUiTypes.d.ts +65 -0
  271. package/dist/ui/imageGeometry.d.ts +15 -0
  272. package/dist/ui/layoutIdentity.d.ts +23 -0
  273. package/dist/ui/layoutInvalidation.d.ts +9 -0
  274. package/dist/ui/mount.d.ts +10 -0
  275. package/dist/ui/shells/BalloonShell.d.ts +3 -0
  276. package/dist/ui/shells/DocumentShell.d.ts +29 -0
  277. package/dist/ui/shells/InlineShell.d.ts +3 -0
  278. package/dist/ui/tableGeometry.d.ts +16 -0
  279. package/dist/ui/tableUiUtils.d.ts +5 -0
  280. package/dist/ui/textMeasurement.d.ts +14 -0
  281. package/dist/ui/toolbarStyleState.d.ts +46 -0
  282. package/dist/ui/utils/IconManager.d.ts +2 -0
  283. package/dist/utils/indexeddb.d.ts +12 -0
  284. package/dist/utils/logger.d.ts +22 -0
  285. package/dist/utils/performanceMetrics.d.ts +58 -0
  286. package/dist/utils/throttle.d.ts +4 -0
  287. package/package.json +65 -0
@@ -0,0 +1,65 @@
1
+ import { EditorParagraphNode, EditorPosition, EditorState, EditorTableNode } from '../../../../core/model.js';
2
+ import { projectParagraphLayout } from '../../../../layoutProjection/index.js';
3
+
4
+ export type CanvasUnsupportedReason = "unsupported:v-span" | "unsupported:v-merge" | "unsupported:nested-table";
5
+ export interface CanvasTableBorderSpec {
6
+ width: number;
7
+ color: string;
8
+ type: "solid" | "dashed" | "dotted" | "none";
9
+ }
10
+ export interface CanvasTableParagraphLayoutEntry {
11
+ paragraph: EditorParagraphNode;
12
+ lines: ReturnType<typeof projectParagraphLayout>["lines"];
13
+ originX: number;
14
+ originY: number;
15
+ width: number;
16
+ height: number;
17
+ }
18
+ export interface CanvasTableCellLayoutEntry {
19
+ tableId: string;
20
+ rowIndex: number;
21
+ cellIndex: number;
22
+ left: number;
23
+ top: number;
24
+ width: number;
25
+ height: number;
26
+ contentLeft: number;
27
+ contentTop: number;
28
+ contentWidth: number;
29
+ contentHeight: number;
30
+ shading?: string;
31
+ anchorPosition: EditorPosition;
32
+ padding: {
33
+ top: number;
34
+ right: number;
35
+ bottom: number;
36
+ left: number;
37
+ };
38
+ borders: {
39
+ top: CanvasTableBorderSpec;
40
+ right: CanvasTableBorderSpec;
41
+ bottom: CanvasTableBorderSpec;
42
+ left: CanvasTableBorderSpec;
43
+ };
44
+ paragraphs: CanvasTableParagraphLayoutEntry[];
45
+ }
46
+ export interface CanvasTableLayoutResult {
47
+ tableId: string;
48
+ left: number;
49
+ top: number;
50
+ width: number;
51
+ height: number;
52
+ rowHeights: number[];
53
+ cells: CanvasTableCellLayoutEntry[];
54
+ unsupported: CanvasUnsupportedReason[];
55
+ }
56
+ export declare function buildCanvasTableLayout(options: {
57
+ table: EditorTableNode;
58
+ state: EditorState;
59
+ pageIndex: number;
60
+ layoutMode: "fast" | "wordParity";
61
+ originX: number;
62
+ originY: number;
63
+ contentWidth: number;
64
+ estimatedHeight: number;
65
+ }): CanvasTableLayoutResult;
@@ -0,0 +1,4 @@
1
+ import { EditorLayoutBlock, EditorState } from '../../../../core/model.js';
2
+
3
+ export declare function renderBlockList(ctx: CanvasRenderingContext2D, state: EditorState, blocks: EditorLayoutBlock[], originX: number, originY: number, contentWidth: number, pageIndex: number, onUpdate: () => void): void;
4
+ export declare function renderFootnoteBlockList(ctx: CanvasRenderingContext2D, state: EditorState, blocks: EditorLayoutBlock[], footnoteReferenceIds: string[], originX: number, originY: number, contentWidth: number, pageIndex: number, onUpdate: () => void): void;
@@ -0,0 +1 @@
1
+ export declare function getCachedCanvasImage(src: string, onUpdate: () => void): HTMLImageElement;
@@ -0,0 +1,18 @@
1
+ import { EditorLayoutPage, EditorState } from '../../../../core/model.js';
2
+
3
+ export declare function resolveCanvasFooterZoneTop(page: Pick<EditorLayoutPage, "pageSettings" | "bodyTop" | "footerTop">): number;
4
+ type CanvasGetter = () => HTMLCanvasElement | undefined;
5
+ type PageGetter = () => EditorLayoutPage;
6
+ type StateGetter = () => EditorState;
7
+ export declare function createCanvasPageRenderer(options: {
8
+ getCanvas: CanvasGetter;
9
+ getPage: PageGetter;
10
+ getState: StateGetter;
11
+ }): {
12
+ schedulePaint: () => void;
13
+ invalidatePage: () => void;
14
+ invalidateDecorations: () => void;
15
+ invalidateActiveZone: () => void;
16
+ dispose(): void;
17
+ };
18
+ export {};
@@ -0,0 +1,12 @@
1
+ import { EditorLayoutLine, EditorParagraphNode, EditorState } from '../../../../core/model.js';
2
+
3
+ export declare function resolveCanvasTextRenderMetrics(styles: {
4
+ superscript?: boolean;
5
+ subscript?: boolean;
6
+ smallCaps?: boolean;
7
+ baselineShift?: number | null;
8
+ } | undefined, fontSize: number): {
9
+ fontSize: number;
10
+ baselineOffset: number;
11
+ };
12
+ export declare function drawParagraph(ctx: CanvasRenderingContext2D, paragraph: EditorParagraphNode, lines: EditorLayoutLine[], state: EditorState, originX: number, originY: number, onUpdate: () => void): void;
@@ -0,0 +1,3 @@
1
+ import { EditorLayoutBlock, EditorState, EditorTableNode } from '../../../../core/model.js';
2
+
3
+ export declare function drawTable(ctx: CanvasRenderingContext2D, table: EditorTableNode, tableSegment: EditorLayoutBlock["tableSegment"] | undefined, state: EditorState, originX: number, originY: number, contentWidth: number, estimatedHeight: number, pageIndex: number, onUpdate: () => void): void;
@@ -0,0 +1,3 @@
1
+ import { EditorDocument, EditorParagraphNode } from '../../../../core/model.js';
2
+
3
+ export declare function resolveListPrefix(paragraph: EditorParagraphNode, document: EditorDocument): string;
@@ -0,0 +1,30 @@
1
+ export interface CaretSlotRect {
2
+ left: number;
3
+ top: number;
4
+ height: number;
5
+ }
6
+ export interface CaretSlotCandidate extends CaretSlotRect {
7
+ offset: number;
8
+ }
9
+ type LineBoundary = "first" | "last";
10
+ export interface CharRect {
11
+ left: number;
12
+ right: number;
13
+ top: number;
14
+ bottom: number;
15
+ height: number;
16
+ }
17
+ export interface MeasuredLine {
18
+ index: number;
19
+ startOffset: number;
20
+ endOffset: number;
21
+ top: number;
22
+ height: number;
23
+ charRects: CharRect[];
24
+ slots: CaretSlotCandidate[];
25
+ }
26
+ export declare function measureLinesFromRects(charRects: CharRect[]): MeasuredLine[];
27
+ export declare function getCaretSlotRects(charRects: CharRect[]): CaretSlotRect[];
28
+ export declare function resolveClosestOffsetForBoundaryLine(charRects: CharRect[], clientX: number, boundary: LineBoundary): number;
29
+ export declare function resolveClosestOffsetFromRects(charRects: CharRect[], clientX: number, clientY: number): number;
30
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare function readFileBuffer(file: File): Promise<ArrayBuffer>;
2
+ export declare function findImageFileFromTransfer(transfer: Pick<DataTransfer, "files" | "items"> | null | undefined): File | null;
@@ -0,0 +1,5 @@
1
+ import { EditorSurfaceProps } from '../../../editorUiTypes.js';
2
+
3
+ export { resolveCanvasTextRenderMetrics } from '../../../canvas/canvasParagraphPainter.js';
4
+ export { resolveCanvasFooterZoneTop } from '../../../canvas/canvasPageRenderer.js';
5
+ export declare function CanvasEditorSurface(props: EditorSurfaceProps): import("solid-js").JSX.Element;
@@ -0,0 +1,9 @@
1
+ interface CaretOverlayProps {
2
+ active: boolean;
3
+ left: number;
4
+ top: number;
5
+ height: number;
6
+ fixed?: boolean;
7
+ }
8
+ export declare function CaretOverlay(props: CaretOverlayProps): import("solid-js").JSX.Element;
9
+ export {};
@@ -0,0 +1,19 @@
1
+
2
+ export interface ContextMenuItem {
3
+ id: string;
4
+ type?: "item" | "separator";
5
+ label?: string;
6
+ icon?: string;
7
+ shortcut?: string;
8
+ disabled?: boolean;
9
+ testId?: string;
10
+ onSelect?: () => void;
11
+ }
12
+ export interface ContextMenuProps {
13
+ isOpen: boolean;
14
+ x: number;
15
+ y: number;
16
+ items: ContextMenuItem[];
17
+ onClose: () => void;
18
+ }
19
+ export declare function ContextMenu(props: ContextMenuProps): import("solid-js").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { JSX } from '../../../solid-js';
2
+
3
+ export interface DialogProps {
4
+ isOpen: boolean;
5
+ title: string;
6
+ onClose: () => void;
7
+ children: JSX.Element;
8
+ footer?: JSX.Element;
9
+ class?: string;
10
+ bodyClass?: string;
11
+ titleId?: string;
12
+ ariaLabel?: string;
13
+ ariaDescribedBy?: string;
14
+ size?: "sm" | "md" | "lg" | "font";
15
+ closeOnOverlayClick?: boolean;
16
+ }
17
+ export declare function Dialog(props: DialogProps): JSX.Element;
@@ -0,0 +1,67 @@
1
+ import { EditorLigatures, EditorNumberForm, EditorNumberSpacing, EditorUnderlineStyle } from '../../../../../../core/model.js';
2
+
3
+ export interface FontDialogInitialValues {
4
+ fontFamily: string;
5
+ fontSize: string;
6
+ color: string;
7
+ colorMode: "automatic" | "custom";
8
+ highlight: string;
9
+ bold: boolean;
10
+ italic: boolean;
11
+ underline: boolean;
12
+ underlineStyle: EditorUnderlineStyle | null;
13
+ underlineColor: string;
14
+ strike: boolean;
15
+ doubleStrike: boolean;
16
+ superscript: boolean;
17
+ subscript: boolean;
18
+ smallCaps: boolean;
19
+ allCaps: boolean;
20
+ hidden: boolean;
21
+ characterScale: string;
22
+ characterSpacing: string;
23
+ baselineShift: string;
24
+ kerningThreshold: string;
25
+ ligatures: EditorLigatures | "";
26
+ numberSpacing: EditorNumberSpacing | "";
27
+ numberForm: EditorNumberForm | "";
28
+ stylisticSet: string;
29
+ contextualAlternates: boolean;
30
+ }
31
+ export interface FontDialogApplyValues {
32
+ fontFamily: string | null;
33
+ fontSize: number | null;
34
+ color: string | null;
35
+ colorMode: "automatic" | "custom";
36
+ highlight: string | null;
37
+ bold: boolean;
38
+ italic: boolean;
39
+ underline: boolean;
40
+ underlineStyle: EditorUnderlineStyle | null;
41
+ underlineColor: string | null;
42
+ strike: boolean;
43
+ doubleStrike: boolean;
44
+ superscript: boolean;
45
+ subscript: boolean;
46
+ smallCaps: boolean;
47
+ allCaps: boolean;
48
+ hidden: boolean;
49
+ characterScale: number | null;
50
+ characterSpacing: number | null;
51
+ baselineShift: number | null;
52
+ kerningThreshold: number | null;
53
+ ligatures: EditorLigatures | null;
54
+ numberSpacing: EditorNumberSpacing | null;
55
+ numberForm: EditorNumberForm | null;
56
+ stylisticSet: number | null;
57
+ contextualAlternates: boolean;
58
+ }
59
+ export interface FontDialogProps {
60
+ isOpen: boolean;
61
+ initial: FontDialogInitialValues;
62
+ familyOptions: string[];
63
+ sizeOptions: number[];
64
+ onClose: () => void;
65
+ onApply: (values: FontDialogApplyValues, original: FontDialogInitialValues) => void;
66
+ }
67
+ export declare function FontDialog(props: FontDialogProps): import("solid-js").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { EditorLigatures, EditorNumberForm, EditorNumberSpacing } from '../../../../../../core/model.js';
2
+
3
+ export type FontDialogSpacingMode = "normal" | "expanded" | "condensed";
4
+ export type FontDialogPositionMode = "normal" | "raised" | "lowered";
5
+ export type FontFaceStyle = "regular" | "italic" | "bold" | "boldItalic";
6
+ export declare function parsePositiveNumber(value: string): number | null;
7
+ export declare function parseNonNegativeNumber(value: string): number | null;
8
+ export declare function formatNullableNumber(value: string | number | null | undefined): string;
9
+ export declare function resolveSpacingMode(value: string | number | null | undefined): FontDialogSpacingMode;
10
+ export declare function resolvePositionMode(value: string | number | null | undefined): FontDialogPositionMode;
11
+ export declare function parseStylisticSet(value: string): number | null;
12
+ export declare function ligaturesToCss(value: EditorLigatures | ""): string | undefined;
13
+ export declare function numericToCss(numberSpacing: EditorNumberSpacing | "", numberForm: EditorNumberForm | ""): string | undefined;
14
+ export declare function featureSettingsToCss(stylisticSet: string, contextualAlternates: boolean): string | undefined;
15
+ export declare function resolveFontFaceStyle(bold: boolean, italic: boolean): FontFaceStyle;
@@ -0,0 +1,8 @@
1
+ interface ImageAltDialogProps {
2
+ isOpen: boolean;
3
+ initialAlt: string;
4
+ onClose: () => void;
5
+ onConfirm: (alt: string) => void;
6
+ }
7
+ export declare function ImageAltDialog(props: ImageAltDialogProps): import("solid-js").JSX.Element;
8
+ export {};
@@ -0,0 +1,17 @@
1
+ export interface LineSpacingDialogInitialValues {
2
+ lineHeight: string;
3
+ spacingBefore: string;
4
+ spacingAfter: string;
5
+ }
6
+ export interface LineSpacingDialogApplyValues {
7
+ lineHeight: number | null;
8
+ spacingBefore: number | null;
9
+ spacingAfter: number | null;
10
+ }
11
+ export interface LineSpacingDialogProps {
12
+ isOpen: boolean;
13
+ initial: LineSpacingDialogInitialValues;
14
+ onClose: () => void;
15
+ onApply: (values: LineSpacingDialogApplyValues, original: LineSpacingDialogInitialValues) => void;
16
+ }
17
+ export declare function LineSpacingDialog(props: LineSpacingDialogProps): import("solid-js").JSX.Element;
@@ -0,0 +1,8 @@
1
+ interface LinkDialogProps {
2
+ isOpen: boolean;
3
+ initialHref: string;
4
+ onClose: () => void;
5
+ onConfirm: (href: string) => void;
6
+ }
7
+ export declare function LinkDialog(props: LinkDialogProps): import("solid-js").JSX.Element;
8
+ export {};
@@ -0,0 +1,16 @@
1
+ import { EditorState, EditorPosition } from '../../../../core/model.js';
2
+
3
+ export declare function DropCaret(props: {
4
+ surfaceRef: HTMLDivElement | undefined;
5
+ state: EditorState;
6
+ targetPos: () => EditorPosition;
7
+ pointerPos?: () => {
8
+ x: number;
9
+ y: number;
10
+ } | null;
11
+ caretViewport?: () => {
12
+ left: number;
13
+ top: number;
14
+ height: number;
15
+ } | null;
16
+ }): import("solid-js").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { JSX } from '../../../solid-js';
2
+ import { UseEditorFindReplaceResult } from '../../../../../../app/controllers/useEditorFindReplace.js';
3
+
4
+ export interface FindReplaceDialogProps {
5
+ fr: UseEditorFindReplaceResult;
6
+ }
7
+ export declare function FindReplaceDialog(props: FindReplaceDialogProps): JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { Accessor, JSX } from '../../../solid-js';
2
+ import { SelectionBox } from '../../../../../editorUiTypes.js';
3
+ import { ToolbarHost } from '../../../../Toolbar/state/createToolbarApi.js';
4
+
5
+ export interface FloatingTableToolbarProps {
6
+ host: () => ToolbarHost;
7
+ selectionBoxes: Accessor<SelectionBox[]>;
8
+ visible: Accessor<boolean>;
9
+ surfaceRef: () => HTMLElement | undefined;
10
+ }
11
+ export declare function FloatingTableToolbar(props: FloatingTableToolbarProps): JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { JSX } from '../../../solid-js';
2
+ import { MenubarHost } from '../../../menuRegistry.js';
3
+
4
+ export interface MenubarProps {
5
+ host: () => MenubarHost;
6
+ }
7
+ export declare function Menubar(props: MenubarProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { MenuItem } from '../../../menuRegistry.js';
2
+
3
+ export declare const defaultMenuItems: MenuItem[];
@@ -0,0 +1,28 @@
1
+ import { CommandBus } from '../../../../../../core/commands/CommandBus.js';
2
+ import { CommandRef } from '../../../../../../core/commands/CommandRef.js';
3
+ import { TranslationKey } from '../../../../../../i18n/index.js';
4
+ import { ToolbarCommandState } from '../../../../Toolbar/schema/items.js';
5
+
6
+ /** Narrow host the menubar dispatches through — the command registry. */
7
+ export interface MenubarHost {
8
+ commands: CommandBus<ToolbarCommandState>;
9
+ }
10
+ export interface MenuItem {
11
+ id: string;
12
+ path: string;
13
+ command?: CommandRef;
14
+ labelKey?: TranslationKey;
15
+ icon?: string | ((host: MenubarHost) => string);
16
+ shortcut?: string;
17
+ order?: number;
18
+ when?: () => boolean;
19
+ separator?: boolean;
20
+ hidden?: boolean;
21
+ }
22
+ export declare class MenuRegistry {
23
+ private items;
24
+ register(item: MenuItem): void;
25
+ unregister(id: string): void;
26
+ getItems(): MenuItem[];
27
+ }
28
+ export declare const defaultMenuRegistry: MenuRegistry;
@@ -0,0 +1,10 @@
1
+ import { EditorState } from '../../../../../../core/model.js';
2
+
3
+ export interface OutlinePanelProps {
4
+ state: EditorState;
5
+ onNavigate: (paragraphId: string) => void;
6
+ defaultCollapsed?: boolean;
7
+ surfaceRef?: () => HTMLDivElement | undefined;
8
+ viewportRef?: () => HTMLDivElement | undefined;
9
+ }
10
+ export declare function OutlinePanel(props: OutlinePanelProps): import("solid-js").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export interface PageBreakProps {
2
+ pageIndex: number;
3
+ }
4
+ export declare function PageBreak(props: PageBreakProps): import("solid-js").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { RevisionBox } from '../../../editorUiTypes.js';
2
+
3
+ export interface RevisionOverlayProps {
4
+ box: RevisionBox;
5
+ }
6
+ export declare function RevisionOverlay(props: RevisionOverlayProps): import("solid-js").JSX.Element;
@@ -0,0 +1,11 @@
1
+ interface SelectionBox {
2
+ left: number;
3
+ top: number;
4
+ width: number;
5
+ height: number;
6
+ }
7
+ interface SelectionOverlayProps {
8
+ boxes: SelectionBox[];
9
+ }
10
+ export declare function SelectionOverlay(props: SelectionOverlayProps): import("solid-js").JSX.Element;
11
+ export {};
@@ -0,0 +1,18 @@
1
+ import { JSX } from '../../../solid-js';
2
+
3
+ export interface TabsItem {
4
+ id: string;
5
+ label: string;
6
+ panel: JSX.Element;
7
+ disabled?: boolean;
8
+ testId?: string;
9
+ }
10
+ export interface TabsProps {
11
+ items: TabsItem[];
12
+ value?: string;
13
+ defaultValue?: string;
14
+ onChange?: (id: string) => void;
15
+ ariaLabel?: string;
16
+ class?: string;
17
+ }
18
+ export declare function Tabs(props: TabsProps): JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { JSX } from '../../../solid-js';
2
+
3
+ export interface TitleBarProps {
4
+ children?: JSX.Element;
5
+ }
6
+ export declare function TitleBar(props: TitleBarProps): JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { ToolbarActionApi } from '../../../schema/items.js';
2
+
3
+ export interface LineSpacingButtonProps {
4
+ api: ToolbarActionApi;
5
+ }
6
+ export declare function LineSpacingButton(props: LineSpacingButtonProps): import("solid-js").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { JSX } from '../../../solid-js';
2
+ import { ToolbarHost } from '../../../state/createToolbarApi.js';
3
+ import { ToolbarRegistry } from '../../../registry/ToolbarRegistry.js';
4
+
5
+ export interface ToolbarProps {
6
+ host: () => ToolbarHost;
7
+ registry: ToolbarRegistry;
8
+ showFileGroup?: boolean;
9
+ }
10
+ /**
11
+ * Thin, data-driven toolbar renderer: maps the per-instance registry's ordered
12
+ * items to renderers, wrapped by the imperative overflow manager. All layout is
13
+ * data; there is no hardcoded group composition here.
14
+ */
15
+ export declare function Toolbar(props: ToolbarProps): JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { JSX } from '../../../solid-js';
2
+
3
+ /**
4
+ * Manages toolbar overflow by imperatively moving DOM nodes between
5
+ * a visible strip and a hidden overflow menu.
6
+ *
7
+ * Why imperative? Because moving real DOM nodes preserves SolidJS event
8
+ * listeners and internal component state (like open dropdowns) without
9
+ * triggering unmount/remount cycles.
10
+ */
11
+ export declare function ToolbarOverflowManager(props: {
12
+ children: JSX.Element;
13
+ }): JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { JSX } from '../../../../solid-js';
2
+ import { ToolbarActionApi } from '../../../../../schema/items.js';
3
+
4
+ /** List format + start-at options dropdown — command-driven. */
5
+ export declare function ListOptionsControl(props: {
6
+ api: ToolbarActionApi;
7
+ }): JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { JSX } from '../../../../solid-js';
2
+ import { ToolbarActionApi } from '../../../../../schema/items.js';
3
+
4
+ /**
5
+ * Underline split-button control — toggle plus a style picker, dispatching only
6
+ * through the `underline` and `setUnderlineStyle` commands.
7
+ */
8
+ export declare function UnderlineControl(props: {
9
+ api: ToolbarActionApi;
10
+ }): JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { ToolbarActionApi } from '../../../../../schema/items.js';
2
+
3
+ /** Paragraph metrics panel (spacing, indents, shading, borders) — command-driven. */
4
+ export declare function MetricGroup(props: {
5
+ api: ToolbarActionApi;
6
+ }): import("solid-js").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { ToolbarActionApi } from '../../../../../schema/items.js';
2
+
3
+ /** Section page-setup panel (orientation, section breaks) — command-driven. */
4
+ export declare function SectionGroup(props: {
5
+ api: ToolbarActionApi;
6
+ }): import("solid-js").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { ToolbarActionApi } from '../../../../../schema/items.js';
2
+
3
+ /** Table tools panel — command-driven; enablement derives from command state. */
4
+ export declare function TableGroup(props: {
5
+ api: ToolbarActionApi;
6
+ }): import("solid-js").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { ColorPalette } from '../../../../../schema/palette.js';
2
+
3
+ /** The built-in Word-like color palette. Clients may pass their own. */
4
+ export declare const DEFAULT_PALETTE: ColorPalette;
@@ -0,0 +1,9 @@
1
+ import { ToolbarItem } from '../../../../../schema/items.js';
2
+
3
+ /**
4
+ * The built-in toolbar, expressed as data. Every item dispatches through the
5
+ * command registry (the single source of truth) — the editor uses the same
6
+ * public contribution API clients use. Load each item into a registry via
7
+ * `registry.register` (see Toolbar bootstrap).
8
+ */
9
+ export declare function createDefaultToolbarPreset(): ToolbarItem[];
@@ -0,0 +1,11 @@
1
+ import { JSX } from '../../../../solid-js';
2
+
3
+ export interface ToolbarButtonProps extends JSX.ButtonHTMLAttributes<HTMLButtonElement> {
4
+ icon?: string;
5
+ label?: string;
6
+ active?: boolean;
7
+ tooltip?: string;
8
+ wide?: boolean;
9
+ }
10
+ /** Generic toolbar button primitive (icon and/or label, active/disabled). */
11
+ export declare function Button(props: ToolbarButtonProps): JSX.Element;
@@ -0,0 +1,22 @@
1
+ import { JSX } from '../../../../solid-js';
2
+ import { ColorPalette } from '../../../../../schema/palette.js';
3
+
4
+ export type ColorPickerKind = "color" | "highlight";
5
+ export interface ColorPickerProps {
6
+ kind: ColorPickerKind;
7
+ icon: string;
8
+ value: string | null | undefined;
9
+ defaultValue: string;
10
+ lastValue: string;
11
+ tooltip: string;
12
+ testId: string;
13
+ palette: ColorPalette;
14
+ automaticLabel?: string;
15
+ noColorLabel?: string;
16
+ themeColorsLabel: string;
17
+ standardColorsLabel: string;
18
+ moreColorsLabel: string;
19
+ onApply: (value: string | null) => void;
20
+ }
21
+ /** Configurable color/highlight picker. Palette comes from props. */
22
+ export declare function ColorPicker(props: ColorPickerProps): JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { JSX } from '../../../../solid-js';
2
+
3
+ export interface GridPickerProps {
4
+ onSelect: (rows: number, cols: number) => void;
5
+ tooltip?: string;
6
+ testId?: string;
7
+ icon?: string;
8
+ maxRows?: number;
9
+ maxCols?: number;
10
+ }
11
+ /** Hover/keyboard grid size picker (table insertion). Size is configurable. */
12
+ export declare function GridPicker(props: GridPickerProps): JSX.Element;