@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
package/dist/{types/modules/word/writers → browser/modules/word/writer}/footnote-writer.d.ts
RENAMED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { XmlSink } from "../../xml/types.js";
|
|
7
7
|
import type { FootnoteDef, EndnoteDef } from "../types.js";
|
|
8
|
+
import type { RenderHelpers } from "./render-context.js";
|
|
8
9
|
/** Render word/footnotes.xml. */
|
|
9
|
-
export declare function renderFootnotes(xml: XmlSink, footnotes: readonly FootnoteDef[]): void;
|
|
10
|
+
export declare function renderFootnotes(xml: XmlSink, footnotes: readonly FootnoteDef[], helpers?: RenderHelpers): void;
|
|
10
11
|
/** Render word/endnotes.xml. */
|
|
11
|
-
export declare function renderEndnotes(xml: XmlSink, endnotes: readonly EndnoteDef[]): void;
|
|
12
|
+
export declare function renderEndnotes(xml: XmlSink, endnotes: readonly EndnoteDef[], helpers?: RenderHelpers): void;
|
|
@@ -25,48 +25,51 @@ function renderDefaultSeparators(xml, elementName) {
|
|
|
25
25
|
xml.closeNode();
|
|
26
26
|
}
|
|
27
27
|
/** Render a single footnote/endnote entry. */
|
|
28
|
-
function renderNote(xml, elementName, note) {
|
|
28
|
+
function renderNote(xml, elementName, note, helpers) {
|
|
29
29
|
const attrs = { "w:id": String(note.id) };
|
|
30
30
|
if (note.type && note.type !== "normal") {
|
|
31
31
|
attrs["w:type"] = note.type;
|
|
32
32
|
}
|
|
33
33
|
xml.openNode(elementName, attrs);
|
|
34
34
|
for (const para of note.content) {
|
|
35
|
-
renderParagraph(xml, para);
|
|
35
|
+
renderParagraph(xml, para, helpers);
|
|
36
36
|
}
|
|
37
37
|
xml.closeNode();
|
|
38
38
|
}
|
|
39
39
|
/** Render word/footnotes.xml. */
|
|
40
|
-
export function renderFootnotes(xml, footnotes) {
|
|
40
|
+
export function renderFootnotes(xml, footnotes, helpers) {
|
|
41
41
|
xml.openXml(STD_DOC_ATTRIBUTES);
|
|
42
42
|
xml.openNode("w:footnotes", {
|
|
43
43
|
"xmlns:w": NS_W,
|
|
44
44
|
"xmlns:r": NS_R
|
|
45
45
|
});
|
|
46
|
-
// If the caller already provided separator entries (by
|
|
47
|
-
//
|
|
48
|
-
|
|
46
|
+
// If the caller already provided separator entries (identified by their
|
|
47
|
+
// `type` rather than a magic id range), use those. Otherwise synthesize
|
|
48
|
+
// the default separators. Earlier we keyed off `id <= 0`, but a caller is
|
|
49
|
+
// free to use id=0 for a normal note — that would silently skip the
|
|
50
|
+
// mandatory separators and produce an invalid document.
|
|
51
|
+
const hasSeparators = footnotes.some(fn => fn.type === "separator" || fn.type === "continuationSeparator");
|
|
49
52
|
if (!hasSeparators) {
|
|
50
53
|
renderDefaultSeparators(xml, "w:footnote");
|
|
51
54
|
}
|
|
52
55
|
for (const fn of footnotes) {
|
|
53
|
-
renderNote(xml, "w:footnote", fn);
|
|
56
|
+
renderNote(xml, "w:footnote", fn, helpers);
|
|
54
57
|
}
|
|
55
58
|
xml.closeNode();
|
|
56
59
|
}
|
|
57
60
|
/** Render word/endnotes.xml. */
|
|
58
|
-
export function renderEndnotes(xml, endnotes) {
|
|
61
|
+
export function renderEndnotes(xml, endnotes, helpers) {
|
|
59
62
|
xml.openXml(STD_DOC_ATTRIBUTES);
|
|
60
63
|
xml.openNode("w:endnotes", {
|
|
61
64
|
"xmlns:w": NS_W,
|
|
62
65
|
"xmlns:r": NS_R
|
|
63
66
|
});
|
|
64
|
-
const hasSeparators = endnotes.some(en => en.
|
|
67
|
+
const hasSeparators = endnotes.some(en => en.type === "separator" || en.type === "continuationSeparator");
|
|
65
68
|
if (!hasSeparators) {
|
|
66
69
|
renderDefaultSeparators(xml, "w:endnote");
|
|
67
70
|
}
|
|
68
71
|
for (const en of endnotes) {
|
|
69
|
-
renderNote(xml, "w:endnote", en);
|
|
72
|
+
renderNote(xml, "w:endnote", en, helpers);
|
|
70
73
|
}
|
|
71
74
|
xml.closeNode();
|
|
72
75
|
}
|
package/dist/{types/modules/word/writers → browser/modules/word/writer}/header-footer-writer.d.ts
RENAMED
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { XmlSink } from "../../xml/types.js";
|
|
7
7
|
import type { HeaderFooterContent, Watermark } from "../types.js";
|
|
8
|
+
import type { RenderHelpers } from "./render-context.js";
|
|
8
9
|
/** Render a header part (word/header{N}.xml). */
|
|
9
|
-
export declare function renderHeader(xml: XmlSink, content: HeaderFooterContent): void;
|
|
10
|
+
export declare function renderHeader(xml: XmlSink, content: HeaderFooterContent, helpers?: RenderHelpers): void;
|
|
10
11
|
/** Render a footer part (word/footer{N}.xml). */
|
|
11
|
-
export declare function renderFooter(xml: XmlSink, content: HeaderFooterContent): void;
|
|
12
|
+
export declare function renderFooter(xml: XmlSink, content: HeaderFooterContent, helpers?: RenderHelpers): void;
|
|
12
13
|
/** Render a header part containing a watermark. */
|
|
13
14
|
export declare function renderWatermarkHeader(xml: XmlSink, watermark: Watermark, imageRId?: string): void;
|
package/dist/{esm/modules/word/writers → browser/modules/word/writer}/header-footer-writer.js
RENAMED
|
@@ -3,38 +3,57 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Renders word/header{N}.xml and word/footer{N}.xml parts.
|
|
5
5
|
*/
|
|
6
|
-
import { NS_W, NS_R, NS_V, NS_O, NS_W10, STD_DOC_ATTRIBUTES } from "../constants.js";
|
|
6
|
+
import { NS_W, NS_R, NS_V, NS_O, NS_W10, NS_WP, NS_M, NS_W14, NS_W15, NS_WP14, NS_MC, STD_DOC_ATTRIBUTES } from "../constants.js";
|
|
7
7
|
import { renderParagraph } from "./paragraph-writer.js";
|
|
8
8
|
import { renderTable } from "./table-writer.js";
|
|
9
9
|
/** Render content blocks (shared between header and footer). */
|
|
10
|
-
function renderContent(xml, content) {
|
|
10
|
+
function renderContent(xml, content, helpers) {
|
|
11
|
+
let emitted = 0;
|
|
11
12
|
for (const child of content.children) {
|
|
12
13
|
if (child.type === "paragraph") {
|
|
13
|
-
renderParagraph(xml, child);
|
|
14
|
+
renderParagraph(xml, child, helpers);
|
|
15
|
+
emitted++;
|
|
14
16
|
}
|
|
15
17
|
else if (child.type === "table") {
|
|
16
|
-
renderTable(xml, child);
|
|
18
|
+
renderTable(xml, child, helpers);
|
|
19
|
+
emitted++;
|
|
17
20
|
}
|
|
18
21
|
}
|
|
22
|
+
// OOXML requires every header/footer part to contain at least one
|
|
23
|
+
// <w:p>. When the caller passes an empty children array we still emit
|
|
24
|
+
// a placeholder so Word does not refuse to load the package.
|
|
25
|
+
if (emitted === 0) {
|
|
26
|
+
xml.openNode("w:p");
|
|
27
|
+
xml.closeNode();
|
|
28
|
+
}
|
|
19
29
|
}
|
|
30
|
+
/** Standard namespace attributes for header/footer parts — must include DrawingML namespaces. */
|
|
31
|
+
const HEADER_FOOTER_NAMESPACES = {
|
|
32
|
+
"xmlns:w": NS_W,
|
|
33
|
+
"xmlns:r": NS_R,
|
|
34
|
+
"xmlns:wp": NS_WP,
|
|
35
|
+
"xmlns:m": NS_M,
|
|
36
|
+
"xmlns:v": NS_V,
|
|
37
|
+
"xmlns:o": NS_O,
|
|
38
|
+
"xmlns:w10": NS_W10,
|
|
39
|
+
"xmlns:w14": NS_W14,
|
|
40
|
+
"xmlns:w15": NS_W15,
|
|
41
|
+
"xmlns:wp14": NS_WP14,
|
|
42
|
+
"xmlns:mc": NS_MC,
|
|
43
|
+
"mc:Ignorable": "w14 w15 wp14"
|
|
44
|
+
};
|
|
20
45
|
/** Render a header part (word/header{N}.xml). */
|
|
21
|
-
export function renderHeader(xml, content) {
|
|
46
|
+
export function renderHeader(xml, content, helpers) {
|
|
22
47
|
xml.openXml(STD_DOC_ATTRIBUTES);
|
|
23
|
-
xml.openNode("w:hdr",
|
|
24
|
-
|
|
25
|
-
"xmlns:r": NS_R
|
|
26
|
-
});
|
|
27
|
-
renderContent(xml, content);
|
|
48
|
+
xml.openNode("w:hdr", HEADER_FOOTER_NAMESPACES);
|
|
49
|
+
renderContent(xml, content, helpers);
|
|
28
50
|
xml.closeNode();
|
|
29
51
|
}
|
|
30
52
|
/** Render a footer part (word/footer{N}.xml). */
|
|
31
|
-
export function renderFooter(xml, content) {
|
|
53
|
+
export function renderFooter(xml, content, helpers) {
|
|
32
54
|
xml.openXml(STD_DOC_ATTRIBUTES);
|
|
33
|
-
xml.openNode("w:ftr",
|
|
34
|
-
|
|
35
|
-
"xmlns:r": NS_R
|
|
36
|
-
});
|
|
37
|
-
renderContent(xml, content);
|
|
55
|
+
xml.openNode("w:ftr", HEADER_FOOTER_NAMESPACES);
|
|
56
|
+
renderContent(xml, content, helpers);
|
|
38
57
|
xml.closeNode();
|
|
39
58
|
}
|
|
40
59
|
/** Render a header part containing a watermark. */
|
|
@@ -47,12 +66,11 @@ export function renderWatermarkHeader(xml, watermark, imageRId) {
|
|
|
47
66
|
"xmlns:o": NS_O,
|
|
48
67
|
"xmlns:w10": NS_W10
|
|
49
68
|
});
|
|
50
|
-
// Watermark goes in a paragraph with a single pict run
|
|
69
|
+
// Watermark goes in a paragraph with a single pict run. Skip pPr
|
|
70
|
+
// entirely — emitting an empty <w:pStyle/> without @w:val is a hard
|
|
71
|
+
// schema violation Word rejects, and the default style is good enough
|
|
72
|
+
// for an auto-generated watermark header.
|
|
51
73
|
xml.openNode("w:p");
|
|
52
|
-
xml.openNode("w:pPr");
|
|
53
|
-
xml.openNode("w:pStyle");
|
|
54
|
-
xml.closeNode();
|
|
55
|
-
xml.closeNode(); // pPr
|
|
56
74
|
xml.openNode("w:r");
|
|
57
75
|
xml.openNode("w:pict");
|
|
58
76
|
if (watermark.type === "text") {
|
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
import type { XmlSink } from "../../xml/types.js";
|
|
8
8
|
import type { FloatingImage } from "../types.js";
|
|
9
9
|
/** Render a floating image as a standalone paragraph with wp:anchor. */
|
|
10
|
-
export declare function renderFloatingImage(xml: XmlSink, img: FloatingImage): void;
|
|
10
|
+
export declare function renderFloatingImage(xml: XmlSink, img: FloatingImage, imageRemap?: ReadonlyMap<string, string>): void;
|
|
@@ -5,10 +5,14 @@
|
|
|
5
5
|
* with full support for rotation, flip, lock anchor, outline, and wrap margins.
|
|
6
6
|
*/
|
|
7
7
|
import { NS_A, NS_PIC, URI_PIC, NS_ASVG, GUID_SVG } from "../constants.js";
|
|
8
|
+
import { DEFAULT_RELATIVE_HEIGHT, DEFAULT_WRAP_MARGIN_EMU } from "../units.js";
|
|
8
9
|
/** Render a floating image as a standalone paragraph with wp:anchor. */
|
|
9
|
-
export function renderFloatingImage(xml, img) {
|
|
10
|
+
export function renderFloatingImage(xml, img, imageRemap) {
|
|
10
11
|
const drawingId = img.drawingId ?? 1;
|
|
11
12
|
const name = img.name ?? "Picture";
|
|
13
|
+
// Resolve relationship id used in r:embed via packager-provided remap.
|
|
14
|
+
const embedRId = imageRemap?.get(img.rId) ?? img.rId;
|
|
15
|
+
const svgEmbedRId = img.svgRId ? (imageRemap?.get(img.svgRId) ?? img.svgRId) : undefined;
|
|
12
16
|
xml.openNode("w:p");
|
|
13
17
|
xml.openNode("w:r");
|
|
14
18
|
xml.openNode("w:drawing");
|
|
@@ -17,10 +21,10 @@ export function renderFloatingImage(xml, img) {
|
|
|
17
21
|
xml.openNode("wp:anchor", {
|
|
18
22
|
distT: String(img.distT ?? wrapMargins?.top ?? 0),
|
|
19
23
|
distB: String(img.distB ?? wrapMargins?.bottom ?? 0),
|
|
20
|
-
distL: String(img.distL ?? wrapMargins?.left ??
|
|
21
|
-
distR: String(img.distR ?? wrapMargins?.right ??
|
|
24
|
+
distL: String(img.distL ?? wrapMargins?.left ?? DEFAULT_WRAP_MARGIN_EMU),
|
|
25
|
+
distR: String(img.distR ?? wrapMargins?.right ?? DEFAULT_WRAP_MARGIN_EMU),
|
|
22
26
|
simplePos: img.simplePos ? "1" : "0",
|
|
23
|
-
relativeHeight: String(img.relativeHeight ??
|
|
27
|
+
relativeHeight: String(img.relativeHeight ?? DEFAULT_RELATIVE_HEIGHT),
|
|
24
28
|
behindDoc: img.behindDoc ? "1" : "0",
|
|
25
29
|
locked: img.lockAnchor ? "1" : "0",
|
|
26
30
|
layoutInCell: img.layoutInCell === false ? "0" : "1",
|
|
@@ -105,19 +109,19 @@ export function renderFloatingImage(xml, img) {
|
|
|
105
109
|
xml.openNode("pic:blipFill");
|
|
106
110
|
if (img.svgRId) {
|
|
107
111
|
// SVG with raster fallback: a:blip has extLst with asvg:svgBlip
|
|
108
|
-
xml.openNode("a:blip", { "r:embed":
|
|
112
|
+
xml.openNode("a:blip", { "r:embed": embedRId });
|
|
109
113
|
xml.openNode("a:extLst");
|
|
110
114
|
xml.openNode("a:ext", { uri: GUID_SVG });
|
|
111
115
|
xml.leafNode("asvg:svgBlip", {
|
|
112
116
|
"xmlns:asvg": NS_ASVG,
|
|
113
|
-
"r:embed":
|
|
117
|
+
"r:embed": svgEmbedRId
|
|
114
118
|
});
|
|
115
119
|
xml.closeNode(); // a:ext
|
|
116
120
|
xml.closeNode(); // a:extLst
|
|
117
121
|
xml.closeNode(); // a:blip
|
|
118
122
|
}
|
|
119
123
|
else {
|
|
120
|
-
xml.leafNode("a:blip", { "r:embed":
|
|
124
|
+
xml.leafNode("a:blip", { "r:embed": embedRId });
|
|
121
125
|
}
|
|
122
126
|
// Source rectangle (crop)
|
|
123
127
|
if (img.srcRect) {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Writers - Math / Equations (OMML)
|
|
3
|
+
*
|
|
4
|
+
* Renders Office Math Markup Language elements (m:oMath).
|
|
5
|
+
*/
|
|
6
|
+
import type { XmlSink } from "../../xml/types.js";
|
|
7
|
+
import type { MathBlock } from "../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Render a math block (`m:oMathPara` containing one `m:oMath`).
|
|
10
|
+
*
|
|
11
|
+
* The OOXML schema only allows `m:oMathPara` inside a paragraph
|
|
12
|
+
* (`EG_PContent` includes `m:oMathPara`); it must not appear directly as
|
|
13
|
+
* a `EG_BlockLevelElts`. We therefore wrap it in `<w:p>` so the result is
|
|
14
|
+
* valid at the body level.
|
|
15
|
+
*
|
|
16
|
+
* Empty math blocks (`content.length === 0`) skip rendering altogether —
|
|
17
|
+
* an empty `<m:oMath/>` violates the schema (it requires at least one
|
|
18
|
+
* `OMathArg` child).
|
|
19
|
+
*/
|
|
20
|
+
export declare function renderMathBlock(xml: XmlSink, math: MathBlock): void;
|
|
@@ -418,11 +418,31 @@ function renderMathEquationArray(xml, eqArr) {
|
|
|
418
418
|
}
|
|
419
419
|
xml.closeNode();
|
|
420
420
|
}
|
|
421
|
-
/**
|
|
421
|
+
/**
|
|
422
|
+
* Render a math block (`m:oMathPara` containing one `m:oMath`).
|
|
423
|
+
*
|
|
424
|
+
* The OOXML schema only allows `m:oMathPara` inside a paragraph
|
|
425
|
+
* (`EG_PContent` includes `m:oMathPara`); it must not appear directly as
|
|
426
|
+
* a `EG_BlockLevelElts`. We therefore wrap it in `<w:p>` so the result is
|
|
427
|
+
* valid at the body level.
|
|
428
|
+
*
|
|
429
|
+
* Empty math blocks (`content.length === 0`) skip rendering altogether —
|
|
430
|
+
* an empty `<m:oMath/>` violates the schema (it requires at least one
|
|
431
|
+
* `OMathArg` child).
|
|
432
|
+
*/
|
|
422
433
|
export function renderMathBlock(xml, math) {
|
|
434
|
+
if (math.content.length === 0) {
|
|
435
|
+
// Emit an empty paragraph so the surrounding body still contains a
|
|
436
|
+
// valid block, but skip the math markup entirely.
|
|
437
|
+
xml.openNode("w:p");
|
|
438
|
+
xml.closeNode();
|
|
439
|
+
return;
|
|
440
|
+
}
|
|
441
|
+
xml.openNode("w:p");
|
|
423
442
|
xml.openNode("m:oMathPara", { "xmlns:m": NS_M });
|
|
424
443
|
xml.openNode("m:oMath");
|
|
425
444
|
renderMathContents(xml, math.content);
|
|
426
445
|
xml.closeNode();
|
|
427
446
|
xml.closeNode();
|
|
447
|
+
xml.closeNode();
|
|
428
448
|
}
|
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
import type { XmlSink } from "../../xml/types.js";
|
|
8
8
|
import type { AbstractNumbering, NumberingInstance, NumPicBullet } from "../types.js";
|
|
9
9
|
/** Render word/numbering.xml. */
|
|
10
|
-
export declare function renderNumbering(xml: XmlSink, abstractNums?: readonly AbstractNumbering[], instances?: readonly NumberingInstance[], numPicBullets?: readonly NumPicBullet[]): void;
|
|
10
|
+
export declare function renderNumbering(xml: XmlSink, abstractNums?: readonly AbstractNumbering[], instances?: readonly NumberingInstance[], numPicBullets?: readonly NumPicBullet[], rawXmlPolicy?: "preserve" | "strip" | "reject"): void;
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* Supports suffix, legal numbering style, restart levels, and level overrides.
|
|
6
6
|
*/
|
|
7
7
|
import { NS_W, NS_R, STD_DOC_ATTRIBUTES } from "../constants.js";
|
|
8
|
+
import { DocxRawXmlPolicyError } from "../errors.js";
|
|
9
|
+
import { EMU_PER_POINT } from "../units.js";
|
|
8
10
|
import { renderParagraphProperties } from "./paragraph-writer.js";
|
|
9
11
|
import { renderRunProperties } from "./run-writer.js";
|
|
10
12
|
/** Render a single numbering level. */
|
|
@@ -44,7 +46,7 @@ function renderLevel(xml, level) {
|
|
|
44
46
|
xml.closeNode();
|
|
45
47
|
}
|
|
46
48
|
/** Render word/numbering.xml. */
|
|
47
|
-
export function renderNumbering(xml, abstractNums, instances, numPicBullets) {
|
|
49
|
+
export function renderNumbering(xml, abstractNums, instances, numPicBullets, rawXmlPolicy) {
|
|
48
50
|
xml.openXml(STD_DOC_ATTRIBUTES);
|
|
49
51
|
xml.openNode("w:numbering", {
|
|
50
52
|
"xmlns:w": NS_W,
|
|
@@ -57,8 +59,13 @@ export function renderNumbering(xml, abstractNums, instances, numPicBullets) {
|
|
|
57
59
|
for (const pb of numPicBullets) {
|
|
58
60
|
xml.openNode("w:numPicBullet", { "w:numPicBulletId": String(pb.id) });
|
|
59
61
|
if (pb.rawVmlXml) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
+
if (rawXmlPolicy === "reject") {
|
|
63
|
+
throw new DocxRawXmlPolicyError("numPicBullet.rawVmlXml");
|
|
64
|
+
}
|
|
65
|
+
if (rawXmlPolicy !== "strip") {
|
|
66
|
+
// Use raw VML for full fidelity
|
|
67
|
+
xml.writeRaw(pb.rawVmlXml);
|
|
68
|
+
}
|
|
62
69
|
}
|
|
63
70
|
else if (pb.rId) {
|
|
64
71
|
// Default VML shape with image fill
|
|
@@ -75,7 +82,7 @@ export function renderNumbering(xml, abstractNums, instances, numPicBullets) {
|
|
|
75
82
|
xml.openNode("v:shape", {
|
|
76
83
|
id: `_x0000_i10${pb.id}`,
|
|
77
84
|
type: "#_x0000_t75",
|
|
78
|
-
style: `width:${pb.width ? Math.round(pb.width /
|
|
85
|
+
style: `width:${pb.width ? Math.round(pb.width / EMU_PER_POINT) : 12}pt;height:${pb.height ? Math.round(pb.height / EMU_PER_POINT) : 12}pt`
|
|
79
86
|
});
|
|
80
87
|
xml.leafNode("v:imagedata", { "r:id": pb.rId, "o:title": "" });
|
|
81
88
|
xml.closeNode();
|
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { XmlSink } from "../../xml/types.js";
|
|
7
7
|
import type { ParagraphProperties, Paragraph, Border } from "../types.js";
|
|
8
|
+
import type { RenderHelpers } from "./render-context.js";
|
|
8
9
|
/** Render a single border element. */
|
|
9
10
|
export declare function renderBorder(xml: XmlSink, tagName: string, border: Border): void;
|
|
10
11
|
/** Render w:pPr (paragraph properties). */
|
|
11
12
|
export declare function renderParagraphProperties(xml: XmlSink, pPr: ParagraphProperties, insidePropertyChange?: boolean): void;
|
|
12
13
|
/** Render a w:p element. */
|
|
13
|
-
export declare function renderParagraph(xml: XmlSink, para: Paragraph): void;
|
|
14
|
+
export declare function renderParagraph(xml: XmlSink, para: Paragraph, helpers?: RenderHelpers): void;
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Renders w:pPr and w:p elements including numbering, tabs, borders, etc.
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { isRun } from "../core/text-utils.js";
|
|
7
|
+
import { DocxRawXmlPolicyError } from "../errors.js";
|
|
8
|
+
import { renderBorderElement, renderRun, renderRunProperties, renderRunPropertiesContents, renderShading } from "./run-writer.js";
|
|
7
9
|
import { renderSectionProperties } from "./section-writer.js";
|
|
8
10
|
/** Render a single border element. */
|
|
9
11
|
export function renderBorder(xml, tagName, border) {
|
|
@@ -238,9 +240,28 @@ export function renderParagraphProperties(xml, pPr, insidePropertyChange = false
|
|
|
238
240
|
if (pPr.cnfStyle) {
|
|
239
241
|
xml.leafNode("w:cnfStyle", { "w:val": pPr.cnfStyle });
|
|
240
242
|
}
|
|
241
|
-
// Paragraph
|
|
242
|
-
|
|
243
|
-
|
|
243
|
+
// Paragraph property change revision — NOT recursed into when rendering previousProperties
|
|
244
|
+
if (!insidePropertyChange && pPr.propertyChange) {
|
|
245
|
+
xml.openNode("w:pPrChange", {
|
|
246
|
+
"w:id": String(pPr.propertyChange.revision.id),
|
|
247
|
+
"w:author": pPr.propertyChange.revision.author,
|
|
248
|
+
...(pPr.propertyChange.revision.date ? { "w:date": pPr.propertyChange.revision.date } : {})
|
|
249
|
+
});
|
|
250
|
+
if (pPr.propertyChange.previousProperties) {
|
|
251
|
+
renderParagraphProperties(xml, pPr.propertyChange.previousProperties, true);
|
|
252
|
+
}
|
|
253
|
+
xml.closeNode();
|
|
254
|
+
}
|
|
255
|
+
// Paragraph mark properties (w:rPr inside w:pPr).
|
|
256
|
+
//
|
|
257
|
+
// ECMA-376 17.3.1.27 (CT_PPrBase) only allows ONE `w:rPr` child here. We
|
|
258
|
+
// therefore merge `paragraphInsertion` / `paragraphDeletion` (track-changes
|
|
259
|
+
// markers for the paragraph mark) into the same `w:rPr` as
|
|
260
|
+
// `markRunProperties`. Inside this single w:rPr, the schema requires
|
|
261
|
+
// w:ins/w:del/w:moveFrom/w:moveTo to come BEFORE the run-property children
|
|
262
|
+
// (per CT_ParaRPr).
|
|
263
|
+
const hasInsDel = !!(pPr.paragraphInsertion || pPr.paragraphDeletion);
|
|
264
|
+
if (hasInsDel || pPr.markRunProperties) {
|
|
244
265
|
xml.openNode("w:rPr");
|
|
245
266
|
if (pPr.paragraphInsertion) {
|
|
246
267
|
const insAttrs = {
|
|
@@ -262,34 +283,40 @@ export function renderParagraphProperties(xml, pPr, insidePropertyChange = false
|
|
|
262
283
|
}
|
|
263
284
|
xml.leafNode("w:del", delAttrs);
|
|
264
285
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
// Paragraph property change revision — NOT recursed into when rendering previousProperties
|
|
268
|
-
if (!insidePropertyChange && pPr.propertyChange) {
|
|
269
|
-
xml.openNode("w:pPrChange", {
|
|
270
|
-
"w:id": String(pPr.propertyChange.revision.id),
|
|
271
|
-
"w:author": pPr.propertyChange.revision.author,
|
|
272
|
-
...(pPr.propertyChange.revision.date ? { "w:date": pPr.propertyChange.revision.date } : {})
|
|
273
|
-
});
|
|
274
|
-
if (pPr.propertyChange.previousProperties) {
|
|
275
|
-
renderParagraphProperties(xml, pPr.propertyChange.previousProperties, true);
|
|
286
|
+
if (pPr.markRunProperties) {
|
|
287
|
+
renderRunPropertiesContents(xml, pPr.markRunProperties);
|
|
276
288
|
}
|
|
277
|
-
xml.closeNode();
|
|
278
|
-
}
|
|
279
|
-
if (pPr.markRunProperties) {
|
|
280
|
-
renderRunProperties(xml, pPr.markRunProperties);
|
|
289
|
+
xml.closeNode(); // w:rPr
|
|
281
290
|
}
|
|
282
291
|
xml.closeNode();
|
|
283
292
|
}
|
|
284
293
|
/** Render a hyperlink. */
|
|
285
|
-
function renderHyperlink(xml, link) {
|
|
294
|
+
function renderHyperlink(xml, link, helpers) {
|
|
286
295
|
const attrs = {};
|
|
287
|
-
|
|
288
|
-
|
|
296
|
+
// Resolve the relationship id: prefer the packager-provided WeakMap (so we
|
|
297
|
+
// never need the model to carry the rId), fall back to whatever the model
|
|
298
|
+
// already had (e.g. round-tripped DOCX where the reader populated rId).
|
|
299
|
+
// Resolve r:id. Prefer the packager-assigned rId from the helpers map
|
|
300
|
+
// (it's the only one guaranteed to exist in the rebuilt .rels file).
|
|
301
|
+
// Fall back to the model's `rId` only when no packager-assigned id is
|
|
302
|
+
// present — this happens for purely model-internal references such as
|
|
303
|
+
// anchor-only hyperlinks.
|
|
304
|
+
const resolvedRId = helpers?.hyperlinkRIds?.get(link) ?? (link.url ? undefined : link.rId);
|
|
305
|
+
if (resolvedRId) {
|
|
306
|
+
attrs["r:id"] = resolvedRId;
|
|
289
307
|
}
|
|
290
308
|
if (link.anchor) {
|
|
291
309
|
attrs["w:anchor"] = link.anchor;
|
|
292
310
|
}
|
|
311
|
+
// CT_Hyperlink (ECMA-376 §17.16.22) requires r:id OR w:anchor — when
|
|
312
|
+
// neither is present, emit the children as bare runs to avoid a schema
|
|
313
|
+
// violation that some validators flag.
|
|
314
|
+
if (!resolvedRId && !link.anchor) {
|
|
315
|
+
for (const run of link.children) {
|
|
316
|
+
renderRun(xml, run, helpers);
|
|
317
|
+
}
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
293
320
|
if (link.tooltip) {
|
|
294
321
|
attrs["w:tooltip"] = link.tooltip;
|
|
295
322
|
}
|
|
@@ -304,7 +331,7 @@ function renderHyperlink(xml, link) {
|
|
|
304
331
|
}
|
|
305
332
|
xml.openNode("w:hyperlink", attrs);
|
|
306
333
|
for (const run of link.children) {
|
|
307
|
-
renderRun(xml, run);
|
|
334
|
+
renderRun(xml, run, helpers);
|
|
308
335
|
}
|
|
309
336
|
xml.closeNode();
|
|
310
337
|
}
|
|
@@ -344,7 +371,7 @@ function renderCommentReference(xml, cr) {
|
|
|
344
371
|
xml.closeNode();
|
|
345
372
|
}
|
|
346
373
|
/** Render an inserted run (track changes). */
|
|
347
|
-
function renderInsertedRun(xml, ins) {
|
|
374
|
+
function renderInsertedRun(xml, ins, helpers) {
|
|
348
375
|
const attrs = {
|
|
349
376
|
"w:id": String(ins.revision.id),
|
|
350
377
|
"w:author": ins.revision.author
|
|
@@ -353,7 +380,7 @@ function renderInsertedRun(xml, ins) {
|
|
|
353
380
|
attrs["w:date"] = ins.revision.date;
|
|
354
381
|
}
|
|
355
382
|
xml.openNode("w:ins", attrs);
|
|
356
|
-
renderRun(xml, ins.run);
|
|
383
|
+
renderRun(xml, ins.run, helpers);
|
|
357
384
|
xml.closeNode();
|
|
358
385
|
}
|
|
359
386
|
/** Render a deleted run (track changes). */
|
|
@@ -401,7 +428,7 @@ function renderDeletedRun(xml, del) {
|
|
|
401
428
|
xml.closeNode();
|
|
402
429
|
}
|
|
403
430
|
/** Render a moved-from or moved-to run (track changes). */
|
|
404
|
-
function renderMovedRun(xml, moved, wrapperTag) {
|
|
431
|
+
function renderMovedRun(xml, moved, wrapperTag, helpers) {
|
|
405
432
|
const attrs = {
|
|
406
433
|
"w:id": String(moved.revision.id),
|
|
407
434
|
"w:author": moved.revision.author
|
|
@@ -410,15 +437,15 @@ function renderMovedRun(xml, moved, wrapperTag) {
|
|
|
410
437
|
attrs["w:date"] = moved.revision.date;
|
|
411
438
|
}
|
|
412
439
|
xml.openNode(wrapperTag, attrs);
|
|
413
|
-
renderRun(xml, moved.run);
|
|
440
|
+
renderRun(xml, moved.run, helpers);
|
|
414
441
|
xml.closeNode();
|
|
415
442
|
}
|
|
416
443
|
/** Render a paragraph child element. */
|
|
417
|
-
function renderParagraphChild(xml, child) {
|
|
444
|
+
function renderParagraphChild(xml, child, helpers) {
|
|
418
445
|
if ("type" in child) {
|
|
419
446
|
switch (child.type) {
|
|
420
447
|
case "hyperlink":
|
|
421
|
-
renderHyperlink(xml, child);
|
|
448
|
+
renderHyperlink(xml, child, helpers);
|
|
422
449
|
return;
|
|
423
450
|
case "bookmarkStart":
|
|
424
451
|
renderBookmarkStart(xml, child);
|
|
@@ -436,16 +463,16 @@ function renderParagraphChild(xml, child) {
|
|
|
436
463
|
renderCommentReference(xml, child);
|
|
437
464
|
return;
|
|
438
465
|
case "insertedRun":
|
|
439
|
-
renderInsertedRun(xml, child);
|
|
466
|
+
renderInsertedRun(xml, child, helpers);
|
|
440
467
|
return;
|
|
441
468
|
case "deletedRun":
|
|
442
469
|
renderDeletedRun(xml, child);
|
|
443
470
|
return;
|
|
444
471
|
case "movedFromRun":
|
|
445
|
-
renderMovedRun(xml, child, "w:moveFrom");
|
|
472
|
+
renderMovedRun(xml, child, "w:moveFrom", helpers);
|
|
446
473
|
return;
|
|
447
474
|
case "movedToRun":
|
|
448
|
-
renderMovedRun(xml, child, "w:moveTo");
|
|
475
|
+
renderMovedRun(xml, child, "w:moveTo", helpers);
|
|
449
476
|
return;
|
|
450
477
|
case "moveFromRangeStart":
|
|
451
478
|
case "moveFromRangeEnd":
|
|
@@ -486,18 +513,26 @@ function renderParagraphChild(xml, child) {
|
|
|
486
513
|
xml.leafNode(`w:${child.type}`, cmAttrs);
|
|
487
514
|
return;
|
|
488
515
|
}
|
|
516
|
+
case "opaqueParagraphChild": {
|
|
517
|
+
const policy = helpers?.rawXmlPolicy;
|
|
518
|
+
if (policy === "reject") {
|
|
519
|
+
throw new DocxRawXmlPolicyError("opaqueParagraphChild");
|
|
520
|
+
}
|
|
521
|
+
if (policy !== "strip") {
|
|
522
|
+
xml.writeRaw(child.rawXml);
|
|
523
|
+
}
|
|
524
|
+
return;
|
|
525
|
+
}
|
|
489
526
|
default:
|
|
490
527
|
break;
|
|
491
528
|
}
|
|
492
529
|
}
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
if ("content" in child && !("type" in child)) {
|
|
496
|
-
renderRun(xml, child);
|
|
530
|
+
if (isRun(child)) {
|
|
531
|
+
renderRun(xml, child, helpers);
|
|
497
532
|
}
|
|
498
533
|
}
|
|
499
534
|
/** Render a w:p element. */
|
|
500
|
-
export function renderParagraph(xml, para) {
|
|
535
|
+
export function renderParagraph(xml, para, helpers) {
|
|
501
536
|
const pAttrs = {};
|
|
502
537
|
if (para.paraId) {
|
|
503
538
|
pAttrs["w14:paraId"] = para.paraId;
|
|
@@ -510,7 +545,7 @@ export function renderParagraph(xml, para) {
|
|
|
510
545
|
renderParagraphProperties(xml, para.properties);
|
|
511
546
|
}
|
|
512
547
|
for (const child of para.children) {
|
|
513
|
-
renderParagraphChild(xml, child);
|
|
548
|
+
renderParagraphChild(xml, child, helpers);
|
|
514
549
|
}
|
|
515
550
|
xml.closeNode();
|
|
516
551
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import type { XmlSink } from "../../xml/types.js";
|
|
8
8
|
import type { DocumentSettings, CoreProperties, AppProperties, FontDef, DocumentBackground, CustomProperty, DocumentTheme, WebSettings, PersonInfo } from "../types.js";
|
|
9
9
|
/** Render word/settings.xml. */
|
|
10
|
-
export declare function renderSettings(xml: XmlSink, settings?: DocumentSettings): void;
|
|
10
|
+
export declare function renderSettings(xml: XmlSink, settings?: DocumentSettings, rawXmlPolicy?: "preserve" | "strip" | "reject"): void;
|
|
11
11
|
/** Render word/fontTable.xml. */
|
|
12
12
|
export declare function renderFontTable(xml: XmlSink, fonts?: readonly FontDef[]): void;
|
|
13
13
|
/** Render docProps/core.xml. */
|
|
@@ -19,8 +19,8 @@ export declare function renderDocumentBackground(xml: XmlSink, bg: DocumentBackg
|
|
|
19
19
|
/** Render docProps/custom.xml. */
|
|
20
20
|
export declare function renderCustomProperties(xml: XmlSink, properties: readonly CustomProperty[]): void;
|
|
21
21
|
/** Render word/theme/theme1.xml (minimal theme). */
|
|
22
|
-
export declare function renderTheme(xml: XmlSink, theme?: DocumentTheme): void;
|
|
22
|
+
export declare function renderTheme(xml: XmlSink, theme?: DocumentTheme, rawXmlPolicy?: "preserve" | "strip" | "reject"): void;
|
|
23
23
|
/** Render word/webSettings.xml. */
|
|
24
|
-
export declare function renderWebSettings(xml: XmlSink, ws?: WebSettings): void;
|
|
24
|
+
export declare function renderWebSettings(xml: XmlSink, ws?: WebSettings, rawXmlPolicy?: "preserve" | "strip" | "reject"): void;
|
|
25
25
|
/** Render word/people.xml. */
|
|
26
26
|
export declare function renderPeople(xml: XmlSink, people: readonly PersonInfo[]): void;
|