@cj-tech-master/excelts 9.5.4 → 9.5.5
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/dist/browser/modules/archive/compression/streaming-compress.browser.js +29 -0
- package/dist/browser/modules/archive/compression/streaming-compress.js +9 -0
- package/dist/browser/modules/archive/compression/worker-pool/pool.browser.js +26 -1
- package/dist/browser/modules/archive/fs/archive-file.d.ts +8 -5
- package/dist/browser/modules/archive/fs/archive-file.js +78 -16
- package/dist/browser/modules/archive/unzip/stream.browser.js +43 -2
- package/dist/browser/modules/excel/chart/chart-ex-builder.js +7 -2
- package/dist/browser/modules/excel/chart/chart-ex-renderer.js +4 -9
- package/dist/browser/modules/excel/chart/chart-ex-types.d.ts +0 -12
- package/dist/browser/modules/excel/chart/chart.d.ts +1 -5
- package/dist/browser/modules/excel/chart/chart.js +1 -7
- package/dist/browser/modules/excel/chart/types.d.ts +0 -6
- package/dist/browser/modules/excel/stream/workbook-reader.browser.js +25 -1
- package/dist/browser/modules/excel/stream/workbook-reader.js +9 -0
- package/dist/browser/modules/excel/stream/workbook-writer.browser.d.ts +40 -0
- package/dist/browser/modules/excel/stream/workbook-writer.browser.js +228 -13
- package/dist/browser/modules/excel/utils/string-buf.d.ts +5 -26
- package/dist/browser/modules/excel/utils/string-buf.js +4 -81
- package/dist/browser/modules/excel/workbook.browser.js +135 -25
- package/dist/browser/modules/excel/xlsx/xform/chart/chart-space-xform.js +6 -20
- package/dist/browser/modules/excel/xlsx/xlsx.browser.d.ts +19 -9
- package/dist/browser/modules/excel/xlsx/xlsx.browser.js +32 -8
- package/dist/browser/modules/excel/xlsx/xlsx.d.ts +10 -2
- package/dist/browser/modules/excel/xlsx/xlsx.js +9 -1
- package/dist/browser/modules/pdf/excel-bridge.d.ts +30 -1
- package/dist/browser/modules/pdf/excel-bridge.js +32 -0
- package/dist/browser/modules/pdf/font/metrics.d.ts +3 -52
- package/dist/browser/modules/pdf/font/metrics.js +3 -237
- package/dist/browser/modules/pdf/index.d.ts +1 -1
- package/dist/browser/modules/pdf/index.js +1 -1
- package/dist/browser/modules/pdf/render-layout-to-pdf.d.ts +66 -0
- package/dist/browser/modules/pdf/render-layout-to-pdf.js +647 -0
- package/dist/browser/modules/pdf/word-bridge.d.ts +80 -12
- package/dist/browser/modules/pdf/word-bridge.js +122 -274
- package/dist/browser/modules/stream/index.base.d.ts +2 -0
- package/dist/browser/modules/stream/index.base.js +2 -1
- package/dist/browser/modules/stream/internal/sink-adapter.d.ts +65 -0
- package/dist/browser/modules/stream/internal/sink-adapter.js +198 -0
- package/dist/browser/modules/stream/pull-stream.d.ts +19 -2
- package/dist/browser/modules/stream/pull-stream.js +51 -5
- package/dist/browser/modules/stream/types.d.ts +13 -1
- package/dist/browser/modules/word/advanced/diff.d.ts +61 -0
- package/dist/browser/modules/word/advanced/diff.js +167 -0
- package/dist/browser/modules/word/advanced/drawing-shapes.d.ts +269 -0
- package/dist/browser/modules/word/advanced/drawing-shapes.js +268 -0
- package/dist/browser/modules/word/advanced/field-engine.d.ts +43 -0
- package/dist/browser/modules/word/advanced/field-engine.js +1225 -0
- package/dist/browser/modules/word/advanced/glossary.d.ts +86 -0
- package/dist/browser/modules/word/advanced/glossary.js +79 -0
- package/dist/browser/modules/word/advanced/math-convert.d.ts +30 -0
- package/dist/browser/modules/word/advanced/math-convert.js +595 -0
- package/dist/browser/modules/word/advanced/ole-objects.d.ts +115 -0
- package/dist/browser/modules/word/advanced/ole-objects.js +271 -0
- package/dist/browser/modules/word/advanced/style-map.d.ts +105 -0
- package/dist/browser/modules/word/advanced/style-map.js +322 -0
- package/dist/browser/modules/word/advanced/validation.d.ts +56 -0
- package/dist/browser/modules/word/advanced/validation.js +1065 -0
- package/dist/browser/modules/word/advanced/vba-project.d.ts +91 -0
- package/dist/browser/modules/word/advanced/vba-project.js +265 -0
- package/dist/browser/modules/word/bridge/excel-bridge.d.ts +127 -0
- package/dist/browser/modules/word/bridge/excel-bridge.js +980 -0
- package/dist/browser/modules/word/builder/document-handle.d.ts +151 -0
- package/dist/browser/modules/word/builder/document-handle.js +664 -0
- package/dist/browser/modules/word/builder/paragraph-builders.d.ts +61 -0
- package/dist/browser/modules/word/builder/paragraph-builders.js +90 -0
- package/dist/browser/modules/word/builder/run-builders.d.ts +374 -0
- package/dist/browser/modules/word/builder/run-builders.js +600 -0
- package/dist/browser/modules/word/builder/table-builders.d.ts +23 -0
- package/dist/browser/modules/word/builder/table-builders.js +45 -0
- package/dist/browser/modules/word/constants.d.ts +39 -1
- package/dist/browser/modules/word/constants.js +109 -1
- package/dist/browser/modules/word/convert/conversion-ir.d.ts +210 -0
- package/dist/browser/modules/word/convert/conversion-ir.js +31 -0
- package/dist/browser/modules/word/convert/docx-to-semantic.d.ts +39 -0
- package/dist/browser/modules/word/convert/docx-to-semantic.js +499 -0
- package/dist/browser/modules/word/convert/flat-opc.d.ts +44 -0
- package/dist/browser/modules/word/convert/flat-opc.js +385 -0
- package/dist/browser/modules/word/convert/html/html-import.d.ts +50 -0
- package/dist/browser/modules/word/convert/html/html-import.js +1907 -0
- package/dist/{types/modules/word → browser/modules/word/convert/html}/html-renderer.d.ts +14 -1
- package/dist/{esm/modules/word → browser/modules/word/convert/html}/html-renderer.js +420 -69
- package/dist/browser/modules/word/convert/html/html.d.ts +15 -0
- package/dist/browser/modules/word/convert/html/html.js +15 -0
- package/dist/browser/modules/word/convert/markdown/markdown-import.d.ts +68 -0
- package/dist/browser/modules/word/convert/markdown/markdown-import.js +1325 -0
- package/dist/browser/modules/word/convert/markdown/markdown-renderer.d.ts +25 -0
- package/dist/browser/modules/word/convert/markdown/markdown-renderer.js +634 -0
- package/dist/browser/modules/word/convert/markdown/markdown.d.ts +15 -0
- package/dist/browser/modules/word/convert/markdown/markdown.js +15 -0
- package/dist/browser/modules/word/convert/odt/odt.d.ts +41 -0
- package/dist/browser/modules/word/convert/odt/odt.js +1932 -0
- package/dist/browser/modules/word/{color-utils.d.ts → core/color-utils.d.ts} +8 -1
- package/dist/browser/modules/word/core/color-utils.js +43 -0
- package/dist/browser/modules/word/core/internal-utils.d.ts +90 -0
- package/dist/browser/modules/word/core/internal-utils.js +209 -0
- package/dist/browser/modules/word/core/mapper.d.ts +44 -0
- package/dist/browser/modules/word/core/mapper.js +427 -0
- package/dist/browser/modules/word/core/opc-paths.d.ts +33 -0
- package/dist/browser/modules/word/core/opc-paths.js +48 -0
- package/dist/browser/modules/word/core/text-utils.d.ts +38 -0
- package/dist/browser/modules/word/core/text-utils.js +202 -0
- package/dist/browser/modules/word/core/walker.d.ts +119 -0
- package/dist/browser/modules/word/core/walker.js +570 -0
- package/dist/browser/modules/word/crypto.d.ts +14 -9
- package/dist/browser/modules/word/crypto.js +13 -7
- package/dist/browser/modules/word/document-io.d.ts +59 -27
- package/dist/browser/modules/word/document-io.js +80 -197
- package/dist/browser/modules/word/errors.d.ts +44 -1
- package/dist/browser/modules/word/errors.js +54 -2
- package/dist/browser/modules/word/excel.d.ts +14 -0
- package/dist/browser/modules/word/excel.js +13 -0
- package/dist/browser/modules/word/font/font-embed.d.ts +112 -0
- package/dist/browser/modules/word/font/font-embed.js +646 -0
- package/dist/{esm/modules/word → browser/modules/word/font}/font-obfuscation.js +4 -9
- package/dist/browser/modules/word/font/hyphenation.d.ts +65 -0
- package/dist/browser/modules/word/font/hyphenation.js +4210 -0
- package/dist/browser/modules/word/font/text-shaping.d.ts +58 -0
- package/dist/browser/modules/word/font/text-shaping.js +635 -0
- package/dist/browser/modules/word/html.d.ts +7 -6
- package/dist/browser/modules/word/html.js +6 -5
- package/dist/browser/modules/word/incremental-edit.d.ts +123 -0
- package/dist/browser/modules/word/incremental-edit.js +361 -0
- package/dist/browser/modules/word/index.base.d.ts +194 -10
- package/dist/browser/modules/word/index.base.js +138 -29
- package/dist/browser/modules/word/layout/layout-constants.d.ts +17 -0
- package/dist/browser/modules/word/layout/layout-constants.js +17 -0
- package/dist/browser/modules/word/layout/layout-full.d.ts +53 -0
- package/dist/browser/modules/word/layout/layout-full.js +1696 -0
- package/dist/browser/modules/word/layout/layout-model.d.ts +344 -0
- package/dist/browser/modules/word/layout/layout-model.js +16 -0
- package/dist/browser/modules/word/layout/layout.d.ts +63 -0
- package/dist/browser/modules/word/layout/layout.js +1167 -0
- package/dist/browser/modules/word/layout/render-page.d.ts +57 -0
- package/dist/browser/modules/word/layout/render-page.js +1238 -0
- package/dist/browser/modules/word/markdown.d.ts +14 -0
- package/dist/browser/modules/word/markdown.js +13 -0
- package/dist/browser/modules/word/patcher.d.ts +62 -0
- package/dist/browser/modules/word/patcher.js +537 -0
- package/dist/browser/modules/word/query/compat.d.ts +25 -0
- package/dist/browser/modules/word/query/compat.js +58 -0
- package/dist/browser/modules/word/query/data-binding.d.ts +22 -0
- package/dist/browser/modules/word/query/data-binding.js +392 -0
- package/dist/browser/modules/word/query/form-fields.d.ts +41 -0
- package/dist/browser/modules/word/query/form-fields.js +268 -0
- package/dist/browser/modules/word/query/format-search.d.ts +99 -0
- package/dist/browser/modules/word/query/format-search.js +329 -0
- package/dist/browser/modules/word/query/mail-merge.d.ts +25 -0
- package/dist/browser/modules/word/query/mail-merge.js +111 -0
- package/dist/browser/modules/word/query/merge.d.ts +50 -0
- package/dist/browser/modules/word/query/merge.js +617 -0
- package/dist/browser/modules/word/query/replace.d.ts +47 -0
- package/dist/browser/modules/word/query/replace.js +301 -0
- package/dist/browser/modules/word/query/revisions.d.ts +67 -0
- package/dist/browser/modules/word/query/revisions.js +879 -0
- package/dist/browser/modules/word/query/search.d.ts +129 -0
- package/dist/browser/modules/word/query/search.js +346 -0
- package/dist/browser/modules/word/query/split.d.ts +44 -0
- package/dist/browser/modules/word/query/split.js +135 -0
- package/dist/browser/modules/word/query/style-resolve.d.ts +104 -0
- package/dist/browser/modules/word/query/style-resolve.js +368 -0
- package/dist/browser/modules/word/reader/chart-parser.d.ts +20 -0
- package/dist/browser/modules/word/reader/chart-parser.js +810 -0
- package/dist/browser/modules/word/reader/comments-parser.d.ts +26 -0
- package/dist/browser/modules/word/reader/comments-parser.js +92 -0
- package/dist/browser/modules/word/reader/doc-props-parsers.d.ts +15 -0
- package/dist/browser/modules/word/reader/doc-props-parsers.js +190 -0
- package/dist/browser/modules/word/reader/docx-reader.d.ts +27 -0
- package/dist/browser/modules/word/reader/docx-reader.js +2557 -0
- package/dist/browser/modules/word/reader/drawing-helpers.d.ts +27 -0
- package/dist/browser/modules/word/reader/drawing-helpers.js +84 -0
- package/dist/browser/modules/word/reader/form-field-parser.d.ts +21 -0
- package/dist/browser/modules/word/reader/form-field-parser.js +82 -0
- package/dist/browser/modules/word/reader/image-parsers.d.ts +11 -0
- package/dist/browser/modules/word/reader/image-parsers.js +291 -0
- package/dist/browser/modules/word/reader/math-parser.d.ts +12 -0
- package/dist/browser/modules/word/reader/math-parser.js +422 -0
- package/dist/browser/modules/word/reader/metadata-parsers.d.ts +17 -0
- package/dist/browser/modules/word/reader/metadata-parsers.js +87 -0
- package/dist/browser/modules/word/reader/numbering-parser.d.ts +13 -0
- package/dist/browser/modules/word/reader/numbering-parser.js +166 -0
- package/dist/browser/modules/word/reader/paragraph-section-parsers.d.ts +12 -0
- package/dist/browser/modules/word/reader/paragraph-section-parsers.js +503 -0
- package/dist/browser/modules/word/reader/parse-utils.d.ts +91 -0
- package/dist/browser/modules/word/reader/parse-utils.js +249 -0
- package/dist/browser/modules/word/reader/properties-parsers.d.ts +21 -0
- package/dist/browser/modules/word/reader/properties-parsers.js +332 -0
- package/dist/browser/modules/word/reader/reader-context.d.ts +69 -0
- package/dist/browser/modules/word/reader/reader-context.js +61 -0
- package/dist/browser/modules/word/reader/sdt-helpers.d.ts +29 -0
- package/dist/browser/modules/word/reader/sdt-helpers.js +111 -0
- package/dist/browser/modules/word/reader/settings-parser.d.ts +8 -0
- package/dist/browser/modules/word/reader/settings-parser.js +263 -0
- package/dist/browser/modules/word/reader/styles-parser.d.ts +12 -0
- package/dist/browser/modules/word/reader/styles-parser.js +147 -0
- package/dist/browser/modules/word/reader/table-properties-parsers.d.ts +12 -0
- package/dist/browser/modules/word/reader/table-properties-parsers.js +234 -0
- package/dist/browser/modules/word/reader/theme-parser.d.ts +8 -0
- package/dist/browser/modules/word/reader/theme-parser.js +167 -0
- package/dist/browser/modules/word/reader/watermark-parser.d.ts +15 -0
- package/dist/browser/modules/word/reader/watermark-parser.js +110 -0
- package/dist/browser/modules/word/security/cfb-reader.d.ts +37 -0
- package/dist/browser/modules/word/security/cfb-reader.js +410 -0
- package/dist/browser/modules/word/{digital-signatures.d.ts → security/digital-signatures.d.ts} +19 -11
- package/dist/browser/modules/word/{digital-signatures.js → security/digital-signatures.js} +34 -34
- package/dist/browser/modules/word/security/document-protection.d.ts +93 -0
- package/dist/browser/modules/word/security/document-protection.js +201 -0
- package/dist/{types/modules/word → browser/modules/word/security}/encryption.d.ts +51 -4
- package/dist/browser/modules/word/security/encryption.js +602 -0
- package/dist/browser/modules/word/security/policy.d.ts +80 -0
- package/dist/browser/modules/word/security/policy.js +102 -0
- package/dist/browser/modules/word/template/template-chart.d.ts +56 -0
- package/dist/browser/modules/word/template/template-chart.js +167 -0
- package/dist/browser/modules/word/template/template-datasource.d.ts +154 -0
- package/dist/browser/modules/word/template/template-datasource.js +541 -0
- package/dist/browser/modules/word/template/template-engine.d.ts +121 -0
- package/dist/browser/modules/word/template/template-engine.js +1435 -0
- package/dist/browser/modules/word/types.d.ts +224 -25
- package/dist/browser/modules/word/units.d.ts +26 -0
- package/dist/browser/modules/word/units.js +43 -14
- package/dist/browser/modules/word/{writers → writer}/chart-writer.js +164 -23
- package/dist/browser/modules/word/writer/checkbox-writer.d.ts +17 -0
- package/dist/browser/modules/word/writer/checkbox-writer.js +79 -0
- package/dist/{types/modules/word/writers → browser/modules/word/writer}/comment-writer.d.ts +2 -1
- package/dist/browser/modules/word/{writers → writer}/comment-writer.js +8 -6
- package/dist/browser/modules/word/writer/common-parts.d.ts +57 -0
- package/dist/browser/modules/word/writer/common-parts.js +101 -0
- package/dist/{types/modules/word → browser/modules/word/writer}/content-types.d.ts +2 -2
- package/dist/{esm/modules/word → browser/modules/word/writer}/content-types.js +14 -6
- package/dist/browser/modules/word/writer/document-writer.d.ts +24 -0
- package/dist/browser/modules/word/writer/document-writer.js +473 -0
- package/dist/browser/modules/word/writer/docx-packager.d.ts +35 -0
- package/dist/browser/modules/word/writer/docx-packager.js +1515 -0
- package/dist/{types/modules/word/writers → browser/modules/word/writer}/footnote-writer.d.ts +3 -2
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/footnote-writer.js +13 -10
- package/dist/{types/modules/word/writers → browser/modules/word/writer}/header-footer-writer.d.ts +3 -2
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/header-footer-writer.js +39 -21
- package/dist/{types/modules/word/writers → browser/modules/word/writer}/image-writer.d.ts +1 -1
- package/dist/browser/modules/word/{writers → writer}/image-writer.js +11 -7
- package/dist/browser/modules/word/writer/math-writer.d.ts +20 -0
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/math-writer.js +21 -1
- package/dist/browser/modules/word/{writers → writer}/numbering-writer.d.ts +1 -1
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/numbering-writer.js +11 -4
- package/dist/browser/modules/word/{writers → writer}/paragraph-writer.d.ts +2 -1
- package/dist/browser/modules/word/{writers → writer}/paragraph-writer.js +73 -38
- package/dist/browser/modules/word/{writers → writer}/parts-writer.d.ts +3 -3
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/parts-writer.js +91 -12
- package/dist/browser/modules/word/writer/reference-scanners.d.ts +42 -0
- package/dist/browser/modules/word/writer/reference-scanners.js +111 -0
- package/dist/browser/modules/word/writer/relationships.d.ts +52 -0
- package/dist/browser/modules/word/writer/relationships.js +117 -0
- package/dist/browser/modules/word/writer/render-context.d.ts +124 -0
- package/dist/browser/modules/word/writer/render-context.js +46 -0
- package/dist/browser/modules/word/{writers → writer}/run-writer.d.ts +10 -1
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/run-writer.js +126 -24
- package/dist/browser/modules/word/writer/sdt-writer.d.ts +25 -0
- package/dist/browser/modules/word/writer/sdt-writer.js +189 -0
- package/dist/browser/modules/word/writer/stream-buf.d.ts +37 -0
- package/dist/browser/modules/word/writer/stream-buf.js +73 -0
- package/dist/browser/modules/word/writer/streaming-writer.d.ts +344 -0
- package/dist/browser/modules/word/writer/streaming-writer.js +1382 -0
- package/dist/browser/modules/word/writer/string-buf.d.ts +8 -0
- package/dist/browser/modules/word/writer/string-buf.js +7 -0
- package/dist/browser/modules/word/{writers → writer}/styles-writer.js +32 -1
- package/dist/browser/modules/word/{writers → writer}/table-writer.d.ts +2 -1
- package/dist/browser/modules/word/{writers → writer}/table-writer.js +94 -11
- package/dist/browser/modules/xml/types.d.ts +22 -0
- package/dist/browser/utils/crypto.browser.d.ts +3 -1
- package/dist/browser/utils/crypto.browser.js +3 -1
- package/dist/browser/utils/crypto.d.ts +4 -1
- package/dist/browser/utils/crypto.js +4 -1
- package/dist/browser/utils/font-metrics.d.ts +63 -0
- package/dist/browser/utils/font-metrics.js +293 -0
- package/dist/browser/utils/string-buf.d.ts +42 -0
- package/dist/browser/utils/string-buf.js +89 -0
- package/dist/browser/utils/theme-colors.d.ts +55 -0
- package/dist/browser/utils/theme-colors.js +120 -0
- package/dist/cjs/modules/archive/compression/streaming-compress.browser.js +29 -0
- package/dist/cjs/modules/archive/compression/streaming-compress.js +9 -0
- package/dist/cjs/modules/archive/compression/worker-pool/pool.browser.js +26 -1
- package/dist/cjs/modules/archive/fs/archive-file.js +78 -16
- package/dist/cjs/modules/archive/unzip/stream.browser.js +43 -2
- package/dist/cjs/modules/excel/chart/chart-ex-builder.js +7 -2
- package/dist/cjs/modules/excel/chart/chart-ex-renderer.js +4 -9
- package/dist/cjs/modules/excel/chart/chart.js +1 -7
- package/dist/cjs/modules/excel/stream/workbook-reader.browser.js +25 -1
- package/dist/cjs/modules/excel/stream/workbook-reader.js +9 -0
- package/dist/cjs/modules/excel/stream/workbook-writer.browser.js +228 -13
- package/dist/cjs/modules/excel/utils/string-buf.js +5 -81
- package/dist/cjs/modules/excel/workbook.browser.js +135 -25
- package/dist/cjs/modules/excel/xlsx/xform/chart/chart-space-xform.js +6 -20
- package/dist/cjs/modules/excel/xlsx/xlsx.browser.js +32 -8
- package/dist/cjs/modules/excel/xlsx/xlsx.js +9 -1
- package/dist/cjs/modules/pdf/excel-bridge.js +33 -0
- package/dist/cjs/modules/pdf/font/metrics.js +11 -244
- package/dist/cjs/modules/pdf/index.js +2 -1
- package/dist/cjs/modules/pdf/render-layout-to-pdf.js +651 -0
- package/dist/cjs/modules/pdf/word-bridge.js +155 -274
- package/dist/cjs/modules/stream/index.base.js +4 -2
- package/dist/cjs/modules/stream/internal/sink-adapter.js +202 -0
- package/dist/cjs/modules/stream/pull-stream.js +51 -5
- package/dist/cjs/modules/word/advanced/diff.js +170 -0
- package/dist/cjs/modules/word/advanced/drawing-shapes.js +279 -0
- package/dist/cjs/modules/word/advanced/field-engine.js +1229 -0
- package/dist/cjs/modules/word/advanced/glossary.js +87 -0
- package/dist/cjs/modules/word/advanced/math-convert.js +599 -0
- package/dist/cjs/modules/word/advanced/ole-objects.js +277 -0
- package/dist/cjs/modules/word/advanced/style-map.js +329 -0
- package/dist/cjs/modules/word/advanced/validation.js +1068 -0
- package/dist/cjs/modules/word/advanced/vba-project.js +274 -0
- package/dist/cjs/modules/word/bridge/excel-bridge.js +1020 -0
- package/dist/cjs/modules/word/builder/document-handle.js +667 -0
- package/dist/cjs/modules/word/builder/paragraph-builders.js +109 -0
- package/dist/cjs/modules/word/builder/run-builders.js +676 -0
- package/dist/cjs/modules/word/builder/table-builders.js +53 -0
- package/dist/cjs/modules/word/constants.js +111 -2
- package/dist/cjs/modules/word/convert/conversion-ir.js +34 -0
- package/dist/cjs/modules/word/convert/docx-to-semantic.js +502 -0
- package/dist/cjs/modules/word/convert/flat-opc.js +390 -0
- package/dist/cjs/modules/word/convert/html/html-import.js +1910 -0
- package/dist/cjs/modules/word/{html-renderer.js → convert/html/html-renderer.js} +420 -69
- package/dist/cjs/modules/word/convert/html/html.js +20 -0
- package/dist/cjs/modules/word/convert/markdown/markdown-import.js +1329 -0
- package/dist/cjs/modules/word/convert/markdown/markdown-renderer.js +637 -0
- package/dist/cjs/modules/word/convert/markdown/markdown.js +21 -0
- package/dist/cjs/modules/word/convert/odt/odt.js +1936 -0
- package/dist/cjs/modules/word/core/color-utils.js +47 -0
- package/dist/cjs/modules/word/core/internal-utils.js +219 -0
- package/dist/cjs/modules/word/core/mapper.js +430 -0
- package/dist/cjs/modules/word/core/opc-paths.js +53 -0
- package/dist/cjs/modules/word/core/text-utils.js +210 -0
- package/dist/cjs/modules/word/core/walker.js +577 -0
- package/dist/cjs/modules/word/crypto.js +19 -8
- package/dist/cjs/modules/word/document-io.js +117 -197
- package/dist/cjs/modules/word/errors.js +59 -13
- package/dist/cjs/modules/word/excel.js +22 -0
- package/dist/cjs/modules/word/font/font-embed.js +652 -0
- package/dist/cjs/modules/word/{font-obfuscation.js → font/font-obfuscation.js} +4 -9
- package/dist/cjs/modules/word/font/hyphenation.js +4216 -0
- package/dist/cjs/modules/word/font/text-shaping.js +640 -0
- package/dist/cjs/modules/word/html.js +9 -7
- package/dist/cjs/modules/word/incremental-edit.js +366 -0
- package/dist/cjs/modules/word/index.base.js +370 -137
- package/dist/cjs/modules/word/layout/layout-constants.js +20 -0
- package/dist/cjs/modules/word/layout/layout-full.js +1699 -0
- package/dist/cjs/modules/word/layout/layout-model.js +17 -0
- package/dist/cjs/modules/word/layout/layout.js +1170 -0
- package/dist/cjs/modules/word/layout/render-page.js +1243 -0
- package/dist/cjs/modules/word/markdown.js +19 -0
- package/dist/cjs/modules/word/patcher.js +539 -0
- package/dist/cjs/modules/word/query/compat.js +61 -0
- package/dist/cjs/modules/word/query/data-binding.js +395 -0
- package/dist/cjs/modules/word/query/form-fields.js +272 -0
- package/dist/cjs/modules/word/query/format-search.js +334 -0
- package/dist/cjs/modules/word/query/mail-merge.js +114 -0
- package/dist/cjs/modules/word/query/merge.js +620 -0
- package/dist/cjs/modules/word/query/replace.js +304 -0
- package/dist/cjs/modules/word/query/revisions.js +885 -0
- package/dist/cjs/modules/word/query/search.js +361 -0
- package/dist/cjs/modules/word/query/split.js +138 -0
- package/dist/cjs/modules/word/query/style-resolve.js +374 -0
- package/dist/cjs/modules/word/reader/chart-parser.js +814 -0
- package/dist/cjs/modules/word/reader/comments-parser.js +96 -0
- package/dist/cjs/modules/word/reader/doc-props-parsers.js +194 -0
- package/dist/cjs/modules/word/reader/docx-reader.js +2560 -0
- package/dist/cjs/modules/word/reader/drawing-helpers.js +90 -0
- package/dist/cjs/modules/word/reader/form-field-parser.js +85 -0
- package/dist/cjs/modules/word/reader/image-parsers.js +293 -0
- package/dist/cjs/modules/word/reader/math-parser.js +424 -0
- package/dist/cjs/modules/word/reader/metadata-parsers.js +93 -0
- package/dist/cjs/modules/word/reader/numbering-parser.js +168 -0
- package/dist/cjs/modules/word/reader/paragraph-section-parsers.js +505 -0
- package/dist/cjs/modules/word/reader/parse-utils.js +271 -0
- package/dist/cjs/modules/word/reader/properties-parsers.js +338 -0
- package/dist/cjs/modules/word/reader/reader-context.js +66 -0
- package/dist/cjs/modules/word/reader/sdt-helpers.js +114 -0
- package/dist/cjs/modules/word/reader/settings-parser.js +265 -0
- package/dist/cjs/modules/word/reader/styles-parser.js +149 -0
- package/dist/cjs/modules/word/reader/table-properties-parsers.js +237 -0
- package/dist/cjs/modules/word/reader/theme-parser.js +169 -0
- package/dist/cjs/modules/word/reader/watermark-parser.js +113 -0
- package/dist/cjs/modules/word/security/cfb-reader.js +414 -0
- package/dist/cjs/modules/word/{digital-signatures.js → security/digital-signatures.js} +34 -34
- package/dist/cjs/modules/word/security/document-protection.js +208 -0
- package/dist/cjs/modules/word/security/encryption.js +612 -0
- package/dist/cjs/modules/word/security/policy.js +106 -0
- package/dist/cjs/modules/word/template/template-chart.js +170 -0
- package/dist/cjs/modules/word/template/template-datasource.js +549 -0
- package/dist/cjs/modules/word/template/template-engine.js +1430 -0
- package/dist/cjs/modules/word/units.js +44 -14
- package/dist/cjs/modules/word/{writers → writer}/chart-writer.js +163 -22
- package/dist/cjs/modules/word/writer/checkbox-writer.js +82 -0
- package/dist/cjs/modules/word/{writers → writer}/comment-writer.js +8 -6
- package/dist/cjs/modules/word/writer/common-parts.js +104 -0
- package/dist/cjs/modules/word/{content-types.js → writer/content-types.js} +14 -6
- package/dist/cjs/modules/word/writer/document-writer.js +478 -0
- package/dist/cjs/modules/word/writer/docx-packager.js +1551 -0
- package/dist/cjs/modules/word/{writers → writer}/footnote-writer.js +13 -10
- package/dist/cjs/modules/word/{writers → writer}/header-footer-writer.js +38 -20
- package/dist/cjs/modules/word/{writers → writer}/image-writer.js +11 -7
- package/dist/cjs/modules/word/{writers → writer}/math-writer.js +21 -1
- package/dist/cjs/modules/word/{writers → writer}/numbering-writer.js +11 -4
- package/dist/cjs/modules/word/{writers → writer}/paragraph-writer.js +72 -37
- package/dist/cjs/modules/word/{writers → writer}/parts-writer.js +91 -12
- package/dist/cjs/modules/word/writer/reference-scanners.js +120 -0
- package/dist/cjs/modules/word/writer/relationships.js +124 -0
- package/dist/cjs/modules/word/writer/render-context.js +51 -0
- package/dist/cjs/modules/word/{writers → writer}/run-writer.js +127 -24
- package/dist/cjs/modules/word/writer/sdt-writer.js +192 -0
- package/dist/cjs/modules/word/writer/stream-buf.js +76 -0
- package/dist/cjs/modules/word/writer/streaming-writer.js +1387 -0
- package/dist/cjs/modules/word/writer/string-buf.js +11 -0
- package/dist/cjs/modules/word/{writers → writer}/styles-writer.js +32 -1
- package/dist/cjs/modules/word/{writers → writer}/table-writer.js +94 -11
- package/dist/cjs/utils/crypto.browser.js +3 -1
- package/dist/cjs/utils/crypto.js +4 -1
- package/dist/cjs/utils/font-metrics.js +303 -0
- package/dist/cjs/utils/string-buf.js +92 -0
- package/dist/cjs/utils/theme-colors.js +126 -0
- package/dist/esm/modules/archive/compression/streaming-compress.browser.js +29 -0
- package/dist/esm/modules/archive/compression/streaming-compress.js +9 -0
- package/dist/esm/modules/archive/compression/worker-pool/pool.browser.js +26 -1
- package/dist/esm/modules/archive/fs/archive-file.js +78 -16
- package/dist/esm/modules/archive/unzip/stream.browser.js +43 -2
- package/dist/esm/modules/excel/chart/chart-ex-builder.js +7 -2
- package/dist/esm/modules/excel/chart/chart-ex-renderer.js +4 -9
- package/dist/esm/modules/excel/chart/chart.js +1 -7
- package/dist/esm/modules/excel/stream/workbook-reader.browser.js +25 -1
- package/dist/esm/modules/excel/stream/workbook-reader.js +9 -0
- package/dist/esm/modules/excel/stream/workbook-writer.browser.js +228 -13
- package/dist/esm/modules/excel/utils/string-buf.js +4 -81
- package/dist/esm/modules/excel/workbook.browser.js +135 -25
- package/dist/esm/modules/excel/xlsx/xform/chart/chart-space-xform.js +6 -20
- package/dist/esm/modules/excel/xlsx/xlsx.browser.js +32 -8
- package/dist/esm/modules/excel/xlsx/xlsx.js +9 -1
- package/dist/esm/modules/pdf/excel-bridge.js +32 -0
- package/dist/esm/modules/pdf/font/metrics.js +3 -237
- package/dist/esm/modules/pdf/index.js +1 -1
- package/dist/esm/modules/pdf/render-layout-to-pdf.js +647 -0
- package/dist/esm/modules/pdf/word-bridge.js +122 -274
- package/dist/esm/modules/stream/index.base.js +2 -1
- package/dist/esm/modules/stream/internal/sink-adapter.js +198 -0
- package/dist/esm/modules/stream/pull-stream.js +51 -5
- package/dist/esm/modules/word/advanced/diff.js +167 -0
- package/dist/esm/modules/word/advanced/drawing-shapes.js +268 -0
- package/dist/esm/modules/word/advanced/field-engine.js +1225 -0
- package/dist/esm/modules/word/advanced/glossary.js +79 -0
- package/dist/esm/modules/word/advanced/math-convert.js +595 -0
- package/dist/esm/modules/word/advanced/ole-objects.js +271 -0
- package/dist/esm/modules/word/advanced/style-map.js +322 -0
- package/dist/esm/modules/word/advanced/validation.js +1065 -0
- package/dist/esm/modules/word/advanced/vba-project.js +265 -0
- package/dist/esm/modules/word/bridge/excel-bridge.js +980 -0
- package/dist/esm/modules/word/builder/document-handle.js +664 -0
- package/dist/esm/modules/word/builder/paragraph-builders.js +90 -0
- package/dist/esm/modules/word/builder/run-builders.js +600 -0
- package/dist/esm/modules/word/builder/table-builders.js +45 -0
- package/dist/esm/modules/word/constants.js +109 -1
- package/dist/esm/modules/word/convert/conversion-ir.js +31 -0
- package/dist/esm/modules/word/convert/docx-to-semantic.js +499 -0
- package/dist/esm/modules/word/convert/flat-opc.js +385 -0
- package/dist/esm/modules/word/convert/html/html-import.js +1907 -0
- package/dist/{browser/modules/word → esm/modules/word/convert/html}/html-renderer.js +420 -69
- package/dist/esm/modules/word/convert/html/html.js +15 -0
- package/dist/esm/modules/word/convert/markdown/markdown-import.js +1325 -0
- package/dist/esm/modules/word/convert/markdown/markdown-renderer.js +634 -0
- package/dist/esm/modules/word/convert/markdown/markdown.js +15 -0
- package/dist/esm/modules/word/convert/odt/odt.js +1932 -0
- package/dist/esm/modules/word/core/color-utils.js +43 -0
- package/dist/esm/modules/word/core/internal-utils.js +209 -0
- package/dist/esm/modules/word/core/mapper.js +427 -0
- package/dist/esm/modules/word/core/opc-paths.js +48 -0
- package/dist/esm/modules/word/core/text-utils.js +202 -0
- package/dist/esm/modules/word/core/walker.js +570 -0
- package/dist/esm/modules/word/crypto.js +13 -7
- package/dist/esm/modules/word/document-io.js +80 -197
- package/dist/esm/modules/word/errors.js +54 -2
- package/dist/esm/modules/word/excel.js +13 -0
- package/dist/esm/modules/word/font/font-embed.js +646 -0
- package/dist/{browser/modules/word → esm/modules/word/font}/font-obfuscation.js +4 -9
- package/dist/esm/modules/word/font/hyphenation.js +4210 -0
- package/dist/esm/modules/word/font/text-shaping.js +635 -0
- package/dist/esm/modules/word/html.js +6 -5
- package/dist/esm/modules/word/incremental-edit.js +361 -0
- package/dist/esm/modules/word/index.base.js +138 -29
- package/dist/esm/modules/word/layout/layout-constants.js +17 -0
- package/dist/esm/modules/word/layout/layout-full.js +1696 -0
- package/dist/esm/modules/word/layout/layout-model.js +16 -0
- package/dist/esm/modules/word/layout/layout.js +1167 -0
- package/dist/esm/modules/word/layout/render-page.js +1238 -0
- package/dist/esm/modules/word/markdown.js +13 -0
- package/dist/esm/modules/word/patcher.js +537 -0
- package/dist/esm/modules/word/query/compat.js +58 -0
- package/dist/esm/modules/word/query/data-binding.js +392 -0
- package/dist/esm/modules/word/query/form-fields.js +268 -0
- package/dist/esm/modules/word/query/format-search.js +329 -0
- package/dist/esm/modules/word/query/mail-merge.js +111 -0
- package/dist/esm/modules/word/query/merge.js +617 -0
- package/dist/esm/modules/word/query/replace.js +301 -0
- package/dist/esm/modules/word/query/revisions.js +879 -0
- package/dist/esm/modules/word/query/search.js +346 -0
- package/dist/esm/modules/word/query/split.js +135 -0
- package/dist/esm/modules/word/query/style-resolve.js +368 -0
- package/dist/esm/modules/word/reader/chart-parser.js +810 -0
- package/dist/esm/modules/word/reader/comments-parser.js +92 -0
- package/dist/esm/modules/word/reader/doc-props-parsers.js +190 -0
- package/dist/esm/modules/word/reader/docx-reader.js +2557 -0
- package/dist/esm/modules/word/reader/drawing-helpers.js +84 -0
- package/dist/esm/modules/word/reader/form-field-parser.js +82 -0
- package/dist/esm/modules/word/reader/image-parsers.js +291 -0
- package/dist/esm/modules/word/reader/math-parser.js +422 -0
- package/dist/esm/modules/word/reader/metadata-parsers.js +87 -0
- package/dist/esm/modules/word/reader/numbering-parser.js +166 -0
- package/dist/esm/modules/word/reader/paragraph-section-parsers.js +503 -0
- package/dist/esm/modules/word/reader/parse-utils.js +249 -0
- package/dist/esm/modules/word/reader/properties-parsers.js +332 -0
- package/dist/esm/modules/word/reader/reader-context.js +61 -0
- package/dist/esm/modules/word/reader/sdt-helpers.js +111 -0
- package/dist/esm/modules/word/reader/settings-parser.js +263 -0
- package/dist/esm/modules/word/reader/styles-parser.js +147 -0
- package/dist/esm/modules/word/reader/table-properties-parsers.js +234 -0
- package/dist/esm/modules/word/reader/theme-parser.js +167 -0
- package/dist/esm/modules/word/reader/watermark-parser.js +110 -0
- package/dist/esm/modules/word/security/cfb-reader.js +410 -0
- package/dist/esm/modules/word/{digital-signatures.js → security/digital-signatures.js} +34 -34
- package/dist/esm/modules/word/security/document-protection.js +201 -0
- package/dist/esm/modules/word/security/encryption.js +602 -0
- package/dist/esm/modules/word/security/policy.js +102 -0
- package/dist/esm/modules/word/template/template-chart.js +167 -0
- package/dist/esm/modules/word/template/template-datasource.js +541 -0
- package/dist/esm/modules/word/template/template-engine.js +1435 -0
- package/dist/esm/modules/word/units.js +43 -14
- package/dist/esm/modules/word/{writers → writer}/chart-writer.js +164 -23
- package/dist/esm/modules/word/writer/checkbox-writer.js +79 -0
- package/dist/esm/modules/word/{writers → writer}/comment-writer.js +8 -6
- package/dist/esm/modules/word/writer/common-parts.js +101 -0
- package/dist/{browser/modules/word → esm/modules/word/writer}/content-types.js +14 -6
- package/dist/esm/modules/word/writer/document-writer.js +473 -0
- package/dist/esm/modules/word/writer/docx-packager.js +1515 -0
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/footnote-writer.js +13 -10
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/header-footer-writer.js +39 -21
- package/dist/esm/modules/word/{writers → writer}/image-writer.js +11 -7
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/math-writer.js +21 -1
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/numbering-writer.js +11 -4
- package/dist/esm/modules/word/{writers → writer}/paragraph-writer.js +73 -38
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/parts-writer.js +91 -12
- package/dist/esm/modules/word/writer/reference-scanners.js +111 -0
- package/dist/esm/modules/word/writer/relationships.js +117 -0
- package/dist/esm/modules/word/writer/render-context.js +46 -0
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/run-writer.js +126 -24
- package/dist/esm/modules/word/writer/sdt-writer.js +189 -0
- package/dist/esm/modules/word/writer/stream-buf.js +73 -0
- package/dist/esm/modules/word/writer/streaming-writer.js +1382 -0
- package/dist/esm/modules/word/writer/string-buf.js +7 -0
- package/dist/esm/modules/word/{writers → writer}/styles-writer.js +32 -1
- package/dist/esm/modules/word/{writers → writer}/table-writer.js +94 -11
- package/dist/esm/utils/crypto.browser.js +3 -1
- package/dist/esm/utils/crypto.js +4 -1
- package/dist/esm/utils/font-metrics.js +293 -0
- package/dist/esm/utils/string-buf.js +89 -0
- package/dist/esm/utils/theme-colors.js +120 -0
- package/dist/iife/excelts.iife.js +70692 -70337
- package/dist/iife/excelts.iife.js.map +1 -1
- package/dist/iife/excelts.iife.min.js +57 -57
- package/dist/types/modules/archive/fs/archive-file.d.ts +8 -5
- package/dist/types/modules/excel/chart/chart-ex-types.d.ts +0 -12
- package/dist/types/modules/excel/chart/chart.d.ts +1 -5
- package/dist/types/modules/excel/chart/types.d.ts +0 -6
- package/dist/types/modules/excel/stream/workbook-writer.browser.d.ts +40 -0
- package/dist/types/modules/excel/utils/string-buf.d.ts +5 -26
- package/dist/types/modules/excel/xlsx/xlsx.browser.d.ts +19 -9
- package/dist/types/modules/excel/xlsx/xlsx.d.ts +10 -2
- package/dist/types/modules/pdf/excel-bridge.d.ts +30 -1
- package/dist/types/modules/pdf/font/metrics.d.ts +3 -52
- package/dist/types/modules/pdf/index.d.ts +1 -1
- package/dist/types/modules/pdf/render-layout-to-pdf.d.ts +66 -0
- package/dist/types/modules/pdf/word-bridge.d.ts +80 -12
- package/dist/types/modules/stream/index.base.d.ts +2 -0
- package/dist/types/modules/stream/internal/sink-adapter.d.ts +65 -0
- package/dist/types/modules/stream/pull-stream.d.ts +19 -2
- package/dist/types/modules/stream/types.d.ts +13 -1
- package/dist/types/modules/word/advanced/diff.d.ts +61 -0
- package/dist/types/modules/word/advanced/drawing-shapes.d.ts +269 -0
- package/dist/types/modules/word/advanced/field-engine.d.ts +43 -0
- package/dist/types/modules/word/advanced/glossary.d.ts +86 -0
- package/dist/types/modules/word/advanced/math-convert.d.ts +30 -0
- package/dist/types/modules/word/advanced/ole-objects.d.ts +115 -0
- package/dist/types/modules/word/advanced/style-map.d.ts +105 -0
- package/dist/types/modules/word/advanced/validation.d.ts +56 -0
- package/dist/types/modules/word/advanced/vba-project.d.ts +91 -0
- package/dist/types/modules/word/bridge/excel-bridge.d.ts +127 -0
- package/dist/types/modules/word/builder/document-handle.d.ts +151 -0
- package/dist/types/modules/word/builder/paragraph-builders.d.ts +61 -0
- package/dist/types/modules/word/builder/run-builders.d.ts +374 -0
- package/dist/types/modules/word/builder/table-builders.d.ts +23 -0
- package/dist/types/modules/word/constants.d.ts +39 -1
- package/dist/types/modules/word/convert/conversion-ir.d.ts +210 -0
- package/dist/types/modules/word/convert/docx-to-semantic.d.ts +39 -0
- package/dist/types/modules/word/convert/flat-opc.d.ts +44 -0
- package/dist/types/modules/word/convert/html/html-import.d.ts +50 -0
- package/dist/{browser/modules/word → types/modules/word/convert/html}/html-renderer.d.ts +14 -1
- package/dist/types/modules/word/convert/html/html.d.ts +15 -0
- package/dist/types/modules/word/convert/markdown/markdown-import.d.ts +68 -0
- package/dist/types/modules/word/convert/markdown/markdown-renderer.d.ts +25 -0
- package/dist/types/modules/word/convert/markdown/markdown.d.ts +15 -0
- package/dist/types/modules/word/convert/odt/odt.d.ts +41 -0
- package/dist/types/modules/word/{color-utils.d.ts → core/color-utils.d.ts} +8 -1
- package/dist/types/modules/word/core/internal-utils.d.ts +90 -0
- package/dist/types/modules/word/core/mapper.d.ts +44 -0
- package/dist/types/modules/word/core/opc-paths.d.ts +33 -0
- package/dist/types/modules/word/core/text-utils.d.ts +38 -0
- package/dist/types/modules/word/core/walker.d.ts +119 -0
- package/dist/types/modules/word/crypto.d.ts +14 -9
- package/dist/types/modules/word/document-io.d.ts +59 -27
- package/dist/types/modules/word/errors.d.ts +44 -1
- package/dist/types/modules/word/excel.d.ts +14 -0
- package/dist/types/modules/word/font/font-embed.d.ts +112 -0
- package/dist/types/modules/word/font/hyphenation.d.ts +65 -0
- package/dist/types/modules/word/font/text-shaping.d.ts +58 -0
- package/dist/types/modules/word/html.d.ts +7 -6
- package/dist/types/modules/word/incremental-edit.d.ts +123 -0
- package/dist/types/modules/word/index.base.d.ts +194 -10
- package/dist/types/modules/word/layout/layout-constants.d.ts +17 -0
- package/dist/types/modules/word/layout/layout-full.d.ts +53 -0
- package/dist/types/modules/word/layout/layout-model.d.ts +344 -0
- package/dist/types/modules/word/layout/layout.d.ts +63 -0
- package/dist/types/modules/word/layout/render-page.d.ts +57 -0
- package/dist/types/modules/word/markdown.d.ts +14 -0
- package/dist/types/modules/word/patcher.d.ts +62 -0
- package/dist/types/modules/word/query/compat.d.ts +25 -0
- package/dist/types/modules/word/query/data-binding.d.ts +22 -0
- package/dist/types/modules/word/query/form-fields.d.ts +41 -0
- package/dist/types/modules/word/query/format-search.d.ts +99 -0
- package/dist/types/modules/word/query/mail-merge.d.ts +25 -0
- package/dist/types/modules/word/query/merge.d.ts +50 -0
- package/dist/types/modules/word/query/replace.d.ts +47 -0
- package/dist/types/modules/word/query/revisions.d.ts +67 -0
- package/dist/types/modules/word/query/search.d.ts +129 -0
- package/dist/types/modules/word/query/split.d.ts +44 -0
- package/dist/types/modules/word/query/style-resolve.d.ts +104 -0
- package/dist/types/modules/word/reader/chart-parser.d.ts +20 -0
- package/dist/types/modules/word/reader/comments-parser.d.ts +26 -0
- package/dist/types/modules/word/reader/doc-props-parsers.d.ts +15 -0
- package/dist/types/modules/word/reader/docx-reader.d.ts +27 -0
- package/dist/types/modules/word/reader/drawing-helpers.d.ts +27 -0
- package/dist/types/modules/word/reader/form-field-parser.d.ts +21 -0
- package/dist/types/modules/word/reader/image-parsers.d.ts +11 -0
- package/dist/types/modules/word/reader/math-parser.d.ts +12 -0
- package/dist/types/modules/word/reader/metadata-parsers.d.ts +17 -0
- package/dist/types/modules/word/reader/numbering-parser.d.ts +13 -0
- package/dist/types/modules/word/reader/paragraph-section-parsers.d.ts +12 -0
- package/dist/types/modules/word/reader/parse-utils.d.ts +91 -0
- package/dist/types/modules/word/reader/properties-parsers.d.ts +21 -0
- package/dist/types/modules/word/reader/reader-context.d.ts +69 -0
- package/dist/types/modules/word/reader/sdt-helpers.d.ts +29 -0
- package/dist/types/modules/word/reader/settings-parser.d.ts +8 -0
- package/dist/types/modules/word/reader/styles-parser.d.ts +12 -0
- package/dist/types/modules/word/reader/table-properties-parsers.d.ts +12 -0
- package/dist/types/modules/word/reader/theme-parser.d.ts +8 -0
- package/dist/types/modules/word/reader/watermark-parser.d.ts +15 -0
- package/dist/types/modules/word/security/cfb-reader.d.ts +37 -0
- package/dist/types/modules/word/{digital-signatures.d.ts → security/digital-signatures.d.ts} +19 -11
- package/dist/types/modules/word/security/document-protection.d.ts +93 -0
- package/dist/{browser/modules/word → types/modules/word/security}/encryption.d.ts +51 -4
- package/dist/types/modules/word/security/policy.d.ts +80 -0
- package/dist/types/modules/word/template/template-chart.d.ts +56 -0
- package/dist/types/modules/word/template/template-datasource.d.ts +154 -0
- package/dist/types/modules/word/template/template-engine.d.ts +121 -0
- package/dist/types/modules/word/types.d.ts +224 -25
- package/dist/types/modules/word/units.d.ts +26 -0
- package/dist/types/modules/word/writer/checkbox-writer.d.ts +17 -0
- package/dist/{browser/modules/word/writers → types/modules/word/writer}/comment-writer.d.ts +2 -1
- package/dist/types/modules/word/writer/common-parts.d.ts +57 -0
- package/dist/{browser/modules/word → types/modules/word/writer}/content-types.d.ts +2 -2
- package/dist/types/modules/word/writer/document-writer.d.ts +24 -0
- package/dist/types/modules/word/writer/docx-packager.d.ts +35 -0
- package/dist/{browser/modules/word/writers → types/modules/word/writer}/footnote-writer.d.ts +3 -2
- package/dist/{browser/modules/word/writers → types/modules/word/writer}/header-footer-writer.d.ts +3 -2
- package/dist/{browser/modules/word/writers → types/modules/word/writer}/image-writer.d.ts +1 -1
- package/dist/types/modules/word/writer/math-writer.d.ts +20 -0
- package/dist/types/modules/word/{writers → writer}/numbering-writer.d.ts +1 -1
- package/dist/types/modules/word/{writers → writer}/paragraph-writer.d.ts +2 -1
- package/dist/types/modules/word/{writers → writer}/parts-writer.d.ts +3 -3
- package/dist/types/modules/word/writer/reference-scanners.d.ts +42 -0
- package/dist/types/modules/word/writer/relationships.d.ts +52 -0
- package/dist/types/modules/word/writer/render-context.d.ts +124 -0
- package/dist/types/modules/word/{writers → writer}/run-writer.d.ts +10 -1
- package/dist/types/modules/word/writer/sdt-writer.d.ts +25 -0
- package/dist/types/modules/word/writer/stream-buf.d.ts +37 -0
- package/dist/types/modules/word/writer/streaming-writer.d.ts +344 -0
- package/dist/types/modules/word/writer/string-buf.d.ts +8 -0
- package/dist/types/modules/word/{writers → writer}/table-writer.d.ts +2 -1
- package/dist/types/modules/xml/types.d.ts +22 -0
- package/dist/types/utils/crypto.browser.d.ts +3 -1
- package/dist/types/utils/crypto.d.ts +4 -1
- package/dist/types/utils/font-metrics.d.ts +63 -0
- package/dist/types/utils/string-buf.d.ts +42 -0
- package/dist/types/utils/theme-colors.d.ts +55 -0
- package/package.json +121 -39
- package/dist/browser/modules/word/color-utils.js +0 -94
- package/dist/browser/modules/word/document.d.ts +0 -657
- package/dist/browser/modules/word/document.js +0 -1533
- package/dist/browser/modules/word/docx-packager.d.ts +0 -14
- package/dist/browser/modules/word/docx-packager.js +0 -822
- package/dist/browser/modules/word/docx-reader.d.ts +0 -11
- package/dist/browser/modules/word/docx-reader.js +0 -4929
- package/dist/browser/modules/word/encryption.js +0 -274
- package/dist/browser/modules/word/internal-utils.d.ts +0 -23
- package/dist/browser/modules/word/internal-utils.js +0 -54
- package/dist/browser/modules/word/namespaces.d.ts +0 -159
- package/dist/browser/modules/word/namespaces.js +0 -189
- package/dist/browser/modules/word/relationships.d.ts +0 -30
- package/dist/browser/modules/word/relationships.js +0 -48
- package/dist/browser/modules/word/writers/checkbox-writer.d.ts +0 -9
- package/dist/browser/modules/word/writers/checkbox-writer.js +0 -42
- package/dist/browser/modules/word/writers/document-writer.d.ts +0 -16
- package/dist/browser/modules/word/writers/document-writer.js +0 -461
- package/dist/browser/modules/word/writers/math-writer.d.ts +0 -9
- package/dist/cjs/modules/word/color-utils.js +0 -97
- package/dist/cjs/modules/word/document.js +0 -1645
- package/dist/cjs/modules/word/docx-packager.js +0 -825
- package/dist/cjs/modules/word/docx-reader.js +0 -4932
- package/dist/cjs/modules/word/encryption.js +0 -282
- package/dist/cjs/modules/word/internal-utils.js +0 -59
- package/dist/cjs/modules/word/namespaces.js +0 -192
- package/dist/cjs/modules/word/relationships.js +0 -55
- package/dist/cjs/modules/word/writers/checkbox-writer.js +0 -45
- package/dist/cjs/modules/word/writers/document-writer.js +0 -465
- package/dist/esm/modules/word/color-utils.js +0 -94
- package/dist/esm/modules/word/document.js +0 -1533
- package/dist/esm/modules/word/docx-packager.js +0 -822
- package/dist/esm/modules/word/docx-reader.js +0 -4929
- package/dist/esm/modules/word/encryption.js +0 -274
- package/dist/esm/modules/word/internal-utils.js +0 -54
- package/dist/esm/modules/word/namespaces.js +0 -189
- package/dist/esm/modules/word/relationships.js +0 -48
- package/dist/esm/modules/word/writers/checkbox-writer.js +0 -42
- package/dist/esm/modules/word/writers/document-writer.js +0 -461
- package/dist/types/modules/word/document.d.ts +0 -657
- package/dist/types/modules/word/docx-packager.d.ts +0 -14
- package/dist/types/modules/word/docx-reader.d.ts +0 -11
- package/dist/types/modules/word/internal-utils.d.ts +0 -23
- package/dist/types/modules/word/namespaces.d.ts +0 -159
- package/dist/types/modules/word/relationships.d.ts +0 -30
- package/dist/types/modules/word/writers/checkbox-writer.d.ts +0 -9
- package/dist/types/modules/word/writers/document-writer.d.ts +0 -16
- package/dist/types/modules/word/writers/math-writer.d.ts +0 -9
- /package/dist/browser/modules/word/{font-obfuscation.d.ts → font/font-obfuscation.d.ts} +0 -0
- /package/dist/browser/modules/word/{writers → writer}/chart-writer.d.ts +0 -0
- /package/dist/browser/modules/word/{writers → writer}/section-writer.d.ts +0 -0
- /package/dist/browser/modules/word/{writers → writer}/section-writer.js +0 -0
- /package/dist/browser/modules/word/{writers → writer}/styles-writer.d.ts +0 -0
- /package/dist/browser/modules/word/{writers → writer}/textbox-writer.d.ts +0 -0
- /package/dist/browser/modules/word/{writers → writer}/textbox-writer.js +0 -0
- /package/dist/browser/modules/word/{writers → writer}/toc-writer.d.ts +0 -0
- /package/dist/browser/modules/word/{writers → writer}/toc-writer.js +0 -0
- /package/dist/cjs/modules/word/{writers → writer}/section-writer.js +0 -0
- /package/dist/cjs/modules/word/{writers → writer}/textbox-writer.js +0 -0
- /package/dist/cjs/modules/word/{writers → writer}/toc-writer.js +0 -0
- /package/dist/esm/modules/word/{writers → writer}/section-writer.js +0 -0
- /package/dist/esm/modules/word/{writers → writer}/textbox-writer.js +0 -0
- /package/dist/esm/modules/word/{writers → writer}/toc-writer.js +0 -0
- /package/dist/types/modules/word/{font-obfuscation.d.ts → font/font-obfuscation.d.ts} +0 -0
- /package/dist/types/modules/word/{writers → writer}/chart-writer.d.ts +0 -0
- /package/dist/types/modules/word/{writers → writer}/section-writer.d.ts +0 -0
- /package/dist/types/modules/word/{writers → writer}/styles-writer.d.ts +0 -0
- /package/dist/types/modules/word/{writers → writer}/textbox-writer.d.ts +0 -0
- /package/dist/types/modules/word/{writers → writer}/toc-writer.d.ts +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX → Semantic Document Converter
|
|
3
|
+
*
|
|
4
|
+
* Transforms a DocxDocument into a format-agnostic SemanticDocument.
|
|
5
|
+
* This is the bridge between OOXML-specific types and the universal IR
|
|
6
|
+
* that HTML/Markdown/other renderers can consume.
|
|
7
|
+
*
|
|
8
|
+
* Handles:
|
|
9
|
+
* - Heading detection (via style name or outlineLevel)
|
|
10
|
+
* - Inline formatting resolution
|
|
11
|
+
* - Hyperlink extraction
|
|
12
|
+
* - Image registration into ConversionContext
|
|
13
|
+
* - Table structure with merge (colSpan/rowSpan)
|
|
14
|
+
* - List/numbering detection (basic)
|
|
15
|
+
* - Footnote/endnote reference and content
|
|
16
|
+
* - Math content (text fallback)
|
|
17
|
+
*/
|
|
18
|
+
import type { DocxDocument } from "../types.js";
|
|
19
|
+
import type { ConversionContext, SemanticDocument } from "./conversion-ir.js";
|
|
20
|
+
/** Options for the semantic conversion. */
|
|
21
|
+
export interface DocxToSemanticOptions {
|
|
22
|
+
/** Include footnotes in the output. Default: true. */
|
|
23
|
+
readonly includeFootnotes?: boolean;
|
|
24
|
+
/** Include endnotes in the output. Default: true. */
|
|
25
|
+
readonly includeEndnotes?: boolean;
|
|
26
|
+
/** Extract images and register as assets. Default: true. */
|
|
27
|
+
readonly extractImages?: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Convert a DocxDocument to a SemanticDocument (format-agnostic IR).
|
|
31
|
+
*
|
|
32
|
+
* @param doc - The parsed DOCX document.
|
|
33
|
+
* @param options - Conversion options.
|
|
34
|
+
* @returns The semantic document with warnings and assets.
|
|
35
|
+
*/
|
|
36
|
+
export declare function docxToSemantic(doc: DocxDocument, options?: DocxToSemanticOptions): {
|
|
37
|
+
document: SemanticDocument;
|
|
38
|
+
context: ConversionContext;
|
|
39
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - Flat OPC Format Support
|
|
3
|
+
*
|
|
4
|
+
* Implements reading and writing of Flat OPC (Office Open XML Package) format,
|
|
5
|
+
* which represents an entire DOCX package as a single XML file.
|
|
6
|
+
* This is useful for debugging, XML transformations, and enterprise integration scenarios.
|
|
7
|
+
*
|
|
8
|
+
* Flat OPC uses the `pkg:` namespace to wrap all package parts in a single XML document.
|
|
9
|
+
* Each part is represented as a `<pkg:part>` element with its content either as XML or base64.
|
|
10
|
+
*
|
|
11
|
+
* References:
|
|
12
|
+
* - [MS-OFFCRYPTO] §2.1.5 (pkgStart namespace)
|
|
13
|
+
* - ECMA-376 Part 2 (OPC) Annex C (non-normative)
|
|
14
|
+
*/
|
|
15
|
+
/** A part extracted from Flat OPC XML. */
|
|
16
|
+
export interface FlatOpcPart {
|
|
17
|
+
/** Part name (e.g. "/word/document.xml"). */
|
|
18
|
+
readonly name: string;
|
|
19
|
+
/** Content type of the part. */
|
|
20
|
+
readonly contentType: string;
|
|
21
|
+
/** Raw data (decoded from base64 for binary, or UTF-8 encoded XML). */
|
|
22
|
+
readonly data: Uint8Array;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Parse a Flat OPC XML document into individual package parts.
|
|
26
|
+
* Returns a Map keyed by part path (without leading slash) to binary data,
|
|
27
|
+
* compatible with the archive entry format used by `readDocx`.
|
|
28
|
+
*
|
|
29
|
+
* @param xmlContent - The Flat OPC XML string or UTF-8 bytes.
|
|
30
|
+
* @returns A map of part paths to their binary content.
|
|
31
|
+
*/
|
|
32
|
+
export declare function parseFlatOpc(xmlContent: string | Uint8Array): Map<string, Uint8Array>;
|
|
33
|
+
/**
|
|
34
|
+
* Check if content appears to be a Flat OPC XML document.
|
|
35
|
+
*/
|
|
36
|
+
export declare function isFlatOpc(content: string | Uint8Array): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Convert a ZIP archive's entries (as a map of path → data) to Flat OPC XML string.
|
|
39
|
+
*
|
|
40
|
+
* @param entries - Map of part paths to their binary content.
|
|
41
|
+
* @param contentTypes - Map of part paths to content types (from [Content_Types].xml).
|
|
42
|
+
* @returns The Flat OPC XML string.
|
|
43
|
+
*/
|
|
44
|
+
export declare function toFlatOpc(entries: Map<string, Uint8Array>, contentTypes?: Map<string, string>): string;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - HTML to DOCX Converter
|
|
3
|
+
*
|
|
4
|
+
* Converts an HTML string into DOCX document body content (paragraphs, tables, etc.).
|
|
5
|
+
* Handles common HTML elements: p, h1-h6, strong, em, a, ul, ol, li, table, img, br, span.
|
|
6
|
+
*
|
|
7
|
+
* This is NOT a full HTML rendering engine — it covers the structural elements
|
|
8
|
+
* that map cleanly to WordprocessingML concepts.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* import { htmlToDocxBody } from "excelts/word/html";
|
|
13
|
+
* import { Document, toBuffer } from "excelts/word";
|
|
14
|
+
*
|
|
15
|
+
* const body = htmlToDocxBody("<h1>Hello</h1><p>World</p>");
|
|
16
|
+
* const h = Document.create();
|
|
17
|
+
* for (const block of body) {
|
|
18
|
+
* Document.addBodyContent(h, block);
|
|
19
|
+
* }
|
|
20
|
+
* const buffer = await toBuffer(Document.build(h));
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
import type { BodyContent } from "../../types.js";
|
|
24
|
+
/** Options for HTML to DOCX conversion. */
|
|
25
|
+
export interface HtmlImportOptions {
|
|
26
|
+
/** Default font size in half-points (default: 24 = 12pt). */
|
|
27
|
+
readonly defaultFontSize?: number;
|
|
28
|
+
/** Default font family. */
|
|
29
|
+
readonly defaultFont?: string;
|
|
30
|
+
/** Map of CSS class names to inline style strings. Matched classes are merged with element styles. */
|
|
31
|
+
readonly classStyles?: Record<string, string>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Convert an HTML string into an array of DOCX body content blocks.
|
|
35
|
+
*
|
|
36
|
+
* Supported elements:
|
|
37
|
+
* - Block: p, div, h1-h6, blockquote, pre, hr
|
|
38
|
+
* - List: ul, ol, li
|
|
39
|
+
* - Table: table, thead, tbody, tr, th, td (colspan, rowspan, border styles)
|
|
40
|
+
* - Inline: strong/b, em/i, u, s/strike/del, a, br, span, sub, sup, code
|
|
41
|
+
* - Images: img (base64 data URLs as InlineImageContent, http(s) as placeholder)
|
|
42
|
+
* - Page break: div with style="page-break-before: always" or class="page-break"
|
|
43
|
+
* - CSS inline styles: font-family, font-size, color, background-color, font-weight,
|
|
44
|
+
* font-style, text-decoration, text-align
|
|
45
|
+
*
|
|
46
|
+
* @param html - The HTML string to convert.
|
|
47
|
+
* @param options - Optional conversion settings.
|
|
48
|
+
* @returns Array of BodyContent blocks.
|
|
49
|
+
*/
|
|
50
|
+
export declare function htmlToDocxBody(html: string, options?: HtmlImportOptions): BodyContent[];
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Supports paragraphs, runs with formatting, tables, lists, images, hyperlinks,
|
|
6
6
|
* headings, comments, footnotes/endnotes, and more.
|
|
7
7
|
*/
|
|
8
|
-
import type { DocxDocument } from "
|
|
8
|
+
import type { DocxDocument, Chart, ChartExContent } from "../../types.js";
|
|
9
9
|
/** Options for HTML rendering. */
|
|
10
10
|
export interface HtmlRenderOptions {
|
|
11
11
|
/** Include CSS inline in a <style> tag. Default: true. */
|
|
@@ -18,10 +18,23 @@ export interface HtmlRenderOptions {
|
|
|
18
18
|
readonly imageMode?: "dataUrl" | "filename" | "none";
|
|
19
19
|
/** Convert comments to HTML. Default: false. */
|
|
20
20
|
readonly includeComments?: boolean;
|
|
21
|
+
/** Render revision marks (insertions/deletions) as <ins>/<del>. Default: false. */
|
|
22
|
+
readonly includeRevisions?: boolean;
|
|
21
23
|
/** Render footnotes/endnotes as anchored references. Default: true. */
|
|
22
24
|
readonly includeNotes?: boolean;
|
|
23
25
|
/** Custom CSS class prefix (default: "docx-"). */
|
|
24
26
|
readonly classPrefix?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Style map: Word style name → HTML tag/class mapping.
|
|
29
|
+
* Values use the format "tag.className" (e.g. "h1.doc-heading", "blockquote.quote").
|
|
30
|
+
* If only a tag is provided (no dot), no class is added.
|
|
31
|
+
* If only a class is provided (starts with "."), the default tag is used with that class.
|
|
32
|
+
*/
|
|
33
|
+
readonly styleMap?: ReadonlyMap<string, string> | Record<string, string>;
|
|
34
|
+
/** Optional chart renderer callback. When provided, charts are rendered as inline SVG. */
|
|
35
|
+
readonly chartRenderer?: (chart: Chart) => string;
|
|
36
|
+
/** Optional ChartEx renderer callback. When provided, chartEx blocks are rendered as inline SVG. */
|
|
37
|
+
readonly chartExRenderer?: (chartEx: ChartExContent) => string;
|
|
25
38
|
}
|
|
26
39
|
/** The result of HTML rendering. */
|
|
27
40
|
export interface HtmlRenderResult {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - HTML Converters (Subpath Export)
|
|
3
|
+
*
|
|
4
|
+
* Import separately to avoid pulling converter code into the bundle
|
|
5
|
+
* when only core document building is needed.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { renderToHtml, htmlToDocxBody } from "excelts/word/html";
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export { renderToHtml } from "./html-renderer.js";
|
|
13
|
+
export type { HtmlRenderOptions, HtmlRenderResult } from "./html-renderer.js";
|
|
14
|
+
export { htmlToDocxBody } from "./html-import.js";
|
|
15
|
+
export type { HtmlImportOptions } from "./html-import.js";
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - Markdown to DOCX Converter
|
|
3
|
+
*
|
|
4
|
+
* Converts a GFM (GitHub Flavored Markdown) string into DOCX document body content.
|
|
5
|
+
* Handles common Markdown elements: headings, paragraphs, bold, italic, strikethrough,
|
|
6
|
+
* code, links, images, lists, tables, blockquotes, horizontal rules, and fenced code blocks.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { markdownToDocx } from "excelts/word/markdown";
|
|
11
|
+
* import { Document, toBuffer } from "excelts/word";
|
|
12
|
+
*
|
|
13
|
+
* const doc = markdownToDocx("# Hello\n\nWorld **bold**");
|
|
14
|
+
* const buffer = await toBuffer(doc);
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @stability experimental
|
|
18
|
+
*/
|
|
19
|
+
import type { BodyContent, DocxDocument } from "../../types.js";
|
|
20
|
+
/** Options for Markdown to DOCX conversion. */
|
|
21
|
+
export interface MarkdownImportOptions {
|
|
22
|
+
/** Default font family for body text. */
|
|
23
|
+
readonly defaultFont?: string;
|
|
24
|
+
/** Default font size in half-points (default: 24 = 12pt). */
|
|
25
|
+
readonly defaultFontSize?: number;
|
|
26
|
+
/** Code font family (default: "Courier New"). */
|
|
27
|
+
readonly codeFont?: string;
|
|
28
|
+
/** Code font size in half-points (default: 20 = 10pt). */
|
|
29
|
+
readonly codeFontSize?: number;
|
|
30
|
+
/** Custom image resolver — given a URL, return image data or undefined to skip. */
|
|
31
|
+
readonly resolveImage?: (url: string, alt: string) => MarkdownImageData | undefined | Promise<MarkdownImageData | undefined>;
|
|
32
|
+
}
|
|
33
|
+
/** Resolved image data for embedding. */
|
|
34
|
+
export interface MarkdownImageData {
|
|
35
|
+
readonly data: Uint8Array;
|
|
36
|
+
readonly mediaType: "png" | "jpeg" | "gif" | "bmp" | "tiff" | "svg" | "webp";
|
|
37
|
+
readonly width?: number;
|
|
38
|
+
readonly height?: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Convert a Markdown string into a complete DocxDocument.
|
|
42
|
+
*
|
|
43
|
+
* @param markdown - The GFM Markdown string.
|
|
44
|
+
* @param options - Optional conversion settings.
|
|
45
|
+
* @returns A DocxDocument ready to be packaged.
|
|
46
|
+
*/
|
|
47
|
+
export declare function markdownToDocx(markdown: string, options?: MarkdownImportOptions): DocxDocument;
|
|
48
|
+
/**
|
|
49
|
+
* Convert a Markdown string into an array of DOCX body content blocks.
|
|
50
|
+
*
|
|
51
|
+
* **Caveat — body content is not self-contained.**
|
|
52
|
+
* - **Lists** (bullet / numbered / task) reference numbering ids that
|
|
53
|
+
* live in document-level `abstractNumberings` + `numberingInstances`,
|
|
54
|
+
* which this helper does NOT return.
|
|
55
|
+
* - **Block quotes** reference the named `Quote` style.
|
|
56
|
+
* - **Code blocks** reference the named code styles.
|
|
57
|
+
*
|
|
58
|
+
* Splicing markdown that uses any of these constructs into a document that
|
|
59
|
+
* lacks the matching numbering / styles yields invalid OOXML. Either keep
|
|
60
|
+
* the input flat (paragraphs + headings + inline formatting) before
|
|
61
|
+
* splicing, or use the higher-level {@link markdownToDocx} which returns a
|
|
62
|
+
* complete `DocxDocument` with the supporting definitions populated.
|
|
63
|
+
*
|
|
64
|
+
* @param markdown - The GFM Markdown string.
|
|
65
|
+
* @param options - Optional conversion settings.
|
|
66
|
+
* @returns Array of BodyContent blocks (no numbering / styles attached).
|
|
67
|
+
*/
|
|
68
|
+
export declare function markdownToDocxBody(markdown: string, options?: MarkdownImportOptions): BodyContent[];
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - Markdown Renderer
|
|
3
|
+
*
|
|
4
|
+
* Converts a DocxDocument model to a GFM-compatible Markdown string.
|
|
5
|
+
* Supports headings, inline formatting, tables, lists, images, hyperlinks,
|
|
6
|
+
* footnotes, code spans, horizontal rules, and more.
|
|
7
|
+
*/
|
|
8
|
+
import type { DocxDocument } from "../../types.js";
|
|
9
|
+
/** Options for Markdown rendering. */
|
|
10
|
+
export interface MarkdownRenderOptions {
|
|
11
|
+
/** Include images as . Default: true. */
|
|
12
|
+
readonly includeImages?: boolean;
|
|
13
|
+
/** Include footnotes as [^N]. Default: true. */
|
|
14
|
+
readonly includeNotes?: boolean;
|
|
15
|
+
/** Heading style: "atx" (# style) or "setext" (underline style). Default: "atx". */
|
|
16
|
+
readonly headingStyle?: "atx" | "setext";
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Convert a DocxDocument to a GFM-compatible Markdown string.
|
|
20
|
+
*
|
|
21
|
+
* @param doc - The document model to convert.
|
|
22
|
+
* @param options - Optional rendering settings.
|
|
23
|
+
* @returns Markdown string.
|
|
24
|
+
*/
|
|
25
|
+
export declare function renderToMarkdown(doc: DocxDocument, options?: MarkdownRenderOptions): string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - Markdown Converters (Subpath Export)
|
|
3
|
+
*
|
|
4
|
+
* Import separately to avoid pulling renderer code into the bundle
|
|
5
|
+
* when only core document building is needed.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { renderToMarkdown, markdownToDocx, markdownToDocxBody } from "excelts/word/markdown";
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export { renderToMarkdown } from "./markdown-renderer.js";
|
|
13
|
+
export type { MarkdownRenderOptions } from "./markdown-renderer.js";
|
|
14
|
+
export { markdownToDocx, markdownToDocxBody } from "./markdown-import.js";
|
|
15
|
+
export type { MarkdownImportOptions, MarkdownImageData } from "./markdown-import.js";
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - OpenDocument Text (ODT) Format Support
|
|
3
|
+
*
|
|
4
|
+
* Implements reading and writing of ODT (OpenDocument Text) files.
|
|
5
|
+
* ODT files are ZIP archives containing XML content in ODF namespaces.
|
|
6
|
+
*
|
|
7
|
+
* Main archive structure:
|
|
8
|
+
* - content.xml — document body and automatic styles
|
|
9
|
+
* - styles.xml — named styles, page layout, master pages
|
|
10
|
+
* - meta.xml — document metadata
|
|
11
|
+
* - META-INF/manifest.xml — manifest of all archive entries
|
|
12
|
+
* - Pictures/ — embedded images
|
|
13
|
+
*
|
|
14
|
+
* @stability experimental
|
|
15
|
+
*/
|
|
16
|
+
import type { DocxDocument } from "../../types.js";
|
|
17
|
+
/**
|
|
18
|
+
* Read an ODT file and convert to DocxDocument model.
|
|
19
|
+
*
|
|
20
|
+
* Extracts the ZIP archive, parses content.xml, styles.xml, and meta.xml,
|
|
21
|
+
* and produces a unified DocxDocument representation.
|
|
22
|
+
*
|
|
23
|
+
* @param buffer - The ODT file as a Uint8Array.
|
|
24
|
+
* @returns A DocxDocument representing the ODT content.
|
|
25
|
+
* @throws {DocxParseError} If the ODT file is malformed or missing required parts.
|
|
26
|
+
*
|
|
27
|
+
* @stability experimental
|
|
28
|
+
*/
|
|
29
|
+
export declare function readOdt(buffer: Uint8Array): Promise<DocxDocument>;
|
|
30
|
+
/**
|
|
31
|
+
* Convert a DocxDocument to ODT (OpenDocument Text) format.
|
|
32
|
+
*
|
|
33
|
+
* Generates the ZIP archive structure with content.xml, styles.xml,
|
|
34
|
+
* meta.xml, and META-INF/manifest.xml.
|
|
35
|
+
*
|
|
36
|
+
* @param doc - The DocxDocument to convert.
|
|
37
|
+
* @returns A Uint8Array containing the ODT ZIP archive.
|
|
38
|
+
*
|
|
39
|
+
* @stability experimental
|
|
40
|
+
*/
|
|
41
|
+
export declare function writeOdt(doc: DocxDocument): Promise<Uint8Array>;
|
|
@@ -4,8 +4,15 @@
|
|
|
4
4
|
* Resolves OOXML theme colors with tint/shade transformations.
|
|
5
5
|
* Extracted to a standalone file so that html-renderer and document.ts
|
|
6
6
|
* can both import it without creating circular heavy dependencies.
|
|
7
|
+
*
|
|
8
|
+
* Core tint/shade/resolve logic lives in @utils/theme-colors; this module
|
|
9
|
+
* re-exports and adapts it for Word's ColorSpec / DocumentTheme types.
|
|
7
10
|
*/
|
|
8
|
-
import
|
|
11
|
+
import { applyTint, applyShade, THEME_COLOR_ATTRIBUTE_MAP } from "../../../utils/theme-colors.js";
|
|
12
|
+
import type { OoxmlThemeColorName } from "../../../utils/theme-colors.js";
|
|
13
|
+
import type { DocumentTheme, ColorSpec, HexColor } from "../types.js";
|
|
14
|
+
export { applyTint, applyShade, THEME_COLOR_ATTRIBUTE_MAP };
|
|
15
|
+
export type { OoxmlThemeColorName };
|
|
9
16
|
/**
|
|
10
17
|
* Resolve a ColorSpec to an actual hex RGB color using the document theme.
|
|
11
18
|
*
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - Internal Utilities (unified shared helpers)
|
|
3
|
+
*
|
|
4
|
+
* This is the single source of truth for cross-cutting low-level utilities
|
|
5
|
+
* used throughout the word module. Consolidates previously duplicated
|
|
6
|
+
* implementations of base64, UUID, UTF-16LE encoding, and XML helpers.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Shared `TextEncoder` instance for UTF-8 encoding. Reusing this avoids the
|
|
10
|
+
* cost of constructing a fresh encoder on every call site (each `new
|
|
11
|
+
* TextEncoder()` allocates a small native object).
|
|
12
|
+
*/
|
|
13
|
+
export declare const utf8Encoder: TextEncoder;
|
|
14
|
+
/**
|
|
15
|
+
* Shared `TextDecoder` instance for UTF-8 decoding. Stateless — safe to share
|
|
16
|
+
* across modules. Use this instead of `new TextDecoder("utf-8")`.
|
|
17
|
+
*/
|
|
18
|
+
export declare const utf8Decoder: TextDecoder;
|
|
19
|
+
/**
|
|
20
|
+
* Encode a byte array to base64. Uses native Node `Buffer` if available;
|
|
21
|
+
* otherwise falls back to chunked `btoa()` for browser environments.
|
|
22
|
+
*
|
|
23
|
+
* The chunked approach avoids the O(n²) string concatenation cost that naïve
|
|
24
|
+
* `String.fromCharCode(...data)` implementations exhibit on large buffers.
|
|
25
|
+
*/
|
|
26
|
+
export declare function bytesToBase64(data: Uint8Array): string;
|
|
27
|
+
/**
|
|
28
|
+
* Decode a base64 string to a byte array. Uses native Node `Buffer` if available.
|
|
29
|
+
*/
|
|
30
|
+
export declare function base64ToBytes(s: string): Uint8Array;
|
|
31
|
+
/**
|
|
32
|
+
* Generate a GUID in braced format: "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}".
|
|
33
|
+
* Used by font obfuscation (w:fontKey) and building blocks.
|
|
34
|
+
*/
|
|
35
|
+
export declare function generateGuid(): string;
|
|
36
|
+
/**
|
|
37
|
+
* Encode a string as UTF-16LE bytes.
|
|
38
|
+
* Required by ECMA-376 password hashing and OLE operations.
|
|
39
|
+
*/
|
|
40
|
+
export declare function stringToUtf16LE(str: string): Uint8Array;
|
|
41
|
+
/**
|
|
42
|
+
* Generate cryptographically secure random bytes.
|
|
43
|
+
* Throws `DocxError` if `crypto.getRandomValues` is unavailable on the host.
|
|
44
|
+
*/
|
|
45
|
+
export declare function randomBytes(length: number): Uint8Array;
|
|
46
|
+
/**
|
|
47
|
+
* Make all properties of T mutable (remove readonly).
|
|
48
|
+
* Used in mutation APIs (acceptAllRevisions, replaceText, etc.) that operate
|
|
49
|
+
* on document models in-place. Preferred over `as any` casts.
|
|
50
|
+
*/
|
|
51
|
+
export type Mutable<T> = {
|
|
52
|
+
-readonly [P in keyof T]: T[P];
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Deep mutable version — recursively removes readonly from nested objects.
|
|
56
|
+
*/
|
|
57
|
+
export type DeepMutable<T> = {
|
|
58
|
+
-readonly [P in keyof T]: T[P] extends ReadonlyArray<infer U> ? Array<DeepMutable<U>> : T[P] extends ReadonlyMap<infer K, infer V> ? Map<K, DeepMutable<V>> : T[P] extends object ? DeepMutable<T[P]> : T[P];
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Validate and normalize a URL for use in a hyperlink. Returns a safe URL
|
|
62
|
+
* string, or `undefined` if the input is unsafe.
|
|
63
|
+
*
|
|
64
|
+
* Rules:
|
|
65
|
+
* - Empty/whitespace input → `undefined`.
|
|
66
|
+
* - Fragment-only (`#anchor`) and protocol-relative (`//host`) URLs → kept.
|
|
67
|
+
* - Relative URLs without a scheme → kept (no host injection possible since
|
|
68
|
+
* they resolve against the document base).
|
|
69
|
+
* - URLs with a scheme are accepted only if the scheme is in
|
|
70
|
+
* {@link SAFE_URL_SCHEMES}.
|
|
71
|
+
* - Surrounding whitespace and control characters that browsers historically
|
|
72
|
+
* strip when parsing URLs are removed before scheme detection so attackers
|
|
73
|
+
* can't bypass the check with `" java\tscript:..."`.
|
|
74
|
+
*/
|
|
75
|
+
export declare function sanitizeUrl(url: string | undefined | null): string | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* Strip path-traversal segments and other unsafe characters from a
|
|
78
|
+
* caller-supplied media file name so it can be used as a leaf entry
|
|
79
|
+
* inside an OPC ZIP package without enabling zipslip.
|
|
80
|
+
*
|
|
81
|
+
* The previous behaviour was to forward `image.fileName` /
|
|
82
|
+
* `font.fileName` straight into `archive.add`, which let a hostile DOCX
|
|
83
|
+
* round-tripped through `readDocx` write entries like
|
|
84
|
+
* `word/media/../../etc/passwd.png` into the output package — a real
|
|
85
|
+
* attack vector when the file is later unpacked by a third-party tool.
|
|
86
|
+
*
|
|
87
|
+
* Returns a single safe leaf name. Falls back to `fallback` (default
|
|
88
|
+
* `"file.bin"`) when the cleaned name would be empty.
|
|
89
|
+
*/
|
|
90
|
+
export declare function sanitizeMediaFileName(raw: string | undefined, fallback?: string): string;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - Immutable Document Mapper
|
|
3
|
+
*
|
|
4
|
+
* Provides `mapDocument()` and the `DocxTransformer` interface for rebuilding
|
|
5
|
+
* a document tree with transformations applied to specific node types.
|
|
6
|
+
*
|
|
7
|
+
* Unlike the read-only `walkDocument()` (in walker.ts), this mapper produces
|
|
8
|
+
* a new document without mutating the input.
|
|
9
|
+
*/
|
|
10
|
+
import type { BodyContent, DocxDocument, Paragraph, Run, RunContent, StructuredDocumentTag, Table } from "../types.js";
|
|
11
|
+
import type { WalkPath } from "./walker.js";
|
|
12
|
+
/**
|
|
13
|
+
* Transformer interface for immutable document tree rebuilding.
|
|
14
|
+
* Return the node to keep/replace it, or null to remove it.
|
|
15
|
+
* For flatMapBodyContent, return an array to expand one node into multiple.
|
|
16
|
+
*/
|
|
17
|
+
export interface DocxTransformer {
|
|
18
|
+
transformParagraph?(para: Paragraph, path: WalkPath): Paragraph | null;
|
|
19
|
+
transformRun?(run: Run, path: WalkPath): Run | null;
|
|
20
|
+
transformTable?(table: Table, path: WalkPath): Table | null;
|
|
21
|
+
transformSdt?(sdt: StructuredDocumentTag, path: WalkPath): StructuredDocumentTag | null;
|
|
22
|
+
transformRunContent?(content: RunContent, run: Run, path: WalkPath): RunContent | null;
|
|
23
|
+
/** Transform a body content item. Return null to remove, a single item to replace, or an array to expand. */
|
|
24
|
+
transformBodyContent?(content: BodyContent, path: WalkPath): BodyContent | BodyContent[] | null;
|
|
25
|
+
}
|
|
26
|
+
/** Options controlling which parts of the document to map. */
|
|
27
|
+
export interface MapOptions {
|
|
28
|
+
readonly includeHeaders?: boolean;
|
|
29
|
+
readonly includeFooters?: boolean;
|
|
30
|
+
readonly includeFootnotes?: boolean;
|
|
31
|
+
readonly includeEndnotes?: boolean;
|
|
32
|
+
readonly includeComments?: boolean;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Immutable document tree transformation.
|
|
36
|
+
* Rebuilds the document tree, allowing callers to replace or filter nodes.
|
|
37
|
+
* Never mutates the input document.
|
|
38
|
+
*
|
|
39
|
+
* @param doc - The document to transform.
|
|
40
|
+
* @param transformer - Callbacks to transform each node type.
|
|
41
|
+
* @param options - Controls which document parts to include.
|
|
42
|
+
* @returns A new DocxDocument with transformations applied.
|
|
43
|
+
*/
|
|
44
|
+
export declare function mapDocument(doc: DocxDocument, transformer: DocxTransformer, options?: MapOptions): DocxDocument;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OPC Path Utilities
|
|
3
|
+
*
|
|
4
|
+
* Small helpers for working with Open Packaging Conventions part paths.
|
|
5
|
+
* These are used throughout the reader/writer when resolving the location of
|
|
6
|
+
* a relationships file or extracting an extension to choose a content type.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Get the `.rels` part path for a given part path.
|
|
10
|
+
*
|
|
11
|
+
* Per OPC convention, the relationships for `dir/name.ext` live at
|
|
12
|
+
* `dir/_rels/name.ext.rels`; for a top-level `name.ext` they live at
|
|
13
|
+
* `_rels/name.ext.rels`.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getPartRelsPath(partPath: string): string;
|
|
16
|
+
/**
|
|
17
|
+
* Extract the file name (last path segment) from a part path.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* getFileName("word/media/image1.png") // "image1.png"
|
|
21
|
+
* getFileName("standalone.xml") // "standalone.xml"
|
|
22
|
+
*/
|
|
23
|
+
export declare function getFileName(partPath: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Extract the lower-cased file extension (without the dot) from a part path
|
|
26
|
+
* or file name. Returns an empty string when there is no extension.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* getFileExt("image1.PNG") // "png"
|
|
30
|
+
* getFileExt("word/media/x.tiff") // "tiff"
|
|
31
|
+
* getFileExt("noext") // ""
|
|
32
|
+
*/
|
|
33
|
+
export declare function getFileExt(partPath: string): string;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - Text Utilities & Type Guards
|
|
3
|
+
*
|
|
4
|
+
* Single source of truth for type guards and text extraction helpers
|
|
5
|
+
* used across the word module. Eliminates duplicated implementations
|
|
6
|
+
* of `isRun`, `extractParagraphText`, `extractMathText`, etc.
|
|
7
|
+
*/
|
|
8
|
+
import type { Paragraph, ParagraphChild, Run, MathContent, Hyperlink } from "../types.js";
|
|
9
|
+
/**
|
|
10
|
+
* Check if a paragraph child is a Run.
|
|
11
|
+
*
|
|
12
|
+
* A Run is the only ParagraphChild without a `type` discriminator field.
|
|
13
|
+
* All other paragraph children (Hyperlink, InsertedRun, DeletedRun, MovedFromRun,
|
|
14
|
+
* MovedToRun, BookmarkStart/End, CommentRangeStart/End) have an explicit `type`
|
|
15
|
+
* string. Therefore, a child is a Run iff it has a `content` array AND no `type`
|
|
16
|
+
* field — this is more robust than checking `content` alone (since some typed
|
|
17
|
+
* children also have `content`-like properties).
|
|
18
|
+
*/
|
|
19
|
+
export declare function isRun(child: ParagraphChild): child is Run;
|
|
20
|
+
/** Check if a paragraph child is a Hyperlink. */
|
|
21
|
+
export declare function isHyperlink(child: ParagraphChild): child is Hyperlink;
|
|
22
|
+
/**
|
|
23
|
+
* Extract plain text from a single run's content array.
|
|
24
|
+
*/
|
|
25
|
+
export declare function extractRunText(run: Run): string;
|
|
26
|
+
/**
|
|
27
|
+
* Extract concatenated plain text from a paragraph's children (runs + hyperlinks).
|
|
28
|
+
* This recursively handles hyperlinks and tracked changes.
|
|
29
|
+
*/
|
|
30
|
+
export declare function extractParagraphText(para: Paragraph): string;
|
|
31
|
+
/**
|
|
32
|
+
* Extract text from a single paragraph child (run, hyperlink, or tracked change).
|
|
33
|
+
*/
|
|
34
|
+
export declare function extractChildText(child: ParagraphChild): string;
|
|
35
|
+
/**
|
|
36
|
+
* Extract plain text representation from math content elements.
|
|
37
|
+
*/
|
|
38
|
+
export declare function extractMathText(content: readonly MathContent[]): string;
|