@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
|
@@ -9,9 +9,12 @@
|
|
|
9
9
|
* - Password-based encryption/decryption of DOCX content
|
|
10
10
|
* - EncryptionInfo XML generation/parsing
|
|
11
11
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
12
|
+
* All AES and SHA primitives are delegated to `@utils/crypto`, which uses
|
|
13
|
+
* synchronous `node:crypto` APIs in Node and Web Crypto in the browser.
|
|
14
|
+
* The KDF inner loop runs ~100,000 hashes per derived key; on Node we go
|
|
15
|
+
* through the synchronous fast path so a round-trip completes in well
|
|
16
|
+
* under a second instead of the multi-second microtask churn that the
|
|
17
|
+
* old `await crypto.subtle.digest()` loop produced.
|
|
15
18
|
*
|
|
16
19
|
* References:
|
|
17
20
|
* - MS-OFFCRYPTO: Office Document Cryptography Structure
|
|
@@ -88,9 +91,13 @@ export declare function verifyPassword(password: string, info: AgileEncryptionIn
|
|
|
88
91
|
* @param encryptedPackage - The EncryptedPackage stream from CFB.
|
|
89
92
|
* @param info - Agile encryption parameters.
|
|
90
93
|
* @param password - The user password.
|
|
94
|
+
* @param maxDecryptedSize - Optional upper bound on the decrypted size; if the
|
|
95
|
+
* `totalSize` header claims a larger value, throw rather than allocate.
|
|
96
|
+
* Defaults to 512 MiB so adversarial files cannot trigger arbitrary-size
|
|
97
|
+
* allocations before security policy is applied at the unzip layer.
|
|
91
98
|
* @returns The decrypted (unencrypted) package bytes.
|
|
92
99
|
*/
|
|
93
|
-
export declare function decryptPackage(encryptedPackage: Uint8Array, info: AgileEncryptionInfo, password: string): Promise<Uint8Array>;
|
|
100
|
+
export declare function decryptPackage(encryptedPackage: Uint8Array, info: AgileEncryptionInfo, password: string, maxDecryptedSize?: number): Promise<Uint8Array>;
|
|
94
101
|
/**
|
|
95
102
|
* Parse an EncryptionInfo XML stream from a CFB-wrapped encrypted DOCX.
|
|
96
103
|
*
|
|
@@ -100,3 +107,43 @@ export declare function decryptPackage(encryptedPackage: Uint8Array, info: Agile
|
|
|
100
107
|
* @returns Parsed agile encryption info.
|
|
101
108
|
*/
|
|
102
109
|
export declare function parseEncryptionInfoXml(xmlStr: string): AgileEncryptionInfo;
|
|
110
|
+
/**
|
|
111
|
+
* Read an encrypted DOCX file by providing a password.
|
|
112
|
+
*
|
|
113
|
+
* Handles the full pipeline:
|
|
114
|
+
* 1. Parse CFB container
|
|
115
|
+
* 2. Extract EncryptionInfo and EncryptedPackage streams
|
|
116
|
+
* 3. Verify password and decrypt
|
|
117
|
+
* 4. Return the decrypted DOCX ZIP bytes
|
|
118
|
+
*
|
|
119
|
+
* @param buffer - The encrypted DOCX file (CFB format).
|
|
120
|
+
* @param password - The password to decrypt with.
|
|
121
|
+
* @param maxDecryptedSize - Optional cap on the decrypted size (defaults to 512 MiB).
|
|
122
|
+
* @returns The decrypted DOCX ZIP bytes (can be passed to readDocx).
|
|
123
|
+
* @throws Error if the file is not encrypted, password is wrong, or decryption fails.
|
|
124
|
+
*/
|
|
125
|
+
export declare function decryptDocx(buffer: Uint8Array, password: string, maxDecryptedSize?: number): Promise<Uint8Array>;
|
|
126
|
+
/** Options for DOCX encryption. */
|
|
127
|
+
export interface EncryptOptions {
|
|
128
|
+
/** Key length in bits. Default: 256. */
|
|
129
|
+
readonly keyBits?: 128 | 192 | 256;
|
|
130
|
+
/** Hash algorithm. Default: SHA512. */
|
|
131
|
+
readonly hashAlgorithm?: "SHA1" | "SHA256" | "SHA384" | "SHA512";
|
|
132
|
+
/** Number of KDF iterations (spin count). Default: 100000. */
|
|
133
|
+
readonly spinCount?: number;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Encrypt a DOCX ZIP file with a password using Agile Encryption (MS-OFFCRYPTO).
|
|
137
|
+
*
|
|
138
|
+
* Produces a CFB (OLE2 Compound File) containing:
|
|
139
|
+
* - EncryptionInfo stream (Agile encryption XML)
|
|
140
|
+
* - EncryptedPackage stream (segment-encrypted ZIP data)
|
|
141
|
+
*
|
|
142
|
+
* The output can be opened by Microsoft Word with the given password.
|
|
143
|
+
*
|
|
144
|
+
* @param zipBytes - The unencrypted DOCX content (ZIP format).
|
|
145
|
+
* @param password - The password to encrypt with.
|
|
146
|
+
* @param options - Encryption options (key length, hash algorithm, spin count).
|
|
147
|
+
* @returns The encrypted DOCX as a CFB-formatted Uint8Array.
|
|
148
|
+
*/
|
|
149
|
+
export declare function encryptDocx(zipBytes: Uint8Array, password: string, options?: EncryptOptions): Promise<Uint8Array>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - Security Policy
|
|
3
|
+
*
|
|
4
|
+
* Defines configurable security policies that control how potentially
|
|
5
|
+
* dangerous content (VBA, OLE, external targets, etc.) is handled
|
|
6
|
+
* during document reading and writing.
|
|
7
|
+
*
|
|
8
|
+
* **Implementation status of each field (read this before relying on
|
|
9
|
+
* the strict preset for security guarantees):**
|
|
10
|
+
*
|
|
11
|
+
* - `preserveVbaProject` — IMPLEMENTED on the read path. When `false`
|
|
12
|
+
* the macro binary is dropped from the returned model.
|
|
13
|
+
* - `preserveAltChunks` — IMPLEMENTED on the read path. When `false`
|
|
14
|
+
* altChunk body items are removed before the document is returned.
|
|
15
|
+
* - `allowExternalTargets` — IMPLEMENTED on the read path. When `false`
|
|
16
|
+
* `Hyperlink.url` is left undefined; only anchor-based hyperlinks
|
|
17
|
+
* survive. The link wrapper and its inner runs remain.
|
|
18
|
+
* - `maxPackageSize`, `maxPartSize`, `maxPartCount`, `maxXmlDepth` —
|
|
19
|
+
* IMPLEMENTED. Enforced during ZIP parsing / XML parsing; oversize
|
|
20
|
+
* inputs raise `DocxLimitExceededError` instead of being processed.
|
|
21
|
+
* - `dropSignaturesOnModify` — IMPLEMENTED. Both writers skip any opaque
|
|
22
|
+
* parts under `_xmlsignatures/` when `true` (the default). The
|
|
23
|
+
* `_rels/.rels` file is rebuilt from scratch by the packager, so any
|
|
24
|
+
* sigOrigin relationship pointing at the now-absent signatures is also
|
|
25
|
+
* removed automatically. Set `false` to keep the parts; in that case
|
|
26
|
+
* downstream verifiers will treat the signatures as broken because the
|
|
27
|
+
* document body has been re-emitted.
|
|
28
|
+
* - `preserveOleObjects` — IMPLEMENTED. On the read path, OLE embedding
|
|
29
|
+
* binaries (word/embeddings/*.bin and similar) are excluded from
|
|
30
|
+
* `opaqueParts` when `false`. On the write path (both buffered and
|
|
31
|
+
* streaming) the same paths are skipped when emitting opaqueParts. The
|
|
32
|
+
* relationships that referenced the binary remain in the owning part's
|
|
33
|
+
* .rels — strip those manually if you need a fully clean document.
|
|
34
|
+
* - `rawXmlPolicy` — IMPLEMENTED on the write path. `"preserve"` (default)
|
|
35
|
+
* writes opaque rawXml verbatim; `"strip"` skips the offending fragments
|
|
36
|
+
* while keeping the surrounding element well-formed; `"reject"` throws
|
|
37
|
+
* `DocxRawXmlPolicyError` so the caller can sanitise the model first.
|
|
38
|
+
* Sites covered: opaqueRun, opaqueParagraphChild, opaqueDrawing,
|
|
39
|
+
* drawingShape rawXml/_advancedFillXml/_advancedEffectsXml,
|
|
40
|
+
* settings.mailMergeRawXml, theme.formatScheme.rawXml, theme.extLstXml,
|
|
41
|
+
* webSettings.rawXml, numPicBullet.rawVmlXml.
|
|
42
|
+
*
|
|
43
|
+
* Pull requests welcome for the not-yet-enforced fields. Until they
|
|
44
|
+
* arrive, callers needing those guarantees should sanitise the input
|
|
45
|
+
* model themselves before serialisation.
|
|
46
|
+
*/
|
|
47
|
+
export interface WordSecurityPolicy {
|
|
48
|
+
/** Whether to preserve VBA project binary on read/write. Default: true (preserve but don't execute). */
|
|
49
|
+
readonly preserveVbaProject?: boolean;
|
|
50
|
+
/** Whether to preserve OLE embedded objects. Default: true. */
|
|
51
|
+
readonly preserveOleObjects?: boolean;
|
|
52
|
+
/** Whether to preserve altChunk parts (embedded HTML/RTF). Default: true. */
|
|
53
|
+
readonly preserveAltChunks?: boolean;
|
|
54
|
+
/** Whether to drop digital signatures when document is modified. Default: true. */
|
|
55
|
+
readonly dropSignaturesOnModify?: boolean;
|
|
56
|
+
/** Maximum total package size in bytes. Default: 500MB. */
|
|
57
|
+
readonly maxPackageSize?: number;
|
|
58
|
+
/** Maximum single part size in bytes. Default: 100MB. */
|
|
59
|
+
readonly maxPartSize?: number;
|
|
60
|
+
/** Maximum ZIP entry count. Default: 10000. */
|
|
61
|
+
readonly maxPartCount?: number;
|
|
62
|
+
/** Maximum nesting depth for XML parsing. Default: 256. */
|
|
63
|
+
readonly maxXmlDepth?: number;
|
|
64
|
+
/** Raw XML policy for opaque/preserved content. */
|
|
65
|
+
readonly rawXmlPolicy?: "preserve" | "strip" | "reject";
|
|
66
|
+
/** Whether to allow external relationship targets (URLs). Default: true. */
|
|
67
|
+
readonly allowExternalTargets?: boolean;
|
|
68
|
+
}
|
|
69
|
+
/** Default security policy: preserve everything, generous limits. */
|
|
70
|
+
export declare const DEFAULT_SECURITY_POLICY: Required<WordSecurityPolicy>;
|
|
71
|
+
/** Strict security policy: strip dangerous content, tight limits. */
|
|
72
|
+
export declare const STRICT_SECURITY_POLICY: Required<WordSecurityPolicy>;
|
|
73
|
+
/**
|
|
74
|
+
* Merge a partial security policy with the defaults.
|
|
75
|
+
* Any unset fields fall back to DEFAULT_SECURITY_POLICY values.
|
|
76
|
+
*
|
|
77
|
+
* @param policy - Partial policy overrides (or undefined for full defaults).
|
|
78
|
+
* @returns A fully resolved security policy.
|
|
79
|
+
*/
|
|
80
|
+
export declare function resolveSecurityPolicy(policy?: Partial<WordSecurityPolicy>): Required<WordSecurityPolicy>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - Template Chart Data Binding
|
|
3
|
+
*
|
|
4
|
+
* Extends the template engine with chart data binding support.
|
|
5
|
+
* Allows replacing series data, categories, and titles in chart
|
|
6
|
+
* definitions within a DocxDocument.
|
|
7
|
+
*
|
|
8
|
+
* @stability experimental
|
|
9
|
+
*/
|
|
10
|
+
import type { DocxDocument } from "../types.js";
|
|
11
|
+
/** Data for a single chart series to bind. */
|
|
12
|
+
export interface ChartSeriesData {
|
|
13
|
+
/** Series name (legend label). */
|
|
14
|
+
readonly name: string;
|
|
15
|
+
/** Numeric data values. */
|
|
16
|
+
readonly values: number[];
|
|
17
|
+
/** Optional series color (6-digit hex RGB). */
|
|
18
|
+
readonly color?: string;
|
|
19
|
+
}
|
|
20
|
+
/** Binding specification mapping a chart reference to new data. */
|
|
21
|
+
export interface ChartBinding {
|
|
22
|
+
/** Chart index (0-based) or chart name. */
|
|
23
|
+
readonly chartRef: number | string;
|
|
24
|
+
/** New series data. */
|
|
25
|
+
readonly series: ChartSeriesData[];
|
|
26
|
+
/** New category labels (X-axis). */
|
|
27
|
+
readonly categories?: string[];
|
|
28
|
+
/** Chart title override. */
|
|
29
|
+
readonly title?: string;
|
|
30
|
+
}
|
|
31
|
+
/** Aggregate template data for chart bindings. */
|
|
32
|
+
export interface ChartTemplateData {
|
|
33
|
+
/** Array of chart bindings to apply. */
|
|
34
|
+
readonly charts: ChartBinding[];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Replace chart data in a DocxDocument according to the provided bindings.
|
|
38
|
+
*
|
|
39
|
+
* Iterates through the document body, locates `ChartContent` blocks, and
|
|
40
|
+
* replaces their series data, categories, and titles with the values
|
|
41
|
+
* specified in each binding.
|
|
42
|
+
*
|
|
43
|
+
* Charts are matched by either:
|
|
44
|
+
* - Numeric index (0-based position among all ChartContent blocks in body)
|
|
45
|
+
* - String name (matched against `ChartContent.name`)
|
|
46
|
+
*
|
|
47
|
+
* Only basic chart types (bar, column, line, pie and their variants) are
|
|
48
|
+
* supported. Bindings that reference unsupported chart types are skipped.
|
|
49
|
+
*
|
|
50
|
+
* @param doc - The DocxDocument to modify.
|
|
51
|
+
* @param chartBindings - Array of chart bindings to apply.
|
|
52
|
+
* @returns A new DocxDocument with chart data replaced.
|
|
53
|
+
*
|
|
54
|
+
* @stability experimental
|
|
55
|
+
*/
|
|
56
|
+
export declare function bindChartData(doc: DocxDocument, chartBindings: ChartBinding[]): DocxDocument;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - Template Data Source
|
|
3
|
+
*
|
|
4
|
+
* An abstraction layer for providing data to the template engine from
|
|
5
|
+
* various sources (JSON, XML, CSV) with composition support.
|
|
6
|
+
*
|
|
7
|
+
* @stability experimental
|
|
8
|
+
*/
|
|
9
|
+
import type { DocxDocument } from "../types.js";
|
|
10
|
+
import type { TemplateOptions } from "./template-engine.js";
|
|
11
|
+
/**
|
|
12
|
+
* Abstract data provider for the template engine.
|
|
13
|
+
*
|
|
14
|
+
* Implementations transform various data formats into the flat
|
|
15
|
+
* `Record<string, unknown>` structure consumed by `fillTemplate`.
|
|
16
|
+
*/
|
|
17
|
+
export interface DataSource {
|
|
18
|
+
/** Retrieve all data as a flat record. */
|
|
19
|
+
readonly getData: () => Record<string, unknown>;
|
|
20
|
+
/** Retrieve an array value by key. Returns empty array if not found or not an array. */
|
|
21
|
+
readonly getArray: (key: string) => unknown[];
|
|
22
|
+
/** Retrieve a single value by dot-separated path. Returns undefined if not found. */
|
|
23
|
+
readonly getValue: (path: string) => unknown;
|
|
24
|
+
}
|
|
25
|
+
/** Options for `fillTemplateFromSource`. */
|
|
26
|
+
export interface FillFromSourceOptions extends TemplateOptions {
|
|
27
|
+
/** If true, merge arrays with the same key across composite sources (default: false). */
|
|
28
|
+
readonly mergeArrays?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Data source that reads from a JSON string or object.
|
|
32
|
+
*
|
|
33
|
+
* @stability experimental
|
|
34
|
+
*/
|
|
35
|
+
export declare class JsonDataSource implements DataSource {
|
|
36
|
+
private readonly data;
|
|
37
|
+
/**
|
|
38
|
+
* @param input - A JSON string or an existing object.
|
|
39
|
+
*/
|
|
40
|
+
constructor(input: string | Record<string, unknown>);
|
|
41
|
+
getData(): Record<string, unknown>;
|
|
42
|
+
getArray(key: string): unknown[];
|
|
43
|
+
getValue(path: string): unknown;
|
|
44
|
+
private resolvePath;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Data source that reads from an XML string.
|
|
48
|
+
*
|
|
49
|
+
* Flattens the XML structure into dot-separated key-value pairs.
|
|
50
|
+
* Repeated elements with the same tag are collected into arrays.
|
|
51
|
+
*
|
|
52
|
+
* Example XML:
|
|
53
|
+
* ```xml
|
|
54
|
+
* <root>
|
|
55
|
+
* <name>John</name>
|
|
56
|
+
* <address><city>NY</city></address>
|
|
57
|
+
* <item>A</item>
|
|
58
|
+
* <item>B</item>
|
|
59
|
+
* </root>
|
|
60
|
+
* ```
|
|
61
|
+
* Produces: `{ name: "John", "address.city": "NY", address: { city: "NY" }, item: ["A", "B"] }`
|
|
62
|
+
*
|
|
63
|
+
* @stability experimental
|
|
64
|
+
*/
|
|
65
|
+
export declare class XmlDataSource implements DataSource {
|
|
66
|
+
private readonly data;
|
|
67
|
+
/**
|
|
68
|
+
* @param xml - An XML string to parse.
|
|
69
|
+
* @param rootTag - Optional root element name to skip. If not provided, the first element is used.
|
|
70
|
+
*/
|
|
71
|
+
constructor(xml: string, rootTag?: string);
|
|
72
|
+
getData(): Record<string, unknown>;
|
|
73
|
+
getArray(key: string): unknown[];
|
|
74
|
+
getValue(path: string): unknown;
|
|
75
|
+
private resolvePath;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Data source that reads from a CSV string.
|
|
79
|
+
*
|
|
80
|
+
* The first row is treated as headers (column names become keys).
|
|
81
|
+
* Each subsequent row becomes an object. The entire dataset is available
|
|
82
|
+
* as an array under the `rows` key (or a custom key).
|
|
83
|
+
*
|
|
84
|
+
* Individual columns are also available as arrays under their header name.
|
|
85
|
+
*
|
|
86
|
+
* Example CSV:
|
|
87
|
+
* ```
|
|
88
|
+
* name,age
|
|
89
|
+
* Alice,30
|
|
90
|
+
* Bob,25
|
|
91
|
+
* ```
|
|
92
|
+
* Produces:
|
|
93
|
+
* ```
|
|
94
|
+
* {
|
|
95
|
+
* rows: [{ name: "Alice", age: "30" }, { name: "Bob", age: "25" }],
|
|
96
|
+
* name: ["Alice", "Bob"],
|
|
97
|
+
* age: ["30", "25"]
|
|
98
|
+
* }
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
* @stability experimental
|
|
102
|
+
*/
|
|
103
|
+
export declare class CsvDataSource implements DataSource {
|
|
104
|
+
private readonly data;
|
|
105
|
+
/**
|
|
106
|
+
* @param csv - A CSV string.
|
|
107
|
+
* @param options - Optional parsing configuration.
|
|
108
|
+
*/
|
|
109
|
+
constructor(csv: string, options?: {
|
|
110
|
+
/** Delimiter character (default: ","). */
|
|
111
|
+
readonly delimiter?: string;
|
|
112
|
+
/** Key for the rows array (default: "rows"). */
|
|
113
|
+
readonly rowsKey?: string;
|
|
114
|
+
});
|
|
115
|
+
getData(): Record<string, unknown>;
|
|
116
|
+
getArray(key: string): unknown[];
|
|
117
|
+
getValue(path: string): unknown;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Combines multiple data sources into one.
|
|
121
|
+
*
|
|
122
|
+
* Sources added later take precedence over earlier ones for conflicting keys.
|
|
123
|
+
* Arrays can optionally be merged instead of overwritten.
|
|
124
|
+
*
|
|
125
|
+
* @stability experimental
|
|
126
|
+
*/
|
|
127
|
+
export declare class CompositeDataSource implements DataSource {
|
|
128
|
+
private readonly sources;
|
|
129
|
+
private readonly mergeArrays;
|
|
130
|
+
/**
|
|
131
|
+
* @param sources - Data sources to combine (later sources take precedence).
|
|
132
|
+
* @param options - Configuration options.
|
|
133
|
+
*/
|
|
134
|
+
constructor(sources: readonly DataSource[], options?: {
|
|
135
|
+
readonly mergeArrays?: boolean;
|
|
136
|
+
});
|
|
137
|
+
getData(): Record<string, unknown>;
|
|
138
|
+
getArray(key: string): unknown[];
|
|
139
|
+
getValue(path: string): unknown;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Fill a DOCX template using a DataSource instead of a raw data record.
|
|
143
|
+
*
|
|
144
|
+
* This is a convenience function that extracts data from the source and
|
|
145
|
+
* delegates to the core `fillTemplate` function.
|
|
146
|
+
*
|
|
147
|
+
* @param doc - The parsed DocxDocument model.
|
|
148
|
+
* @param source - A DataSource implementation.
|
|
149
|
+
* @param options - Optional template settings.
|
|
150
|
+
* @returns The same DocxDocument with placeholders resolved.
|
|
151
|
+
*
|
|
152
|
+
* @stability experimental
|
|
153
|
+
*/
|
|
154
|
+
export declare function fillTemplateFromSource(doc: DocxDocument, source: DataSource, options?: FillFromSourceOptions): DocxDocument;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - Template Engine
|
|
3
|
+
*
|
|
4
|
+
* A template engine for DOCX documents supporting:
|
|
5
|
+
* - Variable interpolation: {{name}}, {{user.name}}
|
|
6
|
+
* - Conditionals: {{#if cond}}...{{/if}}, {{#if cond}}...{{else}}...{{/if}}
|
|
7
|
+
* - Loops: {{#each items}}...{{/each}} with {{.}}, {{.prop}}, {{@index}}
|
|
8
|
+
* - Table row loops: auto-duplicates table rows when {{#each}} is in a row
|
|
9
|
+
* - Table column loops: {{#cols items}}...{{/cols}} duplicates columns
|
|
10
|
+
* - Image placeholders: {{%image}} resolves to an inline image
|
|
11
|
+
* - RichText placeholders: {{&richText}} resolves to paragraph children
|
|
12
|
+
* - Sub-document insertion: {{>subDoc}} resolves to body content blocks
|
|
13
|
+
* - Chart placeholders: {{^chart}} resolves to chart content
|
|
14
|
+
*
|
|
15
|
+
* Handles cross-run placeholders (Word often splits {{name}} across runs).
|
|
16
|
+
*/
|
|
17
|
+
import type { BaseErrorOptions } from "../../../utils/errors.js";
|
|
18
|
+
import { DocxError } from "../errors.js";
|
|
19
|
+
import type { DocxDocument, BodyContent, Run, ImageDef, Chart } from "../types.js";
|
|
20
|
+
/** Options for the template engine. */
|
|
21
|
+
export interface TemplateOptions {
|
|
22
|
+
/** Custom delimiters (default: ["{{", "}}"]). */
|
|
23
|
+
readonly delimiters?: readonly [string, string];
|
|
24
|
+
/**
|
|
25
|
+
* If true (default), throw `TemplateError` when a placeholder cannot be
|
|
26
|
+
* resolved. If false, unresolved variables render as the empty string and
|
|
27
|
+
* unresolved control directives are skipped silently.
|
|
28
|
+
*/
|
|
29
|
+
readonly strict?: boolean;
|
|
30
|
+
}
|
|
31
|
+
/** An image value to be inserted by the template engine. */
|
|
32
|
+
export interface TemplateImage {
|
|
33
|
+
/** Image definition (data, fileName, mediaType). */
|
|
34
|
+
readonly image: ImageDef;
|
|
35
|
+
/** Width in EMU. */
|
|
36
|
+
readonly width: number;
|
|
37
|
+
/** Height in EMU. */
|
|
38
|
+
readonly height: number;
|
|
39
|
+
/** Optional alt text. */
|
|
40
|
+
readonly altText?: string;
|
|
41
|
+
}
|
|
42
|
+
/** Rich text value: an array of runs to insert. */
|
|
43
|
+
export type TemplateRichText = readonly Run[];
|
|
44
|
+
/** Sub-document content: body blocks to insert. */
|
|
45
|
+
export type TemplateSubDocument = readonly BodyContent[];
|
|
46
|
+
/** Chart value to be inserted by the template engine. */
|
|
47
|
+
export interface TemplateChart {
|
|
48
|
+
readonly chart: Chart;
|
|
49
|
+
readonly altText?: string;
|
|
50
|
+
readonly name?: string;
|
|
51
|
+
}
|
|
52
|
+
/** HTML chunk value to be inserted as an altChunk body content. */
|
|
53
|
+
export interface TemplateHtmlChunk {
|
|
54
|
+
/** HTML content string. */
|
|
55
|
+
readonly html: string;
|
|
56
|
+
/** Optional content type (default: "text/html"). */
|
|
57
|
+
readonly contentType?: string;
|
|
58
|
+
}
|
|
59
|
+
/** Information about a template tag found in the document. */
|
|
60
|
+
export interface TemplateTag {
|
|
61
|
+
/** The raw tag expression (e.g. "name", "#each items", "%image"). */
|
|
62
|
+
readonly expression: string;
|
|
63
|
+
/** Tag type. */
|
|
64
|
+
readonly type: "variable" | "image" | "richText" | "subDocument" | "chart" | "htmlChunk" | "ifOpen" | "ifClose" | "else" | "eachOpen" | "eachClose" | "colsOpen" | "colsClose";
|
|
65
|
+
/** Location hint (e.g. "body paragraph 3", "header"). */
|
|
66
|
+
readonly location: string;
|
|
67
|
+
}
|
|
68
|
+
/** Error thrown when template processing fails. */
|
|
69
|
+
export declare class TemplateError extends DocxError {
|
|
70
|
+
readonly name = "TemplateError";
|
|
71
|
+
/** The placeholder that caused the error. */
|
|
72
|
+
readonly placeholder: string;
|
|
73
|
+
/** Location hint (e.g. "body paragraph 3", "header"). */
|
|
74
|
+
readonly location: string;
|
|
75
|
+
/** The tag name/expression that caused the error. */
|
|
76
|
+
readonly tagName?: string;
|
|
77
|
+
/** The paragraph index within the current block where the error occurred. */
|
|
78
|
+
readonly paragraphIndex?: number;
|
|
79
|
+
/** The section path (e.g. "body", "header:default", "footer:first"). */
|
|
80
|
+
readonly sectionPath?: string;
|
|
81
|
+
constructor(message: string, placeholder: string, location: string, options?: BaseErrorOptions & {
|
|
82
|
+
tagName?: string;
|
|
83
|
+
paragraphIndex?: number;
|
|
84
|
+
sectionPath?: string;
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Fill a DOCX template document with data.
|
|
89
|
+
*
|
|
90
|
+
* Processes all body content, headers, footers, footnotes, and endnotes.
|
|
91
|
+
* Operates on the document model in-place and returns it.
|
|
92
|
+
*
|
|
93
|
+
* @param doc - The parsed DocxDocument model.
|
|
94
|
+
* @param data - Data to fill into the template.
|
|
95
|
+
* @param options - Optional template settings.
|
|
96
|
+
* @returns The same DocxDocument with placeholders resolved.
|
|
97
|
+
*/
|
|
98
|
+
export declare function fillTemplate(doc: DocxDocument, data: Record<string, unknown>, options?: TemplateOptions): DocxDocument;
|
|
99
|
+
/**
|
|
100
|
+
* List all template tags found in a document.
|
|
101
|
+
*
|
|
102
|
+
* Scans body, headers, footers, footnotes, and endnotes for template
|
|
103
|
+
* placeholders. Useful for validating data objects against templates.
|
|
104
|
+
*
|
|
105
|
+
* @param doc - The parsed DocxDocument model.
|
|
106
|
+
* @param options - Optional settings (custom delimiters).
|
|
107
|
+
* @returns Array of all discovered template tags.
|
|
108
|
+
*/
|
|
109
|
+
export declare function listTemplateTags(doc: DocxDocument, options?: Pick<TemplateOptions, "delimiters">): TemplateTag[];
|
|
110
|
+
export declare function isTemplateChart(v: unknown): v is TemplateChart;
|
|
111
|
+
/**
|
|
112
|
+
* Enhanced fillTemplate that supports image (%img), richText (&rt),
|
|
113
|
+
* subDocument (>sub), and chart (^chart) placeholders in addition to the
|
|
114
|
+
* standard variable, conditional, and loop directives.
|
|
115
|
+
*
|
|
116
|
+
* Image placeholder: {{%imagePath}} — value must be a TemplateImage object.
|
|
117
|
+
* RichText placeholder: {{&richPath}} — value must be TemplateRichText (Run[]).
|
|
118
|
+
* SubDocument placeholder: {{>subPath}} — value must be TemplateSubDocument (BodyContent[]).
|
|
119
|
+
* Chart placeholder: {{^chartPath}} — value must be a TemplateChart object.
|
|
120
|
+
*/
|
|
121
|
+
export declare function fillTemplateEnhanced(doc: DocxDocument, data: Record<string, unknown>, options?: TemplateOptions): DocxDocument;
|