oasis-editor 0.0.1 → 0.0.2

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 (363) hide show
  1. package/README.md +388 -1
  2. package/dist/OasisEditorApp-DEnDLTaw.js +45893 -0
  3. package/dist/app/bootstrap/createOasisEditorApp.d.ts +2 -3
  4. package/dist/app/bootstrap/createOasisEditorContainer.d.ts +2 -3
  5. package/dist/app/client/OasisEditorClient.d.ts +97 -0
  6. package/dist/app/controllers/EditorCommandsController.d.ts +1 -1
  7. package/dist/app/controllers/createResizeSession.d.ts +43 -0
  8. package/dist/app/controllers/createRotateSession.d.ts +36 -0
  9. package/dist/app/controllers/documentIO/DocumentImporter.d.ts +1 -1
  10. package/dist/app/controllers/tableResize/tableResizeApply.d.ts +5 -0
  11. package/dist/app/controllers/tableResize/tableResizeConstraints.d.ts +17 -0
  12. package/dist/app/controllers/tableResize/tableResizeDom.d.ts +9 -0
  13. package/dist/app/controllers/tableResize/tableResizeGeometry.d.ts +5 -0
  14. package/dist/app/controllers/tableResize/tableResizeHitTest.d.ts +4 -0
  15. package/dist/app/controllers/tableResize/tableResizeTypes.d.ts +65 -0
  16. package/dist/app/controllers/tableResize/tableResizeUnits.d.ts +6 -0
  17. package/dist/app/controllers/useEditorDocumentIO.d.ts +3 -3
  18. package/dist/app/controllers/useEditorHistoryActions.d.ts +3 -1
  19. package/dist/app/controllers/useEditorImageOperations.d.ts +6 -14
  20. package/dist/app/controllers/useEditorLayout.d.ts +2 -2
  21. package/dist/app/controllers/useEditorStyle.d.ts +1 -1
  22. package/dist/app/controllers/useEditorSurfaceEvents.d.ts +1 -0
  23. package/dist/app/controllers/useEditorTableOperations.d.ts +2 -2
  24. package/dist/app/controllers/useEditorTableResize.d.ts +2 -24
  25. package/dist/app/controllers/useEditorTextBoxOperations.d.ts +24 -0
  26. package/dist/app/services/userPreferences.d.ts +4 -0
  27. package/dist/assets/importDocxWorker-R5rI6JIO.js +12 -0
  28. package/dist/branding/apple-touch-icon.png +0 -0
  29. package/dist/branding/brand-mark.webp +0 -0
  30. package/dist/branding/favicon-16x16.png +0 -0
  31. package/dist/branding/favicon-32x32.png +0 -0
  32. package/dist/branding/favicon.ico +0 -0
  33. package/dist/branding/github-pages-icon.png +0 -0
  34. package/dist/branding/icon-192.png +0 -0
  35. package/dist/branding/icon-512.png +0 -0
  36. package/dist/branding/logo-full.png +0 -0
  37. package/dist/branding/logo-mark-square.png +0 -0
  38. package/dist/branding/social-card.png +0 -0
  39. package/dist/core/Editor.d.ts +4 -5
  40. package/dist/core/cloneState.d.ts +3 -1
  41. package/dist/core/commands/CommandRegistry.d.ts +6 -1
  42. package/dist/core/commands/block.d.ts +1 -1
  43. package/dist/core/commands/builtinCommands.d.ts +2 -0
  44. package/dist/core/commands/floatingLayout.d.ts +29 -0
  45. package/dist/core/commands/image.d.ts +16 -8
  46. package/dist/core/commands/list.d.ts +1 -1
  47. package/dist/core/commands/publicCommandTypes.d.ts +110 -0
  48. package/dist/core/commands/selectedObjectRun.d.ts +20 -0
  49. package/dist/core/commands/table/insertTableCommand.d.ts +3 -0
  50. package/dist/core/commands/table/tableCellStyleCommands.d.ts +5 -0
  51. package/dist/core/commands/table/tableColumnCommands.d.ts +3 -0
  52. package/dist/core/commands/table/tableCommandUtils.d.ts +16 -0
  53. package/dist/core/commands/table/tableRowCommands.d.ts +5 -0
  54. package/dist/core/commands/table/tableStyleCommands.d.ts +4 -0
  55. package/dist/core/commands/table.d.ts +5 -10
  56. package/dist/core/commands/text.d.ts +1 -1
  57. package/dist/core/commands/textBox.d.ts +21 -0
  58. package/dist/core/document/blockReplacement.d.ts +7 -0
  59. package/dist/core/document/bookmarkAnchors.d.ts +8 -0
  60. package/dist/core/document/clone.d.ts +8 -0
  61. package/dist/core/document/paragraphRunBuild.d.ts +14 -0
  62. package/dist/core/document/paragraphRunEdit.d.ts +3 -0
  63. package/dist/core/document/paragraphRunQuery.d.ts +14 -0
  64. package/dist/core/document/paragraphRuns.d.ts +3 -0
  65. package/dist/core/editorCommands.d.ts +2 -0
  66. package/dist/core/editorState.d.ts +5 -3
  67. package/dist/core/endnotes.d.ts +41 -0
  68. package/dist/core/engine.d.ts +18 -3
  69. package/dist/core/html/htmlBlockWalker.d.ts +17 -0
  70. package/dist/core/html/htmlEscape.d.ts +1 -0
  71. package/dist/core/html/htmlStyleParser.d.ts +3 -0
  72. package/dist/core/html/htmlTextSerializer.d.ts +5 -0
  73. package/dist/core/html/inlineImageParser.d.ts +3 -0
  74. package/dist/core/html/inlineStyleParser.d.ts +3 -0
  75. package/dist/core/html/paragraphStyleParser.d.ts +3 -0
  76. package/dist/core/html/styleCss.d.ts +5 -0
  77. package/dist/core/model/assets.d.ts +7 -0
  78. package/dist/core/model/documentIndex.d.ts +58 -0
  79. package/dist/core/model/documentSections.d.ts +4 -0
  80. package/dist/core/model/editingZones.d.ts +26 -0
  81. package/dist/core/model/editorState.d.ts +18 -0
  82. package/dist/core/model/index.d.ts +31 -0
  83. package/dist/core/model/pageGeometry.d.ts +14 -0
  84. package/dist/core/model/paragraphWalker.d.ts +5 -0
  85. package/dist/core/model/queries.d.ts +2 -1
  86. package/dist/core/model/styleDefaults.d.ts +6 -0
  87. package/dist/core/model/styleResolution.d.ts +44 -0
  88. package/dist/core/model/types/document.d.ts +86 -0
  89. package/dist/core/model/types/documentBookmarks.d.ts +49 -0
  90. package/dist/core/model/types/documentEndnotes.d.ts +8 -0
  91. package/dist/core/model/types/documentFootnotes.d.ts +8 -0
  92. package/dist/core/model/types/layout.d.ts +93 -0
  93. package/dist/core/model/types/nodes.d.ts +192 -0
  94. package/dist/core/model/types/primitives.d.ts +140 -0
  95. package/dist/core/model/types/selection.d.ts +14 -0
  96. package/dist/core/model/types/styles.d.ts +149 -0
  97. package/dist/core/model.d.ts +7 -444
  98. package/dist/core/plugin.d.ts +59 -6
  99. package/dist/core/plugins/PluginCollection.d.ts +1 -0
  100. package/dist/core/plugins/PluginUiRegistry.d.ts +20 -0
  101. package/dist/core/selection/navigation.d.ts +5 -0
  102. package/dist/core/selection/rangeEditing.d.ts +13 -0
  103. package/dist/core/textStyle/textStyleKeys.d.ts +6 -0
  104. package/dist/core/textStyle/textStyleMutations.d.ts +8 -0
  105. package/dist/export/docx/bookmarksXml.d.ts +21 -0
  106. package/dist/export/docx/borders.d.ts +25 -0
  107. package/dist/export/docx/docxTypes.d.ts +35 -2
  108. package/dist/export/docx/endnotesXml.d.ts +24 -0
  109. package/dist/export/docx/stylesXml.d.ts +3 -0
  110. package/dist/export/docx/tableXml.d.ts +7 -1
  111. package/dist/export/docx/text/blocksXml.d.ts +7 -0
  112. package/dist/export/docx/text/constants.d.ts +6 -0
  113. package/dist/export/docx/text/drawingContainerXml.d.ts +16 -0
  114. package/dist/export/docx/text/dropCapXml.d.ts +9 -0
  115. package/dist/export/docx/text/endnoteRunXml.d.ts +5 -0
  116. package/dist/export/docx/text/fieldRunXml.d.ts +11 -0
  117. package/dist/export/docx/text/footnoteRunXml.d.ts +5 -0
  118. package/dist/export/docx/text/hyperlinkXml.d.ts +3 -0
  119. package/dist/export/docx/text/imageRunXml.d.ts +3 -0
  120. package/dist/export/docx/text/paragraphPropertiesXml.d.ts +16 -0
  121. package/dist/export/docx/text/runPropertiesXml.d.ts +3 -0
  122. package/dist/export/docx/text/runTextXml.d.ts +1 -0
  123. package/dist/export/docx/text/runXml.d.ts +5 -0
  124. package/dist/export/docx/text/styleMaterialization.d.ts +4 -0
  125. package/dist/export/docx/text/textBoxRunXml.d.ts +4 -0
  126. package/dist/export/docx/textXml.d.ts +1 -6
  127. package/dist/export/pdf/OasisPdfWriter.d.ts +1 -0
  128. package/dist/export/pdf/draw/borderDash.d.ts +11 -0
  129. package/dist/export/pdf/draw/drawFragment.d.ts +1 -0
  130. package/dist/export/pdf/draw/drawParagraph.d.ts +8 -1
  131. package/dist/export/pdf/fonts/TrueTypePdfFontSubsetter.d.ts +5 -0
  132. package/dist/export/pdf/fonts/officeFontAssets.d.ts +24 -0
  133. package/dist/export/pdf/units.d.ts +2 -1
  134. package/dist/i18n/index.d.ts +1 -1
  135. package/dist/i18n/locales/en.d.ts +108 -0
  136. package/dist/i18n/locales/pt-BR.d.ts +108 -0
  137. package/dist/import/DocumentFormatImporter.d.ts +26 -0
  138. package/dist/import/documentImporterRegistry.d.ts +6 -0
  139. package/dist/import/docx/bookmarks.d.ts +8 -0
  140. package/dist/import/docx/borders.d.ts +37 -0
  141. package/dist/import/docx/docxImporter.d.ts +3 -0
  142. package/dist/import/docx/dropCap.d.ts +13 -0
  143. package/dist/import/docx/endnotes.d.ts +17 -0
  144. package/dist/import/docx/footnotes.d.ts +2 -2
  145. package/dist/import/docx/headerFooter.d.ts +2 -2
  146. package/dist/import/docx/nestedBlocks.d.ts +15 -0
  147. package/dist/import/docx/numbering.d.ts +16 -1
  148. package/dist/import/docx/{styles.d.ts → paragraphStyle.d.ts} +2 -8
  149. package/dist/import/docx/paragraphs.d.ts +5 -4
  150. package/dist/import/docx/runStyle.d.ts +6 -0
  151. package/dist/import/docx/runs/drawingImage.d.ts +13 -0
  152. package/dist/import/docx/runs/fields.d.ts +3 -0
  153. package/dist/import/docx/runs/relationships.d.ts +11 -0
  154. package/dist/import/docx/runs/textBox.d.ts +6 -0
  155. package/dist/import/docx/runs/types.d.ts +42 -0
  156. package/dist/import/docx/runs/units.d.ts +11 -0
  157. package/dist/import/docx/runs/vmlImage.d.ts +6 -0
  158. package/dist/import/docx/runs.d.ts +14 -34
  159. package/dist/import/docx/sectionProperties.d.ts +1 -1
  160. package/dist/import/docx/settings.d.ts +1 -0
  161. package/dist/import/docx/styleUtils.d.ts +6 -0
  162. package/dist/import/docx/stylesXml.d.ts +4 -0
  163. package/dist/import/docx/tables.d.ts +2 -2
  164. package/dist/import/docx/theme.d.ts +17 -0
  165. package/dist/import/docx/themeColors.d.ts +37 -0
  166. package/dist/import/docx/themeFonts.d.ts +5 -1
  167. package/dist/import/docx/xmlHelpers.d.ts +3 -1
  168. package/dist/import/html/htmlImporter.d.ts +3 -0
  169. package/dist/import/html/importHtmlToEditorDocument.d.ts +8 -0
  170. package/dist/index-DuS88s1l.js +36810 -0
  171. package/dist/index.d.ts +39 -14
  172. package/dist/layoutProjection/blockHeights.d.ts +1 -1
  173. package/dist/layoutProjection/blocksPagination.d.ts +1 -1
  174. package/dist/layoutProjection/constants.d.ts +9 -1
  175. package/dist/layoutProjection/documentLayout.d.ts +0 -1
  176. package/dist/layoutProjection/dropCapExclusion.d.ts +23 -0
  177. package/dist/layoutProjection/endnotePagination.d.ts +8 -0
  178. package/dist/layoutProjection/floatingObjects.d.ts +45 -0
  179. package/dist/layoutProjection/footnotePagination.d.ts +1 -2
  180. package/dist/layoutProjection/headerFooterFootnotes.d.ts +1 -1
  181. package/dist/layoutProjection/headerFooterProjection.d.ts +3 -3
  182. package/dist/layoutProjection/index.d.ts +9 -7
  183. package/dist/layoutProjection/paragraphBorders.d.ts +14 -0
  184. package/dist/layoutProjection/paragraphPagination.d.ts +23 -9
  185. package/dist/layoutProjection/paragraphProjection.d.ts +1 -1
  186. package/dist/layoutProjection/sectionPagination.d.ts +3 -2
  187. package/dist/layoutProjection/tablePagination.d.ts +3 -2
  188. package/dist/layoutProjection/tableProjection.d.ts +1 -1
  189. package/dist/oasis-editor.css +1 -1
  190. package/dist/oasis-editor.js +52 -80462
  191. package/dist/oasis-editor.umd.cjs +4 -4
  192. package/dist/plugins/internal/createEssentialsPlugin.d.ts +8 -1
  193. package/dist/react.d.ts +12 -0
  194. package/dist/react.js +24 -0
  195. package/dist/testing/wordLayoutParity.d.ts +0 -3
  196. package/dist/text/fonts/FontMetricsProvider.d.ts +38 -0
  197. package/dist/text/fonts/FontProgramFactory.d.ts +6 -0
  198. package/dist/text/fonts/core/types.d.ts +69 -0
  199. package/dist/text/fonts/decoders/Brotli.d.ts +4 -0
  200. package/dist/text/fonts/decoders/FontDecoderRegistry.d.ts +10 -0
  201. package/dist/text/fonts/decoders/TtfDecoder.d.ts +8 -0
  202. package/dist/text/fonts/decoders/Woff2Decoder.d.ts +45 -0
  203. package/dist/text/fonts/layout/SimpleTextLayouter.d.ts +7 -0
  204. package/dist/text/fonts/preciseFontMetrics.d.ts +16 -0
  205. package/dist/text/fonts/preciseFontMode.d.ts +7 -0
  206. package/dist/text/fonts/sfnt/SfntFontProgram.d.ts +29 -0
  207. package/dist/text/fonts/vendor/woff2/buffer.d.ts +24 -0
  208. package/dist/text/fonts/vendor/woff2/glyf-reconstructor.d.ts +55 -0
  209. package/dist/text/fonts/vendor/woff2/hmtx-reconstructor.d.ts +5 -0
  210. package/dist/text/fonts/vendor/woff2/sfnt-builder.d.ts +7 -0
  211. package/dist/text/fonts/vendor/woff2/utils.d.ts +12 -0
  212. package/dist/text/truetype/AdvanceWidthSource.d.ts +19 -0
  213. package/dist/text/truetype/BinaryReader.d.ts +28 -0
  214. package/dist/text/truetype/CmapParser.d.ts +15 -0
  215. package/dist/text/truetype/SfntTableDirectory.d.ts +26 -0
  216. package/dist/text/truetype/TrueTypeFont.d.ts +36 -0
  217. package/dist/text/truetype/TrueTypeParseError.d.ts +11 -0
  218. package/dist/text/truetype/tableParsers.d.ts +45 -0
  219. package/dist/ui/OasisEditorApp.d.ts +1 -1
  220. package/dist/ui/OasisEditorAppLazy.d.ts +16 -0
  221. package/dist/ui/OasisEditorAppProps.d.ts +10 -2
  222. package/dist/ui/OasisEditorEditor.d.ts +17 -8
  223. package/dist/ui/OasisEditorLoading.d.ts +25 -0
  224. package/dist/ui/app/EditorDialogsLayer.d.ts +4 -0
  225. package/dist/ui/app/EditorWorkspace.d.ts +6 -0
  226. package/dist/ui/app/buildEditorViewProps.d.ts +7 -3
  227. package/dist/ui/app/createRuntimeCommandHost.d.ts +2 -1
  228. package/dist/ui/app/localFontAccess.d.ts +33 -0
  229. package/dist/ui/app/useCanvasSurfaceHitResolver.d.ts +2 -2
  230. package/dist/ui/app/useEditorContextMenuClipboard.d.ts +18 -0
  231. package/dist/ui/app/useEditorDialogs.d.ts +18 -0
  232. package/dist/ui/app/useEditorRuntimeBootstrap.d.ts +3 -0
  233. package/dist/ui/app/useEditorRuntimePlugins.d.ts +3 -0
  234. package/dist/ui/app/useEditorUiOptions.d.ts +1 -1
  235. package/dist/ui/app/useParagraphDialogBridge.d.ts +29 -0
  236. package/dist/ui/app/useTablePropertiesDialogBridge.d.ts +30 -0
  237. package/dist/ui/canvas/CanvasHitTestService.d.ts +17 -0
  238. package/dist/ui/canvas/CanvasLayoutSnapshot.d.ts +57 -1
  239. package/dist/ui/canvas/CanvasSelectionGeometry.d.ts +16 -0
  240. package/dist/ui/canvas/CanvasTableLayout.d.ts +3 -1
  241. package/dist/ui/canvas/canvasBlockPainter.d.ts +2 -2
  242. package/dist/ui/canvas/canvasBorders.d.ts +17 -0
  243. package/dist/ui/canvas/canvasDropCapPainter.d.ts +16 -0
  244. package/dist/ui/canvas/canvasParagraphPainter.d.ts +24 -2
  245. package/dist/ui/canvas/canvasTextBoxPainter.d.ts +24 -0
  246. package/dist/ui/canvas/imageContour.d.ts +10 -0
  247. package/dist/ui/canvas/textBoxRenderHeight.d.ts +14 -0
  248. package/dist/ui/canvas/verticalText.d.ts +104 -0
  249. package/dist/ui/components/Dialogs/FontDialog.d.ts +2 -65
  250. package/dist/ui/components/Dialogs/FontDialogModel.d.ts +5 -0
  251. package/dist/ui/components/Dialogs/ParagraphDialog.d.ts +49 -0
  252. package/dist/ui/components/Dialogs/TablePropertiesDialog.d.ts +80 -0
  253. package/dist/ui/components/Dialogs/font-dialog/AdvancedFontTab.d.ts +6 -0
  254. package/dist/ui/components/Dialogs/font-dialog/FontDialogController.d.ts +21 -0
  255. package/dist/ui/components/Dialogs/font-dialog/FontDialogTypes.d.ts +112 -0
  256. package/dist/ui/components/Dialogs/font-dialog/FontPreview.d.ts +6 -0
  257. package/dist/ui/components/Dialogs/font-dialog/FontTab.d.ts +6 -0
  258. package/dist/ui/components/Dialogs/font-dialog/useFontDialogController.d.ts +4 -0
  259. package/dist/ui/components/FloatingToolbar/FloatingLayoutOptions.d.ts +17 -0
  260. package/dist/ui/components/Menubar/Menubar.d.ts +2 -1
  261. package/dist/ui/components/Menubar/builtinMenuIds.d.ts +36 -0
  262. package/dist/ui/components/OasisBrandMark.d.ts +7 -0
  263. package/dist/ui/components/PluginUi/PluginUiHost.d.ts +8 -0
  264. package/dist/ui/components/Ruler/HorizontalRuler.d.ts +11 -0
  265. package/dist/ui/components/Ruler/rulerGeometry.d.ts +63 -0
  266. package/dist/ui/components/Toolbar/Toolbar.d.ts +2 -0
  267. package/dist/ui/components/Toolbar/presets/builtinToolbarIds.d.ts +40 -0
  268. package/dist/ui/components/Toolbar/primitives/ColorPicker.d.ts +1 -1
  269. package/dist/ui/components/Toolbar/primitives/Separator.d.ts +4 -3
  270. package/dist/ui/components/Toolbar/registry/ToolbarRegistry.d.ts +7 -2
  271. package/dist/ui/components/Toolbar/schema/items.d.ts +1 -1
  272. package/dist/ui/components/WelcomeOverlay.d.ts +13 -0
  273. package/dist/ui/editorLayoutConstants.d.ts +12 -0
  274. package/dist/ui/editorUiTypes.d.ts +35 -4
  275. package/dist/ui/fontSizeUnits.d.ts +15 -0
  276. package/dist/ui/mount.d.ts +2 -1
  277. package/dist/ui/overlays/ResizeHandlesOverlay.d.ts +34 -0
  278. package/dist/ui/public/Button.d.ts +10 -0
  279. package/dist/ui/public/Checkbox.d.ts +9 -0
  280. package/dist/ui/public/DialogFooter.d.ts +6 -0
  281. package/dist/ui/public/FloatingActionButton.d.ts +8 -0
  282. package/dist/ui/public/IconButton.d.ts +10 -0
  283. package/dist/ui/public/SelectField.d.ts +15 -0
  284. package/dist/ui/public/SidePanel.d.ts +12 -0
  285. package/dist/ui/public/TextField.d.ts +9 -0
  286. package/dist/ui/public/index.d.ts +36 -0
  287. package/dist/ui/resizeGeometry.d.ts +28 -0
  288. package/dist/ui/shells/DocumentShell.d.ts +6 -0
  289. package/dist/ui/textMeasurement/alignment.d.ts +3 -0
  290. package/dist/ui/textMeasurement/characterWidth.d.ts +9 -0
  291. package/dist/ui/textMeasurement/composer.d.ts +5 -0
  292. package/dist/ui/textMeasurement/constants.d.ts +4 -0
  293. package/dist/ui/textMeasurement/fontMetrics.d.ts +12 -0
  294. package/dist/ui/textMeasurement/indentation.d.ts +12 -0
  295. package/dist/ui/textMeasurement/layoutLine.d.ts +4 -0
  296. package/dist/ui/textMeasurement/paragraphLineHeight.d.ts +22 -0
  297. package/dist/ui/textMeasurement/tabStops.d.ts +4 -0
  298. package/dist/ui/textMeasurement/tokenizer.d.ts +6 -0
  299. package/dist/ui/textMeasurement/types.d.ts +27 -0
  300. package/dist/ui/textMeasurement.d.ts +5 -11
  301. package/dist/ui/toolbarStyleState.d.ts +15 -2
  302. package/dist/ui/utils/customIcons.d.ts +20 -0
  303. package/dist/ui.d.ts +42 -0
  304. package/dist/ui.js +19 -0
  305. package/dist/utils/imageFormats.d.ts +14 -0
  306. package/dist/utils/throttle.d.ts +1 -1
  307. package/dist/vue.d.ts +9 -0
  308. package/dist/vue.js +33 -0
  309. package/package.json +90 -62
  310. package/dist/__tests__/app/PersistenceService.test.d.ts +0 -1
  311. package/dist/__tests__/app/footnoteUiCommands.test.d.ts +0 -1
  312. package/dist/__tests__/commands/text.test.d.ts +0 -1
  313. package/dist/__tests__/core/editorPluginIntegration.test.d.ts +0 -1
  314. package/dist/__tests__/core/editorState.test.d.ts +0 -1
  315. package/dist/__tests__/core/footnotes.test.d.ts +0 -1
  316. package/dist/__tests__/core/model.test.d.ts +0 -1
  317. package/dist/__tests__/core/pluginCollection.test.d.ts +0 -1
  318. package/dist/__tests__/core/tableCommands.test.d.ts +0 -1
  319. package/dist/__tests__/export/docxExport.test.d.ts +0 -1
  320. package/dist/__tests__/export/footnotesExport.test.d.ts +0 -1
  321. package/dist/__tests__/export/pdfWriter.test.d.ts +0 -1
  322. package/dist/__tests__/export/underlineStyle.test.d.ts +0 -1
  323. package/dist/__tests__/import/docxComplexSmoke.test.d.ts +0 -1
  324. package/dist/__tests__/import/docxImport.test.d.ts +0 -1
  325. package/dist/__tests__/import/footnotesImport.test.d.ts +0 -1
  326. package/dist/__tests__/integration/documentFlow.test.d.ts +0 -1
  327. package/dist/__tests__/ui/CanvasTableLayout.test.d.ts +0 -1
  328. package/dist/__tests__/ui/canvasHitTestService.test.d.ts +0 -1
  329. package/dist/__tests__/ui/canvasLayoutSnapshot.test.d.ts +0 -1
  330. package/dist/__tests__/ui/canvasSelectionGeometry.test.d.ts +0 -1
  331. package/dist/__tests__/ui/canvasTextRendering.test.d.ts +0 -1
  332. package/dist/__tests__/ui/composeMeasuredParagraphLines.test.d.ts +0 -1
  333. package/dist/__tests__/ui/dialog.test.d.ts +0 -1
  334. package/dist/__tests__/ui/fontDialog.test.d.ts +0 -1
  335. package/dist/__tests__/ui/footnotesLayout.test.d.ts +0 -1
  336. package/dist/__tests__/ui/layoutIdentity.test.d.ts +0 -1
  337. package/dist/__tests__/ui/layoutProjection.test.d.ts +0 -1
  338. package/dist/__tests__/ui/registry.test.d.ts +0 -1
  339. package/dist/__tests__/ui/tabs.test.d.ts +0 -1
  340. package/dist/__tests__/ui/textMeasurementAlignment.test.d.ts +0 -1
  341. package/dist/__tests__/word-parity/fixtures/corpus.d.ts +0 -10
  342. package/dist/__tests__/word-parity/fixtures/loremFixtures.d.ts +0 -8
  343. package/dist/__tests__/word-parity/wordLayout.word-parity.d.ts +0 -1
  344. package/dist/assets/Arimo-Bold.ttf +0 -0
  345. package/dist/assets/Arimo-BoldItalic.ttf +0 -0
  346. package/dist/assets/Arimo-Italic.ttf +0 -0
  347. package/dist/assets/Arimo-Regular.ttf +0 -0
  348. package/dist/assets/Carlito-Bold.ttf +0 -0
  349. package/dist/assets/Carlito-BoldItalic.ttf +0 -0
  350. package/dist/assets/Carlito-Italic.ttf +0 -0
  351. package/dist/assets/Carlito-Regular.ttf +0 -0
  352. package/dist/assets/Roboto-Italic.ttf +0 -0
  353. package/dist/assets/Roboto-Medium.ttf +0 -0
  354. package/dist/assets/Roboto-MediumItalic.ttf +0 -0
  355. package/dist/assets/Roboto-Regular.ttf +0 -0
  356. package/dist/assets/Tinos-Bold.ttf +0 -0
  357. package/dist/assets/Tinos-BoldItalic.ttf +0 -0
  358. package/dist/assets/Tinos-Italic.ttf +0 -0
  359. package/dist/assets/Tinos-Regular.ttf +0 -0
  360. package/dist/assets/importDocxWorker-DIQ28Lka.js +0 -12
  361. package/dist/core/commands/utils.d.ts +0 -69
  362. package/dist/demo/OasisSiteApp.d.ts +0 -1
  363. package/dist/main.d.ts +0 -1
@@ -1,6 +1,5 @@
1
1
  import { OasisEditorAppProps } from '../../../../ui/OasisEditorApp.js';
2
+ import { OasisEditorClient } from '../../../client/OasisEditorClient.js';
2
3
 
3
- export interface OasisEditorInstance {
4
- dispose: () => void;
5
- }
4
+ export type OasisEditorInstance = OasisEditorClient;
6
5
  export declare function createOasisEditor(container: HTMLElement, props?: OasisEditorAppProps): OasisEditorInstance;
@@ -1,6 +1,5 @@
1
1
  import { OasisEditorContainerProps } from '../../../../ui/OasisEditorContainer.js';
2
+ import { OasisEditorClient } from '../../../client/OasisEditorClient.js';
2
3
 
3
- export interface OasisEditorContainerInstance {
4
- dispose: () => void;
5
- }
4
+ export type OasisEditorContainerInstance = OasisEditorClient;
6
5
  export declare function createOasisEditorContainer(container: HTMLElement, props?: OasisEditorContainerProps): OasisEditorContainerInstance;
@@ -0,0 +1,97 @@
1
+ import { EditorDocument, EditorSelection, EditorState } from '../../../../core/model.js';
2
+ import { Editor } from '../../../../core/Editor.js';
3
+ import { ToolbarCommandState } from '../../../../ui/components/Toolbar/schema/items.js';
4
+ import { TypedCommandBus } from '../../../../core/commands/publicCommandTypes.js';
5
+
6
+ export type OasisEditorClientEvent = "ready" | "change" | "documentChange" | "selectionChange" | "error";
7
+ export interface OasisEditorClientEvents {
8
+ ready: Editor;
9
+ change: EditorState;
10
+ documentChange: EditorDocument;
11
+ selectionChange: EditorSelection;
12
+ error: unknown;
13
+ }
14
+ export type OasisEditorClientEventHandler<TEvent extends OasisEditorClientEvent = OasisEditorClientEvent> = (payload: OasisEditorClientEvents[TEvent]) => void;
15
+ export interface OasisEditorDocumentApi {
16
+ get(): EditorDocument;
17
+ set(document: EditorDocument): void;
18
+ load(document: EditorDocument): void;
19
+ update(updater: (document: EditorDocument) => EditorDocument): void;
20
+ reset(): void;
21
+ save(): Promise<void>;
22
+ isDirty(): boolean;
23
+ markClean(): void;
24
+ }
25
+ export interface OasisEditorSelectionApi {
26
+ get(): EditorSelection;
27
+ set(selection: EditorSelection): void;
28
+ }
29
+ export interface OasisEditorFocusApi {
30
+ focus(): void;
31
+ blur(): void;
32
+ }
33
+ export interface OasisEditorHistoryApi {
34
+ undo(): unknown;
35
+ redo(): unknown;
36
+ canUndo(): boolean;
37
+ canRedo(): boolean;
38
+ clear(): void;
39
+ }
40
+ export interface OasisEditorImportApi {
41
+ docx(file: File): Promise<void>;
42
+ }
43
+ export interface OasisEditorExportApi {
44
+ docx(): Promise<unknown>;
45
+ pdf(): Promise<unknown>;
46
+ }
47
+ export interface OasisEditorClient {
48
+ readonly ready: Promise<Editor>;
49
+ readonly commands: TypedCommandBus<ToolbarCommandState>;
50
+ readonly document: OasisEditorDocumentApi;
51
+ readonly selection: OasisEditorSelectionApi;
52
+ readonly focus: OasisEditorFocusApi;
53
+ readonly history: OasisEditorHistoryApi;
54
+ readonly import: OasisEditorImportApi;
55
+ readonly export: OasisEditorExportApi;
56
+ dispose(): void | Promise<void>;
57
+ getState(): EditorState;
58
+ getDocument(): EditorDocument;
59
+ setDocument(document: EditorDocument): void;
60
+ loadDocument(document: EditorDocument): void;
61
+ updateDocument(updater: (document: EditorDocument) => EditorDocument): void;
62
+ resetDocument(): void;
63
+ save(): Promise<void>;
64
+ isDirty(): boolean;
65
+ markClean(): void;
66
+ getSelection(): EditorSelection;
67
+ setSelection(selection: EditorSelection): void;
68
+ focusEditor(): void;
69
+ blurEditor(): void;
70
+ on<TEvent extends OasisEditorClientEvent>(event: TEvent, callback: OasisEditorClientEventHandler<TEvent>): () => void;
71
+ once<TEvent extends OasisEditorClientEvent>(event: TEvent, callback: OasisEditorClientEventHandler<TEvent>): () => void;
72
+ off<TEvent extends OasisEditorClientEvent>(event: TEvent, callback: OasisEditorClientEventHandler<TEvent>): void;
73
+ }
74
+ export interface OasisEditorClientHost {
75
+ getRuntimeEditor(): Editor | null;
76
+ getState(): EditorState;
77
+ getDocument(): EditorDocument;
78
+ setDocument(document: EditorDocument): void;
79
+ resetDocument(): void;
80
+ saveDocument(): Promise<void>;
81
+ getSelection(): EditorSelection;
82
+ setSelection(selection: EditorSelection): void;
83
+ focus(): void;
84
+ blur(): void;
85
+ clearHistory(): void;
86
+ importDocx(file: File): Promise<void>;
87
+ exportDocx(): Promise<unknown>;
88
+ exportPdf(): Promise<unknown>;
89
+ }
90
+ export interface OasisEditorClientController extends OasisEditorClient {
91
+ connectHost(host: OasisEditorClientHost): void;
92
+ setDispose(dispose: () => void | Promise<void>): void;
93
+ resolveReady(editor: Editor): void;
94
+ rejectReady(error: unknown): void;
95
+ emit<TEvent extends OasisEditorClientEvent>(event: TEvent, payload: OasisEditorClientEvents[TEvent]): void;
96
+ }
97
+ export declare function createOasisEditorClient(): OasisEditorClientController;
@@ -23,7 +23,7 @@ export interface EditorCommandsControllerDeps {
23
23
  }
24
24
  export declare function createEditorCommandsController(deps: EditorCommandsControllerDeps): {
25
25
  applyBooleanStyleCommand: (key: BooleanStyleKey) => void;
26
- applyValueStyleCommand: <K extends "fontFamily" | "fontSize" | "color" | "highlight" | "link" | "underlineStyle">(key: K, value: EditorTextStyle[K] | null) => void;
26
+ applyValueStyleCommand: <K extends "fontFamily" | "fontSize" | "color" | "highlight" | "shading" | "language" | "textEffect" | "link" | "underlineStyle">(key: K, value: EditorTextStyle[K] | null) => void;
27
27
  applyParagraphStyleCommand: <K extends ParagraphStyleKey>(key: K, value: EditorParagraphStyle[K] | null) => void;
28
28
  toggleParagraphFlagCommand: (key: "pageBreakBefore" | "keepWithNext") => void;
29
29
  applyParagraphListCommand: (kind: NonNullable<EditorParagraphListStyle["kind"]>) => void;
@@ -0,0 +1,43 @@
1
+ import { EditorState } from '../../../../core/model.js';
2
+ import { ResizeHandleDirection } from '../../../../ui/resizeGeometry.js';
3
+ import { EditorHistoryState } from '../../../../ui/editorHistory.js';
4
+ import { EditorLogger } from '../../../../utils/logger.js';
5
+
6
+ export interface ResizeSessionSelection {
7
+ width: number;
8
+ height: number;
9
+ }
10
+ /**
11
+ * Object-type-specific behaviour for a resize session. Images and text boxes
12
+ * differ only in how the selected object's size is read and how a new size is
13
+ * committed; the pointer/lifecycle machinery is shared.
14
+ */
15
+ export interface ResizeSessionAdapter {
16
+ /** Read the selected object's current size, or `null` to abort the session. */
17
+ getSelected: (state: EditorState) => ResizeSessionSelection | null;
18
+ /** Commit a new size for the dragged handle, returning the next state. */
19
+ applyResize: (state: EditorState, width: number, height: number, direction: ResizeHandleDirection) => EditorState;
20
+ /** Maximum width (px) the object may grow to in its paragraph context. */
21
+ getMaxWidth: (state: EditorState, paragraphId: string) => number;
22
+ /** Short label used in diagnostic logs (e.g. "image", "text box"). */
23
+ label: string;
24
+ }
25
+ export interface ResizeSessionDeps {
26
+ state: EditorState;
27
+ applyState: (next: EditorState) => void;
28
+ updateHistoryState: (updater: (current: EditorHistoryState) => EditorHistoryState) => void;
29
+ cloneState: (source: EditorState) => EditorState;
30
+ focusInput: () => void;
31
+ logger: EditorLogger;
32
+ }
33
+ /**
34
+ * Drives a handle-based resize: it tracks the pointer, resolves the next size
35
+ * via {@link resolveResizedDimensions}, re-applies the resize from the captured
36
+ * dimensions each move (so EMU rounding never accumulates), and snapshots the
37
+ * pre-resize state onto the undo stack on release. The object-specific bits are
38
+ * supplied by {@link ResizeSessionAdapter}.
39
+ */
40
+ export declare function createResizeSession(adapter: ResizeSessionAdapter, deps: ResizeSessionDeps): {
41
+ start: (paragraphId: string, paragraphOffset: number, handleDirection: ResizeHandleDirection, event: MouseEvent, initialState: EditorState) => void;
42
+ stop: () => void;
43
+ };
@@ -0,0 +1,36 @@
1
+ import { EditorState } from '../../../../core/model.js';
2
+ import { EditorHistoryState } from '../../../../ui/editorHistory.js';
3
+ import { EditorLogger } from '../../../../utils/logger.js';
4
+
5
+ /**
6
+ * Object-type-specific behaviour for a rotate session. Images and text boxes
7
+ * differ only in how a new rotation is committed; the pointer/center machinery
8
+ * is shared.
9
+ */
10
+ export interface RotateSessionAdapter {
11
+ /** Commit a new rotation (degrees) for the selected object. */
12
+ applyRotate: (state: EditorState, rotation: number) => EditorState;
13
+ /** Short label used in diagnostic logs (e.g. "image", "text box"). */
14
+ label: string;
15
+ }
16
+ export interface RotateSessionDeps {
17
+ state: EditorState;
18
+ applyState: (next: EditorState) => void;
19
+ updateHistoryState: (updater: (current: EditorHistoryState) => EditorHistoryState) => void;
20
+ cloneState: (source: EditorState) => EditorState;
21
+ focusInput: () => void;
22
+ logger: EditorLogger;
23
+ }
24
+ /**
25
+ * Drives a knob-based rotation: it measures the pointer angle relative to the
26
+ * object's center (captured from the selection overlay's bounding box on start),
27
+ * normalizes it so the knob — which sits due north — maps to 0°, optionally
28
+ * snaps to {@link ROTATION_SNAP_DEGREES} while Shift is held, and snapshots the
29
+ * pre-rotation state onto the undo stack on release.
30
+ */
31
+ export declare function createRotateSession(adapter: RotateSessionAdapter, deps: RotateSessionDeps): {
32
+ start: (paragraphId: string, paragraphOffset: number, event: MouseEvent & {
33
+ currentTarget: HTMLElement;
34
+ }, initialState: EditorState) => void;
35
+ stop: () => void;
36
+ };
@@ -13,5 +13,5 @@ export interface DocumentImporterDeps {
13
13
  logger: EditorLogger;
14
14
  }
15
15
  export declare function createDocumentImporter(deps: DocumentImporterDeps): {
16
- handleImportDocx: (file: File | null) => Promise<void>;
16
+ handleImportFile: (file: File | null) => Promise<void>;
17
17
  };
@@ -0,0 +1,5 @@
1
+ import { EditorState } from '../../../../../../core/model.js';
2
+ import { TableResizeState } from '../../../tableResizeTypes.js';
3
+
4
+ export declare function applyRowResize(state: EditorState, resize: TableResizeState, delta: number): EditorState;
5
+ export declare function applyColumnResize(state: EditorState, resize: TableResizeState, delta: number): EditorState;
@@ -0,0 +1,17 @@
1
+ import { EditorTableNode, EditorState } from '../../../../../../core/model.js';
2
+ import { TableCellLayoutEntry } from '../../../../../../core/tableLayout.js';
3
+ import { TableGeometry } from '../../../tableResizeTypes.js';
4
+
5
+ export declare function resolveHorizontalCellChromePx(cell: EditorTableNode["rows"][number]["cells"][number]): number;
6
+ export declare function resolveRowHeightsPx(tableNode: EditorTableNode, tableLayout: TableCellLayoutEntry[], geometry: TableGeometry): number[];
7
+ export declare function resolveColumnWidthsPt(tableNode: EditorTableNode, tableLayout: TableCellLayoutEntry[], geometry: TableGeometry): {
8
+ widthsPt: Record<number, number>;
9
+ maxColumnIndex: number;
10
+ };
11
+ export declare function resolveMinRowHeightPx(tableNode: EditorTableNode, tableLayout: TableCellLayoutEntry[], geometry: TableGeometry, targetRowIndex: number): number;
12
+ export declare function resolveMinColumnWidthsPx(state: EditorState, tableNode: EditorTableNode, tableLayout: TableCellLayoutEntry[], geometry: TableGeometry): Record<number, number>;
13
+ /** Convenience: builds layout and calls resolveColumnWidthsPt */
14
+ export declare function buildResolvedColumnWidthsPt(tableNode: EditorTableNode, geometry: TableGeometry): {
15
+ widthsPt: Record<number, number>;
16
+ maxColumnIndex: number;
17
+ };
@@ -0,0 +1,9 @@
1
+ export declare function getGuideBounds(viewportRef: () => HTMLElement | undefined): {
2
+ left: number;
3
+ top: number;
4
+ width: number;
5
+ height: number;
6
+ };
7
+ export declare function clearResizeCursorClasses(): void;
8
+ export declare function setHoverCursorClass(isCol: boolean): void;
9
+ export declare function setActiveCursorClass(isCol: boolean): void;
@@ -0,0 +1,5 @@
1
+ import { EditorState, EditorTableNode } from '../../../../../../core/model.js';
2
+ import { TableGeometry } from '../../../tableResizeTypes.js';
3
+
4
+ export declare function getTableById(state: EditorState, tableId: string): EditorTableNode | null;
5
+ export declare function buildTableGeometries(surface: HTMLElement, state: EditorState): TableGeometry[];
@@ -0,0 +1,4 @@
1
+ import { EditorState } from '../../../../../../core/model.js';
2
+ import { ResizeHoverInfo } from '../../../tableResizeTypes.js';
3
+
4
+ export declare function findTableResizeHoverInfo(event: MouseEvent, surface: HTMLElement, state: EditorState): ResizeHoverInfo | null;
@@ -0,0 +1,65 @@
1
+ import { EditorTableNode } from '../../../../../../core/model.js';
2
+ import { TableCellLayoutEntry } from '../../../../../../core/tableLayout.js';
3
+
4
+ export type ResizeSide = "left" | "right" | "top" | "bottom";
5
+ export interface SnapshotCellRect {
6
+ tableId: string;
7
+ rowIndex: number;
8
+ cellIndex: number;
9
+ pageIndex: number;
10
+ left: number;
11
+ top: number;
12
+ right: number;
13
+ bottom: number;
14
+ width: number;
15
+ height: number;
16
+ contentMinWidth: number;
17
+ contentMinHeight: number;
18
+ }
19
+ export interface TableGeometry {
20
+ tableId: string;
21
+ cells: SnapshotCellRect[];
22
+ bounds: {
23
+ left: number;
24
+ top: number;
25
+ right: number;
26
+ bottom: number;
27
+ width: number;
28
+ height: number;
29
+ };
30
+ }
31
+ export interface ResizeHoverInfo {
32
+ tableId: string;
33
+ rowIndex: number;
34
+ cellIndex: number;
35
+ side: ResizeSide;
36
+ rect: SnapshotCellRect;
37
+ tableNode: EditorTableNode;
38
+ layoutEntry: TableCellLayoutEntry;
39
+ tableGeometry: TableGeometry;
40
+ }
41
+ export interface TableResizeState {
42
+ type: "column" | "row";
43
+ tableId: string;
44
+ index: number;
45
+ initialPos: number;
46
+ currentPos: number;
47
+ initialRowHeightPx?: number;
48
+ minRowHeightPx?: number;
49
+ columnWidthsPt?: Record<number, number>;
50
+ maxColumnIndex?: number;
51
+ minColumnWidthsPx?: Record<number, number>;
52
+ resizeFromLeftEdge?: boolean;
53
+ initialTableIndentLeftPt?: number;
54
+ guideBounds: {
55
+ left: number;
56
+ top: number;
57
+ width: number;
58
+ height: number;
59
+ };
60
+ }
61
+ export interface TableResizeOps {
62
+ resizing: () => TableResizeState | null;
63
+ handleMouseMove: (event: MouseEvent) => void;
64
+ handleMouseDown: (event: MouseEvent) => boolean;
65
+ }
@@ -0,0 +1,6 @@
1
+ export declare const POINTS_PER_PIXEL = 0.75;
2
+ export declare const PIXELS_PER_POINT: number;
3
+ export declare const MIN_TABLE_SIZE_PT = 10;
4
+ export declare function pxToPt(px: number): number;
5
+ export declare function ptToPx(pt: number): number;
6
+ export declare function parseSizeToPt(value: number | string | undefined): number | null;
@@ -1,8 +1,8 @@
1
1
  import { EditorState, EditorPosition } from '../../../../core/model.js';
2
- import { DocxImportStage } from '../../../../import/docx/importDocxToEditorDocument.js';
2
+ import { ImportStage } from '../../../../import/DocumentFormatImporter.js';
3
3
  import { EditorLogger } from '../../../../utils/logger.js';
4
4
 
5
- export type ImportProgressPhase = "reading-file" | DocxImportStage | "applying-editor-state" | "stabilizing-layout" | "done" | "error";
5
+ export type ImportProgressPhase = "reading-file" | ImportStage | "applying-editor-state" | "stabilizing-layout" | "done" | "error";
6
6
  export interface ImportProgressState {
7
7
  phase: ImportProgressPhase;
8
8
  progress: number;
@@ -23,7 +23,7 @@ export interface UseEditorDocumentIOProps {
23
23
  }
24
24
  export declare function createEditorDocumentIO(deps: UseEditorDocumentIOProps): {
25
25
  importProgress: import('../../solid-js').Accessor<ImportProgressState | null>;
26
- handleImportDocx: (file: File | null) => Promise<void>;
26
+ handleImportFile: (file: File | null) => Promise<void>;
27
27
  handleExportDocx: () => Promise<void>;
28
28
  handleExportPdf: () => Promise<void>;
29
29
  insertImageFromFile: (file: File, position?: EditorPosition | null) => Promise<void>;
@@ -6,7 +6,9 @@ export interface UseEditorHistoryActionsProps {
6
6
  state: () => EditorState;
7
7
  stateSnapshot: () => EditorState;
8
8
  applyHistoryState: (state: EditorState) => void;
9
- applyTransactionalState: (producer: (current: EditorState) => EditorState, options?: any) => void;
9
+ applyTransactionalState: (producer: (current: EditorState) => EditorState, options?: {
10
+ mergeKey?: string;
11
+ }) => void;
10
12
  focusInput: () => void;
11
13
  clearPreferredColumn: () => void;
12
14
  imageOps: () => ReturnType<typeof createEditorImageOperations>;
@@ -1,19 +1,8 @@
1
1
  import { EditorPosition, EditorState } from '../../../../core/model.js';
2
- import { ImageResizeHandleDirection } from '../../../../ui/editorUiTypes.js';
2
+ import { ResizeHandleDirection } from '../../../../ui/resizeGeometry.js';
3
3
  import { EditorLogger } from '../../../../utils/logger.js';
4
4
  import { EditorHistoryState } from '../../../../ui/editorHistory.js';
5
5
 
6
- export interface ActiveImageResize {
7
- paragraphId: string;
8
- paragraphOffset: number;
9
- handleDirection: ImageResizeHandleDirection;
10
- startClientX: number;
11
- startClientY: number;
12
- startWidth: number;
13
- startHeight: number;
14
- aspectRatio: number;
15
- initialState: EditorState;
16
- }
17
6
  export interface ActiveImageDrag {
18
7
  paragraphId: string;
19
8
  paragraphOffset: number;
@@ -60,13 +49,16 @@ export declare function createEditorImageOperations(deps: EditorImageOperationsD
60
49
  src: string;
61
50
  } | null;
62
51
  startImageDrag: (paragraphId: string, paragraphOffset: number, event: MouseEvent, pointerBounds?: ImagePointerBounds) => void;
63
- startImageResize: (paragraphId: string, paragraphOffset: number, handleDirection: ImageResizeHandleDirection, event: MouseEvent, initialState: EditorState) => void;
64
52
  stopImageDrag: () => void;
65
53
  stopImageResize: () => void;
54
+ stopImageRotate: () => void;
66
55
  handleImageMouseDown: (paragraphId: string, paragraphOffset: number, event: MouseEvent & {
67
56
  currentTarget: HTMLElement;
68
57
  }) => void;
69
- handleImageResizeHandleMouseDown: (paragraphId: string, paragraphOffset: number, direction: ImageResizeHandleDirection, event: MouseEvent & {
58
+ handleImageResizeHandleMouseDown: (paragraphId: string, paragraphOffset: number, direction: ResizeHandleDirection, event: MouseEvent & {
59
+ currentTarget: HTMLElement;
60
+ }) => void;
61
+ handleImageRotateHandleMouseDown: (paragraphId: string, paragraphOffset: number, event: MouseEvent & {
70
62
  currentTarget: HTMLElement;
71
63
  }) => void;
72
64
  };
@@ -1,13 +1,12 @@
1
1
  import { EditorLayoutParagraph, EditorState } from '../../../../core/model.js';
2
2
  import { CaretBox, InputBox, SelectionBox } from '../../../../ui/editorUiTypes.js';
3
- import { SelectedImageSelectionBox } from '../../../../ui/canvas/CanvasSelectionGeometry.js';
3
+ import { SelectedImageSelectionBox, SelectedTextBoxSelectionBox } from '../../../../ui/canvas/CanvasSelectionGeometry.js';
4
4
 
5
5
  interface UseEditorLayoutProps {
6
6
  state: EditorState;
7
7
  surfaceRef: () => HTMLDivElement | undefined;
8
8
  viewportRef: () => HTMLDivElement | undefined;
9
9
  isImporting?: () => boolean;
10
- layoutMode?: "fast" | "wordParity";
11
10
  }
12
11
  type LayoutSyncReason = "selection" | "scroll" | "content-change" | "resize" | "import";
13
12
  export interface LayoutInvalidation {
@@ -21,6 +20,7 @@ export declare function useEditorLayout(props: UseEditorLayoutProps): {
21
20
  inputBox: import('../../solid-js').Accessor<InputBox>;
22
21
  selectionBoxes: import('../../solid-js').Accessor<SelectionBox[]>;
23
22
  selectedImageBox: import('../../solid-js').Accessor<SelectedImageSelectionBox | null>;
23
+ selectedTextBoxBox: import('../../solid-js').Accessor<SelectedTextBoxSelectionBox | null>;
24
24
  caretBox: import('../../solid-js').Accessor<CaretBox>;
25
25
  preferredColumnX: import('../../solid-js').Accessor<number | null>;
26
26
  setPreferredColumnX: import('../../solid-js').Setter<number | null>;
@@ -2,7 +2,7 @@ import { EditorState, EditorTextStyle } from '../../../../core/model.js';
2
2
  import { ToolbarStyleState, BooleanStyleKey } from '../../../../ui/toolbarStyleState.js';
3
3
  import { createEditorCommandsController } from '../../EditorCommandsController.js';
4
4
 
5
- type ValueStyleKey = "fontFamily" | "fontSize" | "color" | "highlight" | "link" | "underlineStyle";
5
+ type ValueStyleKey = "fontFamily" | "fontSize" | "color" | "highlight" | "shading" | "language" | "textEffect" | "link" | "underlineStyle";
6
6
  export interface UseEditorStyleProps {
7
7
  state: () => EditorState;
8
8
  commandsController: () => ReturnType<typeof createEditorCommandsController>;
@@ -23,6 +23,7 @@ export interface UseEditorSurfaceEventsProps {
23
23
  focusInputAfterPointerSelection: () => void;
24
24
  resolveSurfaceHitAtPoint: (clientX: number, clientY: number, context?: {
25
25
  forDrag?: boolean;
26
+ pierce?: boolean;
26
27
  }) => SurfaceHit | null;
27
28
  getParagraphById: (doc: EditorState["document"], id: string) => EditorParagraphNode | undefined;
28
29
  textDrag?: {
@@ -1,4 +1,4 @@
1
- import { EditorBlockNode, EditorDocument, EditorPosition, EditorState, EditorEditingZone } from '../../../../core/model.js';
1
+ import { EditorBlockNode, EditorState, EditorEditingZone } from '../../../../core/model.js';
2
2
  import { EditorLogger } from '../../../../utils/logger.js';
3
3
 
4
4
  export interface EditorTableOperationsDeps {
@@ -36,7 +36,7 @@ export declare function createEditorTableOperations(deps: EditorTableOperationsD
36
36
  findCellAtVisualColumn: (row: import('../../../../core/model.js').EditorTableRowNode, visualColumn: number) => import('../../../../core/model.js').EditorTableCellNode | null;
37
37
  findFirstNavigableParagraphInTable: (table: import('../../../../core/model.js').EditorTableNode) => import('../../../../core/model.js').EditorParagraphNode | null;
38
38
  updateBlocksInCurrentSection: (current: EditorState, blocks: EditorBlockNode[], zone?: EditorEditingZone) => EditorState;
39
- resolveAdjacentTableCellPosition: (document: EditorDocument, paragraphId: string, delta: -1 | 1) => EditorPosition | null;
39
+ resolveAdjacentTableCellPosition: (document: import('../../../../index.js').EditorDocument, paragraphId: string, delta: -1 | 1) => import('../../../../core/model.js').EditorPosition | null;
40
40
  applyTableAwareParagraphEdit: (current: EditorState, edit: (tempState: EditorState) => EditorState) => EditorState;
41
41
  withExpandedTableCellSelection: (current: EditorState) => EditorState;
42
42
  applySelectionAwareTextCommand: (command: (current: EditorState) => EditorState) => void;
@@ -1,29 +1,7 @@
1
1
  import { EditorState } from '../../../../core/model.js';
2
+ import { TableResizeOps } from '../../tableResize/tableResizeTypes.js';
2
3
 
3
- export interface TableResizeOps {
4
- resizing: () => {
5
- type: "column" | "row";
6
- tableId: string;
7
- index: number;
8
- initialPos: number;
9
- currentPos: number;
10
- initialRowHeightPx?: number;
11
- minRowHeightPx?: number;
12
- columnWidthsPt?: Record<number, number>;
13
- maxColumnIndex?: number;
14
- minColumnWidthsPx?: Record<number, number>;
15
- resizeFromLeftEdge?: boolean;
16
- initialTableIndentLeftPt?: number;
17
- guideBounds: {
18
- left: number;
19
- top: number;
20
- width: number;
21
- height: number;
22
- };
23
- } | null;
24
- handleMouseMove: (event: MouseEvent) => void;
25
- handleMouseDown: (event: MouseEvent) => boolean;
26
- }
4
+ export { type TableResizeOps } from '../../tableResize/tableResizeTypes.js';
27
5
  export declare function createEditorTableResize(deps: {
28
6
  state: () => EditorState;
29
7
  applyTransactionalState: (producer: (current: EditorState) => EditorState) => void;
@@ -0,0 +1,24 @@
1
+ import { EditorState } from '../../../../core/model.js';
2
+ import { ResizeHandleDirection } from '../../../../ui/resizeGeometry.js';
3
+ import { EditorLogger } from '../../../../utils/logger.js';
4
+ import { EditorHistoryState } from '../../../../ui/editorHistory.js';
5
+
6
+ export interface EditorTextBoxOperationsDeps {
7
+ state: EditorState;
8
+ surfaceRef: () => HTMLDivElement | undefined;
9
+ applyState: (next: EditorState) => void;
10
+ updateHistoryState: (updater: (current: EditorHistoryState) => EditorHistoryState) => void;
11
+ focusInput: () => void;
12
+ cloneState: (source: EditorState) => EditorState;
13
+ logger: EditorLogger;
14
+ }
15
+ export declare function createEditorTextBoxOperations(deps: EditorTextBoxOperationsDeps): {
16
+ handleTextBoxResizeHandleMouseDown: (paragraphId: string, paragraphOffset: number, direction: ResizeHandleDirection, event: MouseEvent & {
17
+ currentTarget: HTMLElement;
18
+ }) => void;
19
+ handleTextBoxRotateHandleMouseDown: (paragraphId: string, paragraphOffset: number, event: MouseEvent & {
20
+ currentTarget: HTMLElement;
21
+ }) => void;
22
+ stopTextBoxResize: () => void;
23
+ stopTextBoxRotate: () => void;
24
+ };
@@ -0,0 +1,4 @@
1
+ export declare function getWelcomeSeen(): boolean;
2
+ export declare function setWelcomeSeen(): void;
3
+ export declare function getPreciseFontPreference(): boolean;
4
+ export declare function setPreciseFontPreference(on: boolean): void;