@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,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Document Agent
|
|
3
|
+
*
|
|
4
|
+
* Headless, framework-agnostic API for inspecting and editing the
|
|
5
|
+
* Document model. Used by `@zeke-02/docx-editor-agents` and any
|
|
6
|
+
* adapter that wants agent capabilities without UI.
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export { A as AgentContextOptions, S as ContextSelectionOptions, D as DocumentAgent, E as ExtendedSelectionContext, F as FormattedTextSegment, a as FormattingSummary, I as InsertHyperlinkOptions, b as InsertImageOptions, c as InsertTableOptions, d as InsertTextOptions, e as SelectionContextOptions, f as buildExtendedSelectionContext, g as buildSelectionContext, h as buildSelectionContextFromContext, i as createAgent, j as createAgentFromDocument, k as executeCommand, l as executeCommands, m as getAgentContext, n as getDocumentSummary, o as getSelectionFormattingSummary } from '../selectionContext-BPAqgNgk.js';
|
|
11
|
+
import { T as TextFormatting } from '../formatting-_OXU8gLB.js';
|
|
12
|
+
import { c as DocumentBody, P as Paragraph, H as Hyperlink, R as Run, T as Table } from '../content-CmqAwdFL.js';
|
|
13
|
+
import { Position } from '../types/agentApi.js';
|
|
14
|
+
export { AIAction, AIActionRequest, AgentCommand, AgentContext, AgentResponse, SelectionContext as AgentSelectionContext, ApplyStyleCommand, ApplyVariablesCommand, DEFAULT_AI_ACTIONS, DeleteTextCommand, FormatParagraphCommand, FormatTextCommand, InsertHyperlinkCommand, InsertImageCommand, InsertParagraphBreakCommand, InsertTableCommand, InsertTextCommand, MergeParagraphsCommand, ParagraphContext, ParagraphOutline, Range, RemoveHyperlinkCommand, ReplaceTextCommand, SectionInfo, SetVariableCommand, SplitParagraphCommand, StyleInfo, SuggestedAction, comparePositions, createCollapsedRange, createCommand, createRange, getActionDescription, getActionLabel, isPositionInRange } from '../types/agentApi.js';
|
|
15
|
+
import '../types/document.js';
|
|
16
|
+
import '../colors-C3vA7HUU.js';
|
|
17
|
+
import '../styles-BBv7doYK.js';
|
|
18
|
+
import '../docx/wrapTypes.js';
|
|
19
|
+
import '../selectiveSave-CWaPEv0B.js';
|
|
20
|
+
import '../docxInput-DTbCa48g.js';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Shared Text Utilities for Agent Module
|
|
24
|
+
*
|
|
25
|
+
* Common text extraction and manipulation utilities used by
|
|
26
|
+
* context.ts, selectionContext.ts, and other agent-related code.
|
|
27
|
+
*
|
|
28
|
+
* Consolidates duplicated helper functions into a single location.
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Get plain text from a paragraph
|
|
33
|
+
*/
|
|
34
|
+
declare function getParagraphText(paragraph: Paragraph): string;
|
|
35
|
+
/**
|
|
36
|
+
* Get plain text from a run
|
|
37
|
+
*/
|
|
38
|
+
declare function getRunText(run: Run): string;
|
|
39
|
+
/**
|
|
40
|
+
* Get plain text from a hyperlink
|
|
41
|
+
*/
|
|
42
|
+
declare function getHyperlinkText(hyperlink: Hyperlink): string;
|
|
43
|
+
/**
|
|
44
|
+
* Get plain text from a table
|
|
45
|
+
*/
|
|
46
|
+
declare function getTableText(table: Table): string;
|
|
47
|
+
/**
|
|
48
|
+
* Get plain text from document body
|
|
49
|
+
*/
|
|
50
|
+
declare function getBodyText(body: DocumentBody): string;
|
|
51
|
+
/**
|
|
52
|
+
* Count words in text
|
|
53
|
+
*/
|
|
54
|
+
declare function countWords(text: string): number;
|
|
55
|
+
/**
|
|
56
|
+
* Count characters in text
|
|
57
|
+
*/
|
|
58
|
+
declare function countCharacters(text: string, includeSpaces?: boolean): number;
|
|
59
|
+
/**
|
|
60
|
+
* Get word count from document body
|
|
61
|
+
*/
|
|
62
|
+
declare function getBodyWordCount(body: DocumentBody): number;
|
|
63
|
+
/**
|
|
64
|
+
* Get character count from document body
|
|
65
|
+
*/
|
|
66
|
+
declare function getBodyCharacterCount(body: DocumentBody): number;
|
|
67
|
+
/**
|
|
68
|
+
* Get text before a position
|
|
69
|
+
*
|
|
70
|
+
* @param paragraphs - Array of paragraphs
|
|
71
|
+
* @param position - Position to get text before
|
|
72
|
+
* @param maxChars - Maximum characters to return
|
|
73
|
+
* @returns Text before the position
|
|
74
|
+
*/
|
|
75
|
+
declare function getTextBefore(paragraphs: Paragraph[], position: Position, maxChars: number): string;
|
|
76
|
+
/**
|
|
77
|
+
* Get text after a position
|
|
78
|
+
*
|
|
79
|
+
* @param paragraphs - Array of paragraphs
|
|
80
|
+
* @param position - Position to get text after
|
|
81
|
+
* @param maxChars - Maximum characters to return
|
|
82
|
+
* @returns Text after the position
|
|
83
|
+
*/
|
|
84
|
+
declare function getTextAfter(paragraphs: Paragraph[], position: Position, maxChars: number): string;
|
|
85
|
+
/**
|
|
86
|
+
* Get formatting at a specific position in a paragraph
|
|
87
|
+
*
|
|
88
|
+
* @param paragraph - The paragraph to check
|
|
89
|
+
* @param offset - Character offset in the paragraph
|
|
90
|
+
* @returns Formatting at that position
|
|
91
|
+
*/
|
|
92
|
+
declare function getFormattingAtPosition(paragraph: Paragraph, offset: number): Partial<TextFormatting>;
|
|
93
|
+
/**
|
|
94
|
+
* Check if position is within a hyperlink
|
|
95
|
+
*
|
|
96
|
+
* @param paragraph - The paragraph to check
|
|
97
|
+
* @param offset - Character offset in the paragraph
|
|
98
|
+
* @returns True if position is in a hyperlink
|
|
99
|
+
*/
|
|
100
|
+
declare function isPositionInHyperlink(paragraph: Paragraph, offset: number): boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Get hyperlink at position
|
|
103
|
+
*
|
|
104
|
+
* @param paragraph - The paragraph to check
|
|
105
|
+
* @param offset - Character offset in the paragraph
|
|
106
|
+
* @returns The hyperlink at that position, or undefined
|
|
107
|
+
*/
|
|
108
|
+
declare function getHyperlinkAtPosition(paragraph: Paragraph, offset: number): Hyperlink | undefined;
|
|
109
|
+
/**
|
|
110
|
+
* Check if style ID represents a heading
|
|
111
|
+
*
|
|
112
|
+
* @param styleId - Style ID to check
|
|
113
|
+
* @returns True if it's a heading style
|
|
114
|
+
*/
|
|
115
|
+
declare function isHeadingStyle(styleId?: string): boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Parse heading level from style ID
|
|
118
|
+
*
|
|
119
|
+
* @param styleId - Style ID to parse
|
|
120
|
+
* @returns Heading level (1-9) or undefined
|
|
121
|
+
*/
|
|
122
|
+
declare function parseHeadingLevel(styleId?: string): number | undefined;
|
|
123
|
+
/**
|
|
124
|
+
* Check if document body has images
|
|
125
|
+
*
|
|
126
|
+
* @param body - Document body to check
|
|
127
|
+
* @returns True if contains images
|
|
128
|
+
*/
|
|
129
|
+
declare function hasImages(body: DocumentBody): boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Check if document body has hyperlinks
|
|
132
|
+
*
|
|
133
|
+
* @param body - Document body to check
|
|
134
|
+
* @returns True if contains hyperlinks
|
|
135
|
+
*/
|
|
136
|
+
declare function hasHyperlinks(body: DocumentBody): boolean;
|
|
137
|
+
/**
|
|
138
|
+
* Check if document body has tables
|
|
139
|
+
*
|
|
140
|
+
* @param body - Document body to check
|
|
141
|
+
* @returns True if contains tables
|
|
142
|
+
*/
|
|
143
|
+
declare function hasTables(body: DocumentBody): boolean;
|
|
144
|
+
/**
|
|
145
|
+
* Get all paragraphs from document body
|
|
146
|
+
*
|
|
147
|
+
* @param body - Document body
|
|
148
|
+
* @returns Array of paragraphs
|
|
149
|
+
*/
|
|
150
|
+
declare function getParagraphs(body: DocumentBody): Paragraph[];
|
|
151
|
+
/**
|
|
152
|
+
* Get paragraph at index from document body
|
|
153
|
+
*
|
|
154
|
+
* @param body - Document body
|
|
155
|
+
* @param index - Paragraph index (0-indexed)
|
|
156
|
+
* @returns Paragraph or undefined
|
|
157
|
+
*/
|
|
158
|
+
declare function getParagraphAtIndex(body: DocumentBody, index: number): Paragraph | undefined;
|
|
159
|
+
/**
|
|
160
|
+
* Get block index for a paragraph index
|
|
161
|
+
*
|
|
162
|
+
* @param body - Document body
|
|
163
|
+
* @param paragraphIndex - Paragraph index
|
|
164
|
+
* @returns Block index or -1 if not found
|
|
165
|
+
*/
|
|
166
|
+
declare function getBlockIndexForParagraph(body: DocumentBody, paragraphIndex: number): number;
|
|
167
|
+
|
|
168
|
+
export { Position, countCharacters, countWords, getBlockIndexForParagraph, getBodyCharacterCount, getBodyText, getBodyWordCount, getFormattingAtPosition, getHyperlinkAtPosition, getHyperlinkText, getParagraphAtIndex, getParagraphText, getParagraphs, getRunText, getTableText, getTextAfter, getTextBefore, hasHyperlinks, hasImages, hasTables, isHeadingStyle, isPositionInHyperlink, parseHeadingLevel };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkOCAX2KJQ_js=require('../chunk-OCAX2KJQ.js'),chunkXXU7YQVV_js=require('../chunk-XXU7YQVV.js'),chunkL2U3TTAD_js=require('../chunk-L2U3TTAD.js');require('../chunk-RQN4C636.js'),require('../chunk-U4UCHBZ7.js');var chunkTE2AF7FM_js=require('../chunk-TE2AF7FM.js');require('../chunk-ERNVFCGN.js'),require('../chunk-FRYMBAHP.js'),require('../chunk-4BFNWPKW.js'),require('../chunk-LCICADWM.js'),require('../chunk-F44ZLDZS.js'),require('../chunk-44FHVKSI.js'),require('../chunk-MNOHUTKE.js'),require('../chunk-MZOVDLYL.js'),require('../chunk-E4JMCA5X.js'),require('../chunk-HQPWFUP5.js'),require('../chunk-DV6GWBUJ.js'),require('../chunk-C2BAPYGJ.js'),require('../chunk-4Q2IP5FW.js'),require('../chunk-Q4CKLXWA.js'),require('../chunk-DC7S76ZX.js');Object.defineProperty(exports,"countCharacters",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.g}});Object.defineProperty(exports,"countWords",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.f}});Object.defineProperty(exports,"getBlockIndexForParagraph",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.v}});Object.defineProperty(exports,"getBodyCharacterCount",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.i}});Object.defineProperty(exports,"getBodyText",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.e}});Object.defineProperty(exports,"getBodyWordCount",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.h}});Object.defineProperty(exports,"getFormattingAtPosition",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.l}});Object.defineProperty(exports,"getHyperlinkAtPosition",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.n}});Object.defineProperty(exports,"getHyperlinkText",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.c}});Object.defineProperty(exports,"getParagraphAtIndex",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.u}});Object.defineProperty(exports,"getParagraphText",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.a}});Object.defineProperty(exports,"getParagraphs",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.t}});Object.defineProperty(exports,"getRunText",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.b}});Object.defineProperty(exports,"getTableText",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.d}});Object.defineProperty(exports,"getTextAfter",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.k}});Object.defineProperty(exports,"getTextBefore",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.j}});Object.defineProperty(exports,"hasHyperlinks",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.r}});Object.defineProperty(exports,"hasImages",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.q}});Object.defineProperty(exports,"hasTables",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.s}});Object.defineProperty(exports,"isHeadingStyle",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.o}});Object.defineProperty(exports,"isPositionInHyperlink",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.m}});Object.defineProperty(exports,"parseHeadingLevel",{enumerable:true,get:function(){return chunkOCAX2KJQ_js.p}});Object.defineProperty(exports,"DEFAULT_AI_ACTIONS",{enumerable:true,get:function(){return chunkXXU7YQVV_js.g}});Object.defineProperty(exports,"comparePositions",{enumerable:true,get:function(){return chunkXXU7YQVV_js.d}});Object.defineProperty(exports,"createCollapsedRange",{enumerable:true,get:function(){return chunkXXU7YQVV_js.a}});Object.defineProperty(exports,"createCommand",{enumerable:true,get:function(){return chunkXXU7YQVV_js.h}});Object.defineProperty(exports,"createRange",{enumerable:true,get:function(){return chunkXXU7YQVV_js.b}});Object.defineProperty(exports,"getActionDescription",{enumerable:true,get:function(){return chunkXXU7YQVV_js.f}});Object.defineProperty(exports,"getActionLabel",{enumerable:true,get:function(){return chunkXXU7YQVV_js.e}});Object.defineProperty(exports,"isPositionInRange",{enumerable:true,get:function(){return chunkXXU7YQVV_js.c}});Object.defineProperty(exports,"DocumentAgent",{enumerable:true,get:function(){return chunkL2U3TTAD_js.a}});Object.defineProperty(exports,"buildExtendedSelectionContext",{enumerable:true,get:function(){return chunkL2U3TTAD_js.h}});Object.defineProperty(exports,"buildSelectionContext",{enumerable:true,get:function(){return chunkL2U3TTAD_js.g}});Object.defineProperty(exports,"buildSelectionContextFromContext",{enumerable:true,get:function(){return chunkL2U3TTAD_js.e}});Object.defineProperty(exports,"createAgent",{enumerable:true,get:function(){return chunkL2U3TTAD_js.b}});Object.defineProperty(exports,"createAgentFromDocument",{enumerable:true,get:function(){return chunkL2U3TTAD_js.c}});Object.defineProperty(exports,"getAgentContext",{enumerable:true,get:function(){return chunkL2U3TTAD_js.d}});Object.defineProperty(exports,"getDocumentSummary",{enumerable:true,get:function(){return chunkL2U3TTAD_js.f}});Object.defineProperty(exports,"getSelectionFormattingSummary",{enumerable:true,get:function(){return chunkL2U3TTAD_js.i}});Object.defineProperty(exports,"executeCommand",{enumerable:true,get:function(){return chunkTE2AF7FM_js.a}});Object.defineProperty(exports,"executeCommands",{enumerable:true,get:function(){return chunkTE2AF7FM_js.b}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{g as countCharacters,f as countWords,v as getBlockIndexForParagraph,i as getBodyCharacterCount,e as getBodyText,h as getBodyWordCount,l as getFormattingAtPosition,n as getHyperlinkAtPosition,c as getHyperlinkText,u as getParagraphAtIndex,a as getParagraphText,t as getParagraphs,b as getRunText,d as getTableText,k as getTextAfter,j as getTextBefore,r as hasHyperlinks,q as hasImages,s as hasTables,o as isHeadingStyle,m as isPositionInHyperlink,p as parseHeadingLevel}from'../chunk-FWTP7BN7.mjs';export{g as DEFAULT_AI_ACTIONS,d as comparePositions,a as createCollapsedRange,h as createCommand,b as createRange,f as getActionDescription,e as getActionLabel,c as isPositionInRange}from'../chunk-MVZOTKNL.mjs';export{a as DocumentAgent,h as buildExtendedSelectionContext,g as buildSelectionContext,e as buildSelectionContextFromContext,b as createAgent,c as createAgentFromDocument,d as getAgentContext,f as getDocumentSummary,i as getSelectionFormattingSummary}from'../chunk-AGVFAXVQ.mjs';import'../chunk-K7GVLZS6.mjs';import'../chunk-ARHPXIBJ.mjs';export{a as executeCommand,b as executeCommands}from'../chunk-CUY2THAO.mjs';import'../chunk-QLX4HX3I.mjs';import'../chunk-JZESIPVC.mjs';import'../chunk-3NRMSZX2.mjs';import'../chunk-CTHHUJAB.mjs';import'../chunk-RFC2SXZ6.mjs';import'../chunk-BOOHU5EW.mjs';import'../chunk-7LRR7RKE.mjs';import'../chunk-ILJUDEZ5.mjs';import'../chunk-6ZXL3EIP.mjs';import'../chunk-OEXVWIHW.mjs';import'../chunk-WLHNIXWC.mjs';import'../chunk-LE67NTCN.mjs';import'../chunk-VW22RZ6C.mjs';import'../chunk-VQWZHPWI.mjs';import'../chunk-QYUPLKLP.mjs';
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Node } from 'prosemirror-model';
|
|
2
|
+
import { EditorState, Command } from 'prosemirror-state';
|
|
3
|
+
import { C as ColorValue } from './colors-C3vA7HUU.mjs';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Table selection context + navigation helpers.
|
|
7
|
+
*
|
|
8
|
+
* `getTableContext` walks the selection up from `$from` and reports which
|
|
9
|
+
* table / row / cell the cursor is in, plus the table's row/column counts,
|
|
10
|
+
* whether a multi-cell selection is active, and the current cell's border
|
|
11
|
+
* + fill colors (so the toolbar's color pickers can show the live values).
|
|
12
|
+
*
|
|
13
|
+
* `goToNextCell` / `goToPrevCell` are tab-stop-style cell navigation commands
|
|
14
|
+
* registered by the plugin extension.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
interface TableContextInfo {
|
|
18
|
+
isInTable: boolean;
|
|
19
|
+
table?: Node;
|
|
20
|
+
tablePos?: number;
|
|
21
|
+
rowIndex?: number;
|
|
22
|
+
columnIndex?: number;
|
|
23
|
+
rowCount?: number;
|
|
24
|
+
columnCount?: number;
|
|
25
|
+
hasMultiCellSelection?: boolean;
|
|
26
|
+
canSplitCell?: boolean;
|
|
27
|
+
/** Current cell's dominant border color, if any */
|
|
28
|
+
cellBorderColor?: ColorValue;
|
|
29
|
+
/** Current cell's background/fill color (RGB hex without #), if any */
|
|
30
|
+
cellBackgroundColor?: string;
|
|
31
|
+
}
|
|
32
|
+
declare function getTableContext(state: EditorState): TableContextInfo;
|
|
33
|
+
declare function isInTableCell(state: EditorState): boolean;
|
|
34
|
+
declare function goToNextCell(): Command;
|
|
35
|
+
declare function goToPrevCell(): Command;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Cell-border commands. Each command applies a preset / individual side /
|
|
39
|
+
* color / width to the cells targeted by the current selection (single
|
|
40
|
+
* cursor cell or active `CellSelection`).
|
|
41
|
+
*
|
|
42
|
+
* All four commands use the shared `buildTableGrid` lookup to find each
|
|
43
|
+
* cell's neighbours in the grid, then sync the matching edge on the
|
|
44
|
+
* adjacent cell — Google-Docs style edge-symmetric border editing.
|
|
45
|
+
*
|
|
46
|
+
* Schema-free: only attribute updates via `tr.setNodeMarkup`.
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
type BorderPreset = 'all' | 'outside' | 'inside' | 'none';
|
|
50
|
+
type BorderSpec = {
|
|
51
|
+
style: string;
|
|
52
|
+
size: number;
|
|
53
|
+
color: {
|
|
54
|
+
rgb: string;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export { type BorderPreset as B, type TableContextInfo as T, type BorderSpec as a, goToNextCell as b, goToPrevCell as c, getTableContext as g, isInTableCell as i };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Node } from 'prosemirror-model';
|
|
2
|
+
import { EditorState, Command } from 'prosemirror-state';
|
|
3
|
+
import { C as ColorValue } from './colors-C3vA7HUU.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Table selection context + navigation helpers.
|
|
7
|
+
*
|
|
8
|
+
* `getTableContext` walks the selection up from `$from` and reports which
|
|
9
|
+
* table / row / cell the cursor is in, plus the table's row/column counts,
|
|
10
|
+
* whether a multi-cell selection is active, and the current cell's border
|
|
11
|
+
* + fill colors (so the toolbar's color pickers can show the live values).
|
|
12
|
+
*
|
|
13
|
+
* `goToNextCell` / `goToPrevCell` are tab-stop-style cell navigation commands
|
|
14
|
+
* registered by the plugin extension.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
interface TableContextInfo {
|
|
18
|
+
isInTable: boolean;
|
|
19
|
+
table?: Node;
|
|
20
|
+
tablePos?: number;
|
|
21
|
+
rowIndex?: number;
|
|
22
|
+
columnIndex?: number;
|
|
23
|
+
rowCount?: number;
|
|
24
|
+
columnCount?: number;
|
|
25
|
+
hasMultiCellSelection?: boolean;
|
|
26
|
+
canSplitCell?: boolean;
|
|
27
|
+
/** Current cell's dominant border color, if any */
|
|
28
|
+
cellBorderColor?: ColorValue;
|
|
29
|
+
/** Current cell's background/fill color (RGB hex without #), if any */
|
|
30
|
+
cellBackgroundColor?: string;
|
|
31
|
+
}
|
|
32
|
+
declare function getTableContext(state: EditorState): TableContextInfo;
|
|
33
|
+
declare function isInTableCell(state: EditorState): boolean;
|
|
34
|
+
declare function goToNextCell(): Command;
|
|
35
|
+
declare function goToPrevCell(): Command;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Cell-border commands. Each command applies a preset / individual side /
|
|
39
|
+
* color / width to the cells targeted by the current selection (single
|
|
40
|
+
* cursor cell or active `CellSelection`).
|
|
41
|
+
*
|
|
42
|
+
* All four commands use the shared `buildTableGrid` lookup to find each
|
|
43
|
+
* cell's neighbours in the grid, then sync the matching edge on the
|
|
44
|
+
* adjacent cell — Google-Docs style edge-symmetric border editing.
|
|
45
|
+
*
|
|
46
|
+
* Schema-free: only attribute updates via `tr.setNodeMarkup`.
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
type BorderPreset = 'all' | 'outside' | 'inside' | 'none';
|
|
50
|
+
type BorderSpec = {
|
|
51
|
+
style: string;
|
|
52
|
+
size: number;
|
|
53
|
+
color: {
|
|
54
|
+
rgb: string;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export { type BorderPreset as B, type TableContextInfo as T, type BorderSpec as a, goToNextCell as b, goToPrevCell as c, getTableContext as g, isInTableCell as i };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkYTDWMXNS_js=require('./chunk-YTDWMXNS.js'),chunk7HANRHHL_js=require('./chunk-7HANRHHL.js'),prosemirrorState=require('prosemirror-state');function z(t,u){let r=chunk7HANRHHL_js.e.getState(t);if(!r)return false;if(u){let e=t.tr.setMeta(chunk7HANRHHL_js.e,{active:!r.active});u(e);}return true}function U(t,u,r,e){if(r){let a={active:t};e!==void 0&&(a.author=e);let n=u.tr.setMeta(chunk7HANRHHL_js.e,a);r(n);}return true}function C(t){return chunk7HANRHHL_js.e.getState(t)?.active??false}function k(t,u){return {revisionId:chunk7HANRHHL_js.h(),author:t.author,date:u??new Date().toISOString()}}function T(t){return {revisionId:t.revisionId,author:t.author,date:t.date}}function b(t,u,r){let e=null;return t.descendants(a=>{if(e)return false;if(!a.isText)return true;let n=a.marks.find(o=>o.type.name===u&&o.attrs.author===r);return n?(e=T(n.attrs),false):true}),e}function I(t,u,r,e){let a=n=>{if(!n?.isText)return null;let o=n.marks.find(c=>c.type.name===r&&c.attrs.author===e);return o?T(o.attrs):null};try{let n=t.resolve(u);for(let o of [n.nodeBefore,n.nodeAfter]){let c=a(o);if(c)return c}if(n.parentOffset===0&&n.depth>0){let o=n.before(n.depth);if(o>0){let c=t.resolve(o).nodeBefore;if(c){let i=b(c,r,e);if(i)return i}}}if(n.parentOffset===n.parent.content.size&&n.depth>0){let o=n.after(n.depth),c=t.resolve(o).nodeAfter;if(c){let i=b(c,r,e);if(i)return i}}if(r==="insertion"||r==="deletion"){let o=r==="insertion"?"ins":"del";for(let c=n.depth;c>0;c--){let i=n.node(c);if(!(i.type.name==="tableCell"||i.type.name==="tableHeader"))continue;let s=i.attrs.cellMarker;if(s&&s.kind===o&&s.info&&s.info.author===e)return T(s.info);break}}}catch{}return null}function y(t,u,r,e,a){return I(t,u,e,a)??I(t,r,e,a)}function v(t,u,r,e){let a=r==="pPrIns"?"insertion":"deletion";try{let n=t.resolve(u);for(let i of [n.nodeBefore,n.nodeAfter]){if(i?.type.name!=="paragraph")continue;let f=i.attrs[r];if(f&&f.author===e)return f}let o=n.nodeBefore;if(o?.type.name==="paragraph"){let i=b(o,a,e);if(i)return i}let c=n.nodeAfter;if(c?.type.name==="paragraph"){let i=b(c,a,e);if(i)return i}}catch{}return null}function A(t,u,r,e,a,n,o,c){let i=[];if(u.nodesBetween(r,e,(s,d)=>{if(!s.isText)return;let l=Math.max(d,r),g=Math.min(d+s.nodeSize,e);if(l>=g)return;let p=s.marks.some(h=>h.type===a&&h.attrs.author===o.author);i.push({from:l,to:g,isOwnInsert:p});}),i.length===0)return;let f=y(u,r,e,"deletion",o.author)??k(o,c);for(let s=i.length-1;s>=0;s--){let d=i[s];d.isOwnInsert?t.delete(d.from,d.to):t.addMark(d.from,d.to,n.create(f));}}function N(t,u,r){let e=chunk7HANRHHL_js.e.getState(t);if(!e?.active)return false;let{$from:a,$to:n,empty:o}=t.selection,c=t.schema.marks.insertion,i=t.schema.marks.deletion;if(!c||!i)return false;if(!u)return true;let f=t.tr;if(f.setMeta(chunk7HANRHHL_js.f,true),!o){A(f,t.doc,a.pos,n.pos,c,i,e);let M=f.mapping.map(n.pos);return f.setSelection(prosemirrorState.TextSelection.near(f.doc.resolve(M))),u(f.scrollIntoView()),true}let s=r==="backward",d=s?a.pos-1:a.pos,l=s?a.pos:a.pos+1;if(d<0||l>t.doc.content.size)return true;let p=t.doc.resolve(d).nodeAfter;if(!p?.isText)return false;let h=p.marks.some(M=>M.type===c&&M.attrs.author===e.author);if(p.marks.some(M=>M.type===i)){let M=s?d:l;f.setSelection(prosemirrorState.TextSelection.near(f.doc.resolve(M)));}else if(h)f.delete(d,l);else {let M=y(t.doc,d,l,"deletion",e.author)||k(e);f.addMark(d,l,i.create(M));let P=s?d:l;f.setSelection(prosemirrorState.TextSelection.near(f.doc.resolve(P)));}return u(f.scrollIntoView()),true}function O(t,u,r,e,a){let n=t.state.schema.marks.insertion;if(!n)return false;let o=t.state.tr;o.setMeta(chunk7HANRHHL_js.f,true);let c=I(t.state.doc,u,"insertion",a.author)||k(a);if(u!==r){let s=t.state.schema.marks.deletion;s&&A(o,t.state.doc,u,r,n,s,a,c.date);}let i=o.mapping.map(r);o.insertText(e,i,i);let f=t.state.schema.marks.deletion;return f&&o.removeMark(i,i+e.length,f),o.addMark(i,i+e.length,n.create(c)),t.dispatch(o.scrollIntoView()),true}function G(t,u){let r=chunk7HANRHHL_js.e.getState(t);if(!r?.active)return false;let{$from:e,$to:a}=t.selection;if(e.parent.type.name!=="paragraph"||a.parent.type.name!=="paragraph")return false;if(!u)return true;let n=t.schema.marks.insertion,o=t.schema.marks.deletion;if(!n||!o)return false;let c=e.parent,f=(t.storedMarks??e.marks()).filter(p=>chunkYTDWMXNS_js.i.has(p.type.name)),s=t.tr;if(s.setMeta(chunk7HANRHHL_js.f,true),!t.selection.empty){A(s,t.doc,e.pos,a.pos,n,o,r);let p=s.mapping.map(e.pos);s.setSelection(prosemirrorState.TextSelection.near(s.doc.resolve(p)));}let d=s.selection.$from,l=d.before(d.depth);s.split(s.selection.from,1);let g=s.doc.nodeAt(l);if(g&&g.type.name==="paragraph"){let p=v(s.doc,l,"pPrIns",r.author)??k(r);s.setNodeMarkup(l,void 0,{...g.attrs,pPrIns:p});}return chunkYTDWMXNS_js.j(s,c,f,t.schema),u(s.scrollIntoView()),true}function j(t,u){let r=chunk7HANRHHL_js.e.getState(t);if(!r?.active)return false;let{$from:e,empty:a}=t.selection;if(!a||e.parentOffset!==0||e.parent.type.name!=="paragraph")return false;let n=e.before(e.depth);if(n<=0)return false;let o=t.doc.resolve(n).nodeBefore;if(!o||o.type.name!=="paragraph")return false;let c=o.attrs.pPrIns;if(c&&c.author===r.author){if(!u)return true;let l=n-o.nodeSize,g=e.parent,p=t.tr.setNodeMarkup(l,void 0,g.attrs);return p.join(n),p.setMeta(chunk7HANRHHL_js.f,true),u(p.scrollIntoView()),true}if(o.attrs.pPrDel){if(u){let l=n-1,g=t.tr.setSelection(prosemirrorState.TextSelection.near(t.doc.resolve(l)));u(g);}return true}if(!u)return true;let i=n-o.nodeSize,f=v(t.doc,i,"pPrDel",r.author)??k(r),s=t.tr.setNodeMarkup(i,void 0,{...o.attrs,pPrDel:f});s.setMeta(chunk7HANRHHL_js.f,true);let d=n-1;return s.setSelection(prosemirrorState.TextSelection.near(s.doc.resolve(d))),u(s.scrollIntoView()),true}function K(t,u){let r=chunk7HANRHHL_js.e.getState(t);if(!r?.active)return false;let{$from:e,empty:a}=t.selection;if(!a||e.parent.type.name!=="paragraph"||e.parentOffset!==e.parent.content.size)return false;let n=e.parent,o=e.before(e.depth),c=o+n.nodeSize;if(c>=t.doc.content.size)return false;let f=t.doc.resolve(c).nodeAfter;if(!f||f.type.name!=="paragraph")return false;let s=n.attrs.pPrIns;if(s&&s.author===r.author){if(!u)return true;let g=t.tr.setNodeMarkup(o,void 0,f.attrs);return g.join(c),g.setMeta(chunk7HANRHHL_js.f,true),u(g.scrollIntoView()),true}if(n.attrs.pPrDel||!u)return true;let d=v(t.doc,o,"pPrDel",r.author)??k(r),l=t.tr.setNodeMarkup(o,void 0,{...n.attrs,pPrDel:d});return l.setMeta(chunk7HANRHHL_js.f,true),u(l.scrollIntoView()),true}function Pt(t=false,u="User"){return new prosemirrorState.Plugin({key:chunk7HANRHHL_js.e,state:{init(){return {active:t,author:u}},apply(r,e){let a=r.getMeta(chunk7HANRHHL_js.e);return a?{...e,...a}:e}},props:{handleDOMEvents:{beforeinput(r,e){let a=chunk7HANRHHL_js.e.getState(r.state);if(!a?.active)return false;if(e.inputType==="insertText"&&e.data){e.preventDefault();let{from:n,to:o}=r.state.selection;return O(r,n,o,e.data,a)}return false}},handleKeyDown(r,e){return chunk7HANRHHL_js.e.getState(r.state)?.active?e.key==="Enter"&&!e.shiftKey?G(r.state,r.dispatch):e.key==="Backspace"?j(r.state,r.dispatch)?true:N(r.state,r.dispatch,"backward"):e.key==="Delete"?K(r.state,r.dispatch)?true:N(r.state,r.dispatch,"forward"):false:false},handleTextInput(r,e,a,n){let o=chunk7HANRHHL_js.e.getState(r.state);return o?.active?O(r,e,a,n,o):false}},appendTransaction(r,e,a){let n=chunk7HANRHHL_js.e.getState(a);if(!n?.active)return null;let o=r.find(s=>s.docChanged&&!s.getMeta(chunk7HANRHHL_js.f)&&!s.getMeta(chunk7HANRHHL_js.g));if(!o)return null;let c=a.schema.marks.insertion;if(!c)return null;let i=a.tr;i.setMeta(chunk7HANRHHL_js.f,true);let f=a.schema.marks.deletion;return o.steps.forEach(s=>{s.getMap().forEach((l,g,p,h)=>{if(h>p){let R=y(a.doc,p,h,"insertion",n.author)??k(n);a.doc.nodesBetween(p,h,(M,P)=>{if(!M.isText)return;if(!M.marks.some(E=>E.type===c||f&&E.type===f)){let E=Math.max(P,p),w=Math.min(P+M.nodeSize,h);i.addMark(E,w,c.create(R));}});}});}),i.steps.length>0?i:null}})}exports.a=z;exports.b=U;exports.c=C;exports.d=Pt;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';function d(e,o,t){let r=0;for(let l=o;l<o+t&&l<e.length;l++)r+=e[l];return r}function C(e,o,t,r){let l=d(e,o,t),c=Math.floor(l/Math.max(r,1)),s=l-c*r,a=Array.from({length:r},(b,i)=>c+(i<s?1:0));return [...e.slice(0,o),...a,...e.slice(o+t)]}function T(e,o,t,r,l,c){let s=t-o.rowspan,a=r-o.colspan,b=l+s,i=o.row+o.rowspan,p=o.col+o.colspan,m=[];for(let n of e){if(n===o)continue;let u=n.row+n.rowspan,w=n.col+n.colspan,f=n.row<i&&u>o.row,h=n.col<p&&w>o.col;m.push({data:n.data,row:n.row>=i?n.row+s:n.row,col:n.col>=p?n.col+a:n.col,rowspan:n.rowspan+(s>0&&f&&!h?s:0),colspan:n.colspan+(a>0&&h&&!f?a:0)});}for(let n=0;n<t;n++)for(let u=0;u<r;u++){let w=n===0&&u===0;m.push({data:c(w,n,u),row:o.row+n,col:o.col+u,rowspan:1,colspan:1});}return {anchors:m,deltaRows:s,deltaCols:a,newRowCount:b}}function A(e){let o=new Map,t=new Map;for(let r of e){o.set(`${r.row}-${r.col}`,r);for(let l=r.row;l<r.row+r.rowspan;l++)for(let c=r.col;c<r.col+r.colspan;c++)t.set(`${l}-${c}`,r);}return {byStart:o,byCoveredSlot:t}}function R(e,o){let t=e>1||o>1;return {minRows:e,minCols:o,initialRows:e,initialCols:t?o:o+1}}exports.a=d;exports.b=C;exports.c=T;exports.d=A;exports.e=R;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a as a$3,j,b as b$3}from'./chunk-MOKKS75W.mjs';import {a}from'./chunk-OZMNIX6U.mjs';import {a as a$2,b as b$1,c as c$4,k}from'./chunk-VHUVPHPI.mjs';import {b as b$2,c as c$3}from'./chunk-BGY3CB37.mjs';import {d as d$1,c as c$1,j as j$1}from'./chunk-ZX26QZJ5.mjs';import {c,d,b,a as a$1}from'./chunk-MJ6XZFVD.mjs';import {o}from'./chunk-67LVRQIR.mjs';import {a as a$4}from'./chunk-LE67NTCN.mjs';import {p,c as c$2}from'./chunk-VW22RZ6C.mjs';import {a as a$5}from'./chunk-QYUPLKLP.mjs';import {Fragment,Schema}from'prosemirror-model';import {PluginKey,Plugin,NodeSelection,TextSelection}from'prosemirror-state';import {AddMarkStep,RemoveMarkStep,AddNodeMarkStep,RemoveNodeMarkStep}from'prosemirror-transform';import {redo,undo,history}from'prosemirror-history';import {toggleMark}from'prosemirror-commands';import {dropCursor}from'prosemirror-dropcursor';import {keymap}from'prosemirror-keymap';function ie(n){let t=n.indentLeft;n.numPr?.numId&&t==null&&(t=((n.numPr.ilvl??0)+1)*720);let e={alignment:n.alignment,spaceBefore:n.spaceBefore,spaceAfter:n.spaceAfter,lineSpacing:n.lineSpacing,lineSpacingRule:n.lineSpacingRule,indentLeft:t,indentRight:n.indentRight,indentFirstLine:n.indentFirstLine,hangingIndent:n.hangingIndent,borders:n.borders,shading:n.shading},r=b$3(e);return r.marginTop&&(r["--docx-space-before"]=r.marginTop),r.marginBottom&&(r["--docx-space-after"]=r.marginBottom),Object.entries(r).map(([a,o])=>`${a.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${o}`).join("; ")}function le(n){switch(n){case "upperRoman":return "docx-list-upper-roman";case "lowerRoman":return "docx-list-lower-roman";case "upperLetter":return "docx-list-upper-alpha";case "lowerLetter":return "docx-list-lower-alpha";default:return "docx-list-decimal"}}function de(n,t,e){if(!n?.numId)return "";let r=n.ilvl??0;return t?`docx-list-bullet docx-list-level-${r}`:`docx-list-numbered ${le(e)} docx-list-level-${r}`}function M(n){if(!n)return;let t=n.trim(),e=parseFloat(t);if(!(isNaN(e)||e===0)){if(t.endsWith("pt"))return Math.round(e*20);if(t.endsWith("px"))return Math.round(e*15);if(t.endsWith("in"))return Math.round(e*1440);if(t.endsWith("mm"))return Math.round(e*(1440/25.4));if(t.endsWith("cm"))return Math.round(e*(1440/2.54));if(/^[\d.]+$/.test(t))return Math.round(e*15)}}function ue(n){switch(n.trim().toLowerCase()){case "left":case "start":return "left";case "center":return "center";case "right":case "end":return "right";case "justify":return "both";default:return}}function ce(n){if(!n||n==="normal")return;let t=n.trim();if(t.endsWith("%")){let r=parseFloat(t);return isNaN(r)||r===0?void 0:{lineSpacing:Math.round(240*(r/100)),lineSpacingRule:"auto"}}if(/[a-z]/i.test(t)){let r=M(t);return r==null?void 0:{lineSpacing:r,lineSpacingRule:"exact"}}let e=parseFloat(t);if(!(isNaN(e)||e===0))return {lineSpacing:Math.round(240*e),lineSpacingRule:"auto"}}function Z(n){let t=n.style,e={};if(t.textAlign){let o=ue(t.textAlign);o&&(e.alignment=o);}let r=t.marginLeft||t.paddingLeft;if(r){let o=M(r);o!=null&&(e.indentLeft=o);}let a=t.marginRight||t.paddingRight;if(a){let o=M(a);o!=null&&(e.indentRight=o);}if(t.textIndent){let o=M(t.textIndent);o!=null&&(o<0?(e.indentFirstLine=Math.abs(o),e.hangingIndent=true):e.indentFirstLine=o);}if(t.lineHeight){let o=ce(t.lineHeight);o&&(e.lineSpacing=o.lineSpacing,e.lineSpacingRule=o.lineSpacingRule);}if(t.marginTop){let o=M(t.marginTop);o!=null&&(e.spaceBefore=o);}if(t.marginBottom){let o=M(t.marginBottom);o!=null&&(e.spaceAfter=o);}return e}var pe={content:"inline*",group:"block",attrs:{paraId:{default:null},textId:{default:null},alignment:{default:null},spaceBefore:{default:null},spaceAfter:{default:null},lineSpacing:{default:null},lineSpacingRule:{default:null},spacingExplicit:{default:null},indentLeft:{default:null},indentRight:{default:null},indentFirstLine:{default:null},hangingIndent:{default:false},numPr:{default:null},listNumFmt:{default:null},listIsBullet:{default:null},listMarker:{default:null},listMarkerHidden:{default:null},listMarkerFontFamily:{default:null},listMarkerFontSize:{default:null},listMarkerSuffix:{default:null},listLevelNumFmts:{default:null},listAbstractNumId:{default:null},listStartOverride:{default:null},styleId:{default:null},borders:{default:null},shading:{default:null},tabs:{default:null},pageBreakBefore:{default:null},renderedPageBreakBefore:{default:null},keepNext:{default:null},keepLines:{default:null},contextualSpacing:{default:null},defaultTextFormatting:{default:null},sectionBreakType:{default:null},bidi:{default:null},outlineLevel:{default:null},bookmarks:{default:null},_originalFormatting:{default:null},_sectionProperties:{default:null},pPrIns:{default:null},pPrDel:{default:null},pPrChange:{default:null}},parseDOM:[{tag:"p",getAttrs(n){let t=n,e={paraId:t.dataset.paraId||void 0,alignment:t.dataset.alignment,styleId:t.dataset.styleId||void 0,sectionBreakType:t.dataset.sectionBreak||void 0},r=Z(t);return {...r,...e,alignment:e.alignment||r.alignment||void 0}}},...["h1","h2","h3","h4","h5","h6"].map(n=>({tag:n,getAttrs(t){let e=parseInt(n.charAt(1));return {...Z(t),styleId:`Heading${e}`,outlineLevel:e-1}}}))],toDOM(n){let t=n.attrs,e=ie(t),r=de(t.numPr,t.listIsBullet,t.listNumFmt),a={};if(e&&(a.style=e),r&&(a.class=r),t.paraId&&(a["data-para-id"]=t.paraId),t.alignment&&(a["data-alignment"]=t.alignment),t.styleId&&(a["data-style-id"]=t.styleId),t.listMarker&&(a["data-list-marker"]=t.listMarker),t.bidi&&(a.dir="rtl"),t.sectionBreakType&&(a["data-section-break"]=t.sectionBreakType,a.class=(a.class?a.class+" ":"")+"docx-section-break"),t.pPrIns||t.pPrDel){let o=t.pPrIns??t.pPrDel,s=t.pPrIns?"ep-revision-ins":"ep-revision-del";a.class=(a.class?a.class+" ":"")+"ep-revision-pmark "+s,a["data-revision-id"]=String(o.revisionId),a["data-revision-author"]=o.author,o.date&&(a["data-revision-date"]=o.date);}else if(Array.isArray(t.pPrChange)&&t.pPrChange.length>0){let o=t.pPrChange[0];a.class=(a.class?a.class+" ":"")+"ep-revision-prop-change",a["data-revision-id"]=String(o.info.id),a["data-revision-author"]=o.info.author,o.info.date&&(a["data-revision-date"]=o.info.date);}return ["p",a,0]}};function S(n,t){return (e,r)=>{let{$from:a,$to:o}=e.selection;if(!r)return true;let s=e.tr,i=new Set;return e.doc.nodesBetween(a.pos,o.pos,(l,d)=>{l.type.name==="paragraph"&&!i.has(d)&&(i.add(d),s=s.setNodeMarkup(d,void 0,{...l.attrs,[n]:t}));}),r(s.scrollIntoView()),true}}function Q(n){return (t,e)=>{let{$from:r,$to:a}=t.selection;if(!e)return true;let o=t.tr,s=new Set;return t.doc.nodesBetween(r.pos,a.pos,(i,l)=>{i.type.name==="paragraph"&&!s.has(l)&&(s.add(l),o=o.setNodeMarkup(l,void 0,{...i.attrs,...n}));}),e(o.scrollIntoView()),true}}function I(n){return (t,e)=>S("alignment",n)(t,e)}function A(n,t="auto"){return (e,r)=>Q({lineSpacing:n,lineSpacingRule:t})(e,r)}function me(n=720){return (t,e)=>{let{$from:r,$to:a}=t.selection;if(!e)return true;let o=t.tr,s=new Set;return t.doc.nodesBetween(r.pos,a.pos,(i,l)=>{if(i.type.name==="paragraph"&&!s.has(l)){s.add(l);let d=i.attrs.indentLeft||0;o=o.setNodeMarkup(l,void 0,{...i.attrs,indentLeft:d+n});}}),e(o.scrollIntoView()),true}}function fe(n=720){return (t,e)=>{let{$from:r,$to:a}=t.selection;if(!e)return true;let o=t.tr,s=new Set;return t.doc.nodesBetween(r.pos,a.pos,(i,l)=>{if(i.type.name==="paragraph"&&!s.has(l)){s.add(l);let d=i.attrs.indentLeft||0,c=Math.max(0,d-n);o=o.setNodeMarkup(l,void 0,{...i.attrs,indentLeft:c>0?c:null});}}),e(o.scrollIntoView()),true}}function ge(n){return (t,e)=>(r,a)=>{let{$from:o,$to:s}=r.selection;if(!a)return true;let i=r.tr,l=new Set,d=[];if(e?.runFormatting){let u=e.runFormatting;u.bold&&d.push(n.marks.bold.create()),u.italic&&d.push(n.marks.italic.create()),u.fontSize&&d.push(n.marks.fontSize.create({size:u.fontSize})),u.fontFamily&&d.push(n.marks.fontFamily.create({ascii:u.fontFamily.ascii,hAnsi:u.fontFamily.hAnsi,asciiTheme:u.fontFamily.asciiTheme})),u.color&&!u.color.auto&&d.push(n.marks.textColor.create({rgb:u.color.rgb,themeColor:u.color.themeColor,themeTint:u.color.themeTint,themeShade:u.color.themeShade})),u.underline&&u.underline.style!=="none"&&d.push(n.marks.underline.create({style:u.underline.style,color:u.underline.color})),(u.strike||u.doubleStrike)&&d.push(n.marks.strike.create({double:u.doubleStrike||false}));}let c=[n.marks.bold,n.marks.italic,n.marks.fontSize,n.marks.fontFamily,n.marks.textColor,n.marks.underline,n.marks.strike].filter(Boolean);return r.doc.nodesBetween(o.pos,s.pos,(u,g)=>{if(u.type.name==="paragraph"&&!l.has(g)){l.add(g);let f={...u.attrs,styleId:t};if(e){let p=e.paragraphFormatting;f.alignment=p?.alignment??null,f.spaceBefore=p?.spaceBefore??null,f.spaceAfter=p?.spaceAfter??null,f.lineSpacing=p?.lineSpacing??null,f.lineSpacingRule=p?.lineSpacingRule??null,f.indentLeft=p?.indentLeft??null,f.indentRight=p?.indentRight??null,f.indentFirstLine=p?.indentFirstLine??null,f.hangingIndent=p?.hangingIndent??null,f.contextualSpacing=p?.contextualSpacing??null,f.keepNext=p?.keepNext??null,f.keepLines=p?.keepLines??null,f.pageBreakBefore=p?.pageBreakBefore??null,f.outlineLevel=p?.outlineLevel??null;}if(i=i.setNodeMarkup(g,void 0,f),e){let p=g+1,k=g+u.nodeSize-1;if(k>p){for(let y of c)i=i.removeMark(p,k,y);for(let y of d)i=i.addMark(p,k,y);}}}}),d.length>0&&(i=i.setStoredMarks(d)),a(i.scrollIntoView()),true}}function gn(n){let{$from:t}=n.selection,e=t.parent;return e.type.name!=="paragraph"?null:e.attrs.alignment||null}function hn(n){let{$from:t}=n.selection,e=t.parent;return e.type.name!=="paragraph"?null:e.attrs.tabs||null}function xn(n){let{$from:t}=n.selection,e=t.parent;return e.type.name!=="paragraph"?null:e.attrs.styleId||null}function yn(n){let{$from:t}=n.selection,e=t.parent;return e.type.name!=="paragraph"?false:!!e.attrs.bidi}var tt=c({name:"paragraph",schemaNodeName:"paragraph",nodeSpec:pe,onSchemaReady(n){let t=ge(n.schema);return {commands:{setAlignment:e=>I(e),alignLeft:()=>I("left"),alignCenter:()=>I("center"),alignRight:()=>I("right"),alignJustify:()=>I("both"),setLineSpacing:(e,r)=>A(e,r),singleSpacing:()=>A(240),oneAndHalfSpacing:()=>A(360),doubleSpacing:()=>A(480),setSpaceBefore:e=>S("spaceBefore",e),setSpaceAfter:e=>S("spaceAfter",e),increaseIndent:e=>me(e),decreaseIndent:e=>fe(e),setIndentLeft:e=>S("indentLeft",e>0?e:null),setIndentRight:e=>S("indentRight",e>0?e:null),setIndentFirstLine:(e,r)=>Q({indentFirstLine:e>0?e:null,hangingIndent:r??false}),applyStyle:(e,r)=>t(e,r),clearStyle:()=>S("styleId",null),insertSectionBreak:e=>S("sectionBreakType",e),removeSectionBreak:()=>S("sectionBreakType",null),generateTOC:()=>(e,r)=>{let a$1=a(e.doc);if(a$1.length===0)return false;if(!r)return true;let{schema:o}=e,s=e.tr,i=[];for(let c of a$1){let u=`_Toc${Math.floor(1e8+Math.random()*9e8)}`;i.push({name:u,level:c.level,text:c.text});let g=s.mapping.map(c.pmPos),p=s.doc.resolve(g).nodeAfter;if(p&&p.type.name==="paragraph"){let P=[...(p.attrs.bookmarks||[]).filter(w=>!w.name.startsWith("_Toc")),{id:Math.floor(Math.random()*2147483647),name:u}];s.setNodeMarkup(g,void 0,{...p.attrs,bookmarks:P});}}let l=[];l.push(o.node("paragraph",{styleId:"TOCHeading",alignment:"center"},[o.text("Table of Contents",[o.marks.bold.create()])]));for(let c of i){let u=c.level*720,g=`TOC${c.level+1}`,f=o.marks.hyperlink.create({href:`#${c.name}`});l.push(o.node("paragraph",{styleId:g,indentLeft:u>0?u:null},[o.text(c.text,[f])]));}let d=s.mapping.map(e.selection.from);return s.insert(d,Fragment.from(l)),r(s.scrollIntoView()),true},toggleBidi:()=>(e,r)=>{let{$from:a}=e.selection,o=a.parent;if(o.type.name!=="paragraph")return false;let s=o.attrs.bidi||false;return S("bidi",s?null:true)(e,r)},setRtl:()=>S("bidi",true),setLtr:()=>S("bidi",null),setTabs:e=>S("tabs",e.length>0?e:null),addTabStop:(e,r="left",a="none")=>(o,s)=>{let{$from:i}=o.selection,l=i.parent;if(l.type.name!=="paragraph")return false;let u=[...(l.attrs.tabs||[]).filter(g=>g.position!==e),{position:e,alignment:r,leader:a}].sort((g,f)=>g.position-f.position);return S("tabs",u)(o,s)},removeTabStop:e=>(r,a)=>{let{$from:o}=r.selection,s=o.parent;if(s.type.name!=="paragraph")return false;let l=(s.attrs.tabs||[]).filter(d=>d.position!==e);return S("tabs",l.length>0?l:null)(r,a)}}}}});function En(n){let t=n.schema.marks.hyperlink;return t?c$4(n,t):false}function Tn(n){let t=n.schema.marks.hyperlink;if(!t)return null;let{empty:e,$from:r,from:a,to:o}=n.selection;if(e){let i=n.storedMarks||r.marks();for(let l of i)if(l.type===t)return {href:l.attrs.href,tooltip:l.attrs.tooltip};return null}let s=null;return n.doc.nodesBetween(a,o,i=>{if(i.isText&&s===null){let l=t.isInSet(i.marks);if(l)return s={href:l.attrs.href,tooltip:l.attrs.tooltip},false}return true}),s}function Mn(n){let{from:t,to:e,empty:r}=n.selection;return r?"":n.doc.textBetween(t,e,"")}function wn(n,t){let e=n.schema.marks.hyperlink;if(!e)return null;let{$from:r}=n.selection,a=r.marks().find(d=>d.type===e);if(!a&&r.nodeAfter&&(a=r.nodeAfter.marks.find(d=>d.type===e)),!a&&r.nodeBefore&&(a=r.nodeBefore.marks.find(d=>d.type===e)),!a&&t&&r.parent.forEach(d=>{if(a||!d.isText)return;let c=d.marks.find(u=>u.type===e&&u.attrs.href===t);c&&(a=c);}),!a)return null;let o=r.start(),s=[],i=null;r.parent.forEach((d,c)=>{let u=o+c,g=u+d.nodeSize;d.isText&&d.marks.some(p=>p.type===e&&p.attrs.href===a.attrs.href)?i?i.end=g:i={start:u,end:g}:i&&(s.push(i),i=null);}),i&&s.push(i);let l=s.find(d=>d.start<=r.pos&&r.pos<=d.end);return l?{mark:a,start:l.start,end:l.end}:null}var et=d({name:"hyperlink",schemaMarkName:"hyperlink",markSpec:{attrs:{href:{},tooltip:{default:null},rId:{default:null}},inclusive:false,parseDOM:[{tag:"a[href]",getAttrs:n=>{let t=n;return {href:t.getAttribute("href")||"",tooltip:t.getAttribute("title")||void 0}}}],toDOM(n){let t=n.attrs,e={href:t.href,target:"_blank",rel:"noopener noreferrer"};return t.tooltip&&(e.title=t.tooltip),["a",e,0]}},onSchemaReady(n){let t=n.schema.marks.hyperlink,e=(o,s)=>(i,l)=>{let{from:d,to:c,empty:u}=i.selection;if(u)return false;if(l){let g=t.create({href:o,tooltip:s||null}),f=i.tr.addMark(d,c,g),p=i.schema.marks.textColor;p&&(f=f.removeMark(d,c,p)),l(f.scrollIntoView());}return true},r=(o,s)=>{let{from:i,to:l,empty:d}=o.selection;if(d){let c=o.selection.$from;if(!c.marks().find(y=>y.type===t))return false;let f=c.pos,p=c.pos;return c.parent.forEach((y,P)=>{if(y.isText){let w=c.start()+P,O=w+y.nodeSize;w<=c.pos&&c.pos<=O&&y.marks.some(oe=>oe.type===t)&&(f=Math.min(f,w),p=Math.max(p,O));}}),s&&s(o.tr.removeMark(f,p,t).scrollIntoView()),true}return s&&s(o.tr.removeMark(i,l,t).scrollIntoView()),true};return {commands:{setHyperlink:e,removeHyperlink:()=>r,insertHyperlink:(o,s,i)=>(l,d)=>{if(d){let c=t.create({href:s,tooltip:i||null}),u=l.schema.text(o,[c]);d(l.tr.replaceSelectionWith(u,false).scrollIntoView());}return true}}}}});function L(...n){return (t,e,r)=>{for(let a of n)if(a(t,e,r))return true;return false}}function nt(n){return (t,e)=>{let{$from:r,$to:a}=t.selection,o=r.parent;if(o.type.name!=="paragraph")return false;let i=o.attrs.numPr?.numId===n;if(!e)return true;let l=t.tr,d=new Set;return t.doc.nodesBetween(r.pos,a.pos,(c,u)=>{if(c.type.name==="paragraph"&&!d.has(u))if(d.add(u),i)l=l.setNodeMarkup(u,void 0,{...c.attrs,numPr:null,listIsBullet:null,listNumFmt:null,listMarker:null});else {let g=n===1;l=l.setNodeMarkup(u,void 0,{...c.attrs,numPr:{numId:n,ilvl:c.attrs.numPr?.ilvl||0},listIsBullet:g,listNumFmt:g?null:"decimal",listMarker:null});}}),e(l.scrollIntoView()),true}}var he=(n,t)=>nt(1)(n,t),xe=(n,t)=>nt(2)(n,t),ye=(n,t)=>{let{$from:e}=n.selection,r=e.parent;if(r.type.name!=="paragraph"||!r.attrs.numPr)return false;let a=r.attrs.numPr.ilvl||0;if(a>=8)return false;if(!t)return true;let o=e.before(e.depth);return t(n.tr.setNodeMarkup(o,void 0,{...r.attrs,numPr:{...r.attrs.numPr,ilvl:a+1},indentLeft:null,indentFirstLine:null,hangingIndent:null}).scrollIntoView()),true},ke=(n,t)=>{let{$from:e}=n.selection,r=e.parent;if(r.type.name!=="paragraph"||!r.attrs.numPr)return false;let a=r.attrs.numPr.ilvl||0;if(!t)return true;let o=e.before(e.depth);return a<=0?t(n.tr.setNodeMarkup(o,void 0,{...r.attrs,numPr:null,listIsBullet:null,listNumFmt:null,listMarker:null,indentLeft:null,indentFirstLine:null,hangingIndent:null}).scrollIntoView()):t(n.tr.setNodeMarkup(o,void 0,{...r.attrs,numPr:{...r.attrs.numPr,ilvl:a-1},indentLeft:null,indentFirstLine:null,hangingIndent:null}).scrollIntoView()),true},Se=(n,t)=>{let{$from:e,$to:r}=n.selection;if(!t)return true;let a=n.tr,o=new Set;return n.doc.nodesBetween(e.pos,r.pos,(s,i)=>{s.type.name==="paragraph"&&s.attrs.numPr&&!o.has(i)&&(o.add(i),a=a.setNodeMarkup(i,void 0,{...s.attrs,numPr:null,listIsBullet:null,listNumFmt:null,listMarker:null}));}),t(a.scrollIntoView()),true};function Rn(n){let{$from:t}=n.selection,e=t.parent;return e.type.name!=="paragraph"?false:!!e.attrs.numPr?.numId}function Pn(n){let{$from:t}=n.selection,e=t.parent;return e.type.name!=="paragraph"||!e.attrs.numPr?.numId?null:{numId:e.attrs.numPr.numId,ilvl:e.attrs.numPr.ilvl||0}}function be(){return (n,t)=>{let{$from:e,empty:r}=n.selection;if(!r)return false;let a=e.parent;if(a.type.name!=="paragraph"||!a.attrs.numPr||a.textContent.length>0)return false;if(t){let s=n.tr.setNodeMarkup(e.before(),void 0,{...a.attrs,numPr:null,listIsBullet:null,listNumFmt:null,listMarker:null});t(s);}return true}}function Ee(){return (n,t)=>{let{$from:e,empty:r}=n.selection;if(!r)return false;let a=e.parent;if(a.type.name!=="paragraph"||!a.attrs.numPr)return false;if(t){let{tr:s}=n,i=e.pos;s.split(i,1,[{type:n.schema.nodes.paragraph,attrs:{...a.attrs}}]),t(s.scrollIntoView());}return true}}function Te(){return (n,t)=>{let{$from:e,empty:r}=n.selection;if(!r||e.parentOffset!==0)return false;let a=e.parent;if(a.type.name!=="paragraph"||!a.attrs.numPr)return false;if(t){let s=n.tr.setNodeMarkup(e.before(),void 0,{...a.attrs,numPr:null,listIsBullet:null,listNumFmt:null,listMarker:null});t(s);}return true}}function Me(){return (n,t)=>{let{$from:e,$to:r}=n.selection,a=[];if(n.doc.nodesBetween(e.pos,r.pos,(o,s)=>{o.type.name==="paragraph"&&o.attrs.numPr&&(o.attrs.numPr.ilvl??0)<8&&a.push({pos:s,attrs:o.attrs});}),a.length===0)return false;if(t){let o=n.tr;for(let{pos:s,attrs:i}of a){let l=i.numPr;o=o.setNodeMarkup(s,void 0,{...i,numPr:{...l,ilvl:(l.ilvl??0)+1},indentLeft:null,indentFirstLine:null,hangingIndent:null});}t(o);}return true}}function we(){return (n,t)=>{let{$from:e,$to:r}=n.selection,a=[];if(n.doc.nodesBetween(e.pos,r.pos,(o,s)=>{o.type.name==="paragraph"&&o.attrs.numPr&&a.push({pos:s,attrs:o.attrs});}),a.length===0)return false;if(t){let o=n.tr;for(let{pos:s,attrs:i}of a){let l=i.numPr,d=l.ilvl??0;d<=0?o=o.setNodeMarkup(s,void 0,{...i,numPr:null,listIsBullet:null,listNumFmt:null,listMarker:null,indentLeft:null,indentFirstLine:null,hangingIndent:null}):o=o.setNodeMarkup(s,void 0,{...i,numPr:{...l,ilvl:d-1},indentLeft:null,indentFirstLine:null,hangingIndent:null});}t(o);}return true}}function Ce(){return (n,t)=>{let{schema:e}=n,r=e.nodes.tab;if(!r)return false;if(t){let a=n.tr.replaceSelectionWith(r.create());t(a.scrollIntoView());}return true}}var rt=b({name:"list",priority:a$1.High,onSchemaReady(){return {commands:{toggleBulletList:()=>he,toggleNumberedList:()=>xe,increaseListLevel:()=>ye,decreaseListLevel:()=>ke,removeList:()=>Se},keyboardShortcuts:{Tab:L(c$1(),Me(),Ce()),"Shift-Tab":L(d$1(),we()),"Shift-Enter":()=>false,Enter:L(be(),Ee()),Backspace:Te()}}}});var R=new PluginKey("paragraphChangeTracker");function at(n){let t=0;return n.descendants(e=>{e.type.name==="paragraph"&&t++;}),t}function $(n,t,e){let r=new Set,a=false;return n.nodesBetween(t,e,o=>{if(o.type.name==="paragraph"){let s=o.attrs.paraId;s?r.add(s):a=true;}}),{ids:r,hasUntracked:a}}function Le(n,t,e){let r=Math.min(t,e),a=Math.max(t,e),o=a>r?a:r+1,s=$(n,r,o);if(s.ids.size>0||s.hasUntracked)return s;try{let i=n.resolve(r);for(let l=i.depth;l>=0;l--){let d=i.node(l);if(d.type.name==="paragraph"){let c=d.attrs.paraId;return c?{ids:new Set([c]),hasUntracked:!1}:{ids:new Set,hasUntracked:!0}}}}catch{}return {ids:new Set,hasUntracked:false}}function $e(){return new Plugin({key:R,state:{init(n,t){return {changedParaIds:new Set,structuralChange:false,hasUntrackedChanges:false,paragraphCount:at(t.doc)}},apply(n,t){if(n.getMeta(R)==="clear")return {changedParaIds:new Set,structuralChange:false,hasUntrackedChanges:false,paragraphCount:t.paragraphCount};if(!n.docChanged)return t;let e=at(n.doc),r={changedParaIds:new Set(t.changedParaIds),structuralChange:t.structuralChange,hasUntrackedChanges:t.hasUntrackedChanges,paragraphCount:e};t.paragraphCount!==e&&(r.structuralChange=true);for(let a=0;a<n.steps.length;a++){let o=n.steps[a],s=n.mapping.slice(a+1);if(o instanceof AddMarkStep||o instanceof RemoveMarkStep){let l=s.map(o.from,1),d=s.map(o.to,-1);if(d<=l)continue;let{ids:c,hasUntracked:u}=Le(n.doc,l,d);for(let g of c)r.changedParaIds.add(g);u&&(r.hasUntrackedChanges=true);continue}if(o instanceof AddNodeMarkStep||o instanceof RemoveNodeMarkStep){let l=s.map(o.pos,1),d=n.doc.nodeAt(l);if(!d)continue;let c=l+d.nodeSize,{ids:u,hasUntracked:g}=$(n.doc,l,c);for(let f of u)r.changedParaIds.add(f);g&&(r.hasUntrackedChanges=true);continue}o.getMap().forEach((l,d,c,u)=>{let g=s.map(c,1),f=s.map(u,-1);if(f<g)return;let{ids:p,hasUntracked:k}=$(n.doc,g,f);for(let y of p)r.changedParaIds.add(y);k&&(r.hasUntrackedChanges=true);});}return r}}})}function F(n){return R.getState(n)}function Bn(n){return F(n)?.changedParaIds??new Set}function Dn(n){return F(n)?.structuralChange??false}function On(n){return F(n)?.hasUntrackedChanges??false}function Hn(n){return n.tr.setMeta(R,"clear")}var ot=b({name:"paragraphChangeTracker",defaultOptions:{},onSchemaReady(){return {plugins:[$e()]}}});var st=c({name:"doc",schemaNodeName:"doc",nodeSpec:{content:"(paragraph | horizontalRule | pageBreak | table | textBox)+",attrs:{defaultTabStopTwips:{default:null}}}});var it=c({name:"text",schemaNodeName:"text",nodeSpec:{group:"inline"}});var dt=b({name:"history",defaultOptions:{depth:100,newGroupDelay:500},onSchemaReady(n,t){return {plugins:[history({depth:t.depth,newGroupDelay:t.newGroupDelay})],commands:{undo:()=>undo,redo:()=>redo},keyboardShortcuts:{"Mod-z":undo,"Mod-y":redo,"Mod-Shift-z":redo}}}});var ct=d({name:"bold",schemaMarkName:"bold",markSpec:{parseDOM:[{tag:"strong"},{tag:"b",getAttrs(n){let t=n.style?.fontWeight;return t==="normal"||t==="400"?false:null}},{style:"font-weight",getAttrs:n=>/^(bold(er)?|[5-9]\d{2})$/.test(n)?null:false}],toDOM(){return ["strong",0]}},onSchemaReady(n){return {commands:{toggleBold:()=>toggleMark(n.schema.marks.bold)},keyboardShortcuts:{"Mod-b":toggleMark(n.schema.marks.bold)}}}});var mt=d({name:"italic",schemaMarkName:"italic",markSpec:{parseDOM:[{tag:"i"},{tag:"em"},{style:"font-style",getAttrs:n=>n==="italic"?null:false}],toDOM(){return ["em",0]}},onSchemaReady(n){return {commands:{toggleItalic:()=>toggleMark(n.schema.marks.italic)},keyboardShortcuts:{"Mod-i":toggleMark(n.schema.marks.italic)}}}});var gt=d({name:"underline",schemaMarkName:"underline",markSpec:{attrs:{style:{default:"single"},color:{default:null}},parseDOM:[{tag:"u"},{style:"text-decoration",getAttrs:n=>n.includes("underline")?{}:false}],toDOM(n){let t=n.attrs,e=["text-decoration: underline"];if(t.style&&t.style!=="single"){let a={double:"double",dotted:"dotted",dash:"dashed",wave:"wavy"}[t.style];a&&e.push(`text-decoration-style: ${a}`);}return t.color?.rgb&&e.push(`text-decoration-color: #${t.color.rgb}`),["span",{style:e.join("; ")},0]}},onSchemaReady(n){return {commands:{toggleUnderline:()=>toggleMark(n.schema.marks.underline),setUnderlineStyle:(t,e)=>a$2(n.schema.marks.underline,{style:t,color:e})},keyboardShortcuts:{"Mod-u":toggleMark(n.schema.marks.underline)}}}});var ht=d({name:"strike",schemaMarkName:"strike",markSpec:{attrs:{double:{default:false}},parseDOM:[{tag:"s"},{tag:"strike"},{tag:"del"},{style:"text-decoration",getAttrs:n=>n.includes("line-through")?{}:false}],toDOM(){return ["s",0]}},onSchemaReady(n){return {commands:{toggleStrike:()=>toggleMark(n.schema.marks.strike)}}}});var xt=d({name:"textColor",schemaMarkName:"textColor",markSpec:{attrs:{rgb:{default:null},themeColor:{default:null},themeTint:{default:null},themeShade:{default:null}},parseDOM:[{style:"color",getAttrs:n=>{let e=n.match(/#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})/);return e?{rgb:e[1].toUpperCase()}:false}}],toDOM(n){let t=n.attrs,e=a$3({color:t});return ["span",{style:e.color?`color: ${e.color}`:""},0]}},onSchemaReady(n){return {commands:{setTextColor:t=>!t.rgb&&!t.themeColor?b$1(n.schema.marks.textColor):a$2(n.schema.marks.textColor,t),clearTextColor:()=>b$1(n.schema.marks.textColor)}}}});var yt=d({name:"highlight",schemaMarkName:"highlight",markSpec:{attrs:{color:{default:"yellow"}},parseDOM:[{tag:"mark"},{style:"background-color",getAttrs:n=>n&&n!=="transparent"&&n!=="inherit"?{color:n}:false}],toDOM(n){let t=n.attrs.color;return ["mark",{style:`background-color: ${o(t)}`},0]}},onSchemaReady(n){return {commands:{setHighlight:t=>!t||t==="none"?b$1(n.schema.marks.highlight):a$2(n.schema.marks.highlight,{color:t}),clearHighlight:()=>b$1(n.schema.marks.highlight)}}}});var kt=d({name:"fontSize",schemaMarkName:"fontSize",markSpec:{attrs:{size:{default:24}},parseDOM:[{style:"font-size",getAttrs:n=>{let t=n,e=t.match(/^([\d.]+)px$/);if(e){let o=parseFloat(e[1])*.75;return {size:Math.round(o*2)}}let r=t.match(/^([\d.]+)pt$/);return r?{size:Math.round(parseFloat(r[1])*2)}:false}}],toDOM(n){let e=n.attrs.size/2,r=(e*1.15).toFixed(2);return ["span",{style:`font-size: ${e}pt; line-height: ${r}pt`},0]}},onSchemaReady(n){return {commands:{setFontSize:t=>a$2(n.schema.marks.fontSize,{size:t}),clearFontSize:()=>b$1(n.schema.marks.fontSize)}}}});var St=d({name:"fontFamily",schemaMarkName:"fontFamily",markSpec:{attrs:{ascii:{default:null},hAnsi:{default:null},eastAsia:{default:null},cs:{default:null},asciiTheme:{default:null},hAnsiTheme:{default:null},eastAsiaTheme:{default:null},csTheme:{default:null}},parseDOM:[{style:"font-family",getAttrs:n=>{let e=n.split(",")[0].trim().replace(/['"]/g,"");return e?{ascii:e}:false}}],toDOM(n){let t=n.attrs,e=t.ascii||t.hAnsi;return e?["span",{style:`font-family: ${e.includes(" ")?`"${e}"`:e}, sans-serif`},0]:["span",0]}},onSchemaReady(n){return {commands:{setFontFamily:t=>a$2(n.schema.marks.fontFamily,{ascii:t,hAnsi:t}),clearFontFamily:()=>b$1(n.schema.marks.fontFamily)}}}});var bt=d({name:"superscript",schemaMarkName:"superscript",markSpec:{excludes:"subscript",parseDOM:[{tag:"sup"}],toDOM(){return ["sup",0]}},onSchemaReady(n){return {commands:{toggleSuperscript:()=>toggleMark(n.schema.marks.superscript)}}}});var Et=d({name:"subscript",schemaMarkName:"subscript",markSpec:{excludes:"superscript",parseDOM:[{tag:"sub"}],toDOM(){return ["sub",0]}},onSchemaReady(n){return {commands:{toggleSubscript:()=>toggleMark(n.schema.marks.subscript)}}}});var Tt=d({name:"allCaps",schemaMarkName:"allCaps",markSpec:{parseDOM:[{style:"text-transform",getAttrs:n=>n==="uppercase"?{}:false}],toDOM(){return ["span",{style:"text-transform: uppercase"},0]}}});var Mt=d({name:"smallCaps",schemaMarkName:"smallCaps",markSpec:{parseDOM:[{style:"font-variant",getAttrs:n=>n==="small-caps"?{}:false}],toDOM(){return ["span",{style:"font-variant: small-caps"},0]}}});var wt=d({name:"footnoteRef",schemaMarkName:"footnoteRef",markSpec:{attrs:{id:{},noteType:{default:"footnote"}},parseDOM:[{tag:"sup.docx-footnote-ref",getAttrs:n=>{let t=n;return {id:t.dataset.id||"",noteType:t.dataset.noteType||"footnote"}}}],toDOM(n){let t=n.attrs;return ["sup",{class:`docx-${t.noteType}-ref`,"data-id":t.id,"data-note-type":t.noteType},0]}},onSchemaReady(n){let{schema:t}=n;function e(a){return o=>(s,i)=>{if(!i)return true;let l=t.marks.footnoteRef.create({id:String(o),noteType:a}),d=t.text(String(o),[l]),c=s.tr.replaceSelectionWith(d,false);return i(c.scrollIntoView()),true}}let r=(a,o)=>{let{$from:s,$to:i}=a.selection;if(!o)return true;let l=a.tr,d=t.marks.footnoteRef;return l=l.removeMark(s.pos,i.pos,d),o(l.scrollIntoView()),true};return {commands:{insertFootnote:e("footnote"),insertEndnote:e("endnote"),deleteNoteRef:()=>r}}}});function He(n){return n/2*(96/72)}var Ct=d({name:"characterSpacing",schemaMarkName:"characterSpacing",markSpec:{attrs:{spacing:{default:null},position:{default:null},scale:{default:null},kerning:{default:null}},parseDOM:[{tag:"span.docx-char-spacing",getAttrs:n=>{let t=n;return {spacing:t.dataset.spacing?Number(t.dataset.spacing):null,position:t.dataset.position?Number(t.dataset.position):null,scale:t.dataset.scale?Number(t.dataset.scale):null,kerning:t.dataset.kerning?Number(t.dataset.kerning):null}}}],toDOM(n){let t=n.attrs,e=[],r={class:"docx-char-spacing"};if(t.spacing!=null&&t.spacing!==0&&(e.push(`letter-spacing: ${p(c$2(t.spacing))}`),r["data-spacing"]=String(t.spacing)),t.position!=null&&t.position!==0){let a=He(t.position);e.push(`vertical-align: ${p(a)}`),r["data-position"]=String(t.position);}return t.scale!=null&&t.scale!==100&&(e.push(`transform: scaleX(${t.scale/100})`),e.push("display: inline-block"),r["data-scale"]=String(t.scale)),t.kerning!=null&&(r["data-kerning"]=String(t.kerning)),e.length>0&&(r.style=e.join("; ")),["span",r,0]}}});var It=d({name:"comment",schemaMarkName:"comment",markSpec:{attrs:{commentId:{default:0}},inclusive:false,parseDOM:[{tag:"span.docx-comment",getAttrs(n){return {commentId:parseInt(n.dataset.commentId||"0",10)}}}],toDOM(n){return ["span",{class:"docx-comment","data-comment-id":String(n.attrs.commentId),style:"background-color: rgba(255, 212, 0, 0.25); border-bottom: 2px solid rgba(255, 212, 0, 0.6);"},0]}}});var At=d({name:"insertion",schemaMarkName:"insertion",markSpec:{attrs:{revisionId:{default:0},author:{default:""},date:{default:null},isMovePair:{default:false}},inclusive:false,parseDOM:[{tag:"span.docx-insertion",getAttrs(n){let t=n;return {revisionId:parseInt(t.dataset.revisionId||"0",10),author:t.dataset.author||"",date:t.dataset.date||null,isMovePair:t.dataset.movePair==="true"}}}],toDOM(n){return ["span",{class:"docx-insertion","data-revision-id":String(n.attrs.revisionId),"data-author":n.attrs.author,...n.attrs.date?{"data-date":n.attrs.date}:{},...n.attrs.isMovePair?{"data-move-pair":"true"}:{},style:"color: #2e7d32;"},0]}}}),Rt=d({name:"deletion",schemaMarkName:"deletion",markSpec:{attrs:{revisionId:{default:0},author:{default:""},date:{default:null},isMovePair:{default:false}},inclusive:false,parseDOM:[{tag:"span.docx-deletion",getAttrs(n){let t=n;return {revisionId:parseInt(t.dataset.revisionId||"0",10),author:t.dataset.author||"",date:t.dataset.date||null,isMovePair:t.dataset.movePair==="true"}}}],toDOM(n){return ["span",{class:"docx-deletion","data-revision-id":String(n.attrs.revisionId),"data-author":n.attrs.author,...n.attrs.date?{"data-date":n.attrs.date}:{},...n.attrs.isMovePair?{"data-move-pair":"true"}:{},style:"color: #c62828;"},0]}}});var Pt=d({name:"emboss",schemaMarkName:"emboss",markSpec:{parseDOM:[{tag:"span.docx-emboss"}],toDOM(){return ["span",{class:"docx-emboss",style:"text-shadow: 1px 1px 1px rgba(255,255,255,0.5), -1px -1px 1px rgba(0,0,0,0.3)"},0]}}}),Nt=d({name:"imprint",schemaMarkName:"imprint",markSpec:{parseDOM:[{tag:"span.docx-imprint"}],toDOM(){return ["span",{class:"docx-imprint",style:"-1px -1px 1px rgba(255,255,255,0.5), 1px 1px 1px rgba(0,0,0,0.3)"},0]}}}),vt=d({name:"textShadow",schemaMarkName:"textShadow",markSpec:{parseDOM:[{tag:"span.docx-text-shadow"}],toDOM(){return ["span",{class:"docx-text-shadow",style:"text-shadow: 1px 1px 2px rgba(0,0,0,0.3)"},0]}}}),Lt=d({name:"emphasisMark",schemaMarkName:"emphasisMark",markSpec:{attrs:{type:{default:"dot"}},parseDOM:[{tag:"span.docx-emphasis-mark",getAttrs:n=>({type:n.dataset.emType||"dot"})}],toDOM(n){let t=n.attrs.type,e="filled dot";switch(t){case "dot":e="filled dot";break;case "comma":e="filled sesame";break;case "circle":e="filled circle";break;case "underDot":e="filled dot";break}let r=t==="underDot"?"under right":"over right";return ["span",{class:"docx-emphasis-mark","data-em-type":t,style:`text-emphasis: ${e}; text-emphasis-position: ${r}; -webkit-text-emphasis: ${e}; -webkit-text-emphasis-position: ${r}`},0]}}}),$t=d({name:"textOutline",schemaMarkName:"textOutline",markSpec:{parseDOM:[{tag:"span.docx-text-outline"}],toDOM(){return ["span",{class:"docx-text-outline",style:"-webkit-text-stroke: 1px currentColor; -webkit-text-fill-color: transparent"},0]}}});var Ft=d({name:"hidden",schemaMarkName:"hidden",markSpec:{parseDOM:[{tag:"span.docx-hidden"}],toDOM(){return ["span",{class:"docx-hidden",style:"opacity: 0.4; text-decoration: underline dotted"},0]}}}),Bt=d({name:"rtl",schemaMarkName:"rtl",markSpec:{parseDOM:[{tag:"span[dir=rtl].docx-rtl"}],toDOM(){return ["span",{class:"docx-rtl",dir:"rtl"},0]}}}),Dt=d({name:"textEffect",schemaMarkName:"textEffect",markSpec:{attrs:{effect:{default:"blinkBackground"}},parseDOM:[{tag:"span.docx-text-effect",getAttrs:n=>{let e=n.dataset.effect;return e==="blinkBackground"||e==="lights"||e==="antsBlack"||e==="antsRed"||e==="shimmer"||e==="sparkle"?{effect:e}:false}}],toDOM(n){let t=n.attrs.effect;return ["span",{class:`docx-text-effect docx-text-effect-${t}`,"data-effect":t},0]}}});var Ot=c({name:"hardBreak",schemaNodeName:"hardBreak",nodeSpec:{inline:true,group:"inline",selectable:false,parseDOM:[{tag:"br"}],toDOM(){return ["br"]}},onSchemaReady(n){let t=n.schema.nodes.hardBreak;return {keyboardShortcuts:{"Shift-Enter":(e,r)=>(r&&r(e.tr.replaceSelectionWith(t.create()).scrollIntoView()),true)}}}});var Ht=c({name:"tab",schemaNodeName:"tab",nodeSpec:{inline:true,group:"inline",selectable:false,parseDOM:[{tag:"span.docx-tab"}],toDOM(){return ["span",{class:"docx-tab",style:"display: inline-block; min-width: 16px; white-space: pre;"}," "]}}});function We(n,t,e){let r=()=>t.position?.horizontal&&t.position?.vertical?t.position:e?.initialPositionEmu?{horizontal:{relativeTo:"column",posOffset:e.initialPositionEmu.horizontalEmu},vertical:{relativeTo:"paragraph",posOffset:e.initialPositionEmu.verticalEmu}}:{horizontal:{relativeTo:"column",posOffset:0},vertical:{relativeTo:"paragraph",posOffset:0}};switch(n){case "inline":return {wrapType:"inline",displayMode:"inline",cssFloat:"none",wrapText:void 0,position:void 0,distTop:void 0,distBottom:void 0,distLeft:void 0,distRight:void 0};case "squareLeft":case "squareRight":{let a=n==="squareLeft"?"left":"right",o=n==="squareLeft"?"right":"left";return {wrapType:t.wrapType==="tight"||t.wrapType==="through"?t.wrapType:"square",displayMode:"float",cssFloat:a,wrapText:o,position:r()}}case "square":case "tight":case "through":{let a=t.cssFloat==="left"||t.cssFloat==="right"?t.cssFloat:"left";return {wrapType:n,displayMode:"float",cssFloat:a,wrapText:a==="left"?"right":"left",position:r()}}case "topAndBottom":return {wrapType:"topAndBottom",displayMode:"block",cssFloat:"none",wrapText:"bothSides",position:r()};case "behind":case "inFront":return {wrapType:n,displayMode:"float",cssFloat:"none",wrapText:"bothSides",position:r()}}}var Wt=c({name:"image",schemaNodeName:"image",nodeSpec:{inline:true,group:"inline",draggable:true,attrs:{src:{},alt:{default:null},title:{default:null},width:{default:null},height:{default:null},rId:{default:null},wrapType:{default:"inline"},displayMode:{default:"inline"},cssFloat:{default:null},transform:{default:null},distTop:{default:null},distBottom:{default:null},distLeft:{default:null},distRight:{default:null},position:{default:null},borderWidth:{default:null},borderColor:{default:null},borderStyle:{default:null},wrapText:{default:null},hlinkHref:{default:null},cropTop:{default:null},cropRight:{default:null},cropBottom:{default:null},cropLeft:{default:null},opacity:{default:null},effectExtentTop:{default:null},effectExtentBottom:{default:null},effectExtentLeft:{default:null},effectExtentRight:{default:null},layoutInCell:{default:null},allowOverlap:{default:null}},parseDOM:[{tag:"img[src]",getAttrs(n){let t=n;return {src:t.getAttribute("src")||"",alt:t.getAttribute("alt")||void 0,title:t.getAttribute("title")||void 0,width:t.width||void 0,height:t.height||void 0,rId:t.dataset.rid||void 0,wrapType:t.dataset.wrapType||"inline",displayMode:t.dataset.displayMode||"inline",cssFloat:t.dataset.cssFloat||void 0,transform:t.dataset.transform||void 0,borderWidth:t.dataset.borderWidth?Number(t.dataset.borderWidth):void 0,borderColor:t.dataset.borderColor||void 0,borderStyle:t.dataset.borderStyle||void 0}}}],toDOM(n){let t=n.attrs,e={src:t.src,class:"docx-image"};t.alt&&(e.alt=t.alt),t.title&&(e.title=t.title),t.rId&&(e["data-rid"]=t.rId),t.wrapType&&(e["data-wrap-type"]=t.wrapType),t.displayMode&&(e["data-display-mode"]=t.displayMode),t.cssFloat&&(e["data-css-float"]=t.cssFloat),t.transform&&(e["data-transform"]=t.transform),t.borderWidth&&(e["data-border-width"]=String(t.borderWidth)),t.borderColor&&(e["data-border-color"]=t.borderColor),t.borderStyle&&(e["data-border-style"]=t.borderStyle);let r=[];if(t.width&&(e.width=String(t.width),r.push(`width: ${t.width}px`)),t.height&&(e.height=String(t.height),r.push(`height: ${t.height}px`)),r.push("max-width: 100%"),t.width&&t.height?r.push("object-fit: contain"):r.push("height: auto"),t.displayMode==="float"&&t.cssFloat&&t.cssFloat!=="none"){r.push(`float: ${t.cssFloat}`),e.class+=` docx-image-float docx-image-float-${t.cssFloat}`;let a=t.distTop??0,o=t.distBottom??0,s=t.distLeft??0,i=t.distRight??0;t.cssFloat==="left"?r.push(`margin: ${a}px ${i||12}px ${o}px ${s}px`):r.push(`margin: ${a}px ${i}px ${o}px ${s||12}px`);}else if(t.displayMode==="block"){r.push("display: block"),r.push("margin-left: auto"),r.push("margin-right: auto"),e.class+=" docx-image-block";let a=t.distTop??0,o=t.distBottom??0;a>0&&r.push(`margin-top: ${a}px`),o>0&&r.push(`margin-bottom: ${o}px`);}if(t.transform&&r.push(`transform: ${t.transform}`),t.borderWidth&&t.borderWidth>0){let a=t.borderStyle||"solid",o=t.borderColor||"#000000";r.push(`border: ${t.borderWidth}px ${a} ${o}`);}return e.style=r.join("; "),["img",e]}},onSchemaReady(n){let t=n.schema.nodes.image,e=(r,a,o)=>(s,i)=>{let l=s.doc.nodeAt(r);if(!l||l.type!==t)return false;let d=l.attrs,c=We(a,{wrapType:d.wrapType,cssFloat:d.cssFloat,position:d.position},o);return d.wrapType===c.wrapType&&d.displayMode===c.displayMode&&d.cssFloat===c.cssFloat&&d.wrapText===c.wrapText&&d.position===c.position||i&&i(s.tr.setNodeMarkup(r,void 0,{...d,...c})),true};return {commands:{setImageWrapType:(r,a,o)=>e(r,a,o)}}}});var zt=c({name:"textBox",schemaNodeName:"textBox",nodeSpec:{group:"block",content:"(paragraph | table)+",isolating:true,draggable:true,attrs:{width:{default:200},height:{default:null},textBoxId:{default:null},fillColor:{default:null},outlineWidth:{default:null},outlineColor:{default:null},outlineStyle:{default:null},marginTop:{default:4},marginBottom:{default:4},marginLeft:{default:7},marginRight:{default:7},verticalAlign:{default:null},displayMode:{default:"inline"},cssFloat:{default:null},wrapType:{default:"inline"},wrapText:{default:null},anchorTarget:{default:null},position:{default:null},distTop:{default:null},distBottom:{default:null},distLeft:{default:null},distRight:{default:null}},parseDOM:[{tag:"div.docx-textbox",getAttrs(n){let t=n;return {width:t.dataset.width?Number(t.dataset.width):void 0,height:t.dataset.height?Number(t.dataset.height):void 0,textBoxId:t.dataset.textboxId||void 0,fillColor:t.dataset.fillColor||void 0,outlineWidth:t.dataset.outlineWidth?Number(t.dataset.outlineWidth):void 0,outlineColor:t.dataset.outlineColor||void 0,outlineStyle:t.dataset.outlineStyle||void 0,marginTop:t.dataset.marginTop?Number(t.dataset.marginTop):void 0,marginBottom:t.dataset.marginBottom?Number(t.dataset.marginBottom):void 0,marginLeft:t.dataset.marginLeft?Number(t.dataset.marginLeft):void 0,marginRight:t.dataset.marginRight?Number(t.dataset.marginRight):void 0,verticalAlign:t.dataset.verticalAlign||void 0,displayMode:t.dataset.displayMode||void 0,cssFloat:t.dataset.cssFloat||void 0,wrapType:t.dataset.wrapType||void 0,wrapText:t.dataset.wrapText||void 0,anchorTarget:t.dataset.anchorTarget||void 0,position:t.dataset.position?JSON.parse(t.dataset.position):void 0,distTop:t.dataset.distTop?Number(t.dataset.distTop):void 0,distBottom:t.dataset.distBottom?Number(t.dataset.distBottom):void 0,distLeft:t.dataset.distLeft?Number(t.dataset.distLeft):void 0,distRight:t.dataset.distRight?Number(t.dataset.distRight):void 0}}}],toDOM(n){let t=n.attrs,e={class:"docx-textbox"};t.width&&(e["data-width"]=String(t.width)),t.height&&(e["data-height"]=String(t.height)),t.textBoxId&&(e["data-textbox-id"]=t.textBoxId),t.fillColor&&(e["data-fill-color"]=t.fillColor),t.outlineWidth&&(e["data-outline-width"]=String(t.outlineWidth)),t.outlineColor&&(e["data-outline-color"]=t.outlineColor),t.outlineStyle&&(e["data-outline-style"]=t.outlineStyle),t.marginTop!=null&&(e["data-margin-top"]=String(t.marginTop)),t.marginBottom!=null&&(e["data-margin-bottom"]=String(t.marginBottom)),t.marginLeft!=null&&(e["data-margin-left"]=String(t.marginLeft)),t.marginRight!=null&&(e["data-margin-right"]=String(t.marginRight)),t.verticalAlign&&(e["data-vertical-align"]=t.verticalAlign),t.displayMode&&(e["data-display-mode"]=t.displayMode),t.cssFloat&&(e["data-css-float"]=t.cssFloat),t.wrapType&&(e["data-wrap-type"]=t.wrapType),t.wrapText&&(e["data-wrap-text"]=t.wrapText),t.anchorTarget&&(e["data-anchor-target"]=t.anchorTarget),t.position&&(e["data-position"]=JSON.stringify(t.position)),t.distTop!=null&&(e["data-dist-top"]=String(t.distTop)),t.distBottom!=null&&(e["data-dist-bottom"]=String(t.distBottom)),t.distLeft!=null&&(e["data-dist-left"]=String(t.distLeft)),t.distRight!=null&&(e["data-dist-right"]=String(t.distRight));let r=[];if(t.width&&r.push(`width: ${t.width}px`),t.height&&r.push(`min-height: ${t.height}px`),t.fillColor&&r.push(`background-color: ${t.fillColor}`),t.outlineWidth&&t.outlineWidth>0){let l=t.outlineStyle||"solid",d=t.outlineColor||"#000000";r.push(`border: ${t.outlineWidth}px ${l} ${d}`);}else r.push("border: 1px solid var(--doc-border, #d1d5db)");let a=t.marginTop??4,o=t.marginBottom??4,s=t.marginLeft??7,i=t.marginRight??7;return r.push(`padding: ${a}px ${i}px ${o}px ${s}px`),t.verticalAlign==="middle"||t.verticalAlign==="center"?(r.push("display: flex"),r.push("flex-direction: column"),r.push("justify-content: center")):t.verticalAlign==="bottom"&&(r.push("display: flex"),r.push("flex-direction: column"),r.push("justify-content: flex-end")),t.displayMode==="float"&&t.cssFloat&&t.cssFloat!=="none"?(r.push(`float: ${t.cssFloat}`),r.push("margin: 4px 8px")):t.displayMode==="block"&&(r.push("margin-left: auto"),r.push("margin-right: auto")),r.push("box-sizing: border-box"),r.push("overflow: hidden"),r.push("position: relative"),e.style=r.join("; "),["div",e,0]}}});function ze(n,t,e){switch(n){case "ellipse":case "oval":return `<ellipse cx="${t/2}" cy="${e/2}" rx="${t/2}" ry="${e/2}" />`;case "roundRect":return `<rect x="0" y="0" width="${t}" height="${e}" rx="${Math.min(t,e)*.1}" />`;case "triangle":case "isosTriangle":return `<polygon points="${t/2},0 ${t},${e} 0,${e}" />`;case "diamond":return `<polygon points="${t/2},0 ${t},${e/2} ${t/2},${e} 0,${e/2}" />`;case "line":case "straightConnector1":return `<line x1="0" y1="${e/2}" x2="${t}" y2="${e/2}" />`;default:return `<rect x="0" y="0" width="${t}" height="${e}" />`}}function Ue(n,t){let e="";try{e=JSON.parse(t.gradientStops||"[]").map(u=>`<stop offset="${Math.round(u.position/1e3)}%" stop-color="${u.color}" />`).join("");}catch{return ""}let r=t.gradientType||"linear";if(r==="radial"||r==="rectangular"||r==="path")return `<radialGradient id="${n}" cx="50%" cy="50%" r="50%">${e}</radialGradient>`;let o=((t.gradientAngle||0)-90)*Math.PI/180,s=Math.round(50+50*Math.cos(o+Math.PI)),i=Math.round(50+50*Math.sin(o+Math.PI)),l=Math.round(50+50*Math.cos(o)),d=Math.round(50+50*Math.sin(o));return `<linearGradient id="${n}" x1="${s}%" y1="${i}%" x2="${l}%" y2="${d}%">${e}</linearGradient>`}var Ut=c({name:"shape",schemaNodeName:"shape",nodeSpec:{inline:true,group:"inline",draggable:true,atom:true,attrs:{shapeType:{default:"rect"},shapeId:{default:null},width:{default:100},height:{default:80},fillColor:{default:null},fillType:{default:"solid"},gradientType:{default:null},gradientAngle:{default:null},gradientStops:{default:null},outlineWidth:{default:1},outlineColor:{default:"#000000"},outlineStyle:{default:"solid"},transform:{default:null},displayMode:{default:"inline"},cssFloat:{default:null},wrapType:{default:"inline"},shadowColor:{default:null},shadowBlur:{default:null},shadowOffsetX:{default:null},shadowOffsetY:{default:null},glowColor:{default:null},glowRadius:{default:null}},parseDOM:[{tag:"span.docx-shape",getAttrs(n){let t=n;return {shapeType:t.dataset.shapeType||"rect",shapeId:t.dataset.shapeId||void 0,width:t.dataset.width?Number(t.dataset.width):void 0,height:t.dataset.height?Number(t.dataset.height):void 0,fillColor:t.dataset.fillColor||void 0,fillType:t.dataset.fillType||"solid",gradientType:t.dataset.gradientType||void 0,gradientAngle:t.dataset.gradientAngle?Number(t.dataset.gradientAngle):void 0,gradientStops:t.dataset.gradientStops||void 0,outlineWidth:t.dataset.outlineWidth?Number(t.dataset.outlineWidth):void 0,outlineColor:t.dataset.outlineColor||void 0,outlineStyle:t.dataset.outlineStyle||void 0,transform:t.dataset.transform||void 0,displayMode:t.dataset.displayMode||void 0,cssFloat:t.dataset.cssFloat||void 0,wrapType:t.dataset.wrapType||void 0,shadowColor:t.dataset.shadowColor||void 0,shadowBlur:t.dataset.shadowBlur?Number(t.dataset.shadowBlur):void 0,shadowOffsetX:t.dataset.shadowOffsetX?Number(t.dataset.shadowOffsetX):void 0,shadowOffsetY:t.dataset.shadowOffsetY?Number(t.dataset.shadowOffsetY):void 0,glowColor:t.dataset.glowColor||void 0,glowRadius:t.dataset.glowRadius?Number(t.dataset.glowRadius):void 0}}}],toDOM(n){let t=n.attrs,e=t.width||100,r=t.height||80,a={class:"docx-shape","data-shape-type":t.shapeType||"rect"};t.shapeId&&(a["data-shape-id"]=t.shapeId),a["data-width"]=String(e),a["data-height"]=String(r),t.fillColor&&(a["data-fill-color"]=t.fillColor),t.fillType&&(a["data-fill-type"]=t.fillType),t.gradientType&&(a["data-gradient-type"]=t.gradientType),t.gradientAngle!=null&&(a["data-gradient-angle"]=String(t.gradientAngle)),t.gradientStops&&(a["data-gradient-stops"]=t.gradientStops),t.outlineWidth&&(a["data-outline-width"]=String(t.outlineWidth)),t.outlineColor&&(a["data-outline-color"]=t.outlineColor),t.outlineStyle&&(a["data-outline-style"]=t.outlineStyle),t.transform&&(a["data-transform"]=t.transform),t.displayMode&&(a["data-display-mode"]=t.displayMode),t.cssFloat&&(a["data-css-float"]=t.cssFloat),t.wrapType&&(a["data-wrap-type"]=t.wrapType),t.shadowColor&&(a["data-shadow-color"]=t.shadowColor),t.shadowBlur!=null&&(a["data-shadow-blur"]=String(t.shadowBlur)),t.shadowOffsetX!=null&&(a["data-shadow-offset-x"]=String(t.shadowOffsetX)),t.shadowOffsetY!=null&&(a["data-shadow-offset-y"]=String(t.shadowOffsetY)),t.glowColor&&(a["data-glow-color"]=t.glowColor),t.glowRadius!=null&&(a["data-glow-radius"]=String(t.glowRadius));let o=["display: inline-block",`width: ${e}px`,`height: ${r}px`,"vertical-align: middle","line-height: 0"];if(t.transform&&o.push(`transform: ${t.transform}`),t.displayMode==="float"&&t.cssFloat&&t.cssFloat!=="none"?(o.push(`float: ${t.cssFloat}`),o.push("margin: 4px 8px")):t.displayMode==="block"&&(o.push("display: block"),o.push("margin: 4px auto")),t.shadowColor){let p=t.shadowOffsetX||2,k=t.shadowOffsetY||2,y=t.shadowBlur||4;o.push(`filter: drop-shadow(${p}px ${k}px ${y}px ${t.shadowColor})`);}if(t.glowColor&&t.glowRadius){let p=o.find(y=>y.startsWith("filter:")),k=`drop-shadow(0 0 ${t.glowRadius}px ${t.glowColor})`;if(p){let y=o.indexOf(p);o[y]=p+" "+k;}else o.push(`filter: ${k}`);}a.style=o.join("; ");let s="",i;if(t.fillType==="gradient"&&t.gradientStops){let p=`grad-${t.shapeId||Math.random().toString(36).slice(2,8)}`;i=`url(#${p})`,s=Ue(p,t);}else i=t.fillType==="none"?"none":t.fillColor||"#ffffff";let l=t.outlineWidth||1,d=t.outlineColor||"#000000",c=t.outlineStyle==="dashed"?' stroke-dasharray="8 4"':t.outlineStyle==="dotted"?' stroke-dasharray="2 2"':"",u=ze(t.shapeType||"rect",e,r),g=`<svg xmlns="http://www.w3.org/2000/svg" width="${e}" height="${r}" viewBox="0 0 ${e} ${r}" style="fill:${i};stroke:${d};stroke-width:${l}${c}">`+(s?`<defs>${s}</defs>`:"")+u+"</svg>",f=document.createElement("span");return Object.entries(a).forEach(([p,k])=>{f.setAttribute(p,k);}),f.innerHTML=g,{dom:f}}}});var Vt=c({name:"horizontalRule",schemaNodeName:"horizontalRule",nodeSpec:{group:"block",parseDOM:[{tag:"hr"}],toDOM(){return ["hr"]}}});var Kt=c({name:"pageBreak",schemaNodeName:"pageBreak",nodeSpec:{group:"block",atom:true,selectable:true,parseDOM:[{tag:"div.docx-page-break"}],toDOM(){return ["div",{class:"docx-page-break"}]}}});var Gt=c({name:"field",schemaNodeName:"field",nodeSpec:{inline:true,group:"inline",atom:true,selectable:true,attrs:{fieldType:{default:"UNKNOWN"},instruction:{default:""},displayText:{default:""},fieldKind:{default:"simple"},fldLock:{default:false},dirty:{default:false}},parseDOM:[{tag:"span.docx-field",getAttrs(n){let t=n;return {fieldType:t.dataset.fieldType||"UNKNOWN",instruction:t.dataset.instruction||"",displayText:t.textContent||"",fieldKind:t.dataset.fieldKind||"simple",fldLock:t.dataset.fldLock==="true",dirty:t.dataset.dirty==="true"}}}],toDOM(n){let{fieldType:t,instruction:e,displayText:r,fieldKind:a,fldLock:o,dirty:s}=n.attrs,i=r||"";if(!i)switch(t){case "PAGE":i="{page}";break;case "NUMPAGES":i="{pages}";break;case "DATE":case "TIME":case "CREATEDATE":case "SAVEDATE":i=new Date().toLocaleDateString();break;case "MERGEFIELD":i=`\xAB${e.replace(/^MERGEFIELD\s+/i,"").replace(/\s*\\.*$/,"")}\xBB`;break;default:i=`{${t}}`;}return ["span",{class:`docx-field docx-field-${t.toLowerCase()}`,"data-field-type":t,"data-instruction":e,"data-field-kind":a,...o?{"data-fld-lock":"true"}:{},...s?{"data-dirty":"true"}:{},style:"outline: 1px solid rgba(200,200,200,0.4); padding: 0 1px; border-radius: 2px;"},i]}}});var _t=c({name:"sdt",schemaNodeName:"sdt",nodeSpec:{inline:true,group:"inline",content:"inline*",attrs:{sdtType:{default:"richText"},alias:{default:null},tag:{default:null},lock:{default:null},placeholder:{default:null},showingPlaceholder:{default:false},dateFormat:{default:null},listItems:{default:null},checked:{default:null}},parseDOM:[{tag:"span.docx-sdt",getAttrs(n){let t=n;return {sdtType:t.dataset.sdtType||"richText",alias:t.dataset.alias||null,tag:t.dataset.tag||null,lock:t.dataset.lock||null,placeholder:t.dataset.placeholder||null,showingPlaceholder:t.dataset.showingPlaceholder==="true",dateFormat:t.dataset.dateFormat||null,listItems:t.dataset.listItems||null,checked:t.dataset.checked==="true"?true:t.dataset.checked==="false"?false:null}}}],toDOM(n){let t=n.attrs,e={class:`docx-sdt docx-sdt-${t.sdtType}`,"data-sdt-type":String(t.sdtType)};return t.alias&&(e["data-alias"]=String(t.alias)),t.tag&&(e["data-tag"]=String(t.tag)),t.lock&&(e["data-lock"]=String(t.lock)),t.placeholder&&(e["data-placeholder"]=String(t.placeholder)),t.showingPlaceholder&&(e["data-showing-placeholder"]="true"),t.dateFormat&&(e["data-date-format"]=String(t.dateFormat)),t.listItems&&(e["data-list-items"]=String(t.listItems)),t.checked!=null&&(e["data-checked"]=String(t.checked)),t.sdtType==="checkbox"?e.style="border: 1px solid #ccc; border-radius: 3px; padding: 0 2px; display: inline;":e.style="border-bottom: 1px dashed #999; padding: 0 1px; display: inline;",["span",e,0]}}});var jt=c({name:"math",schemaNodeName:"math",nodeSpec:{inline:true,group:"inline",atom:true,selectable:true,attrs:{display:{default:"inline"},ommlXml:{default:""},plainText:{default:""}},parseDOM:[{tag:"span.docx-math",getAttrs(n){let t=n;return {display:t.dataset.display||"inline",ommlXml:t.dataset.ommlXml||"",plainText:t.textContent||""}}}],toDOM(n){let{display:t,ommlXml:e,plainText:r}=n.attrs,a=r||"[equation]";return ["span",{class:`docx-math docx-math-${t}`,"data-display":t,"data-omml-xml":e,style:'font-style: italic; font-family: "Cambria Math", "Latin Modern Math", serif; background: rgba(200,200,255,0.1); padding: 0 2px; border-radius: 2px;'},a]}}});var qt=b({name:"selectionTracker",defaultOptions:{},onSchemaReady(n,t){return {plugins:[c$3(t.onSelectionChange)],commands:{extractSelectionContext:()=>(e,r)=>(b$2(e),true)}}}});var Ge=new PluginKey("imageDrag"),Yt=b({name:"imageDrag",onSchemaReady(n){return {plugins:[new Plugin({key:Ge,props:{handleDOMEvents:{dragstart(e,r){let{selection:a}=e.state;if(a instanceof NodeSelection&&a.node.type.name==="image"){e.dom.classList.add("pm-image-dragging");let o=r;if(o.dataTransfer){o.dataTransfer.effectAllowed="move";let s=document.createElement("div");s.style.cssText="position: fixed; left: -9999px; top: -9999px; opacity: 0.6; pointer-events: none; border: 2px dashed var(--doc-primary, #2563eb); border-radius: 4px; background: rgba(37, 99, 235, 0.08);",s.style.width=`${a.node.attrs.width||100}px`,s.style.height=`${a.node.attrs.height||100}px`,document.body.appendChild(s),o.dataTransfer.setDragImage(s,0,0),requestAnimationFrame(()=>{document.body.removeChild(s);});}}return false},dragend(e){return e.dom.classList.remove("pm-image-dragging"),e.dom.querySelectorAll(".pm-drop-indicator").forEach(a=>a.remove()),false},dragover(e,r){let{selection:a}=e.state;if(a instanceof NodeSelection&&a.node.type.name==="image"){let o=r;o.preventDefault(),o.dataTransfer&&(o.dataTransfer.dropEffect="move");}return false},drop(e){return e.dom.classList.remove("pm-image-dragging"),e.dom.querySelectorAll(".pm-drop-indicator").forEach(a=>a.remove()),false}}}})]}}});var D=612;async function qe(n){return await new Promise((t,e)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>e(r.error??new Error("Failed to read image file")),r.readAsDataURL(n);})}async function Xe(n){return await new Promise((t,e)=>{let r=new Image;r.onload=()=>t({width:r.naturalWidth||1,height:r.naturalHeight||1}),r.onerror=()=>e(new Error("Failed to load pasted image")),r.src=n;})}async function Ye(n,t){let e=n.state.schema.nodes.image;if(!e)return;let r=n.state.selection.from;for(let a of t){let o;try{o=await qe(a);}catch{continue}let s=1,i=1;try{({width:s,height:i}=await Xe(o));}catch{s=1,i=1;}let l=s,d=i;if(l>D){let g=D/l;l=D,d=Math.max(1,Math.round(d*g));}let c=e.create({src:o,alt:a.name,width:l,height:d,rId:`rId_img_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,wrapType:"inline",displayMode:"inline"}),u=n.state.tr.insert(r,c);r+=c.nodeSize,u.setSelection(TextSelection.create(u.doc,r)),n.dispatch(u.scrollIntoView());}n.focus();}var Jt=b({name:"imagePaste",onSchemaReady(n){return {plugins:[new Plugin({props:{handleDOMEvents:{paste(e,r){let a=r,o=j(a.clipboardData);return o.length===0||!e.state.schema.nodes.image?false:(a.preventDefault(),Ye(e,o).catch(()=>{}),true)}}}})]}}});var Zt=b({name:"dropCursor",onSchemaReady(){return {plugins:[dropCursor({color:"var(--doc-primary, #4285f4)",width:2})]}}});var Qt=new PluginKey("paraIdAllocator");function tn(){return new Plugin({key:Qt,appendTransaction(n,t,e){if(!n.some(s=>s.docChanged))return null;let r=new Set,a=[];if(e.doc.descendants((s,i)=>{if(s.type.name!=="paragraph")return;let l=s.attrs.paraId;if(!l||r.has(l)){let d=a$4();for(;r.has(d);)d=a$4();r.add(d),a.push({pos:i,attrs:{...s.attrs,paraId:d}});}else r.add(l);return false}),a.length===0)return null;let o=e.tr;for(let s of a)o.setNodeMarkup(s.pos,void 0,s.attrs);return o.setMeta(Qt,"allocated"),o.setMeta("addToHistory",false),o}})}var te=b({name:"paraIdAllocator",onSchemaReady(){return {plugins:[tn()]}}});var ee=b({name:"bidiShortcut",priority:a$1.High,onSchemaReady(n){let{manager:t}=n;return {plugins:[new Plugin({props:{handleKeyDown(e,r){if(r.key!=="Shift"||!(r.metaKey||r.ctrlKey))return false;let o=t.getCommands();return r.code==="ShiftLeft"?(r.preventDefault(),o.setLtr()(e.state,e.dispatch),true):r.code==="ShiftRight"?(r.preventDefault(),o.setRtl()(e.state,e.dispatch),true):false}}})]}}});function ne(n){let t={},e=n.split(";");for(let r of e){let a=r.trim();if(!a)continue;let o=a.indexOf(":");if(o<0)continue;let s=a.slice(0,o).trim(),i=a.slice(o+1).trim();s&&i&&(t[s]=i);}return t}function rn(n,t){let e=n.getAttribute("style")||"",r=ne(e);for(let[a,o]of Object.entries(t))a in r||n.style.setProperty(a,o);}function an(n){let t=n.querySelectorAll("style");if(t.length===0)return;let e=[];for(let r of t){let a=r.textContent||"";if(a.trim())try{let o=n.createElement("style");o.textContent=a,n.head.appendChild(o);let s=o.sheet;if(s)for(let i=0;i<s.cssRules.length;i++){let l=s.cssRules[i];if(l instanceof CSSStyleRule){let d={},c=l.style;for(let u=0;u<c.length;u++){let g=c[u];d[g]=c.getPropertyValue(g);}Object.keys(d).length>0&&e.push({selector:l.selectorText,declarations:d});}}n.head.removeChild(o);}catch{let o=/([^{]+)\{([^}]+)\}/g,s;for(;(s=o.exec(a))!==null;){let i=s[1].trim(),l=ne(s[2]);Object.keys(l).length>0&&e.push({selector:i,declarations:l});}}}if(e.length!==0)for(let{selector:r,declarations:a}of e)try{let o=n.body.querySelectorAll(r);for(let s of o)rn(s,a);}catch{}}function on(n){let t=n.body.querySelectorAll('b[id^="docs-internal-guid-"]');for(let e of t){let r=e.parentNode;if(r){for(;e.firstChild;)r.insertBefore(e.firstChild,e);r.removeChild(e);}}}function sn(n){let t=n.includes("<style"),e=n.includes("docs-internal-guid-");if(!t&&!e)return n;try{let a=new DOMParser().parseFromString(n,"text/html");if(t){an(a);let o=a.querySelectorAll("style");for(let s of o)s.remove();}return e&&on(a),a.body.innerHTML}catch{return n}}var re=b({name:"pasteStyleInliner",priority:a$1.High,onSchemaReady(){return {plugins:[new Plugin({props:{transformPastedHTML(t){return sn(t)}}})]}}});function Io(n={}){let t=new Set(n.disable||[]),e=[];function r(a,o){t.has(a)||e.push(o);}return r("doc",st()),r("text",it()),r("paragraph",tt()),r("history",dt({depth:n.historyDepth,newGroupDelay:n.historyNewGroupDelay})),r("bold",ct()),r("italic",mt()),r("underline",gt()),r("strike",ht()),r("textColor",xt()),r("highlight",yt()),r("fontSize",kt()),r("fontFamily",St()),r("superscript",bt()),r("subscript",Et()),r("hyperlink",et()),r("allCaps",Tt()),r("smallCaps",Mt()),r("footnoteRef",wt()),r("characterSpacing",Ct()),r("emboss",Pt()),r("imprint",Nt()),r("textShadow",vt()),r("emphasisMark",Lt()),r("textOutline",$t()),r("hidden",Ft()),r("rtl",Bt()),r("textEffect",Dt()),r("comment",It()),r("insertion",At()),r("deletion",Rt()),r("hardBreak",Ot()),r("tab",Ht()),r("image",Wt()),r("textBox",zt()),r("shape",Ut()),r("imageDrag",Yt()),r("imagePaste",Jt()),r("dropCursor",Zt()),r("horizontalRule",Vt()),r("pageBreak",Kt()),r("field",Gt()),r("sdt",_t()),r("math",jt()),t.has("table")||e.push(...j$1()),r("pasteStyleInliner",re()),r("list",rt()),r("baseKeymap",k()),r("selectionTracker",qt({onSelectionChange:n.onSelectionChange})),r("paragraphChangeTracker",ot()),r("paraIdAllocator",te()),r("bidiShortcut",ee()),e}var ae=class{constructor(t){a$5(this,"extensions");a$5(this,"schema",null);a$5(this,"plugins",[]);a$5(this,"commands",{});this.extensions=[...t].sort((e,r)=>e.config.priority-r.config.priority);}buildSchema(){let t={},e={};for(let r of this.extensions)r.type==="node"?t[r.config.schemaNodeName]=r.config.nodeSpec:r.type==="mark"&&(e[r.config.schemaMarkName]=r.config.markSpec);this.schema=new Schema({nodes:t,marks:e});}initializeRuntime(){if(!this.schema)throw new Error("ExtensionManager: buildSchema() must be called before initializeRuntime()");let t={schema:this.schema,manager:this},e=[],r=[],a={};for(let o of this.extensions){let s=o.onSchemaReady(t);s.commands&&Object.assign(a,s.commands),s.keyboardShortcuts&&e.push(s.keyboardShortcuts),s.plugins&&r.push(...s.plugins);}this.plugins=[...r,...e.map(o=>keymap(o))],this.commands=a;}getSchema(){if(!this.schema)throw new Error("ExtensionManager: buildSchema() must be called first");return this.schema}getPlugins(){return this.plugins}getCommands(){return this.commands}getCommand(t){return this.commands[t]}destroy(){this.plugins=[],this.commands={};}};
|
|
2
|
+
export{gn as a,hn as b,xn as c,yn as d,En as e,Tn as f,Mn as g,wn as h,Rn as i,Pn as j,Bn as k,Dn as l,On as m,Hn as n,ot as o,Io as p,ae as q};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {TextSelection}from'prosemirror-state';import {Fragment}from'prosemirror-model';var b=(p,i)=>{let{schema:f}=p,m=f.nodes.pageBreak,s=f.nodes.paragraph;if(!m||!s)return false;if(i){let{$from:e}=p.selection,t=p.tr,o=m.create(),a=o.nodeSize,n;if(e.parent.isTextblock)if(e.parentOffset>0&&e.parentOffset<e.parent.content.size){t.split(e.pos);let r=t.mapping.map(e.pos);t.insert(r,Fragment.from([o,s.create()])),n=r+a+1;}else if(e.parentOffset===e.parent.content.size){let r=e.after();t.insert(r,Fragment.from([o,s.create()])),n=r+a+1;}else {let r=e.before();t.insert(r,o),n=r+a+1;}else {let r=e.pos;t.insert(r,Fragment.from([o,s.create()])),n=r+a+1;}t.setSelection(TextSelection.create(t.doc,n)),i(t.scrollIntoView());}return true};export{b as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a as a$1}from'./chunk-QYUPLKLP.mjs';var a=class{constructor(){a$1(this,"plugins",new Map);a$1(this,"commandHandlers",new Map);a$1(this,"eventListeners",new Set);a$1(this,"initialized",new Set);}register(e,r){let t=[];if(!e.id)return {success:false,error:"Plugin must have an id"};if(this.plugins.has(e.id))return {success:false,error:`Plugin '${e.id}' is already registered`};if(e.dependencies){for(let i of e.dependencies)if(!this.plugins.has(i))return {success:false,error:`Plugin '${e.id}' requires '${i}' which is not registered`}}if(e.commandHandlers)for(let[i,o]of Object.entries(e.commandHandlers)){if(this.commandHandlers.has(i)){let d=this.commandHandlers.get(i);t.push(`Command '${i}' from '${e.id}' overrides handler from '${d.pluginId}'`);}this.commandHandlers.set(i,{pluginId:e.id,handler:o});}if(this.plugins.set(e.id,e),e.initialize&&!this.initialized.has(e.id))try{let i=e.initialize();i instanceof Promise?i.then(()=>{this.initialized.add(e.id);}).catch(o=>{this.emit({type:"error",pluginId:e.id,error:o});}):this.initialized.add(e.id);}catch(i){this.emit({type:"error",pluginId:e.id,error:i});}return r?.debug&&console.log(`[PluginRegistry] Registered plugin: ${e.id}`),this.emit({type:"registered",plugin:e}),{success:true,plugin:e,warnings:t.length>0?t:void 0}}unregister(e){let r=this.plugins.get(e);if(!r)return false;for(let[t,i]of this.plugins)if(i.dependencies?.includes(e))return console.warn(`Cannot unregister '${e}': '${t}' depends on it`),false;for(let[t,{pluginId:i}]of this.commandHandlers)i===e&&this.commandHandlers.delete(t);if(r.destroy)try{let t=r.destroy();t instanceof Promise&&t.catch(i=>{this.emit({type:"error",pluginId:e,error:i});});}catch(t){this.emit({type:"error",pluginId:e,error:t});}return this.plugins.delete(e),this.initialized.delete(e),this.emit({type:"unregistered",pluginId:e}),true}get(e){return this.plugins.get(e)}getAll(){return Array.from(this.plugins.values())}has(e){return this.plugins.has(e)}get size(){return this.plugins.size}getCommandHandler(e){return this.commandHandlers.get(e)?.handler}getCommandTypes(){return Array.from(this.commandHandlers.keys())}hasCommandHandler(e){return this.commandHandlers.has(e)}getMcpTools(){let e=[];for(let r of this.plugins.values())r.mcpTools&&e.push(...r.mcpTools);return e}getMcpToolsForPlugin(e){return this.plugins.get(e)?.mcpTools||[]}getMcpTool(e){for(let r of this.plugins.values())if(r.mcpTools){let t=r.mcpTools.find(i=>i.name===e);if(t)return t}}addEventListener(e){this.eventListeners.add(e);}removeEventListener(e){this.eventListeners.delete(e);}emit(e){for(let r of this.eventListeners)try{r(e);}catch(t){console.error("[PluginRegistry] Event listener error:",t);}}clear(){for(let e of this.plugins.values())if(e.destroy)try{e.destroy();}catch{}this.plugins.clear(),this.commandHandlers.clear(),this.initialized.clear();}getDebugInfo(){return {plugins:Array.from(this.plugins.keys()),commandTypes:Array.from(this.commandHandlers.keys()),mcpTools:this.getMcpTools().map(e=>e.name),initialized:Array.from(this.initialized)}}},l=new a;function c(s,e){return s.map(r=>l.register(r,e))}function g(s){return e=>l.register(e,s)}export{a,l as b,c,g as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function l(u,r){if(!r||!r.trim())return null;let e=null;return u.descendants((t,n)=>e!==null?false:t.attrs?.paraId===r&&t.isTextblock?(e=n,false):true),e}function i(u,r){if(!r||!r.trim())return null;let e=null;return u.descendants((t,n)=>e!==null?false:t.isTextblock&&t.attrs?.paraId===r?(e={node:t,from:n,to:n+t.nodeSize},false):true),e}export{l as a,i as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkDV6GWBUJ_js=require('./chunk-DV6GWBUJ.js');var l=720,s=31680;function p(e){let n=e?chunkDV6GWBUJ_js.c(e):null,o=n?chunkDV6GWBUJ_js.e(n,"w","defaultTabStop"):null,t=o?parseInt(chunkDV6GWBUJ_js.j(o,"w","val")??"",10):NaN;return {defaultTabStop:Number.isFinite(t)&&t>0&&t<=s?t:l}}exports.a=l;exports.b=p;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkDC7S76ZX_js=require('./chunk-DC7S76ZX.js');var a=class{constructor(){chunkDC7S76ZX_js.a(this,"plugins",new Map);chunkDC7S76ZX_js.a(this,"commandHandlers",new Map);chunkDC7S76ZX_js.a(this,"eventListeners",new Set);chunkDC7S76ZX_js.a(this,"initialized",new Set);}register(e,r){let t=[];if(!e.id)return {success:false,error:"Plugin must have an id"};if(this.plugins.has(e.id))return {success:false,error:`Plugin '${e.id}' is already registered`};if(e.dependencies){for(let i of e.dependencies)if(!this.plugins.has(i))return {success:false,error:`Plugin '${e.id}' requires '${i}' which is not registered`}}if(e.commandHandlers)for(let[i,o]of Object.entries(e.commandHandlers)){if(this.commandHandlers.has(i)){let d=this.commandHandlers.get(i);t.push(`Command '${i}' from '${e.id}' overrides handler from '${d.pluginId}'`);}this.commandHandlers.set(i,{pluginId:e.id,handler:o});}if(this.plugins.set(e.id,e),e.initialize&&!this.initialized.has(e.id))try{let i=e.initialize();i instanceof Promise?i.then(()=>{this.initialized.add(e.id);}).catch(o=>{this.emit({type:"error",pluginId:e.id,error:o});}):this.initialized.add(e.id);}catch(i){this.emit({type:"error",pluginId:e.id,error:i});}return r?.debug&&console.log(`[PluginRegistry] Registered plugin: ${e.id}`),this.emit({type:"registered",plugin:e}),{success:true,plugin:e,warnings:t.length>0?t:void 0}}unregister(e){let r=this.plugins.get(e);if(!r)return false;for(let[t,i]of this.plugins)if(i.dependencies?.includes(e))return console.warn(`Cannot unregister '${e}': '${t}' depends on it`),false;for(let[t,{pluginId:i}]of this.commandHandlers)i===e&&this.commandHandlers.delete(t);if(r.destroy)try{let t=r.destroy();t instanceof Promise&&t.catch(i=>{this.emit({type:"error",pluginId:e,error:i});});}catch(t){this.emit({type:"error",pluginId:e,error:t});}return this.plugins.delete(e),this.initialized.delete(e),this.emit({type:"unregistered",pluginId:e}),true}get(e){return this.plugins.get(e)}getAll(){return Array.from(this.plugins.values())}has(e){return this.plugins.has(e)}get size(){return this.plugins.size}getCommandHandler(e){return this.commandHandlers.get(e)?.handler}getCommandTypes(){return Array.from(this.commandHandlers.keys())}hasCommandHandler(e){return this.commandHandlers.has(e)}getMcpTools(){let e=[];for(let r of this.plugins.values())r.mcpTools&&e.push(...r.mcpTools);return e}getMcpToolsForPlugin(e){return this.plugins.get(e)?.mcpTools||[]}getMcpTool(e){for(let r of this.plugins.values())if(r.mcpTools){let t=r.mcpTools.find(i=>i.name===e);if(t)return t}}addEventListener(e){this.eventListeners.add(e);}removeEventListener(e){this.eventListeners.delete(e);}emit(e){for(let r of this.eventListeners)try{r(e);}catch(t){console.error("[PluginRegistry] Event listener error:",t);}}clear(){for(let e of this.plugins.values())if(e.destroy)try{e.destroy();}catch{}this.plugins.clear(),this.commandHandlers.clear(),this.initialized.clear();}getDebugInfo(){return {plugins:Array.from(this.plugins.keys()),commandTypes:Array.from(this.commandHandlers.keys()),mcpTools:this.getMcpTools().map(e=>e.name),initialized:Array.from(this.initialized)}}},l=new a;function c(s,e){return s.map(r=>l.register(r,e))}function g(s){return e=>l.register(e,s)}exports.a=a;exports.b=l;exports.c=c;exports.d=g;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkY74ANBPV_js=require('./chunk-Y74ANBPV.js');var o={TABLE_INDEX:"data-table-index",ROW_INDEX:"data-row",COLUMN_INDEX:"data-col",TABLE_CELL:"data-table-cell"};function i(e,l){if(!(e instanceof Element))return null;let t=e;for(;t&&t!==l;){if(t.tagName==="TD"||t.tagName==="TH"){let n=t.getAttribute(o.ROW_INDEX),r=t.getAttribute(o.COLUMN_INDEX);if(n!==null&&r!==null){let a=t;for(;a&&a!==l;){if(a.tagName==="TABLE"){let u=a.getAttribute(o.TABLE_INDEX);if(u!==null)return {tableIndex:parseInt(u,10),rowIndex:parseInt(n,10),columnIndex:parseInt(r,10)};break}a=a.parentElement;}}break}t=t.parentElement;}return null}function p(e,l){if(!e.package?.document?.content)return null;let t=0;for(let n of e.package.document.content)if(n.type==="table"){if(t===l)return n;t++;}return null}function b(e,l,t){if(!e.package?.document?.content)return e;let n=0,r=e.package.document.content.map(a=>{if(a.type==="table"){if(n===l)return n++,t;n++;}return a});return {...e,package:{...e.package,document:{...e.package.document,content:r}}}}function d(e,l){if(!e.package?.document?.content)return e;let t=0,n=e.package.document.content.filter(r=>{if(r.type==="table"){let a=t===l;return t++,!a}return true});return {...e,package:{...e.package,document:{...e.package.document,content:n}}}}var m=class extends chunkY74ANBPV_js.a{constructor(){super({selectedCell:null});}selectCell(l){this.setSnapshot({selectedCell:l});}clearSelection(){this.setSnapshot({selectedCell:null});}isCellSelected(l,t,n){let{selectedCell:r}=this.getSnapshot();return r?r.tableIndex===l&&r.rowIndex===t&&r.columnIndex===n:false}getSelectedCell(){return this.getSnapshot().selectedCell}};exports.a=o;exports.b=i;exports.c=p;exports.d=b;exports.e=d;exports.f=m;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkDC7S76ZX_js=require('./chunk-DC7S76ZX.js');var n,s,a,i,l,d,R,u,b=class{constructor(){chunkDC7S76ZX_js.c(this,d);chunkDC7S76ZX_js.c(this,n,0);chunkDC7S76ZX_js.c(this,s,0);chunkDC7S76ZX_js.c(this,a,false);chunkDC7S76ZX_js.c(this,i,null);chunkDC7S76ZX_js.c(this,l,new Set);}setStateSeq(r){chunkDC7S76ZX_js.d(this,n,r);}incrementStateSeq(){return ++chunkDC7S76ZX_js.f(this,n)._}getStateSeq(){return chunkDC7S76ZX_js.b(this,n)}getRenderSeq(){return chunkDC7S76ZX_js.b(this,s)}onLayoutStart(){chunkDC7S76ZX_js.d(this,a,true);}onLayoutComplete(r){chunkDC7S76ZX_js.d(this,s,r),chunkDC7S76ZX_js.d(this,a,false),chunkDC7S76ZX_js.e(this,d,R).call(this);}isSafeToRender(){return !chunkDC7S76ZX_js.b(this,a)&&chunkDC7S76ZX_js.b(this,s)>=chunkDC7S76ZX_js.b(this,n)}requestRender(){this.isSafeToRender()?chunkDC7S76ZX_js.e(this,d,u).call(this):chunkDC7S76ZX_js.d(this,i,()=>chunkDC7S76ZX_js.e(this,d,u).call(this));}onRender(r){return chunkDC7S76ZX_js.b(this,l).add(r),()=>{chunkDC7S76ZX_js.b(this,l).delete(r);}}reset(){chunkDC7S76ZX_js.d(this,n,0),chunkDC7S76ZX_js.d(this,s,0),chunkDC7S76ZX_js.d(this,a,false),chunkDC7S76ZX_js.d(this,i,null);}getDebugInfo(){return {stateSeq:chunkDC7S76ZX_js.b(this,n),renderSeq:chunkDC7S76ZX_js.b(this,s),layoutUpdating:chunkDC7S76ZX_js.b(this,a),hasPendingRender:chunkDC7S76ZX_js.b(this,i)!==null,isSafe:this.isSafeToRender()}}};n=new WeakMap,s=new WeakMap,a=new WeakMap,i=new WeakMap,l=new WeakMap,d=new WeakSet,R=function(){if(chunkDC7S76ZX_js.b(this,i)&&this.isSafeToRender()){let r=chunkDC7S76ZX_js.b(this,i);chunkDC7S76ZX_js.d(this,i,null),r();}},u=function(){for(let r of chunkDC7S76ZX_js.b(this,l))try{r();}catch(c){console.error("LayoutSelectionGate: render callback error",c);}};exports.a=b;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var u=1440;var o=96;function P(n){return n/1440*96}function _(n){return n/96*1440}function I(n){return n==null||isNaN(n)?0:Math.round(n*96/914400)}function E(n){return Math.round(n/96*914400)}function i(n){return Math.round(n/914400*1440)}function m(n){return Math.round(n/1440*914400)}function N(n){return n/72*96}function H(n){return n/144*96}function b(n){return n/2}function s(n){return n*2}function p(n){return n/576*96}function e(n,t=2){let r=Math.pow(10,t);return Math.round(n*r)/r}function x(n,t,r){return Math.min(Math.max(n,t),r)}function R(n){return `${e(n)}px`}exports.a=u;exports.b=o;exports.c=P;exports.d=_;exports.e=I;exports.f=E;exports.g=i;exports.h=m;exports.i=N;exports.j=H;exports.k=b;exports.l=s;exports.m=p;exports.n=e;exports.o=x;exports.p=R;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {c}from'./chunk-5VBNOHRE.mjs';import {P,g,h}from'./chunk-6Y6LON6Y.mjs';import {b}from'./chunk-NDDJ67FQ.mjs';import {e}from'./chunk-VW22RZ6C.mjs';function j(e,t){if(e.pages.length===0)return null;let a=e.pageGap??0,o=0,n=null,r=1/0;for(let s=0;s<e.pages.length;s++){let i=e.pages[s],l=i.size?.h??e.pageSize.h,u=o,f=u+l;if(t.y>=u&&t.y<f)return {pageIndex:s,page:i,pageY:t.y-u};let c=u+l/2,h=Math.abs(t.y-c);h<r&&(r=h,n=s),o=f+a;}if(n!==null){let s=e.pages[n],i=A(e,n);return {pageIndex:n,page:s,pageY:Math.max(0,Math.min(t.y-i,s.size?.h??e.pageSize.h))}}return null}function A(e,t){let a=e.pageGap??0,o=0;for(let n=0;n<t&&n<e.pages.length;n++){let s=e.pages[n].size?.h??e.pageSize.h;o+=s+a;}return o}function Me(e,t){return j(e,{y:t})?.pageIndex??null}function $(e,t){return e.findIndex(a=>a.id===t)}function ye(e,t){let a=0;for(let o=e.fromLine;o<e.toLine&&o<t.lines.length;o++)a+=t.lines[o].lineHeight;return a}function ae(e,t,a,o){let n=[...e.page.fragments].sort((r,s)=>{let i=r.y-s.y;return Math.abs(i)>.5?i:r.x-s.x});for(let r of n){let s=$(t,r.blockId);if(s===-1)continue;let i=t[s],l=a[s];if(!i||!l)continue;let u;if(r.kind==="paragraph"){if(i.kind!=="paragraph"||l.kind!=="paragraph")continue;u=ye(r,l);}else if(r.kind==="table")u=r.height;else if(r.kind==="image")u=r.height;else continue;let f=o.x>=r.x&&o.x<=r.x+r.width,c=o.y>=r.y&&o.y<=r.y+u;if(f&&c)return {fragment:r,block:i,measure:l,pageIndex:e.pageIndex,localX:o.x-r.x,localY:o.y-r.y}}return null}function He(e,t,a,o){for(let n of e.page.fragments){if(n.kind!=="image")continue;let r=$(t,n.blockId);if(r===-1)continue;let s=t[r],i=a[r];if(!s||!i)continue;let l=o.x>=n.x&&o.x<=n.x+n.width,u=o.y>=n.y&&o.y<=n.y+n.height;if(l&&u)return {fragment:n,block:s,measure:i,pageIndex:e.pageIndex,localX:o.x-n.x,localY:o.y-n.y}}return null}function se(e,t,a,o){for(let n of e.page.fragments){if(n.kind!=="table")continue;let r=n,s=o.x>=r.x&&o.x<=r.x+r.width,i=o.y>=r.y&&o.y<=r.y+r.height;if(!s||!i)continue;let l=$(t,r.blockId);if(l===-1)continue;let u=t[l],f=a[l];if(!u||u.kind!=="table"||!f||f.kind!=="table")continue;let c=u,h=f,p=o.x-r.x,m=o.y-r.y,g=r.headerRowCount??0,d=g>0&&r.continuesFromPrev?P(h,g):0,b=0,x=-1;if(h.rows.length===0||c.rows.length===0)continue;if(d>0&&m<d){let T=0;for(let M=0;M<g&&M<h.rows.length;M++){let L=h.rows[M];if(m>=T&&m<T+L.height){x=M;break}T+=L.height;}x===-1&&(x=0);}else {let T=m-d;for(let M=r.fromRow;M<r.toRow&&M<h.rows.length;M++){let L=h.rows[M];if(T>=b&&T<b+L.height){x=M;break}b+=L.height;}}if(x===-1&&(x=Math.min(r.toRow-1,h.rows.length-1),x<r.fromRow))continue;let k=h.rows[x],F=c.rows[x];if(!k||!F)continue;let P$1=0,y=-1;if(k.cells.length===0||F.cells.length===0)continue;for(let T=0;T<k.cells.length;T++){let M=k.cells[T];if(p>=P$1&&p<P$1+M.width){y=T;break}P$1+=M.width;}if(y===-1&&(y=k.cells.length-1,y<0))continue;let H=k.cells[y],w=F.cells[y];if(!H||!w)continue;let R=0;if(d>0&&x<g)for(let T=0;T<x;T++)R+=h.rows[T]?.height??0;else {R=d;for(let T=r.fromRow;T<x;T++)R+=h.rows[T]?.height??0;}let B=0;for(let T=0;T<y;T++)B+=k.cells[T]?.width??0;let C,S;if(w.blocks&&w.blocks.length>0){let T=w.blocks[0],M=H.blocks[0];T.kind==="paragraph"&&M?.kind==="paragraph"&&(C=T,S=M);}let D=p-B,E=m-R;return {fragment:r,block:c,measure:h,pageIndex:e.pageIndex,rowIndex:x,colIndex:y,cellBlock:C,cellMeasure:S,cellLocalX:Math.max(0,D),cellLocalY:Math.max(0,E)}}return null}function we(e,t,a,o){let n={pageHit:null,fragmentHit:null,tableCellHit:null};if(n.pageHit=j(e,o),!n.pageHit)return n;let r=A(e,n.pageHit.pageIndex),s={x:o.x,y:o.y-r};return n.fragmentHit=ae(n.pageHit,t,a,s),n.fragmentHit?.fragment.kind==="table"&&(n.tableCellHit=se(n.pageHit,t,a,s)),n}function Re(e){if(e.pages.length===0)return 0;let t=e.pageGap??0,a=0;for(let o=0;o<e.pages.length;o++){let n=e.pages[o];a+=n.size?.h??e.pageSize.h,o<e.pages.length-1&&(a+=t);}return a}function Be(e,t){return A(e,t)}function Ie(e,t){if(t<0||t>=e.pages.length)return null;let a=A(e,t),n=e.pages[t].size?.h??e.pageSize.h;return {top:a,bottom:a+n}}function J(e){return {fontFamily:e.fontFamily??"Arial",fontSize:e.fontSize??12,bold:e.bold,italic:e.italic,letterSpacing:e.letterSpacing}}function le(e,t){let a=[];for(let o=t.fromRun;o<=t.toRun&&o<e.runs.length;o++){let n=e.runs[o];if(n){if(n.kind==="tab"||n.kind==="image"||n.kind==="lineBreak"){a.push(n);continue}if(n.kind==="text"){let r=n.text??"",s=o===t.fromRun,i=o===t.toRun;if(s||i){let l=s?t.fromChar:0,u=i?t.toChar:r.length,f=r.slice(l,u);f.length>0&&a.push({...n,text:f});}else a.push(n);}}}return a}function ce(e,t){let a,o,n=e.pmStart??0,r=0;for(let s=0;s<e.runs.length&&s<=t.toRun;s++){let i=e.runs[s];i&&(s<t.fromRun?i.kind==="text"?r+=(i.text??"").length:(i.kind==="tab"||i.kind==="lineBreak"||i.kind==="image")&&(r+=1):s===t.fromRun&&(r+=t.fromChar,a=n+r,i.kind==="text"&&(r=t.fromChar)));}if(a!==void 0){let s=0;for(let i=t.fromRun;i<=t.toRun&&i<e.runs.length;i++){let l=e.runs[i];if(l)if(l.kind==="text"){let u=l.text??"",f=i===t.fromRun?t.fromChar:0,c=i===t.toRun?t.toChar:u.length;s+=c-f;}else (l.kind==="tab"||l.kind==="lineBreak"||l.kind==="image")&&(s+=1);}o=a+s;}return {pmStart:a,pmEnd:o}}function Se(e,t,a,o){let n=0;for(let r=a;r<o&&r<e.lines.length;r++){let i=e.lines[r].lineHeight;if(t>=n&&t<n+i)return r;n+=i;}return o>a?Math.min(o-1,e.lines.length-1):null}function Ee(e,t,a,o){let{pmStart:n,pmEnd:r}=ce(e,t);if(n===void 0||r===void 0)return {charOffset:0,pmPosition:e.pmStart??0};let s=e.attrs?.alignment??"left",i=0;s==="center"?i=Math.max(0,(o-t.width)/2):s==="right"&&(i=Math.max(0,o-t.width));let l=Math.max(0,a-i);if(l<=0)return {charOffset:0,pmPosition:n};let u=le(e,t);if(u.length===0)return {charOffset:0,pmPosition:n};let f=0,c=0;for(let p of u){if(p.kind==="tab"){let m=p.width??48,g=f+m;if(l<=g){let d=f+m/2;return l<d?{charOffset:c,pmPosition:n+c}:{charOffset:c+1,pmPosition:n+c+1}}f=g,c+=1;continue}if(p.kind==="image"){let m=p.width,g=f+m;if(l<=g){let d=f+m/2;return l<d?{charOffset:c,pmPosition:n+c}:{charOffset:c+1,pmPosition:n+c+1}}f=g,c+=1;continue}if(p.kind==="lineBreak"){if(l>=f)return {charOffset:c,pmPosition:n+c};c+=1;continue}if(p.kind==="text"){let m=p.text??"";if(m.length===0)continue;let g$1=J(p),d=g(m,g$1),b=f+d.width;if(l<=b){let x=l-f,k=h(x,d.charWidths),F=c+k;return {charOffset:F,pmPosition:n+F}}f=b,c+=m.length;}}return {charOffset:r-n,pmPosition:r}}function K(e){let{fragment:t,block:a,measure:o,localX:n,localY:r}=e;if(t.kind!=="paragraph"||a.kind!=="paragraph"||o.kind!=="paragraph")return null;let s=t,i=a,l=o,u=Se(l,r,s.fromLine,s.toLine);if(u===null)return null;let f=l.lines[u];if(!f)return null;let c=0;for(let k=s.fromLine;k<u;k++)c+=l.lines[k]?.lineHeight??0;let h=i.attrs?.indent,p=h?.left??0,m=h?.right??0,g=Math.max(0,t.width-p-m),d=n-p,{charOffset:b,pmPosition:x}=Ee(i,f,d,g);return {pmPosition:x,charOffset:b,lineIndex:u}}function ue(e){let{cellBlock:t,cellMeasure:a,cellLocalX:o,cellLocalY:n}=e;if(!t||!a)return null;let r={fragment:{kind:"paragraph",blockId:t.id,x:0,y:0,width:a.lines.reduce((i,l)=>Math.max(i,l.width),100),fromLine:0,toLine:a.lines.length,height:a.totalHeight},block:t,measure:a,pageIndex:e.pageIndex,localX:o,localY:n};return K(r)?.pmPosition??null}function Le(e,t){if(t)return ue(t);if(!e)return null;let{fragment:a}=e;return a.kind==="paragraph"?K(e)?.pmPosition??null:a.kind==="image"?a.pmStart??null:null}function fe(e,t,a,o){let n=e.pmStart??0,r=e.pmEnd??n;if(a<n||a>r)return null;let s=a-n;for(let i=0;i<t.lines.length;i++){let l=t.lines[i],{pmStart:u,pmEnd:f}=ce(e,l);if(u===void 0||f===void 0)continue;let c=u-n,h=f-n;if(s>=c&&s<=h){let p=s-c,m=le(e,l),g$1=0,d=0;for(let b of m)if(b.kind==="tab"){if(p<=d+1)return p<=d?{x:g$1,lineIndex:i}:{x:g$1+(b.width??48),lineIndex:i};g$1+=b.width??48,d+=1;}else if(b.kind==="image"){if(p<=d+1)return p<=d?{x:g$1,lineIndex:i}:{x:g$1+b.width,lineIndex:i};g$1+=b.width,d+=1;}else if(b.kind==="lineBreak"){if(p<=d)return {x:g$1,lineIndex:i};d+=1;}else if(b.kind==="text"){let x=b.text??"";if(p<=d+x.length){let P=p-d,y=J(b),H=g(x.slice(0,P),y);return {x:g$1+H.width,lineIndex:i}}let k=J(b),F=g(x,k);g$1+=F.width,d+=x.length;}return {x:g$1,lineIndex:i}}}return null}function Ce(e,t,a,o,n,r,s){let i=fe(e,t,a);if(!i)return null;let l=e.attrs?.alignment??"left",u=e.attrs?.indent,f=u?.left??0,c=u?.right??0,h=Math.max(0,r-f-c),p=t.lines[i.lineIndex];if(!p)return null;let m=0;l==="center"?m=Math.max(0,(h-p.width)/2):l==="right"&&(m=Math.max(0,h-p.width));let g=0;for(let d=s;d<i.lineIndex;d++)g+=t.lines[d]?.lineHeight??0;return {x:o+f+m+i.x,y:n+g,height:p.lineHeight}}function ge(e){return {fontFamily:e.fontFamily??"Arial",fontSize:e.fontSize??12,bold:e.bold,italic:e.italic,letterSpacing:e.letterSpacing}}function Q(e,t){return e.findIndex(a=>a.id===t)}function W(e,t){let o=(e.pmStart??0)+1,n=0,r;for(let l=0;l<e.runs.length&&l<=t.toRun;l++){let u=e.runs[l];if(u){if(l<t.fromRun)u.kind==="text"?n+=(u.text??"").length:n+=1;else if(l===t.fromRun){n+=t.fromChar,r=o+n;break}}}r===void 0&&(r=o);let s=0;for(let l=t.fromRun;l<=t.toRun&&l<e.runs.length;l++){let u=e.runs[l];if(u)if(u.kind==="text"){let f=u.text??"",c=l===t.fromRun?t.fromChar:0,h=l===t.toRun?t.toChar:f.length;s+=h-c;}else s+=1;}let i=r+s;return {pmStart:r,pmEnd:i}}function me(e,t,a,o){let n=[];for(let r=0;r<t.lines.length;r++){let s=t.lines[r],i=W(e,s);i.pmStart===void 0||i.pmEnd===void 0||i.pmEnd>a&&i.pmStart<o&&n.push({line:s,index:r});}return n}function N(e,t,a){let o=W(e,t);return o.pmStart===void 0?0:Math.max(0,a-o.pmStart)}function z(e,t,a,o){let n=0,r=0;for(let s=t.fromRun;s<=t.toRun&&s<e.runs.length;s++){let i=e.runs[s];if(i){if(i.kind==="tab"){let l=i.width??48;if(r+1>=a)return a<=r?n:n+l;n+=l,r+=1;continue}if(i.kind==="image"){let l=i.width;if(r+1>=a)return a<=r?n:n+l;n+=l,r+=1;continue}if(i.kind==="lineBreak"){if(a<=r)return n;r+=1;continue}if(i.kind==="text"){let l=i.text??"",u=s===t.fromRun,f=s===t.toRun,c=u?t.fromChar:0,h=f?t.toChar:l.length,p=l.slice(c,h);if(r+p.length>=a){let d=a-r,b=ge(i),x=g(p.slice(0,d),b);return n+x.width}let m=ge(i),g$1=g(p,m);n+=g$1.width,r+=p.length;}}}return n}function G(e,t){let a=0;for(let o=0;o<t&&o<e.lines.length;o++)a+=e.lines[o].lineHeight;return a}function De(e,t,a,o,n){if(o===n)return [];let r=Math.min(o,n),s=Math.max(o,n),i=[];for(let l=0;l<e.pages.length;l++){let u=e.pages[l],f=A(e,l);for(let c of u.fragments){if(c.kind==="paragraph"){let h=Q(t,c.blockId);if(h===-1)continue;let p=t[h],m=a[h];if(!p||p.kind!=="paragraph"||!m||m.kind!=="paragraph")continue;let g=p,d=m,b=c,x=me(g,d,r,s);for(let{line:k,index:F}of x){if(F<b.fromLine||F>=b.toLine)continue;let P=W(g,k);if(P.pmStart===void 0||P.pmEnd===void 0)continue;let y=Math.max(P.pmStart,r),H=Math.min(P.pmEnd,s);if(y>=H)continue;let w=N(g,k,y),R=N(g,k,H),I=g.attrs?.indent,B=I?.left??0,C=I?.right??0,S=Math.max(0,c.width-B-C),D=z(g,k,w),E=z(g,k,R),T=g.attrs?.alignment??"left",M=0;T==="center"?M=Math.max(0,(S-k.width)/2):T==="right"&&(M=Math.max(0,S-k.width));let L=G(d,F)-G(d,b.fromLine),_=c.x+B+M+Math.min(D,E),V=Math.max(1,Math.abs(E-D)),v=c.y+L;i.push({x:_,y:v+f,width:V,height:k.lineHeight,pageIndex:l});}}if(c.kind==="table"){let h=Q(t,c.blockId);if(h===-1)continue;let p=t[h],m=a[h];if(!p||p.kind!=="table"||!m||m.kind!=="table")continue;let g=p,d=m,b=c,x=b.headerRowCount??0,F=x>0&&b.continuesFromPrev?P(d,x):0;for(let P=b.fromRow;P<b.toRow&&P<g.rows.length;P++){let y=g.rows[P],H=d.rows[P];if(!y||!H)continue;let w=0;for(let R=0;R<y.cells.length;R++){let I=y.cells[R],B=H.cells[R];if(!(!I||!B)){for(let C=0;C<I.blocks.length;C++){let S=I.blocks[C],D=B.blocks[C];if(!S||S.kind!=="paragraph"||!D||D.kind!=="paragraph")continue;let E=S,T=D,M=me(E,T,r,s),L=0;for(let{line:_,index:V}of M){let v=W(E,_);if(v.pmStart===void 0||v.pmEnd===void 0)continue;let Z=Math.max(v.pmStart,r),ee=Math.min(v.pmEnd,s);if(Z>=ee)continue;let ke=N(E,_,Z),Fe=N(E,_,ee),te=z(E,_,ke,B.width),ne=z(E,_,Fe,B.width),Pe=G(T,V);i.push({x:b.x+w+Math.min(te,ne),y:b.y+F+L+Pe+f,width:Math.max(1,Math.abs(ne-te)),height:_.lineHeight,pageIndex:l});}L+=T.totalHeight;}w+=B.width;}}F+=H.height;}}if(c.kind==="image"){let h=c.pmStart??0;(c.pmEnd??h+1)>r&&h<s&&i.push({x:c.x,y:c.y+f,width:c.width,height:c.height,pageIndex:l});}}}return i}function _e(e,t,a,o){for(let n=0;n<e.pages.length;n++){let r=e.pages[n],s=A(e,n);for(let i of r.fragments){if(i.kind==="paragraph"){let l=Q(t,i.blockId);if(l===-1)continue;let u=t[l],f=a[l];if(!u||u.kind!=="paragraph"||!f||f.kind!=="paragraph")continue;let c=u,h=f,p=i,m=c.pmStart??0,g=c.pmEnd??m;if(o<m||o>g)continue;for(let d=p.fromLine;d<p.toLine;d++){let b=h.lines[d];if(!b)continue;let x=W(c,b);if(!(x.pmStart===void 0||x.pmEnd===void 0)&&o>=x.pmStart&&o<=x.pmEnd){let k=N(c,b,o),F=c.attrs?.indent,P=F?.left??0,y=F?.right??0,H=Math.max(0,i.width-P-y),w=z(c,b,k),R=c.attrs?.alignment??"left",I=0;R==="center"?I=Math.max(0,(H-b.width)/2):R==="right"&&(I=Math.max(0,H-b.width));let B=G(h,d)-G(h,p.fromLine);return {x:i.x+P+I+w,y:i.y+B+s,height:b.lineHeight,pageIndex:n}}}}if(i.kind==="image"){let l=i.pmStart??0,u=i.pmEnd??l+1;if(o>=l&&o<=u){let f=o===l?0:i.width;return {x:i.x+f,y:i.y+s,height:i.height,pageIndex:n}}}}}return null}function Ae(e){return e.length<=1?false:new Set(e.map(a=>a.pageIndex)).size>1}function Oe(e){let t=new Map;for(let a of e){let o=t.get(a.pageIndex)??[];o.push(a),t.set(a.pageIndex,o);}return t}function Xe(e){if(e.kind!=="paragraph")return false;let t=e.attrs;return t?!!(t.borders?.top||t.borders?.bottom||t.spacingExplicit?.before||t.spacingExplicit?.after):false}function de(e){return he(e)}function he(e){let t=new Set;for(let a=1;a<e.length;a++){let o=e[a-1],n=e[a];o.kind==="table"&&n.kind==="paragraph"&&(n.runs.length>0||Xe(n)||t.add(a));}return e.map((a,o)=>{if(a.kind==="table")return ve(a);if(a.kind!=="paragraph")return a;let n=t.has(o),r=a.attrs?.spacingExplicit,s=a.attrs?.spacing?.before!=null,i=a.attrs?.spacing?.after!=null,l=s&&!r?.before,u=i&&!r?.after,f=l||u;if(!f&&!n)return a;let c=a.attrs;return f&&c?.spacing&&(c={...c,spacing:{...c.spacing,before:r?.before?c.spacing.before:void 0,after:r?.after?c.spacing.after:void 0}}),n&&(c={...c??{},suppressEmptyParagraphHeight:true}),{...a,attrs:c}})}function ve(e){let t=false,a=e.rows.map(o=>{let n=false,r=o.cells.map(s=>{let i=he(s.blocks);return i.some((u,f)=>u!==s.blocks[f])?(n=true,{...s,blocks:i}):s});return n?(t=true,{...o,cells:r}):o});return t?{...e,rows:a}:e}function Ye(e){return e?.align??e?.alignment}function pe(e$1,t,a,o){let n=o.section==="header"?o.margins.header??48:o.pageSize.h-(o.margins.footer??48)-a,r=e$1.position?.vertical;if(!r)return t;let s=Ye(r),i=r.posOffset!==void 0?e(r.posOffset):void 0;if(r.relativeTo==="page"){if(i!==void 0)return i-n;if(s==="top")return -n;if(s==="bottom")return o.pageSize.h-e$1.height-n;if(s==="center")return (o.pageSize.h-e$1.height)/2-n}if(r.relativeTo==="margin"){let l=o.margins.top,u=o.pageSize.h-o.margins.top-o.margins.bottom;if(i!==void 0)return l+i-n;if(s==="top")return l-n;if(s==="bottom")return l+u-e$1.height-n;if(s==="center")return l+(u-e$1.height)/2-n}return i!==void 0?t+i:t}function be(e,t,a,o){let n=0,r=a,s=0;for(let i=0;i<e.length;i++){let l=e[i],u=t[i];if(!(!l||!u)){if(l.kind==="paragraph"&&u.kind==="paragraph"){let f=s,c=f+u.totalHeight;n=Math.min(n,f),r=Math.max(r,c);for(let h of l.runs){if(h.kind!=="image"||!h.position)continue;let p=pe(h,f,a,o);n=Math.min(n,p),r=Math.max(r,p+h.height);}s=c;}else if(l.kind==="table"&&u.kind==="table"){let f=s+u.totalHeight;n=Math.min(n,s),r=Math.max(r,f),s=f;}else if(l.kind==="image"&&u.kind==="image"){let f=s+u.height;n=Math.min(n,s),r=Math.max(r,f),s=f;}else if(l.kind==="textBox"&&u.kind==="textBox"){let f=s+u.height;n=Math.min(n,s),r=Math.max(r,f),s=f;}}}return {visualTop:n,visualBottom:r}}function Ne(e,t,a,o){if(!e||!e.content||e.content.length===0)return;let n=b(e.content,{styles:o.styles??void 0,theme:o.theme??null,defaultTabStopTwips:o.defaultTabStopTwips??null});return xe(n,t,a,o)}function xe(e,t,a,o){let n=c(e,{theme:o.theme??void 0});if(n.length===0)return;let r=de(n),s=o.measureBlocks(r,t),i=s.reduce((f,c)=>c.kind==="paragraph"||c.kind==="table"?f+c.totalHeight:c.kind==="image"||c.kind==="textBox"?f+c.height:f,0),{visualTop:l,visualBottom:u}=be(n,s,i,a);return {blocks:r,measures:s,height:i,visualTop:l,visualBottom:u}}var Y=null;function ze(){Y=null;}function Te(e){if(Y&&Y.host.isConnected)return Y;let t=e.querySelector(".layout-page-header, .layout-page-footer");if(!t)return null;let a=Array.from(t.querySelectorAll("span[data-pm-start][data-pm-end]")),o=Array.from(t.querySelectorAll("[data-pm-start][data-pm-end]"));return Y={host:t,spans:a,ranged:o},Y}function Ge(e,t=globalThis.document){let a=e.state.selection;if(!a.empty)return null;let o=a.head,n=Te(t);if(!n)return null;let{host:r,spans:s}=n;for(let m of s){let g=Number(m.dataset.pmStart),d=Number(m.dataset.pmEnd);if(!(!Number.isFinite(g)||!Number.isFinite(d))&&o>=g&&o<=d){let b=r.ownerDocument.createRange(),x=r.ownerDocument.createTreeWalker(m,NodeFilter.SHOW_TEXT),k=o-g,F=x.nextNode();for(;F;){let H=F.data.length;if(k<=H){try{b.setStart(F,k),b.setEnd(F,k);let w=b.getClientRects()[0]??b.getBoundingClientRect();if(w&&w.height>0)return {top:w.top,left:w.left,height:w.height}}catch{}break}k-=H,F=x.nextNode();}let P=m.getBoundingClientRect(),y=(o-g)/Math.max(1,d-g);return {top:P.top,left:P.left+P.width*y,height:P.height}}}let i=r.querySelector(`[data-pm-start="${o}"]`);if(i){let m=i.getBoundingClientRect();return {top:m.top,left:m.left+1,height:m.height||16}}let l=n.ranged,u=null,f=1/0;for(let m of l){let g=Number(m.dataset.pmStart),d=Number(m.dataset.pmEnd);if(!Number.isFinite(g)||!Number.isFinite(d)||o<g||o>d)continue;let b=d-g;b<f&&(f=b,u=m);}if(u){let m=u.getBoundingClientRect(),g=Number(u.dataset.pmEnd),d=o>=g;return {top:m.top,left:d?m.right:m.left+1,height:m.height||16}}let c=null,h=-1/0;for(let m of l){let g=Number(m.dataset.pmStart);Number.isFinite(g)&&(g>o||g>h&&(h=g,c=m));}if(c){let m=c.getBoundingClientRect();return {top:m.top,left:m.right,height:m.height||16}}let p=r.getBoundingClientRect();return {top:p.top+2,left:p.left+2,height:16}}function We(e,t=globalThis.document){let a=e.state.selection;if(a.empty)return [];let o=a.from,n=a.to,r=[],s=Te(t);if(!s)return r;let{host:i,spans:l}=s;for(let u of l){let f=Number(u.dataset.pmStart),c=Number(u.dataset.pmEnd);if(!Number.isFinite(f)||!Number.isFinite(c)||c<=o||f>=n)continue;if(u.classList.contains("layout-run-tab")){let d=u.getBoundingClientRect();r.push({top:d.top,left:d.left,width:d.width,height:d.height});continue}let h=null;if(u.firstChild?.nodeType===Node.TEXT_NODE?h=u.firstChild:u.firstChild?.nodeType===Node.ELEMENT_NODE&&u.firstChild.tagName==="A"&&u.firstChild.firstChild?.nodeType===Node.TEXT_NODE&&(h=u.firstChild.firstChild),!h)continue;let p=Math.max(0,o-f),m=Math.min(h.length,n-f);if(p>=m)continue;let g=i.ownerDocument.createRange();g.setStart(h,p),g.setEnd(h,m);for(let d of Array.from(g.getClientRects()))r.push({top:d.top,left:d.left,width:d.width,height:d.height});}return r}var Ue=816,Ve=1056,qe=96,je=48;function O(e){return Math.round(e/1440*96)}function $e(e){return {w:e?.pageWidth?O(e.pageWidth):816,h:e?.pageHeight?O(e.pageHeight):1056}}function Je(e){return {top:e?.marginTop?O(e.marginTop):96,right:e?.marginRight?O(e.marginRight):96,bottom:e?.marginBottom?O(e.marginBottom):96,left:e?.marginLeft?O(e.marginLeft):96,header:e?.headerDistance?O(e.headerDistance):48,footer:e?.footerDistance?O(e.footerDistance):48}}function Ke(e,t){let a={header:null,footer:null,firstHeader:null,firstFooter:null};if(!e?.package)return a;let o=e.package.headers,n=e.package.footers,r=null,s=null,i=null,l=null;if(o&&t?.headerReferences){let u=t.headerReferences.find(c=>c.type==="default");u?.rId&&(r=o.get(u.rId)??null);let f=t.headerReferences.find(c=>c.type==="first");f?.rId&&(i=o.get(f.rId)??null);}if(n&&t?.footerReferences){let u=t.footerReferences.find(c=>c.type==="default");u?.rId&&(s=n.get(u.rId)??null);let f=t.footerReferences.find(c=>c.type==="first");f?.rId&&(l=n.get(f.rId)??null);}return t?.titlePg||(!r&&i&&(r=i),!s&&l&&(s=l)),{header:r,footer:s,firstHeader:i,firstFooter:l}}export{We as A,Ue as B,Ve as C,qe as D,je as E,$e as F,Je as G,Ke as H,j as a,A as b,Me as c,ae as d,He as e,se as f,we as g,Re as h,Be as i,Ie as j,K as k,ue as l,Le as m,fe as n,Ce as o,De as p,_e as q,Ae as r,Oe as s,de as t,pe as u,be as v,Ne as w,xe as x,ze as y,Ge as z};
|