@zeke-02/docx-editor-core 0.1.0
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.
- package/LICENSE +201 -0
- package/README.md +89 -0
- package/dist/ImageExtension-BN327PNe.d.mts +38 -0
- package/dist/ImageExtension-BlI5afZD.d.ts +38 -0
- package/dist/Subscribable-DOz6Ohoo.d.mts +33 -0
- package/dist/Subscribable-DOz6Ohoo.d.ts +33 -0
- package/dist/agent/index.d.mts +168 -0
- package/dist/agent/index.d.ts +168 -0
- package/dist/agent/index.js +1 -0
- package/dist/agent/index.mjs +1 -0
- package/dist/borders-BH_GoYU3.d.mts +58 -0
- package/dist/borders-Z9hPno2u.d.ts +58 -0
- package/dist/chunk-2HFQ4QTU.js +1 -0
- package/dist/chunk-2KHWHVTA.js +1 -0
- package/dist/chunk-2MSZXH6Q.mjs +2 -0
- package/dist/chunk-3COGZG7O.mjs +1 -0
- package/dist/chunk-3NRMSZX2.mjs +1 -0
- package/dist/chunk-3SXJPJSV.mjs +1 -0
- package/dist/chunk-44FHVKSI.js +1 -0
- package/dist/chunk-4BFNWPKW.js +1 -0
- package/dist/chunk-4G6AJ4ZM.js +1 -0
- package/dist/chunk-4GER4JLW.js +1 -0
- package/dist/chunk-4Q2IP5FW.js +1 -0
- package/dist/chunk-56D223FM.mjs +1 -0
- package/dist/chunk-5VBNOHRE.mjs +1 -0
- package/dist/chunk-67LVRQIR.mjs +1 -0
- package/dist/chunk-6LVPRTB6.js +1 -0
- package/dist/chunk-6NQSIC27.mjs +1 -0
- package/dist/chunk-6Y6LON6Y.mjs +1 -0
- package/dist/chunk-6ZXL3EIP.mjs +2 -0
- package/dist/chunk-7AMYZMCX.js +1 -0
- package/dist/chunk-7E5VBRDL.mjs +1 -0
- package/dist/chunk-7HANRHHL.js +1 -0
- package/dist/chunk-7LRR7RKE.mjs +15 -0
- package/dist/chunk-7RDCZLTU.js +1 -0
- package/dist/chunk-7U4I6BKJ.js +1 -0
- package/dist/chunk-7Z2AGPNQ.mjs +10 -0
- package/dist/chunk-AAPBAMD7.js +1 -0
- package/dist/chunk-AGVFAXVQ.mjs +9 -0
- package/dist/chunk-AMENZY5F.mjs +1 -0
- package/dist/chunk-ARHPXIBJ.mjs +1 -0
- package/dist/chunk-BGY3CB37.mjs +1 -0
- package/dist/chunk-BHBOAP6Z.js +3 -0
- package/dist/chunk-BOOHU5EW.mjs +1 -0
- package/dist/chunk-C2BAPYGJ.js +1 -0
- package/dist/chunk-CGJ6S3AH.mjs +1 -0
- package/dist/chunk-CKKO4JWE.mjs +1 -0
- package/dist/chunk-CTHHUJAB.mjs +2 -0
- package/dist/chunk-CUY2THAO.mjs +1 -0
- package/dist/chunk-CXQDYR2Y.js +1 -0
- package/dist/chunk-D4RPOJC7.js +1 -0
- package/dist/chunk-D6GO7UGD.mjs +1 -0
- package/dist/chunk-DC7S76ZX.js +1 -0
- package/dist/chunk-DROCYKAR.js +1 -0
- package/dist/chunk-DV6GWBUJ.js +2 -0
- package/dist/chunk-DZYYLV2O.js +1 -0
- package/dist/chunk-E4JMCA5X.js +2 -0
- package/dist/chunk-ERNVFCGN.js +59 -0
- package/dist/chunk-ESI4BSBF.js +1 -0
- package/dist/chunk-F44ZLDZS.js +4 -0
- package/dist/chunk-FCJWLEKT.mjs +1 -0
- package/dist/chunk-FDEDN2RC.mjs +0 -0
- package/dist/chunk-FRYMBAHP.js +3 -0
- package/dist/chunk-FWTP7BN7.mjs +4 -0
- package/dist/chunk-G3YJ5RKC.mjs +1 -0
- package/dist/chunk-GGPKPXON.js +1 -0
- package/dist/chunk-HKVAW3RE.js +1 -0
- package/dist/chunk-HQPWFUP5.js +2 -0
- package/dist/chunk-I6PMX4BO.js +1 -0
- package/dist/chunk-ILJUDEZ5.mjs +1 -0
- package/dist/chunk-IMKU4O3P.js +1 -0
- package/dist/chunk-IP2VXNWG.js +1 -0
- package/dist/chunk-J4J2Y6EU.js +10 -0
- package/dist/chunk-J7NADDC4.mjs +1 -0
- package/dist/chunk-JFZIXFRC.js +1 -0
- package/dist/chunk-JHZ3HLSR.mjs +1 -0
- package/dist/chunk-JY5EFI4D.js +1 -0
- package/dist/chunk-JZESIPVC.mjs +3 -0
- package/dist/chunk-K7GVLZS6.mjs +1 -0
- package/dist/chunk-KESNGXGO.js +1 -0
- package/dist/chunk-KQTB5Y7P.mjs +1 -0
- package/dist/chunk-L2U3TTAD.js +9 -0
- package/dist/chunk-LBKMYD3M.mjs +1 -0
- package/dist/chunk-LCICADWM.js +2 -0
- package/dist/chunk-LE67NTCN.mjs +1 -0
- package/dist/chunk-LTHT4A4S.js +1 -0
- package/dist/chunk-MCFHOMA2.js +2 -0
- package/dist/chunk-MCX4GVRX.mjs +1 -0
- package/dist/chunk-MJ5FQX7Q.js +1 -0
- package/dist/chunk-MJ6XZFVD.mjs +1 -0
- package/dist/chunk-MNOHUTKE.js +15 -0
- package/dist/chunk-MOKKS75W.mjs +3 -0
- package/dist/chunk-MP4QSEO2.mjs +1 -0
- package/dist/chunk-MVZOTKNL.mjs +1 -0
- package/dist/chunk-MZ7LW5CH.js +1 -0
- package/dist/chunk-MZOVDLYL.js +1 -0
- package/dist/chunk-N3Y5BUKV.js +1 -0
- package/dist/chunk-NBLJPT54.mjs +1 -0
- package/dist/chunk-NDDJ67FQ.mjs +1 -0
- package/dist/chunk-NMUHXIF5.js +1 -0
- package/dist/chunk-NXLJVVVE.js +1 -0
- package/dist/chunk-OBMN4VSM.mjs +1 -0
- package/dist/chunk-OCAX2KJQ.js +4 -0
- package/dist/chunk-OEXVWIHW.mjs +2 -0
- package/dist/chunk-OZMNIX6U.mjs +1 -0
- package/dist/chunk-PRRM64JO.mjs +1 -0
- package/dist/chunk-PXE2OWEA.mjs +1 -0
- package/dist/chunk-Q4CKLXWA.js +1 -0
- package/dist/chunk-Q5QOBZWT.mjs +1 -0
- package/dist/chunk-QJJQ53V6.mjs +1 -0
- package/dist/chunk-QLPQVR5W.mjs +1 -0
- package/dist/chunk-QLX4HX3I.mjs +59 -0
- package/dist/chunk-QPFJJPIC.mjs +1 -0
- package/dist/chunk-QYUPLKLP.mjs +1 -0
- package/dist/chunk-RFC2SXZ6.mjs +4 -0
- package/dist/chunk-RNOXNNSD.mjs +0 -0
- package/dist/chunk-RPIQG46O.mjs +1 -0
- package/dist/chunk-RQN4C636.js +1 -0
- package/dist/chunk-SHJBS42Y.js +1 -0
- package/dist/chunk-SORYYVJ7.js +1 -0
- package/dist/chunk-SWC6T7YQ.js +1 -0
- package/dist/chunk-TE2AF7FM.js +1 -0
- package/dist/chunk-TE2VQJZG.js +1 -0
- package/dist/chunk-TUIEV7Q7.js +1 -0
- package/dist/chunk-U4UCHBZ7.js +1 -0
- package/dist/chunk-U74VPTIU.js +1 -0
- package/dist/chunk-UCJGOQ4J.mjs +1 -0
- package/dist/chunk-UQ6WNWXX.js +1 -0
- package/dist/chunk-VHUVPHPI.mjs +1 -0
- package/dist/chunk-VQWZHPWI.mjs +1 -0
- package/dist/chunk-VW22RZ6C.mjs +1 -0
- package/dist/chunk-WLHNIXWC.mjs +2 -0
- package/dist/chunk-WLKRUBY4.js +1 -0
- package/dist/chunk-WTFLNYAT.mjs +1 -0
- package/dist/chunk-XNDGWWDT.js +1 -0
- package/dist/chunk-XXU7YQVV.js +1 -0
- package/dist/chunk-Y74ANBPV.js +1 -0
- package/dist/chunk-YMZ3F2FZ.mjs +1 -0
- package/dist/chunk-YTDWMXNS.js +1 -0
- package/dist/chunk-YUZQTRI2.js +1 -0
- package/dist/chunk-ZX26QZJ5.mjs +1 -0
- package/dist/chunk-ZY7EMTZ3.mjs +1 -0
- package/dist/colorResolver-BZ_yScf4.d.ts +390 -0
- package/dist/colorResolver-C6DtsoFI.d.mts +390 -0
- package/dist/colors-C3vA7HUU.d.mts +70 -0
- package/dist/colors-C3vA7HUU.d.ts +70 -0
- package/dist/content-5Mrz6w_b.d.mts +1360 -0
- package/dist/content-CmqAwdFL.d.ts +1360 -0
- package/dist/core-plugins.d.mts +63 -0
- package/dist/core-plugins.d.ts +63 -0
- package/dist/core-plugins.js +1 -0
- package/dist/core-plugins.mjs +1 -0
- package/dist/core.d.mts +398 -0
- package/dist/core.d.ts +398 -0
- package/dist/core.js +1 -0
- package/dist/core.mjs +1 -0
- package/dist/documentSerializer-BRaaXIHm.d.ts +36 -0
- package/dist/documentSerializer-DgO3A9av.d.mts +36 -0
- package/dist/docx/index.d.mts +1123 -0
- package/dist/docx/index.d.ts +1123 -0
- package/dist/docx/index.js +1 -0
- package/dist/docx/index.mjs +1 -0
- package/dist/docx/parser.d.mts +108 -0
- package/dist/docx/parser.d.ts +108 -0
- package/dist/docx/parser.js +1 -0
- package/dist/docx/parser.mjs +1 -0
- package/dist/docx/rezip.d.mts +312 -0
- package/dist/docx/rezip.d.ts +312 -0
- package/dist/docx/rezip.js +1 -0
- package/dist/docx/rezip.mjs +1 -0
- package/dist/docx/serializer/index.d.mts +125 -0
- package/dist/docx/serializer/index.d.ts +125 -0
- package/dist/docx/serializer/index.js +1 -0
- package/dist/docx/serializer/index.mjs +1 -0
- package/dist/docx/wrapTypes.d.mts +19 -0
- package/dist/docx/wrapTypes.d.ts +19 -0
- package/dist/docx/wrapTypes.js +1 -0
- package/dist/docx/wrapTypes.mjs +1 -0
- package/dist/docxInput-DTbCa48g.d.mts +21 -0
- package/dist/docxInput-DTbCa48g.d.ts +21 -0
- package/dist/executor-DZAMMQ35.js +1 -0
- package/dist/executor-ZCJRLT3Z.mjs +1 -0
- package/dist/findParagraphByParaId-Maw_8M5D.d.mts +28 -0
- package/dist/findParagraphByParaId-Maw_8M5D.d.ts +28 -0
- package/dist/fontLoader-8b4X-AIh.d.mts +283 -0
- package/dist/fontLoader-CK2QLq68.d.ts +283 -0
- package/dist/footnotes-lCH_P3N3.d.mts +78 -0
- package/dist/footnotes-skVvEHvZ.d.ts +78 -0
- package/dist/formatting-BH4hcZiq.d.mts +410 -0
- package/dist/formatting-_OXU8gLB.d.ts +410 -0
- package/dist/headerFooterLayout-72Vz7yp3.d.mts +292 -0
- package/dist/headerFooterLayout-Ca4ESDHF.d.ts +292 -0
- package/dist/headless.d.mts +109 -0
- package/dist/headless.d.ts +109 -0
- package/dist/headless.js +1 -0
- package/dist/headless.mjs +1 -0
- package/dist/layout-bridge/clickToPositionDom.d.mts +56 -0
- package/dist/layout-bridge/clickToPositionDom.d.ts +56 -0
- package/dist/layout-bridge/clickToPositionDom.js +1 -0
- package/dist/layout-bridge/clickToPositionDom.mjs +1 -0
- package/dist/layout-bridge/index.d.mts +462 -0
- package/dist/layout-bridge/index.d.ts +462 -0
- package/dist/layout-bridge/index.js +1 -0
- package/dist/layout-bridge/index.mjs +1 -0
- package/dist/layout-bridge/measuring/index.d.mts +377 -0
- package/dist/layout-bridge/measuring/index.d.ts +377 -0
- package/dist/layout-bridge/measuring/index.js +1 -0
- package/dist/layout-bridge/measuring/index.mjs +1 -0
- package/dist/layout-bridge/tableInsertHover.d.mts +45 -0
- package/dist/layout-bridge/tableInsertHover.d.ts +45 -0
- package/dist/layout-bridge/tableInsertHover.js +1 -0
- package/dist/layout-bridge/tableInsertHover.mjs +1 -0
- package/dist/layout-bridge/toFlowBlocks.d.mts +130 -0
- package/dist/layout-bridge/toFlowBlocks.d.ts +130 -0
- package/dist/layout-bridge/toFlowBlocks.js +1 -0
- package/dist/layout-bridge/toFlowBlocks.mjs +1 -0
- package/dist/layout-engine/index.d.mts +352 -0
- package/dist/layout-engine/index.d.ts +352 -0
- package/dist/layout-engine/index.js +1 -0
- package/dist/layout-engine/index.mjs +1 -0
- package/dist/layout-engine/types.d.mts +943 -0
- package/dist/layout-engine/types.d.ts +943 -0
- package/dist/layout-engine/types.js +1 -0
- package/dist/layout-engine/types.mjs +1 -0
- package/dist/layout-painter/index.d.mts +22 -0
- package/dist/layout-painter/index.d.ts +22 -0
- package/dist/layout-painter/index.js +1 -0
- package/dist/layout-painter/index.mjs +1 -0
- package/dist/layout-painter/renderPage.d.mts +680 -0
- package/dist/layout-painter/renderPage.d.ts +680 -0
- package/dist/layout-painter/renderPage.js +1 -0
- package/dist/layout-painter/renderPage.mjs +1 -0
- package/dist/managers/AutoSaveManager.d.mts +95 -0
- package/dist/managers/AutoSaveManager.d.ts +95 -0
- package/dist/managers/AutoSaveManager.js +1 -0
- package/dist/managers/AutoSaveManager.mjs +1 -0
- package/dist/managers/TableSelectionManager.d.mts +94 -0
- package/dist/managers/TableSelectionManager.d.ts +94 -0
- package/dist/managers/TableSelectionManager.js +1 -0
- package/dist/managers/TableSelectionManager.mjs +1 -0
- package/dist/managers/types.d.mts +121 -0
- package/dist/managers/types.d.ts +121 -0
- package/dist/managers/types.js +1 -0
- package/dist/managers/types.mjs +0 -0
- package/dist/marks-BY573yZn.d.mts +56 -0
- package/dist/marks-CjC9tF5k.d.ts +56 -0
- package/dist/mcp-cli.mjs +138 -0
- package/dist/mcp.d.mts +183 -0
- package/dist/mcp.d.ts +183 -0
- package/dist/mcp.js +16 -0
- package/dist/mcp.mjs +16 -0
- package/dist/nodes-7753Bgi_.d.mts +320 -0
- package/dist/nodes-CC_nwkT_.d.ts +320 -0
- package/dist/plugin-api/RenderedDomContext.d.mts +74 -0
- package/dist/plugin-api/RenderedDomContext.d.ts +74 -0
- package/dist/plugin-api/RenderedDomContext.js +1 -0
- package/dist/plugin-api/RenderedDomContext.mjs +1 -0
- package/dist/plugin-api/index.d.mts +15 -0
- package/dist/plugin-api/index.d.ts +15 -0
- package/dist/plugin-api/index.js +1 -0
- package/dist/plugin-api/index.mjs +0 -0
- package/dist/plugin-api/resolveItemPositions.d.mts +54 -0
- package/dist/plugin-api/resolveItemPositions.d.ts +54 -0
- package/dist/plugin-api/resolveItemPositions.js +1 -0
- package/dist/plugin-api/resolveItemPositions.mjs +1 -0
- package/dist/plugin-api/types.d.mts +190 -0
- package/dist/plugin-api/types.d.ts +190 -0
- package/dist/plugin-api/types.js +1 -0
- package/dist/plugin-api/types.mjs +0 -0
- package/dist/processTemplate-GPFDLQMX.mjs +1 -0
- package/dist/processTemplate-HH2E3HBO.js +1 -0
- package/dist/prosemirror/commands/formatting.d.mts +100 -0
- package/dist/prosemirror/commands/formatting.d.ts +100 -0
- package/dist/prosemirror/commands/formatting.js +1 -0
- package/dist/prosemirror/commands/formatting.mjs +1 -0
- package/dist/prosemirror/commands/index.d.mts +188 -0
- package/dist/prosemirror/commands/index.d.ts +188 -0
- package/dist/prosemirror/commands/index.js +1 -0
- package/dist/prosemirror/commands/index.mjs +1 -0
- package/dist/prosemirror/commands/pageBreak.d.mts +20 -0
- package/dist/prosemirror/commands/pageBreak.d.ts +20 -0
- package/dist/prosemirror/commands/pageBreak.js +1 -0
- package/dist/prosemirror/commands/pageBreak.mjs +1 -0
- package/dist/prosemirror/commands/paragraph.d.mts +70 -0
- package/dist/prosemirror/commands/paragraph.d.ts +70 -0
- package/dist/prosemirror/commands/paragraph.js +1 -0
- package/dist/prosemirror/commands/paragraph.mjs +1 -0
- package/dist/prosemirror/conversion/fromProseDoc.d.mts +65 -0
- package/dist/prosemirror/conversion/fromProseDoc.d.ts +65 -0
- package/dist/prosemirror/conversion/fromProseDoc.js +1 -0
- package/dist/prosemirror/conversion/fromProseDoc.mjs +1 -0
- package/dist/prosemirror/conversion/index.d.mts +85 -0
- package/dist/prosemirror/conversion/index.d.ts +85 -0
- package/dist/prosemirror/conversion/index.js +1 -0
- package/dist/prosemirror/conversion/index.mjs +1 -0
- package/dist/prosemirror/editor.css +823 -0
- package/dist/prosemirror/extensions/index.d.mts +79 -0
- package/dist/prosemirror/extensions/index.d.ts +79 -0
- package/dist/prosemirror/extensions/index.js +1 -0
- package/dist/prosemirror/extensions/index.mjs +1 -0
- package/dist/prosemirror/extensions/nodes/TableExtension.d.mts +30 -0
- package/dist/prosemirror/extensions/nodes/TableExtension.d.ts +30 -0
- package/dist/prosemirror/extensions/nodes/TableExtension.js +1 -0
- package/dist/prosemirror/extensions/nodes/TableExtension.mjs +1 -0
- package/dist/prosemirror/index.d.mts +70 -0
- package/dist/prosemirror/index.d.ts +70 -0
- package/dist/prosemirror/index.js +1 -0
- package/dist/prosemirror/index.mjs +1 -0
- package/dist/prosemirror/plugins/index.d.mts +154 -0
- package/dist/prosemirror/plugins/index.d.ts +154 -0
- package/dist/prosemirror/plugins/index.js +1 -0
- package/dist/prosemirror/plugins/index.mjs +1 -0
- package/dist/prosemirror/plugins/selectionTracker.d.mts +78 -0
- package/dist/prosemirror/plugins/selectionTracker.d.ts +78 -0
- package/dist/prosemirror/plugins/selectionTracker.js +1 -0
- package/dist/prosemirror/plugins/selectionTracker.mjs +1 -0
- package/dist/prosemirror/schema/index.d.mts +29 -0
- package/dist/prosemirror/schema/index.d.ts +29 -0
- package/dist/prosemirror/schema/index.js +1 -0
- package/dist/prosemirror/schema/index.mjs +1 -0
- package/dist/prosemirror/styles/index.d.mts +124 -0
- package/dist/prosemirror/styles/index.d.ts +124 -0
- package/dist/prosemirror/styles/index.js +1 -0
- package/dist/prosemirror/styles/index.mjs +1 -0
- package/dist/prosemirror/template/prosemirror-plugin.d.mts +66 -0
- package/dist/prosemirror/template/prosemirror-plugin.d.ts +66 -0
- package/dist/prosemirror/template/prosemirror-plugin.js +15 -0
- package/dist/prosemirror/template/prosemirror-plugin.mjs +15 -0
- package/dist/prosemirror/utils/ClickPositionResolver.d.mts +109 -0
- package/dist/prosemirror/utils/ClickPositionResolver.d.ts +109 -0
- package/dist/prosemirror/utils/ClickPositionResolver.js +1 -0
- package/dist/prosemirror/utils/ClickPositionResolver.mjs +1 -0
- package/dist/prosemirror/utils/LayoutSelectionGate.d.mts +81 -0
- package/dist/prosemirror/utils/LayoutSelectionGate.d.ts +81 -0
- package/dist/prosemirror/utils/LayoutSelectionGate.js +1 -0
- package/dist/prosemirror/utils/LayoutSelectionGate.mjs +1 -0
- package/dist/prosemirror/utils/PointerEventHandler.d.mts +94 -0
- package/dist/prosemirror/utils/PointerEventHandler.d.ts +94 -0
- package/dist/prosemirror/utils/PointerEventHandler.js +1 -0
- package/dist/prosemirror/utils/PointerEventHandler.mjs +1 -0
- package/dist/prosemirror/utils/extractTrackedChanges.d.mts +85 -0
- package/dist/prosemirror/utils/extractTrackedChanges.d.ts +85 -0
- package/dist/prosemirror/utils/extractTrackedChanges.js +1 -0
- package/dist/prosemirror/utils/extractTrackedChanges.mjs +1 -0
- package/dist/prosemirror/utils/visualLineNavigation.d.mts +45 -0
- package/dist/prosemirror/utils/visualLineNavigation.d.ts +45 -0
- package/dist/prosemirror/utils/visualLineNavigation.js +1 -0
- package/dist/prosemirror/utils/visualLineNavigation.mjs +1 -0
- package/dist/registry-Cpyybgij.d.mts +165 -0
- package/dist/registry-E5pahPKL.d.ts +165 -0
- package/dist/selectionContext-BPAqgNgk.d.ts +570 -0
- package/dist/selectionContext-CoZat7QZ.d.mts +570 -0
- package/dist/selectiveSave-CWaPEv0B.d.ts +31 -0
- package/dist/selectiveSave-jinP_4xa.d.mts +31 -0
- package/dist/selectiveXmlPatch-ypkxlTD_.d.mts +23 -0
- package/dist/selectiveXmlPatch-ypkxlTD_.d.ts +23 -0
- package/dist/styles-BBv7doYK.d.ts +233 -0
- package/dist/styles-EI2lxeEN.d.mts +233 -0
- package/dist/table-P8esKWAc.d.ts +82 -0
- package/dist/table-_t_W8oQf.d.mts +82 -0
- package/dist/types/agentApi.d.mts +467 -0
- package/dist/types/agentApi.d.ts +467 -0
- package/dist/types/agentApi.js +1 -0
- package/dist/types/agentApi.mjs +1 -0
- package/dist/types/content.d.mts +18 -0
- package/dist/types/content.d.ts +18 -0
- package/dist/types/content.js +1 -0
- package/dist/types/content.mjs +0 -0
- package/dist/types/document.d.mts +123 -0
- package/dist/types/document.d.ts +123 -0
- package/dist/types/document.js +1 -0
- package/dist/types/document.mjs +0 -0
- package/dist/types-DXG7vqe9.d.ts +311 -0
- package/dist/types-RchZmPFN.d.mts +137 -0
- package/dist/types-RchZmPFN.d.ts +137 -0
- package/dist/types-dYdjUZMo.d.mts +311 -0
- package/dist/utils/cardStyles.d.mts +31 -0
- package/dist/utils/cardStyles.d.ts +31 -0
- package/dist/utils/cardStyles.js +1 -0
- package/dist/utils/cardStyles.mjs +1 -0
- package/dist/utils/comments.d.mts +121 -0
- package/dist/utils/comments.d.ts +121 -0
- package/dist/utils/comments.js +1 -0
- package/dist/utils/comments.mjs +1 -0
- package/dist/utils/findReplace.d.mts +114 -0
- package/dist/utils/findReplace.d.ts +114 -0
- package/dist/utils/findReplace.js +2 -0
- package/dist/utils/findReplace.mjs +2 -0
- package/dist/utils/findVerticalScrollParent.d.mts +25 -0
- package/dist/utils/findVerticalScrollParent.d.ts +25 -0
- package/dist/utils/findVerticalScrollParent.js +1 -0
- package/dist/utils/findVerticalScrollParent.mjs +1 -0
- package/dist/utils/fontOptions.d.mts +21 -0
- package/dist/utils/fontOptions.d.ts +21 -0
- package/dist/utils/fontOptions.js +1 -0
- package/dist/utils/fontOptions.mjs +1 -0
- package/dist/utils/headingCollector.d.mts +32 -0
- package/dist/utils/headingCollector.d.ts +32 -0
- package/dist/utils/headingCollector.js +1 -0
- package/dist/utils/headingCollector.mjs +1 -0
- package/dist/utils/highlightColors.d.mts +14 -0
- package/dist/utils/highlightColors.d.ts +14 -0
- package/dist/utils/highlightColors.js +1 -0
- package/dist/utils/highlightColors.mjs +1 -0
- package/dist/utils/index.d.mts +710 -0
- package/dist/utils/index.d.ts +710 -0
- package/dist/utils/index.js +82 -0
- package/dist/utils/index.mjs +82 -0
- package/dist/utils/listState.d.mts +27 -0
- package/dist/utils/listState.d.ts +27 -0
- package/dist/utils/listState.js +1 -0
- package/dist/utils/listState.mjs +1 -0
- package/dist/utils/reportIssue.d.mts +23 -0
- package/dist/utils/reportIssue.d.ts +23 -0
- package/dist/utils/reportIssue.js +2 -0
- package/dist/utils/reportIssue.mjs +2 -0
- package/dist/utils/sidebarConstants.d.mts +10 -0
- package/dist/utils/sidebarConstants.d.ts +10 -0
- package/dist/utils/sidebarConstants.js +1 -0
- package/dist/utils/sidebarConstants.mjs +1 -0
- package/dist/utils/textSelection.d.mts +92 -0
- package/dist/utils/textSelection.d.ts +92 -0
- package/dist/utils/textSelection.js +1 -0
- package/dist/utils/textSelection.mjs +1 -0
- package/dist/utils/units.d.mts +91 -0
- package/dist/utils/units.d.ts +91 -0
- package/dist/utils/units.js +1 -0
- package/dist/utils/units.mjs +1 -0
- package/dist/variableDetector-DF3-nxUC.d.mts +115 -0
- package/dist/variableDetector-sBkgVh3f.d.ts +115 -0
- package/package.json +565 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ProseMirror to FlowBlock Converter
|
|
3
|
+
*
|
|
4
|
+
* Converts a ProseMirror document into FlowBlock[] for the layout engine.
|
|
5
|
+
* Tracks pmStart/pmEnd positions for click-to-position mapping.
|
|
6
|
+
*
|
|
7
|
+
* The deep import `@eigenpal/.../layout-bridge/toFlowBlocks` is part of the
|
|
8
|
+
* public surface (Vue adapter + tests), so the per-domain helpers under
|
|
9
|
+
* ./toFlowBlocks/ are re-exported from here to keep that path stable.
|
|
10
|
+
* @packageDocumentation
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
import { Node } from 'prosemirror-model';
|
|
14
|
+
import { BorderStyle, FlowBlock } from '../layout-engine/types.js';
|
|
15
|
+
import { T as Theme } from '../styles-BBv7doYK.js';
|
|
16
|
+
import { o as NumberFormat } from '../content-CmqAwdFL.js';
|
|
17
|
+
import '../formatting-_OXU8gLB.js';
|
|
18
|
+
import '../colors-C3vA7HUU.js';
|
|
19
|
+
import '../docx/wrapTypes.js';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Shared types and primitive helpers used across toFlowBlocks sub-modules.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Options for the conversion.
|
|
27
|
+
*/
|
|
28
|
+
type ToFlowBlocksOptions = {
|
|
29
|
+
/** Default font family. */
|
|
30
|
+
defaultFont?: string;
|
|
31
|
+
/** Default font size in points. */
|
|
32
|
+
defaultSize?: number;
|
|
33
|
+
/** Theme for resolving theme colors. */
|
|
34
|
+
theme?: Theme | null;
|
|
35
|
+
/** Page content height in pixels (pageHeight - marginTop - marginBottom). Images taller than this are scaled down to fit. */
|
|
36
|
+
pageContentHeight?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Document-wide `w:defaultTabStop` (§17.6.13) in twips. Stamped onto each
|
|
39
|
+
* paragraph's attrs so the layout-time list-marker helper can snap body
|
|
40
|
+
* text to the default tab grid when no custom `w:tabs` are defined.
|
|
41
|
+
* Default 720 twips (Word's spec default).
|
|
42
|
+
*/
|
|
43
|
+
defaultTabStopTwips?: number;
|
|
44
|
+
/**
|
|
45
|
+
* @internal Allocated by toFlowBlocks() and threaded through table /
|
|
46
|
+
* text-box conversion so list numbering stays continuous across containers.
|
|
47
|
+
* Keyed by abstractNumId when known (ECMA-376 §17.9.18: numIds sharing one
|
|
48
|
+
* abstractNum share counter state); falls back to numId.
|
|
49
|
+
*/
|
|
50
|
+
listCounters?: Map<number, number[]>;
|
|
51
|
+
/**
|
|
52
|
+
* @internal Tracks `${numId}:${ilvl}` pairs whose startOverride has already
|
|
53
|
+
* been applied. Per ECMA-376 §17.9.27 the override fires the first time
|
|
54
|
+
* each level of a numId is encountered, so a numId with overrides on
|
|
55
|
+
* multiple ilvls fires each one independently.
|
|
56
|
+
*/
|
|
57
|
+
listSeenNumIds?: Set<string>;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Reset the block ID counter (useful for testing).
|
|
61
|
+
*/
|
|
62
|
+
declare function resetBlockIdCounter(): void;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Border Conversion
|
|
66
|
+
*
|
|
67
|
+
* Shared OOXML BorderSpec → layout-engine BorderStyle conversion, used by
|
|
68
|
+
* paragraph borders, table cell borders, and header/footer borders.
|
|
69
|
+
*/
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Convert an OOXML BorderSpec to a layout-engine BorderStyle.
|
|
73
|
+
* Shared by paragraph borders, cell borders, and header/footer borders.
|
|
74
|
+
*/
|
|
75
|
+
declare function convertBorderSpecToLayout(border: {
|
|
76
|
+
style?: string;
|
|
77
|
+
size?: number;
|
|
78
|
+
space?: number;
|
|
79
|
+
color?: {
|
|
80
|
+
rgb?: string;
|
|
81
|
+
themeColor?: string;
|
|
82
|
+
themeTint?: string;
|
|
83
|
+
themeShade?: string;
|
|
84
|
+
};
|
|
85
|
+
}, theme?: Theme | null): BorderStyle | undefined;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* List Marker Resolution
|
|
89
|
+
*
|
|
90
|
+
* Helpers for rendering OOXML list markers from the counter stack:
|
|
91
|
+
* - format numbers as decimal/roman/letter per ECMA-376 §17.9.16 numFmt
|
|
92
|
+
* - resolve lvlText templates ("%1.%2.") against the counter stack
|
|
93
|
+
* - drive the per-paragraph counter increment, including startOverride.
|
|
94
|
+
*/
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Resolve an OOXML lvlText template like "%1.%2." against the counter stack
|
|
98
|
+
* and per-level numFmt list (ECMA-376 §17.9.11).
|
|
99
|
+
*
|
|
100
|
+
* When a referenced counter has no value yet (e.g. "%2" referenced from a
|
|
101
|
+
* level-0 paragraph), the placeholder AND the punctuation immediately
|
|
102
|
+
* following it are dropped — matches Word's behavior so "%1.%2." renders
|
|
103
|
+
* "1." rather than "1..".
|
|
104
|
+
*
|
|
105
|
+
* Exported for unit testing.
|
|
106
|
+
*/
|
|
107
|
+
declare function resolveListTemplate(template: string, counters: number[], levelNumFmts: NumberFormat[] | undefined): string;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* ProseMirror to FlowBlock Converter
|
|
111
|
+
*
|
|
112
|
+
* Converts a ProseMirror document into FlowBlock[] for the layout engine.
|
|
113
|
+
* Tracks pmStart/pmEnd positions for click-to-position mapping.
|
|
114
|
+
*
|
|
115
|
+
* The deep import `@eigenpal/.../layout-bridge/toFlowBlocks` is part of the
|
|
116
|
+
* public surface (Vue adapter + tests), so the per-domain helpers under
|
|
117
|
+
* ./toFlowBlocks/ are re-exported from here to keep that path stable.
|
|
118
|
+
* @packageDocumentation
|
|
119
|
+
* @public
|
|
120
|
+
*/
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Convert a ProseMirror document to FlowBlock array.
|
|
124
|
+
*
|
|
125
|
+
* Walks the document tree, converting each node to the appropriate block type.
|
|
126
|
+
* Tracks pmStart/pmEnd positions for each block for click-to-position mapping.
|
|
127
|
+
*/
|
|
128
|
+
declare function toFlowBlocks(doc: Node, options?: ToFlowBlocksOptions): FlowBlock[];
|
|
129
|
+
|
|
130
|
+
export { type ToFlowBlocksOptions, convertBorderSpecToLayout, resetBlockIdCounter, resolveListTemplate, toFlowBlocks };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkHKVAW3RE_js=require('../chunk-HKVAW3RE.js'),chunkIMKU4O3P_js=require('../chunk-IMKU4O3P.js');require('../chunk-DROCYKAR.js'),require('../chunk-F44ZLDZS.js'),require('../chunk-E4JMCA5X.js'),require('../chunk-HQPWFUP5.js'),require('../chunk-DV6GWBUJ.js'),require('../chunk-MJ5FQX7Q.js'),require('../chunk-4Q2IP5FW.js'),require('../chunk-DC7S76ZX.js');Object.defineProperty(exports,"convertBorderSpecToLayout",{enumerable:true,get:function(){return chunkHKVAW3RE_js.a}});Object.defineProperty(exports,"resolveListTemplate",{enumerable:true,get:function(){return chunkHKVAW3RE_js.b}});Object.defineProperty(exports,"toFlowBlocks",{enumerable:true,get:function(){return chunkHKVAW3RE_js.c}});Object.defineProperty(exports,"resetBlockIdCounter",{enumerable:true,get:function(){return chunkIMKU4O3P_js.d}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{a as convertBorderSpecToLayout,b as resolveListTemplate,c as toFlowBlocks}from'../chunk-5VBNOHRE.mjs';export{d as resetBlockIdCounter}from'../chunk-FCJWLEKT.mjs';import'../chunk-7E5VBRDL.mjs';import'../chunk-RFC2SXZ6.mjs';import'../chunk-6ZXL3EIP.mjs';import'../chunk-OEXVWIHW.mjs';import'../chunk-WLHNIXWC.mjs';import'../chunk-67LVRQIR.mjs';import'../chunk-VW22RZ6C.mjs';import'../chunk-QYUPLKLP.mjs';
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layout Engine - Main Entry Point
|
|
3
|
+
*
|
|
4
|
+
* Converts blocks + measures into positioned fragments on pages.
|
|
5
|
+
*
|
|
6
|
+
* @experimental Stable enough for the first-party React adapter, but the
|
|
7
|
+
* API may change in minor releases until a third-party adapter validates
|
|
8
|
+
* it. Pin a version range if you depend on this directly.
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
import { Page, PageMargins, ColumnLayout, Fragment, FlowBlock, Measure, SectionBreakBlock, Layout, TextBoxBlock, TableMeasure, LayoutOptions } from './types.mjs';
|
|
13
|
+
export { BlockId, BorderStyle, CellBorderSpec, CellBorders, ColumnBreakBlock, ColumnBreakMeasure, DEFAULT_TEXTBOX_MARGINS, DEFAULT_TEXTBOX_WIDTH, DocumentPosition, FieldRun, FloatingTablePosition, FootnoteContent, FragmentBase, HeaderFooterContentHeights, HeaderFooterLayout, HitTestResult, HyperlinkInfo, ImageBlock, ImageFragment, ImageMeasure, ImageRun, ImageRunPosition, LineBreakRun, ListNumPr, MeasuredLine, MeasuredLineSegment, PageBreakBlock, PageBreakMeasure, ParagraphAttrs, ParagraphBlock, ParagraphBorders, ParagraphFragment, ParagraphIndent, ParagraphMeasure, ParagraphSpacing, Run, RunFormatting, SectionBreakMeasure, TabAlignment, TabRun, TabStop, TableBlock, TableCell, TableCellMeasure, TableFragment, TableRow, TableRowMeasure, TextBoxFragment, TextBoxMeasure, TextRun, WrapTextDirection, assertExhaustiveFlowBlock } from './types.mjs';
|
|
14
|
+
export { isFloatingWrapType, isWrapNone, wrapsAroundText } from '../docx/wrapTypes.mjs';
|
|
15
|
+
import '../content-5Mrz6w_b.mjs';
|
|
16
|
+
import '../formatting-BH4hcZiq.mjs';
|
|
17
|
+
import '../colors-C3vA7HUU.mjs';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Paginator - manages page state during layout
|
|
21
|
+
*
|
|
22
|
+
* Tracks the current page, cursor position, and available space.
|
|
23
|
+
* Creates new pages when content doesn't fit.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Current state of a page being laid out.
|
|
28
|
+
*/
|
|
29
|
+
type PageState = {
|
|
30
|
+
/** The page being built. */
|
|
31
|
+
page: Page;
|
|
32
|
+
/** Current Y position (cursor) from page top. */
|
|
33
|
+
cursorY: number;
|
|
34
|
+
/** Current column index (0-based). */
|
|
35
|
+
columnIndex: number;
|
|
36
|
+
/** Top margin of content area. */
|
|
37
|
+
topMargin: number;
|
|
38
|
+
/** Bottom boundary of content area (page height - bottom margin). */
|
|
39
|
+
contentBottom: number;
|
|
40
|
+
/** Accumulated trailing spacing (space after previous block). */
|
|
41
|
+
trailingSpacing: number;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Options for creating a paginator.
|
|
45
|
+
*/
|
|
46
|
+
type PaginatorOptions = {
|
|
47
|
+
/** Page size (width, height). */
|
|
48
|
+
pageSize: {
|
|
49
|
+
w: number;
|
|
50
|
+
h: number;
|
|
51
|
+
};
|
|
52
|
+
/** Page margins. */
|
|
53
|
+
margins: PageMargins;
|
|
54
|
+
/** Column configuration (optional). */
|
|
55
|
+
columns?: ColumnLayout;
|
|
56
|
+
/** Per-page footnote reserved heights (pageNumber → height in pixels). */
|
|
57
|
+
footnoteReservedHeights?: Map<number, number>;
|
|
58
|
+
/** Callback when a new page is created. */
|
|
59
|
+
onNewPage?: (state: PageState) => void;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Creates a paginator for managing page layout state.
|
|
63
|
+
*/
|
|
64
|
+
declare function createPaginator(options: PaginatorOptions): {
|
|
65
|
+
/** All pages created so far. */
|
|
66
|
+
pages: Page[];
|
|
67
|
+
/** All page states. */
|
|
68
|
+
states: PageState[];
|
|
69
|
+
/** Column width in pixels (use getColumnWidth() for current value after updates). */
|
|
70
|
+
readonly columnWidth: number;
|
|
71
|
+
/** Get current column layout (returns copy to prevent external mutation). */
|
|
72
|
+
readonly columns: {
|
|
73
|
+
count: number;
|
|
74
|
+
gap: number;
|
|
75
|
+
equalWidth?: boolean;
|
|
76
|
+
separator?: boolean;
|
|
77
|
+
};
|
|
78
|
+
/** Get current state. */
|
|
79
|
+
getCurrentState: () => PageState;
|
|
80
|
+
/** Get available height in current column. */
|
|
81
|
+
getAvailableHeight: () => number;
|
|
82
|
+
/** Get content width for the active section. */
|
|
83
|
+
getContentWidth: () => number;
|
|
84
|
+
/** Check if height fits in current column. */
|
|
85
|
+
fits: (height: number) => boolean;
|
|
86
|
+
/** Ensure height fits, advancing if needed. */
|
|
87
|
+
ensureFits: (height: number) => PageState;
|
|
88
|
+
/** Add a fragment to current page. */
|
|
89
|
+
addFragment: (fragment: Fragment, height: number, spaceBefore?: number, spaceAfter?: number) => {
|
|
90
|
+
state: PageState;
|
|
91
|
+
x: number;
|
|
92
|
+
y: number;
|
|
93
|
+
};
|
|
94
|
+
/** Force a page break. */
|
|
95
|
+
forcePageBreak: () => PageState;
|
|
96
|
+
/** Force a column break. */
|
|
97
|
+
forceColumnBreak: () => PageState;
|
|
98
|
+
/** Get X position for column. */
|
|
99
|
+
getColumnX: (columnIndex: number) => number;
|
|
100
|
+
/** Update column layout (for section breaks). */
|
|
101
|
+
updateColumns: (newColumns: ColumnLayout) => void;
|
|
102
|
+
/** Update page size/margins for subsequent pages. */
|
|
103
|
+
updatePageLayout: (newPageSize?: {
|
|
104
|
+
w: number;
|
|
105
|
+
h: number;
|
|
106
|
+
}, newMargins?: PageMargins, applyImmediately?: boolean) => void;
|
|
107
|
+
};
|
|
108
|
+
type Paginator = ReturnType<typeof createPaginator>;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Keep Together Logic - Handle keepNext and keepLines paragraph properties
|
|
112
|
+
*
|
|
113
|
+
* DOCX paragraphs can have keepNext (keep with next paragraph) and keepLines
|
|
114
|
+
* (keep all lines together) properties that affect pagination.
|
|
115
|
+
*/
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* A chain of consecutive keepNext paragraphs.
|
|
119
|
+
*/
|
|
120
|
+
type KeepNextChain = {
|
|
121
|
+
/** Index of the first paragraph in the chain. */
|
|
122
|
+
startIndex: number;
|
|
123
|
+
/** Index of the last paragraph in the chain. */
|
|
124
|
+
endIndex: number;
|
|
125
|
+
/** All paragraph indices in the chain. */
|
|
126
|
+
memberIndices: number[];
|
|
127
|
+
/** Index of the anchor paragraph (first non-keepNext after chain), or -1 if none. */
|
|
128
|
+
anchorIndex: number;
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Pre-scan blocks to find all keepNext chains.
|
|
132
|
+
*
|
|
133
|
+
* A keepNext chain is a sequence of consecutive paragraphs with keepNext=true,
|
|
134
|
+
* followed by an anchor paragraph (the first non-keepNext paragraph).
|
|
135
|
+
* The entire chain must stay on the same page as the anchor's first line.
|
|
136
|
+
*
|
|
137
|
+
* Returns a map from chain start index to chain info.
|
|
138
|
+
*/
|
|
139
|
+
declare function computeKeepNextChains(blocks: FlowBlock[]): Map<number, KeepNextChain>;
|
|
140
|
+
/**
|
|
141
|
+
* Calculate the total height needed to keep a chain together.
|
|
142
|
+
*
|
|
143
|
+
* Includes all chain members plus the first line of the anchor paragraph.
|
|
144
|
+
*/
|
|
145
|
+
declare function calculateChainHeight(chain: KeepNextChain, blocks: FlowBlock[], measures: Measure[]): number;
|
|
146
|
+
/**
|
|
147
|
+
* Get the set of indices that are mid-chain (not chain starters).
|
|
148
|
+
* These should skip the keepNext check since their chain starter already decided.
|
|
149
|
+
*/
|
|
150
|
+
declare function getMidChainIndices(chains: Map<number, KeepNextChain>): Set<number>;
|
|
151
|
+
/**
|
|
152
|
+
* Check if a paragraph has keepLines property (all lines must stay together).
|
|
153
|
+
*/
|
|
154
|
+
declare function hasKeepLines(block: FlowBlock): boolean;
|
|
155
|
+
/**
|
|
156
|
+
* Check if a paragraph should start on a new page (pageBreakBefore).
|
|
157
|
+
*/
|
|
158
|
+
declare function hasPageBreakBefore(block: FlowBlock): boolean;
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Section Breaks - Handle page layout changes at section boundaries
|
|
162
|
+
*
|
|
163
|
+
* Sections in DOCX can have different page sizes, margins, columns, and orientations.
|
|
164
|
+
* This module manages the state transitions between sections during layout.
|
|
165
|
+
*/
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* State tracking for sections during layout.
|
|
169
|
+
* Uses active/pending pattern to schedule changes at page boundaries.
|
|
170
|
+
*/
|
|
171
|
+
type SectionState = {
|
|
172
|
+
/** Currently active top margin. */
|
|
173
|
+
activeTopMargin: number;
|
|
174
|
+
/** Currently active bottom margin. */
|
|
175
|
+
activeBottomMargin: number;
|
|
176
|
+
/** Currently active left margin. */
|
|
177
|
+
activeLeftMargin: number;
|
|
178
|
+
/** Currently active right margin. */
|
|
179
|
+
activeRightMargin: number;
|
|
180
|
+
/** Scheduled top margin for next page. */
|
|
181
|
+
pendingTopMargin: number | null;
|
|
182
|
+
/** Scheduled bottom margin for next page. */
|
|
183
|
+
pendingBottomMargin: number | null;
|
|
184
|
+
/** Scheduled left margin for next page. */
|
|
185
|
+
pendingLeftMargin: number | null;
|
|
186
|
+
/** Scheduled right margin for next page. */
|
|
187
|
+
pendingRightMargin: number | null;
|
|
188
|
+
/** Currently active page size. */
|
|
189
|
+
activePageSize: {
|
|
190
|
+
w: number;
|
|
191
|
+
h: number;
|
|
192
|
+
};
|
|
193
|
+
/** Scheduled page size for next page. */
|
|
194
|
+
pendingPageSize: {
|
|
195
|
+
w: number;
|
|
196
|
+
h: number;
|
|
197
|
+
} | null;
|
|
198
|
+
/** Currently active column layout. */
|
|
199
|
+
activeColumns: ColumnLayout;
|
|
200
|
+
/** Scheduled column layout for next page. */
|
|
201
|
+
pendingColumns: ColumnLayout | null;
|
|
202
|
+
/** Currently active orientation. */
|
|
203
|
+
activeOrientation: 'portrait' | 'landscape' | null;
|
|
204
|
+
/** Scheduled orientation for next page. */
|
|
205
|
+
pendingOrientation: 'portrait' | 'landscape' | null;
|
|
206
|
+
/** Whether any pages have been created yet. */
|
|
207
|
+
hasAnyPages: boolean;
|
|
208
|
+
};
|
|
209
|
+
/**
|
|
210
|
+
* Decision about what happens at a section break.
|
|
211
|
+
*/
|
|
212
|
+
type BreakDecision = {
|
|
213
|
+
/** Force a page break. */
|
|
214
|
+
forcePageBreak: boolean;
|
|
215
|
+
/** Force a mid-page region change (for column layout changes). */
|
|
216
|
+
forceMidPageRegion: boolean;
|
|
217
|
+
/** Required page parity (even or odd). */
|
|
218
|
+
requiredParity?: 'even' | 'odd';
|
|
219
|
+
};
|
|
220
|
+
/**
|
|
221
|
+
* Create initial section state from default options.
|
|
222
|
+
*/
|
|
223
|
+
declare function createInitialSectionState(margins: PageMargins, pageSize: {
|
|
224
|
+
w: number;
|
|
225
|
+
h: number;
|
|
226
|
+
}, columns?: ColumnLayout): SectionState;
|
|
227
|
+
/**
|
|
228
|
+
* Schedule section break effects by analyzing the break type and updating state.
|
|
229
|
+
*
|
|
230
|
+
* This determines what layout changes should occur (page break, column changes)
|
|
231
|
+
* and schedules the new section properties to be applied at the appropriate boundary.
|
|
232
|
+
*/
|
|
233
|
+
declare function scheduleSectionBreak(block: SectionBreakBlock, state: SectionState, _baseMargins: PageMargins): {
|
|
234
|
+
decision: BreakDecision;
|
|
235
|
+
state: SectionState;
|
|
236
|
+
};
|
|
237
|
+
/**
|
|
238
|
+
* Apply pending section state to active state at a page boundary.
|
|
239
|
+
* Transfers all pending values to active and clears pending.
|
|
240
|
+
*/
|
|
241
|
+
declare function applyPendingToActive(state: SectionState): SectionState;
|
|
242
|
+
/**
|
|
243
|
+
* Get the effective margins for the current section state.
|
|
244
|
+
* Returns active margins, or pending if scheduled.
|
|
245
|
+
*/
|
|
246
|
+
declare function getEffectiveMargins(state: SectionState): PageMargins;
|
|
247
|
+
/**
|
|
248
|
+
* Get the effective page size for the current section state.
|
|
249
|
+
*/
|
|
250
|
+
declare function getEffectivePageSize(state: SectionState): {
|
|
251
|
+
w: number;
|
|
252
|
+
h: number;
|
|
253
|
+
};
|
|
254
|
+
/**
|
|
255
|
+
* Get the effective columns for the current section state.
|
|
256
|
+
*/
|
|
257
|
+
declare function getEffectiveColumns(state: SectionState): ColumnLayout;
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Page index (0-based) whose layout fragments cover `pmPos`, or null if none.
|
|
261
|
+
* Used when the painted DOM may not yet have `[data-pm-start]` for this position (virtualization).
|
|
262
|
+
*
|
|
263
|
+
* Range semantics: `[pmStart, pmEnd)` — half-open, matching ProseMirror's
|
|
264
|
+
* `pos + nodeSize` convention. Boundary positions belong to the next fragment,
|
|
265
|
+
* so when a fragment ends at the same position the next one starts, the next
|
|
266
|
+
* fragment wins (avoids returning the previous page for the start of the
|
|
267
|
+
* next paragraph).
|
|
268
|
+
*/
|
|
269
|
+
declare function findPageIndexContainingPmPos(layout: Layout, pmPos: number): number | null;
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* Subset of {@link TextBoxBlock} needed to classify how a text box flows
|
|
273
|
+
* relative to surrounding content. Kept narrow so callers (measure, layout,
|
|
274
|
+
* paint) can pass partial views without rebuilding the full block.
|
|
275
|
+
*
|
|
276
|
+
* @public
|
|
277
|
+
*/
|
|
278
|
+
type TextBoxFlowAttrs = Pick<TextBoxBlock, 'displayMode' | 'wrapType'>;
|
|
279
|
+
/**
|
|
280
|
+
* True when a text box participates in float layout — either via the
|
|
281
|
+
* `float` display mode (CSS-style) or via an OOXML `wrapType` that
|
|
282
|
+
* positions the box outside paragraph flow (`square`, `tight`, `through`,
|
|
283
|
+
* `behind`, `inFront`).
|
|
284
|
+
*
|
|
285
|
+
* @public
|
|
286
|
+
*/
|
|
287
|
+
declare function isFloatingTextBoxBlock(block: TextBoxFlowAttrs): boolean;
|
|
288
|
+
/**
|
|
289
|
+
* True when a floating text box reserves an exclusion zone that narrows
|
|
290
|
+
* surrounding text lines. `wrapNone` (`behind` / `inFront`) and
|
|
291
|
+
* `topAndBottom` are floats that don't wrap text on their sides.
|
|
292
|
+
*
|
|
293
|
+
* @public
|
|
294
|
+
*/
|
|
295
|
+
declare function floatingTextBoxWrapsText(block: TextBoxFlowAttrs): boolean;
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* Layout Engine - Main Entry Point
|
|
299
|
+
*
|
|
300
|
+
* Converts blocks + measures into positioned fragments on pages.
|
|
301
|
+
*
|
|
302
|
+
* @experimental Stable enough for the first-party React adapter, but the
|
|
303
|
+
* API may change in minor releases until a third-party adapter validates
|
|
304
|
+
* it. Pin a version range if you depend on this directly.
|
|
305
|
+
* @packageDocumentation
|
|
306
|
+
* @public
|
|
307
|
+
*/
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* Page-flow geometry resolved from a single section's properties.
|
|
311
|
+
* Exported so the React paged editor can reuse the same shape when
|
|
312
|
+
* measuring blocks per section width — keeping pagination and
|
|
313
|
+
* measurement consistent.
|
|
314
|
+
*/
|
|
315
|
+
type SectionLayoutConfig = {
|
|
316
|
+
pageSize: {
|
|
317
|
+
w: number;
|
|
318
|
+
h: number;
|
|
319
|
+
};
|
|
320
|
+
margins: PageMargins;
|
|
321
|
+
/** Optional. Sections without explicit columns inherit `{ count: 1 }`. */
|
|
322
|
+
columns?: ColumnLayout;
|
|
323
|
+
};
|
|
324
|
+
/**
|
|
325
|
+
* Walk `blocks` once and collect per-section geometry. `configs` has one
|
|
326
|
+
* entry per section break plus a trailing `finalConfig`. `breakIndices` is
|
|
327
|
+
* 1-to-1 with the inner break entries (same length as `configs.length - 1`).
|
|
328
|
+
* Callers that need the break `type` can read it from
|
|
329
|
+
* `(blocks[breakIndices[i]] as SectionBreakBlock).type`.
|
|
330
|
+
*
|
|
331
|
+
* @internal
|
|
332
|
+
*/
|
|
333
|
+
declare function collectSectionConfigs(blocks: FlowBlock[], initialConfig: SectionLayoutConfig, finalConfig: SectionLayoutConfig): {
|
|
334
|
+
configs: SectionLayoutConfig[];
|
|
335
|
+
breakIndices: number[];
|
|
336
|
+
};
|
|
337
|
+
/**
|
|
338
|
+
* Layout a document: convert blocks + measures into pages with positioned fragments.
|
|
339
|
+
*
|
|
340
|
+
* Algorithm:
|
|
341
|
+
* 1. Walk blocks in order with their corresponding measures
|
|
342
|
+
* 2. For each block, create appropriate fragment(s)
|
|
343
|
+
* 3. Use paginator to manage page/column state
|
|
344
|
+
* 4. Handle page breaks, section breaks, and keepNext chains
|
|
345
|
+
*/
|
|
346
|
+
declare function layoutDocument(blocks: FlowBlock[], measures: Measure[], options?: LayoutOptions): Layout;
|
|
347
|
+
/**
|
|
348
|
+
* Calculate total height of header rows from their measures.
|
|
349
|
+
*/
|
|
350
|
+
declare function getHeaderRowsHeight(measure: TableMeasure, headerRowCount: number): number;
|
|
351
|
+
|
|
352
|
+
export { type BreakDecision, ColumnLayout, FlowBlock, Fragment, type KeepNextChain, Layout, LayoutOptions, Measure, Page, PageMargins, type PageState, type Paginator, type PaginatorOptions, SectionBreakBlock, type SectionLayoutConfig, type SectionState, TableMeasure, TextBoxBlock, type TextBoxFlowAttrs, applyPendingToActive, calculateChainHeight, collectSectionConfigs, computeKeepNextChains, createInitialSectionState, createPaginator, findPageIndexContainingPmPos, floatingTextBoxWrapsText, getEffectiveColumns, getEffectiveMargins, getEffectivePageSize, getHeaderRowsHeight, getMidChainIndices, hasKeepLines, hasPageBreakBefore, isFloatingTextBoxBlock, layoutDocument, scheduleSectionBreak };
|