@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
|
@@ -4,10 +4,7 @@
|
|
|
4
4
|
* Generates DrawingML chart part XML (word/charts/chartN.xml) from
|
|
5
5
|
* high-level Chart definitions.
|
|
6
6
|
*/
|
|
7
|
-
import { STD_DOC_ATTRIBUTES } from "../constants.js";
|
|
8
|
-
const NS_C = "http://schemas.openxmlformats.org/drawingml/2006/chart";
|
|
9
|
-
const NS_A_LOCAL = "http://schemas.openxmlformats.org/drawingml/2006/main";
|
|
10
|
-
const NS_R_LOCAL = "http://schemas.openxmlformats.org/officeDocument/2006/relationships";
|
|
7
|
+
import { NS_A, NS_C_CHART, NS_R, STD_DOC_ATTRIBUTES } from "../constants.js";
|
|
11
8
|
const CHART_TYPE_CATEGORY = {
|
|
12
9
|
bar: { tag: "barChart", direction: "bar", grouping: "clustered" },
|
|
13
10
|
barStacked: { tag: "barChart", direction: "bar", grouping: "stacked" },
|
|
@@ -25,15 +22,22 @@ const CHART_TYPE_CATEGORY = {
|
|
|
25
22
|
doughnut: { tag: "doughnutChart" },
|
|
26
23
|
scatter: { tag: "scatterChart", scatterStyle: "marker" },
|
|
27
24
|
scatterSmooth: { tag: "scatterChart", scatterStyle: "smoothMarker" },
|
|
28
|
-
radar: { tag: "radarChart" }
|
|
25
|
+
radar: { tag: "radarChart" },
|
|
26
|
+
radarFilled: { tag: "radarChart", radarStyle: "filled" },
|
|
27
|
+
bubble: { tag: "bubbleChart" },
|
|
28
|
+
stock: { tag: "stockChart" },
|
|
29
|
+
surface: { tag: "surfaceChart" },
|
|
30
|
+
surface3D: { tag: "surface3DChart" },
|
|
31
|
+
surfaceWireframe: { tag: "surfaceChart", wireframe: true },
|
|
32
|
+
surfaceWireframe3D: { tag: "surface3DChart", wireframe: true }
|
|
29
33
|
};
|
|
30
34
|
/** Render a chart part (word/charts/chartN.xml). */
|
|
31
35
|
export function renderChartPart(xml, chart) {
|
|
32
36
|
xml.openXml(STD_DOC_ATTRIBUTES);
|
|
33
37
|
xml.openNode("c:chartSpace", {
|
|
34
|
-
"xmlns:c":
|
|
35
|
-
"xmlns:a":
|
|
36
|
-
"xmlns:r":
|
|
38
|
+
"xmlns:c": NS_C_CHART,
|
|
39
|
+
"xmlns:a": NS_A,
|
|
40
|
+
"xmlns:r": NS_R
|
|
37
41
|
});
|
|
38
42
|
// Date1904 (calendar base)
|
|
39
43
|
xml.leafNode("c:date1904", { val: "0" });
|
|
@@ -82,14 +86,21 @@ export function renderChartPart(xml, chart) {
|
|
|
82
86
|
// Chart type-specific rendering
|
|
83
87
|
const catAxId = "111111111";
|
|
84
88
|
const valAxId = "222222222";
|
|
85
|
-
|
|
89
|
+
const catAxId2 = "333333333";
|
|
90
|
+
const valAxId2 = "444444444";
|
|
91
|
+
const hasSecondary = renderChartTypeElement(xml, chart, catAxId, valAxId, catAxId2, valAxId2);
|
|
86
92
|
// Axes (unless pie/doughnut which use no axes)
|
|
87
93
|
const noAxes = chart.type === "pie" || chart.type === "pie3D" || chart.type === "doughnut";
|
|
88
94
|
if (!noAxes) {
|
|
89
|
-
//
|
|
95
|
+
// Primary category axis
|
|
90
96
|
renderAxis(xml, "catAx", catAxId, valAxId, chart.categoryAxis, "b");
|
|
91
|
-
//
|
|
97
|
+
// Primary value axis
|
|
92
98
|
renderAxis(xml, "valAx", valAxId, catAxId, chart.valueAxis, "l");
|
|
99
|
+
// Secondary axes (for combo charts)
|
|
100
|
+
if (hasSecondary) {
|
|
101
|
+
renderAxis(xml, "catAx", catAxId2, valAxId2, undefined, "b", true);
|
|
102
|
+
renderAxis(xml, "valAx", valAxId2, catAxId2, chart.secondaryValueAxis, "r");
|
|
103
|
+
}
|
|
93
104
|
}
|
|
94
105
|
// Plot area background
|
|
95
106
|
if (chart.plotAreaColor) {
|
|
@@ -158,8 +169,55 @@ function renderTitle(xml, title) {
|
|
|
158
169
|
xml.leafNode("c:overlay", { val: "0" });
|
|
159
170
|
xml.closeNode(); // c:title
|
|
160
171
|
}
|
|
161
|
-
function renderChartTypeElement(xml, chart, catAxId, valAxId) {
|
|
162
|
-
|
|
172
|
+
function renderChartTypeElement(xml, chart, catAxId, valAxId, catAxId2, valAxId2) {
|
|
173
|
+
// Determine if this is a combo chart
|
|
174
|
+
const hasSeriesOverrides = chart.series.some(s => s.chartType !== undefined);
|
|
175
|
+
const hasSecondarySeries = chart.secondarySeries !== undefined && chart.secondarySeries.length > 0;
|
|
176
|
+
const hasSecondaryAxis = hasSecondarySeries || chart.series.some(s => s.plotOnSecondaryAxis);
|
|
177
|
+
if (!hasSeriesOverrides && !hasSecondarySeries) {
|
|
178
|
+
// Simple (non-combo) chart — original logic
|
|
179
|
+
renderSingleChartTypeBlock(xml, chart.type, chart.series, chart, catAxId, valAxId, 0);
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
const groups = [];
|
|
183
|
+
let globalIndex = 0;
|
|
184
|
+
const findOrCreateGroup = (type, secondary) => {
|
|
185
|
+
let group = groups.find(g => g.chartType === type && g.secondary === secondary);
|
|
186
|
+
if (!group) {
|
|
187
|
+
group = { chartType: type, secondary, series: [] };
|
|
188
|
+
groups.push(group);
|
|
189
|
+
}
|
|
190
|
+
return group;
|
|
191
|
+
};
|
|
192
|
+
// Primary series
|
|
193
|
+
for (const s of chart.series) {
|
|
194
|
+
const effectiveType = s.chartType ?? chart.type;
|
|
195
|
+
const secondary = s.plotOnSecondaryAxis ?? false;
|
|
196
|
+
const group = findOrCreateGroup(effectiveType, secondary);
|
|
197
|
+
group.series.push({ series: s, globalIndex });
|
|
198
|
+
globalIndex++;
|
|
199
|
+
}
|
|
200
|
+
// Secondary series (legacy approach)
|
|
201
|
+
if (hasSecondarySeries) {
|
|
202
|
+
const secondaryType = chart.secondaryType ?? "line";
|
|
203
|
+
for (const s of chart.secondarySeries) {
|
|
204
|
+
const group = findOrCreateGroup(secondaryType, true);
|
|
205
|
+
group.series.push({ series: s, globalIndex });
|
|
206
|
+
globalIndex++;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
// Render each group as a separate chart type element
|
|
210
|
+
for (const group of groups) {
|
|
211
|
+
const useCatAx = group.secondary ? catAxId2 : catAxId;
|
|
212
|
+
const useValAx = group.secondary ? valAxId2 : valAxId;
|
|
213
|
+
const seriesItems = group.series.map(item => item.series);
|
|
214
|
+
const startIndex = group.series[0].globalIndex;
|
|
215
|
+
renderSingleChartTypeBlock(xml, group.chartType, seriesItems, chart, useCatAx, useValAx, startIndex);
|
|
216
|
+
}
|
|
217
|
+
return hasSecondaryAxis;
|
|
218
|
+
}
|
|
219
|
+
function renderSingleChartTypeBlock(xml, chartType, series, chart, catAxId, valAxId, startIndex) {
|
|
220
|
+
const info = CHART_TYPE_CATEGORY[chartType] ?? { tag: "barChart" };
|
|
163
221
|
const tagName = `c:${info.tag}`;
|
|
164
222
|
xml.openNode(tagName);
|
|
165
223
|
// Direction (bar vs col)
|
|
@@ -174,25 +232,40 @@ function renderChartTypeElement(xml, chart, catAxId, valAxId) {
|
|
|
174
232
|
if ("scatterStyle" in info && info.scatterStyle) {
|
|
175
233
|
xml.leafNode("c:scatterStyle", { val: info.scatterStyle });
|
|
176
234
|
}
|
|
235
|
+
// Radar style
|
|
236
|
+
if ("radarStyle" in info && info.radarStyle) {
|
|
237
|
+
xml.leafNode("c:radarStyle", { val: info.radarStyle });
|
|
238
|
+
}
|
|
239
|
+
else if (info.tag === "radarChart") {
|
|
240
|
+
xml.leafNode("c:radarStyle", { val: "marker" });
|
|
241
|
+
}
|
|
242
|
+
// Wireframe (surface charts)
|
|
243
|
+
if ("wireframe" in info && info.wireframe) {
|
|
244
|
+
xml.leafNode("c:wireframe", { val: "1" });
|
|
245
|
+
}
|
|
177
246
|
xml.leafNode("c:varyColors", {
|
|
178
|
-
val:
|
|
247
|
+
val: chartType === "pie" || chartType === "pie3D" || chartType === "doughnut" ? "1" : "0"
|
|
179
248
|
});
|
|
180
249
|
// Series
|
|
181
|
-
|
|
182
|
-
renderSeries(xml,
|
|
250
|
+
series.forEach((s, idx) => {
|
|
251
|
+
renderSeries(xml, s, startIndex + idx, chartType, "marked" in info && info.marked);
|
|
183
252
|
});
|
|
253
|
+
// Chart-level data labels
|
|
254
|
+
if (chart.dataLabels) {
|
|
255
|
+
renderChartDataLabels(xml, chart.dataLabels);
|
|
256
|
+
}
|
|
184
257
|
// Gap width / overlap (bar/column)
|
|
185
258
|
if (info.tag === "barChart") {
|
|
186
259
|
xml.leafNode("c:gapWidth", { val: "150" });
|
|
187
|
-
if (
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
260
|
+
if (chartType === "barStacked" ||
|
|
261
|
+
chartType === "barPercentStacked" ||
|
|
262
|
+
chartType === "columnStacked" ||
|
|
263
|
+
chartType === "columnPercentStacked") {
|
|
191
264
|
xml.leafNode("c:overlap", { val: "100" });
|
|
192
265
|
}
|
|
193
266
|
}
|
|
194
267
|
// Axes IDs
|
|
195
|
-
const noAxes =
|
|
268
|
+
const noAxes = chartType === "pie" || chartType === "pie3D" || chartType === "doughnut";
|
|
196
269
|
if (!noAxes) {
|
|
197
270
|
xml.leafNode("c:axId", { val: catAxId });
|
|
198
271
|
xml.leafNode("c:axId", { val: valAxId });
|
|
@@ -336,9 +409,17 @@ function renderSeries(xml, series, index, chartType, markedLine) {
|
|
|
336
409
|
xml.closeNode();
|
|
337
410
|
xml.closeNode();
|
|
338
411
|
xml.closeNode();
|
|
412
|
+
// Trendline
|
|
413
|
+
if (series.trendline) {
|
|
414
|
+
renderTrendline(xml, series.trendline);
|
|
415
|
+
}
|
|
416
|
+
// Error bars
|
|
417
|
+
if (series.errorBars) {
|
|
418
|
+
renderErrorBars(xml, series.errorBars);
|
|
419
|
+
}
|
|
339
420
|
xml.closeNode(); // c:ser
|
|
340
421
|
}
|
|
341
|
-
function renderAxis(xml, tagName, axId, crossAxId, axis, defaultPos) {
|
|
422
|
+
function renderAxis(xml, tagName, axId, crossAxId, axis, defaultPos, forceHidden) {
|
|
342
423
|
xml.openNode(`c:${tagName}`);
|
|
343
424
|
xml.leafNode("c:axId", { val: axId });
|
|
344
425
|
// Scaling
|
|
@@ -351,7 +432,7 @@ function renderAxis(xml, tagName, axId, crossAxId, axis, defaultPos) {
|
|
|
351
432
|
xml.leafNode("c:max", { val: String(axis.max) });
|
|
352
433
|
}
|
|
353
434
|
xml.closeNode();
|
|
354
|
-
xml.leafNode("c:delete", { val: axis?.hidden ? "1" : "0" });
|
|
435
|
+
xml.leafNode("c:delete", { val: forceHidden || axis?.hidden ? "1" : "0" });
|
|
355
436
|
xml.leafNode("c:axPos", { val: defaultPos });
|
|
356
437
|
// Title
|
|
357
438
|
if (axis?.title) {
|
|
@@ -383,3 +464,63 @@ function renderAxis(xml, tagName, axId, crossAxId, axis, defaultPos) {
|
|
|
383
464
|
}
|
|
384
465
|
xml.closeNode();
|
|
385
466
|
}
|
|
467
|
+
// -- Data labels position map ---------------------------------------------------
|
|
468
|
+
const DATA_LABEL_POSITION_MAP = {
|
|
469
|
+
outsideEnd: "outEnd",
|
|
470
|
+
center: "ctr",
|
|
471
|
+
insideEnd: "inEnd",
|
|
472
|
+
bestFit: "bestFit"
|
|
473
|
+
};
|
|
474
|
+
function renderChartDataLabels(xml, dataLabels) {
|
|
475
|
+
xml.openNode("c:dLbls");
|
|
476
|
+
if (dataLabels.position) {
|
|
477
|
+
xml.leafNode("c:dLblPos", { val: DATA_LABEL_POSITION_MAP[dataLabels.position] ?? "bestFit" });
|
|
478
|
+
}
|
|
479
|
+
xml.leafNode("c:showLegendKey", { val: "0" });
|
|
480
|
+
xml.leafNode("c:showVal", { val: dataLabels.showValue ? "1" : "0" });
|
|
481
|
+
xml.leafNode("c:showCatName", { val: dataLabels.showCategory ? "1" : "0" });
|
|
482
|
+
xml.leafNode("c:showSerName", { val: dataLabels.showSerName ? "1" : "0" });
|
|
483
|
+
xml.leafNode("c:showPercent", { val: dataLabels.showPercent ? "1" : "0" });
|
|
484
|
+
xml.leafNode("c:showBubbleSize", { val: "0" });
|
|
485
|
+
xml.closeNode();
|
|
486
|
+
}
|
|
487
|
+
// -- Trendline ------------------------------------------------------------------
|
|
488
|
+
function renderTrendline(xml, trendline) {
|
|
489
|
+
if (!trendline) {
|
|
490
|
+
return;
|
|
491
|
+
}
|
|
492
|
+
xml.openNode("c:trendline");
|
|
493
|
+
xml.leafNode("c:trendlineType", { val: trendline.type });
|
|
494
|
+
if (trendline.type === "polynomial" && trendline.order !== undefined) {
|
|
495
|
+
xml.leafNode("c:order", { val: String(trendline.order) });
|
|
496
|
+
}
|
|
497
|
+
if (trendline.type === "movingAvg" && trendline.period !== undefined) {
|
|
498
|
+
xml.leafNode("c:period", { val: String(trendline.period) });
|
|
499
|
+
}
|
|
500
|
+
if (trendline.displayEquation) {
|
|
501
|
+
xml.leafNode("c:dispEq", { val: "1" });
|
|
502
|
+
}
|
|
503
|
+
if (trendline.displayRSquared) {
|
|
504
|
+
xml.leafNode("c:dispRSqr", { val: "1" });
|
|
505
|
+
}
|
|
506
|
+
xml.closeNode();
|
|
507
|
+
}
|
|
508
|
+
// -- Error Bars -----------------------------------------------------------------
|
|
509
|
+
function renderErrorBars(xml, errorBars) {
|
|
510
|
+
if (!errorBars) {
|
|
511
|
+
return;
|
|
512
|
+
}
|
|
513
|
+
const directions = errorBars.direction === "both" ? ["x", "y"] : [errorBars.direction];
|
|
514
|
+
for (const dir of directions) {
|
|
515
|
+
xml.openNode("c:errBars");
|
|
516
|
+
xml.leafNode("c:errBarType", { val: "both" });
|
|
517
|
+
xml.leafNode("c:errValType", { val: errorBars.type });
|
|
518
|
+
xml.leafNode("c:errDir", { val: dir });
|
|
519
|
+
if (errorBars.value !== undefined &&
|
|
520
|
+
(errorBars.type === "fixedVal" || errorBars.type === "percentage")) {
|
|
521
|
+
xml.leafNode("c:val", { val: String(errorBars.value) });
|
|
522
|
+
}
|
|
523
|
+
xml.leafNode("c:noEndCap", { val: "0" });
|
|
524
|
+
xml.closeNode();
|
|
525
|
+
}
|
|
526
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Writers - CheckBox
|
|
3
|
+
*
|
|
4
|
+
* Renders checkbox as a structured document tag (SDT) with w14:checkbox.
|
|
5
|
+
*
|
|
6
|
+
* Per ECMA-376 Part 4 §17.5.2.41 the `w14:checkedState/@w14:val` attribute
|
|
7
|
+
* holds a 4-digit hexadecimal Unicode code point. We persist that hex form
|
|
8
|
+
* verbatim into the `w14:val` attribute, but the displayed glyph is rendered
|
|
9
|
+
* by converting to the actual character. To stay forgiving we accept both
|
|
10
|
+
* the canonical hex form (e.g. `"2612"`) and a literal glyph form (e.g.
|
|
11
|
+
* `"☒"`) on the input side, normalising both to a hex string for the
|
|
12
|
+
* attribute and the actual glyph for the displayed run.
|
|
13
|
+
*/
|
|
14
|
+
import type { XmlSink } from "../../xml/types.js";
|
|
15
|
+
import type { CheckBox } from "../types.js";
|
|
16
|
+
/** Render a checkbox as a paragraph with SDT. */
|
|
17
|
+
export declare function renderCheckBox(xml: XmlSink, cb: CheckBox): void;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Writers - CheckBox
|
|
3
|
+
*
|
|
4
|
+
* Renders checkbox as a structured document tag (SDT) with w14:checkbox.
|
|
5
|
+
*
|
|
6
|
+
* Per ECMA-376 Part 4 §17.5.2.41 the `w14:checkedState/@w14:val` attribute
|
|
7
|
+
* holds a 4-digit hexadecimal Unicode code point. We persist that hex form
|
|
8
|
+
* verbatim into the `w14:val` attribute, but the displayed glyph is rendered
|
|
9
|
+
* by converting to the actual character. To stay forgiving we accept both
|
|
10
|
+
* the canonical hex form (e.g. `"2612"`) and a literal glyph form (e.g.
|
|
11
|
+
* `"☒"`) on the input side, normalising both to a hex string for the
|
|
12
|
+
* attribute and the actual glyph for the displayed run.
|
|
13
|
+
*/
|
|
14
|
+
import { NS_W14 } from "../constants.js";
|
|
15
|
+
/**
|
|
16
|
+
* Normalise a checked-state value to {hex, glyph}.
|
|
17
|
+
*
|
|
18
|
+
* - If the input parses as a hexadecimal code point (1-6 hex digits with
|
|
19
|
+
* no other characters) we treat it as the canonical hex form.
|
|
20
|
+
* - Otherwise we treat it as a literal glyph and derive its hex from the
|
|
21
|
+
* first code point of the string.
|
|
22
|
+
*
|
|
23
|
+
* Empty / nullish input falls back to the supplied default.
|
|
24
|
+
*/
|
|
25
|
+
function normaliseCheckState(input, fallback) {
|
|
26
|
+
const value = input && input.length > 0 ? input : fallback;
|
|
27
|
+
// Canonical hex form: 1-6 hex digits and nothing else.
|
|
28
|
+
if (/^[0-9a-fA-F]{1,6}$/.test(value)) {
|
|
29
|
+
const cp = parseInt(value, 16);
|
|
30
|
+
if (Number.isFinite(cp) && cp >= 0 && cp <= 0x10ffff) {
|
|
31
|
+
return { hex: value.toUpperCase().padStart(4, "0"), glyph: String.fromCodePoint(cp) };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Literal glyph form: take the first Unicode code point.
|
|
35
|
+
const cp = value.codePointAt(0);
|
|
36
|
+
if (cp === undefined) {
|
|
37
|
+
// Should not happen because fallback is always non-empty, but stay safe.
|
|
38
|
+
return { hex: "2610", glyph: "\u2610" };
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
hex: cp.toString(16).toUpperCase().padStart(4, "0"),
|
|
42
|
+
glyph: String.fromCodePoint(cp)
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/** Render a checkbox as a paragraph with SDT. */
|
|
46
|
+
export function renderCheckBox(xml, cb) {
|
|
47
|
+
const checked = cb.checked ?? false;
|
|
48
|
+
const checkedNorm = normaliseCheckState(cb.checkedState?.value, "2612"); // ☒
|
|
49
|
+
const uncheckedNorm = normaliseCheckState(cb.uncheckedState?.value, "2610"); // ☐
|
|
50
|
+
const checkedFont = cb.checkedState?.font ?? "MS Gothic";
|
|
51
|
+
const uncheckedFont = cb.uncheckedState?.font ?? "MS Gothic";
|
|
52
|
+
const display = checked ? checkedNorm : uncheckedNorm;
|
|
53
|
+
const displayFont = checked ? checkedFont : uncheckedFont;
|
|
54
|
+
xml.openNode("w:sdt");
|
|
55
|
+
// SDT properties
|
|
56
|
+
xml.openNode("w:sdtPr");
|
|
57
|
+
xml.openNode("w14:checkbox", { "xmlns:w14": NS_W14 });
|
|
58
|
+
xml.leafNode("w14:checked", { "w14:val": checked ? "1" : "0" });
|
|
59
|
+
xml.leafNode("w14:checkedState", { "w14:val": checkedNorm.hex, "w14:font": checkedFont });
|
|
60
|
+
xml.leafNode("w14:uncheckedState", { "w14:val": uncheckedNorm.hex, "w14:font": uncheckedFont });
|
|
61
|
+
xml.closeNode();
|
|
62
|
+
xml.closeNode();
|
|
63
|
+
// SDT content - display the checkbox character
|
|
64
|
+
xml.openNode("w:sdtContent");
|
|
65
|
+
xml.openNode("w:r");
|
|
66
|
+
xml.openNode("w:rPr");
|
|
67
|
+
xml.leafNode("w:rFonts", {
|
|
68
|
+
"w:ascii": displayFont,
|
|
69
|
+
"w:hAnsi": displayFont,
|
|
70
|
+
"w:eastAsia": displayFont
|
|
71
|
+
});
|
|
72
|
+
xml.closeNode();
|
|
73
|
+
xml.openNode("w:t");
|
|
74
|
+
xml.writeText(display.glyph);
|
|
75
|
+
xml.closeNode();
|
|
76
|
+
xml.closeNode();
|
|
77
|
+
xml.closeNode();
|
|
78
|
+
xml.closeNode(); // w:sdt
|
|
79
|
+
}
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { XmlSink } from "../../xml/types.js";
|
|
7
7
|
import type { CommentDef } from "../types.js";
|
|
8
|
+
import type { RenderHelpers } from "./render-context.js";
|
|
8
9
|
/** Render word/comments.xml. */
|
|
9
|
-
export declare function renderComments(xml: XmlSink, comments: readonly CommentDef[]): void;
|
|
10
|
+
export declare function renderComments(xml: XmlSink, comments: readonly CommentDef[], helpers?: RenderHelpers): void;
|
|
10
11
|
/**
|
|
11
12
|
* Render word/commentsExtended.xml — extended comment metadata (done/parentId).
|
|
12
13
|
* Only includes comments that have either `done` or `parentId` set.
|
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Renders word/comments.xml and word/commentsExtended.xml parts.
|
|
5
5
|
*/
|
|
6
|
-
import { NS_W, NS_R, STD_DOC_ATTRIBUTES } from "../constants.js";
|
|
6
|
+
import { NS_W, NS_W15, NS_R, STD_DOC_ATTRIBUTES } from "../constants.js";
|
|
7
7
|
import { renderParagraph } from "./paragraph-writer.js";
|
|
8
|
-
const NS_W15 = "http://schemas.microsoft.com/office/word/2012/wordml";
|
|
9
8
|
/** Render word/comments.xml. */
|
|
10
|
-
export function renderComments(xml, comments) {
|
|
9
|
+
export function renderComments(xml, comments, helpers) {
|
|
11
10
|
xml.openXml(STD_DOC_ATTRIBUTES);
|
|
12
11
|
xml.openNode("w:comments", {
|
|
13
12
|
"xmlns:w": NS_W,
|
|
@@ -26,7 +25,7 @@ export function renderComments(xml, comments) {
|
|
|
26
25
|
}
|
|
27
26
|
xml.openNode("w:comment", attrs);
|
|
28
27
|
for (const para of comment.content) {
|
|
29
|
-
renderParagraph(xml, para);
|
|
28
|
+
renderParagraph(xml, para, helpers);
|
|
30
29
|
}
|
|
31
30
|
xml.closeNode();
|
|
32
31
|
}
|
|
@@ -57,8 +56,11 @@ export function renderCommentsExtended(xml, comments) {
|
|
|
57
56
|
continue;
|
|
58
57
|
}
|
|
59
58
|
const attrs = { "w15:paraId": firstPara.paraId };
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
// Round-trip explicit done state. `done === false` is meaningful — it
|
|
60
|
+
// tells consumers "this comment is explicitly *not* resolved", which
|
|
61
|
+
// can differ semantically from omitting the attribute entirely.
|
|
62
|
+
if (c.done !== undefined) {
|
|
63
|
+
attrs["w15:done"] = c.done ? "1" : "0";
|
|
62
64
|
}
|
|
63
65
|
if (c.parentId) {
|
|
64
66
|
attrs["w15:paraIdParent"] = c.parentId;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - Common Auxiliary Parts Builder
|
|
3
|
+
*
|
|
4
|
+
* Shared logic for generating auxiliary XML parts (styles, settings, numbering,
|
|
5
|
+
* fontTable, theme, core properties, app properties, custom properties).
|
|
6
|
+
*
|
|
7
|
+
* Both the buffered packager and streaming writer use this to avoid duplicating
|
|
8
|
+
* the same rendering logic.
|
|
9
|
+
*/
|
|
10
|
+
import type { AbstractNumbering, AppProperties, CoreProperties, CustomProperty, DocDefaults, DocumentSettings, DocumentTheme, EndnoteDef, FontDef, FootnoteDef, NumPicBullet, NumberingInstance, StyleDef } from "../types.js";
|
|
11
|
+
import type { RenderHelpers } from "./render-context.js";
|
|
12
|
+
/** Input options for building common auxiliary parts. */
|
|
13
|
+
export interface AuxiliaryPartsInput {
|
|
14
|
+
readonly docDefaults?: DocDefaults;
|
|
15
|
+
readonly styles?: readonly StyleDef[];
|
|
16
|
+
readonly settings?: DocumentSettings;
|
|
17
|
+
readonly fonts?: readonly FontDef[];
|
|
18
|
+
readonly theme?: DocumentTheme;
|
|
19
|
+
readonly abstractNumberings?: readonly AbstractNumbering[];
|
|
20
|
+
readonly numberingInstances?: readonly NumberingInstance[];
|
|
21
|
+
readonly numPicBullets?: readonly NumPicBullet[];
|
|
22
|
+
readonly coreProperties?: CoreProperties;
|
|
23
|
+
readonly appProperties?: AppProperties;
|
|
24
|
+
readonly customProperties?: readonly CustomProperty[];
|
|
25
|
+
readonly footnotes?: readonly FootnoteDef[];
|
|
26
|
+
readonly endnotes?: readonly EndnoteDef[];
|
|
27
|
+
/**
|
|
28
|
+
* Optional render helpers passed to footnote/endnote rendering so in-note
|
|
29
|
+
* hyperlinks/images resolve to the rIds the caller has registered against
|
|
30
|
+
* the per-part .rels. Defaults to `{}`, meaning no remap and no
|
|
31
|
+
* hyperlink rIds — sufficient for documents without notes that contain
|
|
32
|
+
* external links or remapped images.
|
|
33
|
+
*/
|
|
34
|
+
readonly notesHelpers?: RenderHelpers;
|
|
35
|
+
/**
|
|
36
|
+
* Raw XML output policy. When `"strip"` or `"reject"`, opaque rawXml
|
|
37
|
+
* fields on settings/theme/numbering are skipped or cause an error
|
|
38
|
+
* respectively. Defaults to `"preserve"`.
|
|
39
|
+
*/
|
|
40
|
+
readonly rawXmlPolicy?: "preserve" | "strip" | "reject";
|
|
41
|
+
}
|
|
42
|
+
/** A rendered XML part ready to be written to ZIP. */
|
|
43
|
+
export interface RenderedPart {
|
|
44
|
+
readonly path: string;
|
|
45
|
+
readonly content: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Build all common auxiliary XML parts that are shared between
|
|
49
|
+
* the buffered packager and streaming writer.
|
|
50
|
+
*
|
|
51
|
+
* Returns an array of rendered parts (path + XML string).
|
|
52
|
+
* Does NOT include: document.xml, images, headers/footers, comments,
|
|
53
|
+
* charts, custom XML, embedded fonts, opaque parts, watermarks.
|
|
54
|
+
* Those are handled by the respective packager/streaming-writer because
|
|
55
|
+
* they require relationship ID coordination.
|
|
56
|
+
*/
|
|
57
|
+
export declare function buildCommonAuxiliaryParts(input: AuxiliaryPartsInput): RenderedPart[];
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - Common Auxiliary Parts Builder
|
|
3
|
+
*
|
|
4
|
+
* Shared logic for generating auxiliary XML parts (styles, settings, numbering,
|
|
5
|
+
* fontTable, theme, core properties, app properties, custom properties).
|
|
6
|
+
*
|
|
7
|
+
* Both the buffered packager and streaming writer use this to avoid duplicating
|
|
8
|
+
* the same rendering logic.
|
|
9
|
+
*/
|
|
10
|
+
import { XmlWriter } from "../../xml/writer.js";
|
|
11
|
+
import { PartPath } from "../constants.js";
|
|
12
|
+
import { renderFootnotes, renderEndnotes } from "./footnote-writer.js";
|
|
13
|
+
import { renderNumbering } from "./numbering-writer.js";
|
|
14
|
+
import { renderSettings, renderFontTable, renderCoreProperties, renderAppProperties, renderCustomProperties, renderTheme } from "./parts-writer.js";
|
|
15
|
+
import { renderStyles } from "./styles-writer.js";
|
|
16
|
+
// =============================================================================
|
|
17
|
+
// Public API
|
|
18
|
+
// =============================================================================
|
|
19
|
+
/**
|
|
20
|
+
* Build all common auxiliary XML parts that are shared between
|
|
21
|
+
* the buffered packager and streaming writer.
|
|
22
|
+
*
|
|
23
|
+
* Returns an array of rendered parts (path + XML string).
|
|
24
|
+
* Does NOT include: document.xml, images, headers/footers, comments,
|
|
25
|
+
* charts, custom XML, embedded fonts, opaque parts, watermarks.
|
|
26
|
+
* Those are handled by the respective packager/streaming-writer because
|
|
27
|
+
* they require relationship ID coordination.
|
|
28
|
+
*/
|
|
29
|
+
export function buildCommonAuxiliaryParts(input) {
|
|
30
|
+
const parts = [];
|
|
31
|
+
// styles.xml (always written)
|
|
32
|
+
parts.push({
|
|
33
|
+
path: PartPath.Styles,
|
|
34
|
+
content: renderXml(xml => renderStyles(xml, input.docDefaults, input.styles))
|
|
35
|
+
});
|
|
36
|
+
// settings.xml
|
|
37
|
+
parts.push({
|
|
38
|
+
path: PartPath.Settings,
|
|
39
|
+
content: renderXml(xml => renderSettings(xml, input.settings, input.rawXmlPolicy))
|
|
40
|
+
});
|
|
41
|
+
// fontTable.xml
|
|
42
|
+
parts.push({
|
|
43
|
+
path: PartPath.FontTable,
|
|
44
|
+
content: renderXml(xml => renderFontTable(xml, input.fonts))
|
|
45
|
+
});
|
|
46
|
+
// theme/theme1.xml
|
|
47
|
+
parts.push({
|
|
48
|
+
path: PartPath.Theme,
|
|
49
|
+
content: renderXml(xml => renderTheme(xml, input.theme, input.rawXmlPolicy))
|
|
50
|
+
});
|
|
51
|
+
// numbering.xml (conditional)
|
|
52
|
+
const hasNumbering = (input.abstractNumberings && input.abstractNumberings.length > 0) ||
|
|
53
|
+
(input.numberingInstances && input.numberingInstances.length > 0);
|
|
54
|
+
if (hasNumbering) {
|
|
55
|
+
parts.push({
|
|
56
|
+
path: PartPath.Numbering,
|
|
57
|
+
content: renderXml(xml => renderNumbering(xml, input.abstractNumberings, input.numberingInstances, input.numPicBullets, input.rawXmlPolicy))
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
// footnotes.xml (conditional)
|
|
61
|
+
if (input.footnotes && input.footnotes.length > 0) {
|
|
62
|
+
parts.push({
|
|
63
|
+
path: PartPath.Footnotes,
|
|
64
|
+
content: renderXml(xml => renderFootnotes(xml, input.footnotes, input.notesHelpers))
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
// endnotes.xml (conditional)
|
|
68
|
+
if (input.endnotes && input.endnotes.length > 0) {
|
|
69
|
+
parts.push({
|
|
70
|
+
path: PartPath.Endnotes,
|
|
71
|
+
content: renderXml(xml => renderEndnotes(xml, input.endnotes, input.notesHelpers))
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
// docProps/core.xml
|
|
75
|
+
parts.push({
|
|
76
|
+
path: PartPath.CoreProps,
|
|
77
|
+
content: renderXml(xml => renderCoreProperties(xml, input.coreProperties))
|
|
78
|
+
});
|
|
79
|
+
// docProps/app.xml
|
|
80
|
+
parts.push({
|
|
81
|
+
path: PartPath.AppProps,
|
|
82
|
+
content: renderXml(xml => renderAppProperties(xml, input.appProperties))
|
|
83
|
+
});
|
|
84
|
+
// docProps/custom.xml (conditional)
|
|
85
|
+
if (input.customProperties && input.customProperties.length > 0) {
|
|
86
|
+
parts.push({
|
|
87
|
+
path: PartPath.CustomProps,
|
|
88
|
+
content: renderXml(xml => renderCustomProperties(xml, input.customProperties))
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return parts;
|
|
92
|
+
}
|
|
93
|
+
// =============================================================================
|
|
94
|
+
// Internal
|
|
95
|
+
// =============================================================================
|
|
96
|
+
/** Render XML to string using XmlWriter. */
|
|
97
|
+
function renderXml(renderFn) {
|
|
98
|
+
const writer = new XmlWriter();
|
|
99
|
+
renderFn(writer);
|
|
100
|
+
return writer.xml;
|
|
101
|
+
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Generates [Content_Types].xml for the DOCX package.
|
|
5
5
|
* Uses a plain data record + free functions for tree-shakeability.
|
|
6
6
|
*/
|
|
7
|
-
import type { XmlSink } from "
|
|
7
|
+
import type { XmlSink } from "../../xml/types.js";
|
|
8
8
|
/** Content type override entry. */
|
|
9
9
|
export interface ContentTypeOverride {
|
|
10
10
|
readonly partName: string;
|
|
@@ -19,7 +19,7 @@ export interface ContentTypesState {
|
|
|
19
19
|
export declare function createContentTypes(): ContentTypesState;
|
|
20
20
|
/** Add a default content type for a file extension. */
|
|
21
21
|
export declare function addContentTypeDefault(state: ContentTypesState, extension: string, contentType: string): void;
|
|
22
|
-
/** Add an override content type for a specific part. */
|
|
22
|
+
/** Add an override content type for a specific part. Deduplicates by partName. */
|
|
23
23
|
export declare function addContentTypeOverride(state: ContentTypesState, partName: string, contentType: string): void;
|
|
24
24
|
/** Add image extension defaults from a set of used extensions. */
|
|
25
25
|
export declare function addImageContentTypeDefaults(state: ContentTypesState, extensions: Iterable<string>): void;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Generates [Content_Types].xml for the DOCX package.
|
|
5
5
|
* Uses a plain data record + free functions for tree-shakeability.
|
|
6
6
|
*/
|
|
7
|
-
import { NS_CONTENT_TYPES, STD_DOC_ATTRIBUTES, ContentType, IMAGE_CONTENT_TYPES } from "
|
|
7
|
+
import { NS_CONTENT_TYPES, STD_DOC_ATTRIBUTES, ContentType, IMAGE_CONTENT_TYPES } from "../constants.js";
|
|
8
8
|
/** Create a new ContentTypesState with standard defaults (rels, xml). */
|
|
9
9
|
export function createContentTypes() {
|
|
10
10
|
const defaults = new Map();
|
|
@@ -16,12 +16,20 @@ export function createContentTypes() {
|
|
|
16
16
|
export function addContentTypeDefault(state, extension, contentType) {
|
|
17
17
|
state.defaults.set(extension, contentType);
|
|
18
18
|
}
|
|
19
|
-
/** Add an override content type for a specific part. */
|
|
19
|
+
/** Add an override content type for a specific part. Deduplicates by partName. */
|
|
20
20
|
export function addContentTypeOverride(state, partName, contentType) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
const normalized = partName.startsWith("/") ? partName : `/${partName}`;
|
|
22
|
+
const overrides = state.overrides;
|
|
23
|
+
// Deduplicate: if same partName already exists, update in-place
|
|
24
|
+
const existing = overrides.findIndex(o => o.partName === normalized);
|
|
25
|
+
if (existing !== -1) {
|
|
26
|
+
// Same content type → no-op; different → replace (last wins)
|
|
27
|
+
if (overrides[existing].contentType !== contentType) {
|
|
28
|
+
overrides[existing] = { partName: normalized, contentType };
|
|
29
|
+
}
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
overrides.push({ partName: normalized, contentType });
|
|
25
33
|
}
|
|
26
34
|
/** Add image extension defaults from a set of used extensions. */
|
|
27
35
|
export function addImageContentTypeDefaults(state, extensions) {
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Writers - Document Body
|
|
3
|
+
*
|
|
4
|
+
* Renders the main word/document.xml part including all block-level
|
|
5
|
+
* content types: paragraphs, tables, floating images, TOC, math,
|
|
6
|
+
* text boxes, and structured document tags.
|
|
7
|
+
*/
|
|
8
|
+
import type { XmlSink } from "../../xml/types.js";
|
|
9
|
+
import type { DocxDocument, BodyContent, StructuredDocumentTag } from "../types.js";
|
|
10
|
+
import { type RenderHelpers, type WordRenderContext } from "./render-context.js";
|
|
11
|
+
/**
|
|
12
|
+
* Render a structured document tag.
|
|
13
|
+
*
|
|
14
|
+
* `ctx` may be `undefined` when called from a sub-renderer that only knows
|
|
15
|
+
* about `RenderHelpers` (e.g. table cell, header/footer). In that case we
|
|
16
|
+
* still emit a syntactically valid `<w:sdt>`, but we cannot auto-assign an
|
|
17
|
+
* id from the document-wide id generator — callers that care about
|
|
18
|
+
* uniqueness should provide `properties.id` explicitly.
|
|
19
|
+
*/
|
|
20
|
+
export declare function renderSdt(xml: XmlSink, sdt: StructuredDocumentTag, ctx: WordRenderContext | undefined, helpers?: RenderHelpers): void;
|
|
21
|
+
/** Render a single body content element (paragraph, table, image, etc.). */
|
|
22
|
+
export declare function renderBodyContent(xml: XmlSink, content: BodyContent, ctx?: WordRenderContext): void;
|
|
23
|
+
/** Render the complete word/document.xml. */
|
|
24
|
+
export declare function renderDocument(xml: XmlSink, doc: DocxDocument, ctx?: WordRenderContext): void;
|