oasis-editor 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
package/dist/index.d.ts CHANGED
@@ -1,14 +1,21 @@
1
1
 
2
2
  export { createOasisEditor } from './app/bootstrap/createOasisEditorApp.js';
3
3
  export type { OasisEditorInstance } from './app/bootstrap/createOasisEditorApp.js';
4
+ export type { OasisEditorClient, OasisEditorClientEvent, OasisEditorClientEvents, OasisEditorClientEventHandler, OasisEditorDocumentApi, OasisEditorExportApi, OasisEditorFocusApi, OasisEditorHistoryApi, OasisEditorImportApi, OasisEditorSelectionApi, } from './app/client/OasisEditorClient.js';
4
5
  export { createOasisEditorContainer } from './app/bootstrap/createOasisEditorContainer.js';
5
6
  export type { OasisEditorContainerInstance } from './app/bootstrap/createOasisEditorContainer.js';
6
7
  export { OasisEditorContainer } from './ui/OasisEditorContainer.js';
7
8
  export type { OasisEditorContainerProps } from './ui/OasisEditorContainer.js';
9
+ export { OasisEditorAppLazy } from './ui/OasisEditorAppLazy.js';
10
+ export { OasisEditorLoading } from './ui/OasisEditorLoading.js';
11
+ export type { OasisEditorLoadingProps } from './ui/OasisEditorLoading.js';
8
12
  export { Editor } from './core/Editor.js';
9
13
  export { CommandRegistry } from './core/commands/CommandRegistry.js';
10
- export { commandRefName, resolveCommandRef } from './core/commands/CommandRef.js';
14
+ export { commandRefName, resolveCommandRef, } from './core/commands/CommandRef.js';
11
15
  export { createEditorCommandBus } from './core/commands/CommandBus.js';
16
+ export { OASIS_BUILTIN_COMMANDS } from './core/commands/builtinCommands.js';
17
+ export type { OasisBuiltinCommand } from './core/commands/builtinCommands.js';
18
+ export type { CommandPayloadArgs, InsertTablePayload, OasisCommandName, OasisCommandPayloads, OasisCommandResults, SetFontSizePayload, SetPageMarginsPayload, TypedCommandBus, } from './core/commands/publicCommandTypes.js';
12
19
  export { PluginCollection } from './core/plugins/PluginCollection.js';
13
20
  export { mount } from './ui/mount.js';
14
21
  export { DocumentShell } from './ui/shells/DocumentShell.js';
@@ -18,26 +25,44 @@ export { Dialog } from './ui/components/Dialogs/Dialog.js';
18
25
  export type { DialogProps } from './ui/components/Dialogs/Dialog.js';
19
26
  export { Tabs } from './ui/components/Tabs/Tabs.js';
20
27
  export type { TabsItem, TabsProps } from './ui/components/Tabs/Tabs.js';
21
- export type { OasisPlugin, OasisEditor, OasisCommand, OasisCommandRegistry, CommandState, PluginReference, Unsubscribe, } from './core/plugin.js';
22
- export type { CommandRef, ResolvedCommandRef } from './core/commands/CommandRef.js';
28
+ export { Button, Checkbox, DialogFooter, FloatingActionButton, IconButton, SelectField, SidePanel, SidePanelBody, SidePanelFooter, SidePanelHeader, TextField, } from './ui/public/index.js';
29
+ export type { ButtonProps, CheckboxProps, DialogFooterProps, FloatingActionButtonProps, IconButtonProps, SelectFieldOption, SelectFieldProps, SidePanelProps, SidePanelSectionProps, TextFieldProps, } from './ui/public/index.js';
30
+ export type { OasisPlugin, OasisEditor, OasisCommand, OasisCommandContext, OasisCommandRegistry, CommandState, FloatingActionContribution, FloatingActionPlacement, FloatingActionScope, OasisPluginUiContributions, OasisPluginUiRegistry, OasisPluginUiSnapshot, PluginUiRenderContext, PluginReference, SidePanelContribution, SidePanelMode, Unsubscribe, } from './core/plugin.js';
31
+ export type { EditorDocument, EditorState } from './core/model.js';
32
+ export type { DocumentPersistence } from './app/controllers/useEditorPersistence.js';
33
+ export type { ImportProgressState } from './app/controllers/useEditorDocumentIO.js';
34
+ export type { CommandRef, ResolvedCommandRef, } from './core/commands/CommandRef.js';
23
35
  export type { CommandBus } from './core/commands/CommandBus.js';
24
- export type { OasisEditorAppProps } from './ui/OasisEditorApp.js';
36
+ export type { OasisEditorAppProps, ToolbarLayoutMode, } from './ui/OasisEditorApp.js';
25
37
  export type { ToolbarItem, ToolbarItemType, ButtonItem, ToggleItem, SplitItem, MenuItem, MenuContent, SelectItem, SelectOption, ColorPickerItem, GridPickerItem, SeparatorItem, GroupItem, CustomItem, ToolbarActionApi, ToolbarCommandState, ItemReactiveOverrides, } from './ui/components/Toolbar/schema/items.js';
26
38
  export type { ColorPalette, ColorSwatch, ThemeColor, } from './ui/components/Toolbar/schema/palette.js';
27
- export { createToolbarRegistry, } from './ui/components/Toolbar/registry/ToolbarRegistry.js';
28
- export type { ToolbarRegistry } from './ui/components/Toolbar/registry/ToolbarRegistry.js';
39
+ export { createToolbarRegistry } from './ui/components/Toolbar/registry/ToolbarRegistry.js';
40
+ export type { ToolbarMoveTarget, ToolbarRegistry, } from './ui/components/Toolbar/registry/ToolbarRegistry.js';
41
+ export { MenuRegistry } from './ui/components/Menubar/menuRegistry.js';
42
+ export type { MenubarHost, MenuItem as MenubarItem, } from './ui/components/Menubar/menuRegistry.js';
29
43
  export { DEFAULT_PALETTE } from './ui/components/Toolbar/presets/defaultPalette.js';
30
44
  export { createDefaultToolbarPreset } from './ui/components/Toolbar/presets/defaultToolbar.js';
45
+ export { OASIS_TOOLBAR_ITEMS } from './ui/components/Toolbar/presets/builtinToolbarIds.js';
46
+ export type { OasisToolbarItemId } from './ui/components/Toolbar/presets/builtinToolbarIds.js';
47
+ export { OASIS_MENU_ITEMS } from './ui/components/Menubar/builtinMenuIds.js';
48
+ export type { OasisMenuItemId } from './ui/components/Menubar/builtinMenuIds.js';
31
49
  export { Toolbar } from './ui/components/Toolbar/Toolbar.js';
32
50
  export type { ToolbarProps } from './ui/components/Toolbar/Toolbar.js';
33
- export { registerToolbarRenderer, } from './ui/components/Toolbar/renderers/renderers.js';
51
+ export { registerToolbarRenderer } from './ui/components/Toolbar/renderers/renderers.js';
34
52
  export type { RendererProps } from './ui/components/Toolbar/renderers/renderers.js';
35
53
  export { Popover } from './ui/components/Toolbar/primitives/Popover.js';
36
- export type { PopoverProps } from './ui/components/Toolbar/primitives/Popover.js';
37
- export { Menu as ToolbarMenu } from './ui/components/Toolbar/primitives/Menu.js';
54
+ export type { PopoverProps, PopoverTriggerApi, } from './ui/components/Toolbar/primitives/Popover.js';
55
+ export { Menu, Menu as ToolbarMenu, } from './ui/components/Toolbar/primitives/Menu.js';
56
+ export type { MenuProps } from './ui/components/Toolbar/primitives/Menu.js';
38
57
  export { Button as ToolbarButton } from './ui/components/Toolbar/primitives/Button.js';
39
- export { Select as ToolbarSelect } from './ui/components/Toolbar/primitives/Select.js';
40
- export { Separator as ToolbarSeparator } from './ui/components/Toolbar/primitives/Separator.js';
41
- export { SplitButton as ToolbarSplitButton } from './ui/components/Toolbar/primitives/SplitButton.js';
42
- export { ColorPicker as ToolbarColorPicker } from './ui/components/Toolbar/primitives/ColorPicker.js';
43
- export { GridPicker as ToolbarGridPicker } from './ui/components/Toolbar/primitives/GridPicker.js';
58
+ export type { ToolbarButtonProps } from './ui/components/Toolbar/primitives/Button.js';
59
+ export { Select, Select as ToolbarSelect, } from './ui/components/Toolbar/primitives/Select.js';
60
+ export type { ToolbarSelectProps } from './ui/components/Toolbar/primitives/Select.js';
61
+ export { Separator, Separator as ToolbarSeparator, } from './ui/components/Toolbar/primitives/Separator.js';
62
+ export type { SeparatorProps } from './ui/components/Toolbar/primitives/Separator.js';
63
+ export { SplitButton, SplitButton as ToolbarSplitButton, } from './ui/components/Toolbar/primitives/SplitButton.js';
64
+ export type { SplitButtonProps } from './ui/components/Toolbar/primitives/SplitButton.js';
65
+ export { ColorPicker, ColorPicker as ToolbarColorPicker, } from './ui/components/Toolbar/primitives/ColorPicker.js';
66
+ export type { ColorPickerKind, ColorPickerProps, } from './ui/components/Toolbar/primitives/ColorPicker.js';
67
+ export { GridPicker, GridPicker as ToolbarGridPicker, } from './ui/components/Toolbar/primitives/GridPicker.js';
68
+ export type { GridPickerProps } from './ui/components/Toolbar/primitives/GridPicker.js';
@@ -1 +1 @@
1
- export { estimateParagraphBlockHeight, } from '../paragraphPagination.js';
1
+ export { estimateParagraphBlockHeight } from '../paragraphPagination.js';
@@ -11,8 +11,8 @@ export interface ProjectBlocksLayoutContext {
11
11
  pageOffset?: number;
12
12
  totalPages?: number;
13
13
  existingPages?: EditorLayoutPage[];
14
- layoutMode?: "fast" | "wordParity";
15
14
  measurer?: ITextMeasurer;
16
15
  reservedHeightByPageIndex?: Map<number, number>;
16
+ defaultTabStop?: number;
17
17
  }
18
18
  export declare function projectBlocksLayout(context: ProjectBlocksLayoutContext): EditorLayoutPage[];
@@ -1 +1,9 @@
1
- export { FOOTNOTE_MARKER_GUTTER_PX, } from '../footnotePagination.js';
1
+ export { FOOTNOTE_MARKER_GUTTER_PX } from '../footnotePagination.js';
2
+ /** CSS reference: 96 device pixels per inch, 72 points per inch. */
3
+ export declare const PX_PER_POINT: number;
4
+ /**
5
+ * Extra gap (px) inserted between a paragraph border and its text, on top of
6
+ * the border's own stroke width. Keeps glyphs from touching the box edges and
7
+ * mirrors Word's small default `w:space` around paragraph borders.
8
+ */
9
+ export declare const PARAGRAPH_BORDER_PADDING_PX = 2;
@@ -2,6 +2,5 @@ import { EditorDocument, EditorLayoutDocument, EditorLayoutParagraph } from '../
2
2
  import { ITextMeasurer } from '../../core/engine.js';
3
3
 
4
4
  export declare function projectDocumentLayout(document: EditorDocument, maxPageHeightOverride?: number, measuredHeights?: Record<string, number>, measuredParagraphLayouts?: Record<string, EditorLayoutParagraph>, options?: {
5
- layoutMode?: "fast" | "wordParity";
6
5
  measurer?: ITextMeasurer;
7
6
  }): EditorLayoutDocument;
@@ -0,0 +1,23 @@
1
+ import { EditorDropCap } from '../../core/model.js';
2
+ import { FloatingExclusionRect } from '../floatingObjects.js';
3
+
4
+ /** Synthetic run id used for the drop-cap exclusion rect. */
5
+ export declare const DROP_CAP_EXCLUSION_RUN_ID = "dropcap";
6
+ /**
7
+ * Advance width (px) of the cap glyph(s) at their own font size, used to size
8
+ * the exclusion the body text wraps around.
9
+ */
10
+ export declare function measureDropCapWidth(dropCap: EditorDropCap): number;
11
+ /**
12
+ * Build the exclusion rectangle that the wrapping paragraph's lines avoid so
13
+ * body text flows to the right of the drop cap. Reuses the floating-object
14
+ * exclusion model: `wrap: "square"` shortens every line the rect overlaps.
15
+ *
16
+ * Coordinates are paragraph-local (x/y relative to the paragraph's text box):
17
+ * a "drop" cap sits at the left edge (x = 0); a "margin" cap sits in the left
18
+ * margin (x = -width).
19
+ */
20
+ export declare function resolveDropCapExclusion(options: {
21
+ dropCap: EditorDropCap;
22
+ bodyLineHeight: number;
23
+ }): FloatingExclusionRect | null;
@@ -0,0 +1,8 @@
1
+ import { EditorDocument } from '../../core/model.js';
2
+
3
+ /**
4
+ * Return a document whose last section has the endnote flow appended. When the
5
+ * document has no referenced endnotes the original document is returned
6
+ * unchanged (referential equality preserved).
7
+ */
8
+ export declare function injectEndnotesIntoDocument(document: EditorDocument): EditorDocument;
@@ -0,0 +1,45 @@
1
+ import { EditorImageFloatingLayout, EditorImageRunData, EditorLayoutFragment, EditorLayoutLine, EditorPageSettings, EditorTextBoxData } from '../../core/model.js';
2
+
3
+ export interface FloatingObjectRect {
4
+ x: number;
5
+ y: number;
6
+ width: number;
7
+ height: number;
8
+ }
9
+ export interface ExclusionPolygonPoint {
10
+ x: number;
11
+ y: number;
12
+ }
13
+ export interface FloatingExclusionRect extends FloatingObjectRect {
14
+ wrap: NonNullable<EditorImageFloatingLayout["wrap"]>;
15
+ sourceRunId: string;
16
+ /** Absolute-layout-coordinate tight/through contour. When present (images
17
+ * with a wrapPolygon and wrap tight/through), the composer carves per-line
18
+ * intervals from this outline instead of the bounding rect. */
19
+ polygon?: ExclusionPolygonPoint[];
20
+ }
21
+ export interface FloatingObjectGeometry {
22
+ width: number;
23
+ height: number;
24
+ floating: EditorImageFloatingLayout;
25
+ }
26
+ export type ResolveTextBoxHeight = (textBox: EditorTextBoxData) => number;
27
+ export declare function getTextBoxFloatingGeometry(textBox: EditorTextBoxData, heightOverride?: number): FloatingObjectGeometry;
28
+ export declare function getImageFloatingGeometry(image: EditorImageRunData): FloatingObjectGeometry;
29
+ export declare function resolveFloatingObjectRect(options: {
30
+ object: FloatingObjectGeometry;
31
+ pageSettings: EditorPageSettings;
32
+ contentLeft: number;
33
+ contentTop: number;
34
+ contentWidth: number;
35
+ paragraphTop: number;
36
+ lineTop: number;
37
+ anchorLeft: number;
38
+ }): FloatingObjectRect;
39
+ export declare function collectParagraphFloatingExclusions(options: {
40
+ fragments: EditorLayoutFragment[];
41
+ preliminaryLines: EditorLayoutLine[];
42
+ pageSettings: EditorPageSettings;
43
+ contentWidth: number;
44
+ resolveTextBoxHeight?: ResolveTextBoxHeight;
45
+ }): FloatingExclusionRect[];
@@ -5,14 +5,13 @@ export declare const FOOTNOTE_SEPARATOR_HEIGHT = 10;
5
5
  export declare const FOOTNOTE_BLOCK_GAP = 2;
6
6
  export declare const FOOTNOTE_MARKER_GUTTER_PX = 24;
7
7
  export declare const MAX_FOOTNOTE_LAYOUT_ITERATIONS = 4;
8
- export type HeaderFooterBlockProjector = (blocks: EditorBlockNode[], pageIndex?: number, totalPages?: number, measuredHeights?: Record<string, number>, measuredParagraphLayouts?: Record<string, EditorLayoutParagraph>, styles?: EditorDocument["styles"], contentWidth?: number, layoutMode?: "fast" | "wordParity", measurer?: ITextMeasurer) => EditorLayoutBlock[];
8
+ export type HeaderFooterBlockProjector = (blocks: EditorBlockNode[], pageIndex?: number, totalPages?: number, measuredHeights?: Record<string, number>, measuredParagraphLayouts?: Record<string, EditorLayoutParagraph>, styles?: EditorDocument["styles"], contentWidth?: number, measurer?: ITextMeasurer, defaultTabStop?: number) => EditorLayoutBlock[];
9
9
  export declare function collectPageFootnoteReferenceIds(page: EditorLayoutPage): string[];
10
10
  export interface FootnotePaginationContext {
11
11
  document: EditorDocument;
12
12
  totalPages?: number;
13
13
  measuredHeights?: Record<string, number>;
14
14
  measuredParagraphLayouts?: Record<string, EditorLayoutParagraph>;
15
- layoutMode: "fast" | "wordParity";
16
15
  measurer: ITextMeasurer;
17
16
  projectBlocks: HeaderFooterBlockProjector;
18
17
  }
@@ -1,4 +1,4 @@
1
1
  import { EditorBlockNode, EditorLayoutBlock, EditorLayoutParagraph, EditorNamedStyle } from '../../core/model.js';
2
2
  import { ITextMeasurer } from '../../core/engine.js';
3
3
 
4
- export declare function projectHeaderFooterBlocks(blocks: EditorBlockNode[], pageIndex?: number, totalPages?: number, measuredHeights?: Record<string, number>, measuredParagraphLayouts?: Record<string, EditorLayoutParagraph>, styles?: Record<string, EditorNamedStyle>, contentWidth?: number, layoutMode?: "fast" | "wordParity", measurer?: ITextMeasurer): EditorLayoutBlock[];
4
+ export declare function projectHeaderFooterBlocks(blocks: EditorBlockNode[], pageIndex?: number, totalPages?: number, measuredHeights?: Record<string, number>, measuredParagraphLayouts?: Record<string, EditorLayoutParagraph>, styles?: Record<string, EditorNamedStyle>, contentWidth?: number, measurer?: ITextMeasurer, defaultTabStop?: number): EditorLayoutBlock[];
@@ -1,14 +1,14 @@
1
1
  import { EditorBlockNode, EditorLayoutBlock, EditorLayoutParagraph, EditorNamedStyle, EditorParagraphNode } from '../../core/model.js';
2
2
  import { ITextMeasurer } from '../../core/engine.js';
3
3
 
4
- type ProjectParagraphLayoutFn = (paragraph: EditorParagraphNode, pageIndex?: number, totalPages?: number, styles?: Record<string, EditorNamedStyle>, contentWidth?: number, layoutMode?: "fast" | "wordParity", measurer?: ITextMeasurer) => EditorLayoutParagraph;
4
+ type ProjectParagraphLayoutFn = (paragraph: EditorParagraphNode, pageIndex?: number, totalPages?: number, styles?: Record<string, EditorNamedStyle>, contentWidth?: number, measurer?: ITextMeasurer, defaultTabStop?: number) => EditorLayoutParagraph;
5
5
  type EstimateTableBlockHeightFn = (block: Extract<EditorBlockNode, {
6
6
  type: "table";
7
- }>, styles?: Record<string, EditorNamedStyle>, contentWidth?: number, layoutMode?: "fast" | "wordParity", measurer?: ITextMeasurer) => number;
7
+ }>, styles?: Record<string, EditorNamedStyle>, contentWidth?: number, measurer?: ITextMeasurer, defaultTabStop?: number) => number;
8
8
  type GetProjectedParagraphBlockHeightFn = (paragraph: EditorParagraphNode, layout: EditorLayoutParagraph, styles: Record<string, EditorNamedStyle> | undefined) => number;
9
9
  export declare function projectHeaderFooterBlocksWithDependencies(blocks: EditorBlockNode[], deps: {
10
10
  projectParagraphLayout: ProjectParagraphLayoutFn;
11
11
  estimateTableBlockHeight: EstimateTableBlockHeightFn;
12
12
  getProjectedParagraphBlockHeight: GetProjectedParagraphBlockHeightFn;
13
- }, pageIndex?: number, totalPages?: number, measuredHeights?: Record<string, number>, _measuredParagraphLayouts?: Record<string, EditorLayoutParagraph>, styles?: Record<string, EditorNamedStyle>, contentWidth?: number, layoutMode?: "fast" | "wordParity", measurer?: ITextMeasurer): EditorLayoutBlock[];
13
+ }, pageIndex?: number, totalPages?: number, measuredHeights?: Record<string, number>, _measuredParagraphLayouts?: Record<string, EditorLayoutParagraph>, styles?: Record<string, EditorNamedStyle>, contentWidth?: number, measurer?: ITextMeasurer, defaultTabStop?: number): EditorLayoutBlock[];
14
14
  export {};
@@ -1,7 +1,9 @@
1
- export { FOOTNOTE_MARKER_GUTTER_PX, } from '../constants.js';
2
- export { estimateParagraphBlockHeight, } from '../blockHeights.js';
3
- export { estimateTableBlockHeight, } from '../tableProjection.js';
4
- export { measureParagraphLayoutFromRects, projectParagraphLayout, resolveClosestOffsetInMeasuredLayout, } from '../paragraphProjection.js';
5
- export { projectHeaderFooterBlocks, } from '../headerFooterFootnotes.js';
6
- export { projectBlocksLayout, } from '../blocksPagination.js';
7
- export { projectDocumentLayout, } from '../documentLayout.js';
1
+ export { FOOTNOTE_MARKER_GUTTER_PX, PARAGRAPH_BORDER_PADDING_PX, PX_PER_POINT, } from '../constants.js';
2
+ export { getParagraphBorderInsets, type ParagraphBorderInsets, } from '../paragraphBorders.js';
3
+ export { estimateParagraphBlockHeight } from '../blockHeights.js';
4
+ export { estimateTableBlockHeight } from '../tableProjection.js';
5
+ export { clearProjectedParagraphLayoutCache, measureParagraphLayoutFromRects, projectParagraphLayout, projectParagraphLayoutWithExclusions, resolveClosestOffsetInMeasuredLayout, } from '../paragraphProjection.js';
6
+ export { projectHeaderFooterBlocks } from '../headerFooterFootnotes.js';
7
+ export { collectParagraphFloatingExclusions, getImageFloatingGeometry, getTextBoxFloatingGeometry, resolveFloatingObjectRect, type FloatingExclusionRect, type FloatingObjectRect, } from '../floatingObjects.js';
8
+ export { projectBlocksLayout } from '../blocksPagination.js';
9
+ export { projectDocumentLayout } from '../documentLayout.js';
@@ -0,0 +1,14 @@
1
+ import { EditorParagraphStyle } from '../../core/model.js';
2
+
3
+ export interface ParagraphBorderInsets {
4
+ top: number;
5
+ bottom: number;
6
+ }
7
+ /**
8
+ * Vertical space (px) a paragraph's top/bottom borders add around its text.
9
+ * Each visible edge reserves its stroke width plus
10
+ * {@link PARAGRAPH_BORDER_PADDING_PX}; absent edges reserve nothing, so plain or
11
+ * shading-only paragraphs are unchanged. Shared by pagination (to reserve the
12
+ * height) and the canvas/PDF painters (to size the box and offset the text).
13
+ */
14
+ export declare function getParagraphBorderInsets(style: EditorParagraphStyle): ParagraphBorderInsets;
@@ -1,20 +1,34 @@
1
- import { EditorLayoutLine, EditorLayoutParagraph, EditorNamedStyle, EditorParagraphNode } from '../../core/model.js';
1
+ import { EditorLayoutLine, EditorLayoutParagraph, EditorNamedStyle, EditorPageSettings, EditorParagraphNode, EditorParagraphStyle } from '../../core/model.js';
2
2
  import { CharRect } from '../../ui/caretGeometry.js';
3
3
  import { ITextMeasurer } from '../../core/engine.js';
4
+ import { ResolveTextBoxHeight } from '../floatingObjects.js';
4
5
 
5
- export declare function projectParagraphLayout(paragraph: EditorParagraphNode, pageIndex?: number, totalPages?: number, styles?: Record<string, EditorNamedStyle>, contentWidth?: number, layoutMode?: "fast" | "wordParity", measurer?: ITextMeasurer): EditorLayoutParagraph;
6
- export declare function measureParagraphLayoutFromRects(paragraph: EditorParagraphNode, charRects: CharRect[], styles?: Record<string, EditorNamedStyle>, layoutMode?: "fast" | "wordParity"): EditorLayoutParagraph;
6
+ export declare function shouldCollapseContextualSpacing(previous: EditorParagraphNode | undefined, next: EditorParagraphNode | undefined, styles: Record<string, EditorNamedStyle> | undefined): boolean;
7
+ export declare function clearProjectedParagraphLayoutCache(): void;
8
+ export declare function projectParagraphLayout(paragraph: EditorParagraphNode, pageIndex?: number, totalPages?: number, styles?: Record<string, EditorNamedStyle>, contentWidth?: number, measurer?: ITextMeasurer, defaultTabStop?: number): EditorLayoutParagraph;
9
+ export declare function projectParagraphLayoutWithExclusions(paragraph: EditorParagraphNode, pageSettings: EditorPageSettings | undefined, contentWidth: number | undefined, measurer?: ITextMeasurer, pageIndex?: number, totalPages?: number, styles?: Record<string, EditorNamedStyle>, defaultTabStop?: number, resolveTextBoxHeight?: ResolveTextBoxHeight): EditorLayoutParagraph;
10
+ export declare function measureParagraphLayoutFromRects(paragraph: EditorParagraphNode, charRects: CharRect[], styles?: Record<string, EditorNamedStyle>): EditorLayoutParagraph;
7
11
  export declare function applyMeasuredLineGeometry(projected: EditorLayoutParagraph, measured: EditorLayoutParagraph): EditorLayoutParagraph;
8
12
  export declare function isMeasuredLayoutCurrent(projected: EditorLayoutParagraph, measured: EditorLayoutParagraph): boolean;
9
13
  export declare function resolveClosestOffsetInMeasuredLayout(layout: EditorLayoutParagraph, clientX: number, clientY: number): number;
10
- export declare function getEffectiveParagraphStyle(paragraph: EditorParagraphNode, styles: Record<string, EditorNamedStyle> | undefined): Required<import('../../core/model.js').EditorParagraphStyle>;
11
- export declare function getParagraphSegmentHeight(paragraph: EditorParagraphNode, lines: EditorLayoutLine[], isFirstSegment: boolean, isLastSegment: boolean, styles: Record<string, EditorNamedStyle> | undefined, allowSpacingBefore?: boolean): number;
12
- export declare function getParagraphSegmentFitHeight(paragraph: EditorParagraphNode, segmentHeight: number, isLastSegment: boolean, styles: Record<string, EditorNamedStyle> | undefined, _layoutMode: "fast" | "wordParity"): number;
13
- export declare function getProjectedParagraphBlockHeight(paragraph: EditorParagraphNode, layout: EditorLayoutParagraph, styles: Record<string, EditorNamedStyle> | undefined, allowSpacingBefore?: boolean): number;
14
+ export declare function getEffectiveParagraphStyle(paragraph: EditorParagraphNode, styles: Record<string, EditorNamedStyle> | undefined): Required<EditorParagraphStyle>;
15
+ export declare function getParagraphSegmentHeight(paragraph: EditorParagraphNode, lines: EditorLayoutLine[], isFirstSegment: boolean, isLastSegment: boolean, styles: Record<string, EditorNamedStyle> | undefined, allowSpacingBefore?: boolean, allowSpacingAfter?: boolean): number;
16
+ export declare function getParagraphSegmentFitHeight(paragraph: EditorParagraphNode, segmentHeight: number, isLastSegment: boolean, styles: Record<string, EditorNamedStyle> | undefined, allowSpacingAfter?: boolean): number;
17
+ export declare function getProjectedParagraphBlockHeight(paragraph: EditorParagraphNode, layout: EditorLayoutParagraph, styles: Record<string, EditorNamedStyle> | undefined, allowSpacingBefore?: boolean, allowSpacingAfter?: boolean): number;
14
18
  export declare function getParagraphMeasuredHeight(measuredHeights: Record<string, number> | undefined, paragraphId: string, segmentId: string, isWholeParagraphSegment: boolean, fallbackHeight: number): number;
15
19
  export declare function createParagraphSegmentLayout(layout: EditorLayoutParagraph, startLineIndex: number, endLineIndexExclusive: number): EditorLayoutParagraph;
16
- export declare function applyWidowOrphanControl(paragraph: EditorParagraphNode, lines: EditorLayoutLine[], startLineIndex: number, endLineIndexExclusive: number, styles: Record<string, EditorNamedStyle> | undefined, allowSpacingBefore?: boolean): {
20
+ export declare function applyWidowOrphanControl(paragraph: EditorParagraphNode, lines: EditorLayoutLine[], startLineIndex: number, endLineIndexExclusive: number, styles: Record<string, EditorNamedStyle> | undefined, allowSpacingBefore?: boolean, allowSpacingAfter?: boolean, allowOrphanControl?: boolean): {
17
21
  endLineIndexExclusive: number;
18
22
  height: number;
19
23
  };
20
- export declare function estimateParagraphBlockHeight(paragraph: EditorParagraphNode, styles?: Record<string, EditorNamedStyle>, contentWidth?: number, layoutMode?: "fast" | "wordParity", measurer?: ITextMeasurer): number;
24
+ export interface EstimateParagraphBlockHeightOptions {
25
+ allowSpacingBefore?: boolean;
26
+ allowSpacingAfter?: boolean;
27
+ }
28
+ /**
29
+ * TODO: Floating wrap exclusions are intentionally ignored in this estimate.
30
+ * If pagination issues appear with large floating objects affecting nearby
31
+ * paragraphs, introduce a dedicated estimation path using an
32
+ * exclusionSignature, not raw pageSettings.
33
+ */
34
+ export declare function estimateParagraphBlockHeight(paragraph: EditorParagraphNode, styles?: Record<string, EditorNamedStyle>, contentWidth?: number, measurer?: ITextMeasurer, options?: EstimateParagraphBlockHeightOptions, defaultTabStop?: number): number;
@@ -1 +1 @@
1
- export { measureParagraphLayoutFromRects, projectParagraphLayout, resolveClosestOffsetInMeasuredLayout, } from '../paragraphPagination.js';
1
+ export { clearProjectedParagraphLayoutCache, measureParagraphLayoutFromRects, projectParagraphLayout, projectParagraphLayoutWithExclusions, resolveClosestOffsetInMeasuredLayout, } from '../paragraphPagination.js';
@@ -14,16 +14,17 @@ export type BlocksLayoutProjector = (context: {
14
14
  layoutMode?: "fast" | "wordParity";
15
15
  measurer?: ITextMeasurer;
16
16
  reservedHeightByPageIndex?: Map<number, number>;
17
+ defaultTabStop?: number;
17
18
  }) => EditorLayoutPage[];
18
- export type HeaderFooterBlockProjector = (blocks: EditorBlockNode[], pageIndex?: number, totalPages?: number, measuredHeights?: Record<string, number>, measuredParagraphLayouts?: Record<string, EditorLayoutParagraph>, styles?: Record<string, EditorNamedStyle>, contentWidth?: number, layoutMode?: "fast" | "wordParity", measurer?: ITextMeasurer) => EditorLayoutBlock[];
19
+ export type HeaderFooterBlockProjector = (blocks: EditorBlockNode[], pageIndex?: number, totalPages?: number, measuredHeights?: Record<string, number>, measuredParagraphLayouts?: Record<string, EditorLayoutParagraph>, styles?: Record<string, EditorNamedStyle>, contentWidth?: number, measurer?: ITextMeasurer, defaultTabStop?: number) => EditorLayoutBlock[];
19
20
  export interface SectionPaginationContext {
20
21
  sections: EditorSection[];
21
22
  documentStyles?: EditorDocument["styles"];
22
23
  maxPageHeightOverride?: number;
23
24
  measuredHeights?: Record<string, number>;
24
25
  measuredParagraphLayouts?: Record<string, EditorLayoutParagraph>;
25
- layoutMode: "fast" | "wordParity";
26
26
  measurer: ITextMeasurer;
27
+ defaultTabStop?: number;
27
28
  needsTotalPages: boolean;
28
29
  projectBlocks: BlocksLayoutProjector;
29
30
  projectHeaderFooterBlocks: HeaderFooterBlockProjector;
@@ -1,6 +1,7 @@
1
1
  import { EditorNamedStyle, EditorTableNode } from '../../core/model.js';
2
2
  import { ITextMeasurer } from '../../core/engine.js';
3
3
 
4
+ export declare function estimateTableRowHeight(row: EditorTableNode["rows"][number], styles: Record<string, EditorNamedStyle> | undefined, measurer: ITextMeasurer, defaultTabStop: number | undefined, contentWidth?: number, table?: EditorTableNode, rowIndex?: number): number;
4
5
  export declare function getTableHeaderRowCount(table: EditorTableNode): number;
5
6
  export declare function getTableRowGroups(table: EditorTableNode): Array<{
6
7
  startRowIndex: number;
@@ -10,5 +11,5 @@ export declare function getRepeatableHeaderRowCount(table: EditorTableNode, head
10
11
  startRowIndex: number;
11
12
  endRowIndexExclusive: number;
12
13
  }>): number;
13
- export declare function getTableSegmentHeight(table: EditorTableNode, rowStartIndex: number, rowEndIndexExclusive: number, repeatedHeaderRowCount: number, styles: Record<string, EditorNamedStyle> | undefined, layoutMode: "fast" | "wordParity", contentWidth?: number, _measurer?: ITextMeasurer): number;
14
- export declare function estimateTableBlockHeight(table: EditorTableNode, styles?: Record<string, EditorNamedStyle>, contentWidth?: number, layoutMode?: "fast" | "wordParity", measurer?: ITextMeasurer): number;
14
+ export declare function getTableSegmentHeight(table: EditorTableNode, rowStartIndex: number, rowEndIndexExclusive: number, repeatedHeaderRowCount: number, styles: Record<string, EditorNamedStyle> | undefined, contentWidth?: number, measurer?: ITextMeasurer, defaultTabStop?: number): number;
15
+ export declare function estimateTableBlockHeight(table: EditorTableNode, styles?: Record<string, EditorNamedStyle>, contentWidth?: number, measurer?: ITextMeasurer, defaultTabStop?: number): number;
@@ -1 +1 @@
1
- export { estimateTableBlockHeight, } from '../tablePagination.js';
1
+ export { estimateTableBlockHeight } from '../tablePagination.js';