@cj-tech-master/excelts 9.5.4 → 9.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/modules/archive/compression/streaming-compress.browser.js +29 -0
- package/dist/browser/modules/archive/compression/streaming-compress.js +9 -0
- package/dist/browser/modules/archive/compression/worker-pool/pool.browser.js +26 -1
- package/dist/browser/modules/archive/fs/archive-file.d.ts +8 -5
- package/dist/browser/modules/archive/fs/archive-file.js +78 -16
- package/dist/browser/modules/archive/unzip/stream.browser.js +43 -2
- package/dist/browser/modules/excel/chart/chart-ex-builder.js +7 -2
- package/dist/browser/modules/excel/chart/chart-ex-renderer.js +4 -9
- package/dist/browser/modules/excel/chart/chart-ex-types.d.ts +0 -12
- package/dist/browser/modules/excel/chart/chart.d.ts +1 -5
- package/dist/browser/modules/excel/chart/chart.js +1 -7
- package/dist/browser/modules/excel/chart/types.d.ts +0 -6
- package/dist/browser/modules/excel/stream/workbook-reader.browser.js +25 -1
- package/dist/browser/modules/excel/stream/workbook-reader.js +9 -0
- package/dist/browser/modules/excel/stream/workbook-writer.browser.d.ts +40 -0
- package/dist/browser/modules/excel/stream/workbook-writer.browser.js +228 -13
- package/dist/browser/modules/excel/utils/string-buf.d.ts +5 -26
- package/dist/browser/modules/excel/utils/string-buf.js +4 -81
- package/dist/browser/modules/excel/workbook.browser.js +135 -25
- package/dist/browser/modules/excel/xlsx/xform/chart/chart-space-xform.js +6 -20
- package/dist/browser/modules/excel/xlsx/xlsx.browser.d.ts +19 -9
- package/dist/browser/modules/excel/xlsx/xlsx.browser.js +32 -8
- package/dist/browser/modules/excel/xlsx/xlsx.d.ts +10 -2
- package/dist/browser/modules/excel/xlsx/xlsx.js +9 -1
- package/dist/browser/modules/pdf/excel-bridge.d.ts +30 -1
- package/dist/browser/modules/pdf/excel-bridge.js +32 -0
- package/dist/browser/modules/pdf/font/metrics.d.ts +3 -52
- package/dist/browser/modules/pdf/font/metrics.js +3 -237
- package/dist/browser/modules/pdf/index.d.ts +1 -1
- package/dist/browser/modules/pdf/index.js +1 -1
- package/dist/browser/modules/pdf/render-layout-to-pdf.d.ts +66 -0
- package/dist/browser/modules/pdf/render-layout-to-pdf.js +647 -0
- package/dist/browser/modules/pdf/word-bridge.d.ts +80 -12
- package/dist/browser/modules/pdf/word-bridge.js +122 -274
- package/dist/browser/modules/stream/index.base.d.ts +2 -0
- package/dist/browser/modules/stream/index.base.js +2 -1
- package/dist/browser/modules/stream/internal/sink-adapter.d.ts +65 -0
- package/dist/browser/modules/stream/internal/sink-adapter.js +198 -0
- package/dist/browser/modules/stream/pull-stream.d.ts +19 -2
- package/dist/browser/modules/stream/pull-stream.js +51 -5
- package/dist/browser/modules/stream/types.d.ts +13 -1
- package/dist/browser/modules/word/advanced/diff.d.ts +61 -0
- package/dist/browser/modules/word/advanced/diff.js +167 -0
- package/dist/browser/modules/word/advanced/drawing-shapes.d.ts +269 -0
- package/dist/browser/modules/word/advanced/drawing-shapes.js +268 -0
- package/dist/browser/modules/word/advanced/field-engine.d.ts +43 -0
- package/dist/browser/modules/word/advanced/field-engine.js +1225 -0
- package/dist/browser/modules/word/advanced/glossary.d.ts +86 -0
- package/dist/browser/modules/word/advanced/glossary.js +79 -0
- package/dist/browser/modules/word/advanced/math-convert.d.ts +30 -0
- package/dist/browser/modules/word/advanced/math-convert.js +595 -0
- package/dist/browser/modules/word/advanced/ole-objects.d.ts +115 -0
- package/dist/browser/modules/word/advanced/ole-objects.js +271 -0
- package/dist/browser/modules/word/advanced/style-map.d.ts +105 -0
- package/dist/browser/modules/word/advanced/style-map.js +322 -0
- package/dist/browser/modules/word/advanced/validation.d.ts +56 -0
- package/dist/browser/modules/word/advanced/validation.js +1065 -0
- package/dist/browser/modules/word/advanced/vba-project.d.ts +91 -0
- package/dist/browser/modules/word/advanced/vba-project.js +265 -0
- package/dist/browser/modules/word/bridge/excel-bridge.d.ts +127 -0
- package/dist/browser/modules/word/bridge/excel-bridge.js +980 -0
- package/dist/browser/modules/word/builder/document-handle.d.ts +151 -0
- package/dist/browser/modules/word/builder/document-handle.js +664 -0
- package/dist/browser/modules/word/builder/paragraph-builders.d.ts +61 -0
- package/dist/browser/modules/word/builder/paragraph-builders.js +90 -0
- package/dist/browser/modules/word/builder/run-builders.d.ts +374 -0
- package/dist/browser/modules/word/builder/run-builders.js +600 -0
- package/dist/browser/modules/word/builder/table-builders.d.ts +23 -0
- package/dist/browser/modules/word/builder/table-builders.js +45 -0
- package/dist/browser/modules/word/constants.d.ts +39 -1
- package/dist/browser/modules/word/constants.js +109 -1
- package/dist/browser/modules/word/convert/conversion-ir.d.ts +210 -0
- package/dist/browser/modules/word/convert/conversion-ir.js +31 -0
- package/dist/browser/modules/word/convert/docx-to-semantic.d.ts +39 -0
- package/dist/browser/modules/word/convert/docx-to-semantic.js +499 -0
- package/dist/browser/modules/word/convert/flat-opc.d.ts +44 -0
- package/dist/browser/modules/word/convert/flat-opc.js +385 -0
- package/dist/browser/modules/word/convert/html/html-import.d.ts +50 -0
- package/dist/browser/modules/word/convert/html/html-import.js +1907 -0
- package/dist/{types/modules/word → browser/modules/word/convert/html}/html-renderer.d.ts +14 -1
- package/dist/{esm/modules/word → browser/modules/word/convert/html}/html-renderer.js +420 -69
- package/dist/browser/modules/word/convert/html/html.d.ts +15 -0
- package/dist/browser/modules/word/convert/html/html.js +15 -0
- package/dist/browser/modules/word/convert/markdown/markdown-import.d.ts +68 -0
- package/dist/browser/modules/word/convert/markdown/markdown-import.js +1325 -0
- package/dist/browser/modules/word/convert/markdown/markdown-renderer.d.ts +25 -0
- package/dist/browser/modules/word/convert/markdown/markdown-renderer.js +634 -0
- package/dist/browser/modules/word/convert/markdown/markdown.d.ts +15 -0
- package/dist/browser/modules/word/convert/markdown/markdown.js +15 -0
- package/dist/browser/modules/word/convert/odt/odt.d.ts +41 -0
- package/dist/browser/modules/word/convert/odt/odt.js +1932 -0
- package/dist/browser/modules/word/{color-utils.d.ts → core/color-utils.d.ts} +8 -1
- package/dist/browser/modules/word/core/color-utils.js +43 -0
- package/dist/browser/modules/word/core/internal-utils.d.ts +90 -0
- package/dist/browser/modules/word/core/internal-utils.js +209 -0
- package/dist/browser/modules/word/core/mapper.d.ts +44 -0
- package/dist/browser/modules/word/core/mapper.js +427 -0
- package/dist/browser/modules/word/core/opc-paths.d.ts +33 -0
- package/dist/browser/modules/word/core/opc-paths.js +48 -0
- package/dist/browser/modules/word/core/text-utils.d.ts +38 -0
- package/dist/browser/modules/word/core/text-utils.js +202 -0
- package/dist/browser/modules/word/core/walker.d.ts +119 -0
- package/dist/browser/modules/word/core/walker.js +570 -0
- package/dist/browser/modules/word/crypto.d.ts +14 -9
- package/dist/browser/modules/word/crypto.js +13 -7
- package/dist/browser/modules/word/document-io.d.ts +59 -27
- package/dist/browser/modules/word/document-io.js +80 -197
- package/dist/browser/modules/word/errors.d.ts +44 -1
- package/dist/browser/modules/word/errors.js +54 -2
- package/dist/browser/modules/word/excel.d.ts +14 -0
- package/dist/browser/modules/word/excel.js +13 -0
- package/dist/browser/modules/word/font/font-embed.d.ts +112 -0
- package/dist/browser/modules/word/font/font-embed.js +646 -0
- package/dist/{esm/modules/word → browser/modules/word/font}/font-obfuscation.js +4 -9
- package/dist/browser/modules/word/font/hyphenation.d.ts +65 -0
- package/dist/browser/modules/word/font/hyphenation.js +4210 -0
- package/dist/browser/modules/word/font/text-shaping.d.ts +58 -0
- package/dist/browser/modules/word/font/text-shaping.js +635 -0
- package/dist/browser/modules/word/html.d.ts +7 -6
- package/dist/browser/modules/word/html.js +6 -5
- package/dist/browser/modules/word/incremental-edit.d.ts +123 -0
- package/dist/browser/modules/word/incremental-edit.js +361 -0
- package/dist/browser/modules/word/index.base.d.ts +194 -10
- package/dist/browser/modules/word/index.base.js +138 -29
- package/dist/browser/modules/word/layout/layout-constants.d.ts +17 -0
- package/dist/browser/modules/word/layout/layout-constants.js +17 -0
- package/dist/browser/modules/word/layout/layout-full.d.ts +53 -0
- package/dist/browser/modules/word/layout/layout-full.js +1696 -0
- package/dist/browser/modules/word/layout/layout-model.d.ts +344 -0
- package/dist/browser/modules/word/layout/layout-model.js +16 -0
- package/dist/browser/modules/word/layout/layout.d.ts +63 -0
- package/dist/browser/modules/word/layout/layout.js +1167 -0
- package/dist/browser/modules/word/layout/render-page.d.ts +57 -0
- package/dist/browser/modules/word/layout/render-page.js +1238 -0
- package/dist/browser/modules/word/markdown.d.ts +14 -0
- package/dist/browser/modules/word/markdown.js +13 -0
- package/dist/browser/modules/word/patcher.d.ts +62 -0
- package/dist/browser/modules/word/patcher.js +537 -0
- package/dist/browser/modules/word/query/compat.d.ts +25 -0
- package/dist/browser/modules/word/query/compat.js +58 -0
- package/dist/browser/modules/word/query/data-binding.d.ts +22 -0
- package/dist/browser/modules/word/query/data-binding.js +392 -0
- package/dist/browser/modules/word/query/form-fields.d.ts +41 -0
- package/dist/browser/modules/word/query/form-fields.js +268 -0
- package/dist/browser/modules/word/query/format-search.d.ts +99 -0
- package/dist/browser/modules/word/query/format-search.js +329 -0
- package/dist/browser/modules/word/query/mail-merge.d.ts +25 -0
- package/dist/browser/modules/word/query/mail-merge.js +111 -0
- package/dist/browser/modules/word/query/merge.d.ts +50 -0
- package/dist/browser/modules/word/query/merge.js +617 -0
- package/dist/browser/modules/word/query/replace.d.ts +47 -0
- package/dist/browser/modules/word/query/replace.js +301 -0
- package/dist/browser/modules/word/query/revisions.d.ts +67 -0
- package/dist/browser/modules/word/query/revisions.js +879 -0
- package/dist/browser/modules/word/query/search.d.ts +129 -0
- package/dist/browser/modules/word/query/search.js +346 -0
- package/dist/browser/modules/word/query/split.d.ts +44 -0
- package/dist/browser/modules/word/query/split.js +135 -0
- package/dist/browser/modules/word/query/style-resolve.d.ts +104 -0
- package/dist/browser/modules/word/query/style-resolve.js +368 -0
- package/dist/browser/modules/word/reader/chart-parser.d.ts +20 -0
- package/dist/browser/modules/word/reader/chart-parser.js +810 -0
- package/dist/browser/modules/word/reader/comments-parser.d.ts +26 -0
- package/dist/browser/modules/word/reader/comments-parser.js +92 -0
- package/dist/browser/modules/word/reader/doc-props-parsers.d.ts +15 -0
- package/dist/browser/modules/word/reader/doc-props-parsers.js +190 -0
- package/dist/browser/modules/word/reader/docx-reader.d.ts +27 -0
- package/dist/browser/modules/word/reader/docx-reader.js +2557 -0
- package/dist/browser/modules/word/reader/drawing-helpers.d.ts +27 -0
- package/dist/browser/modules/word/reader/drawing-helpers.js +84 -0
- package/dist/browser/modules/word/reader/form-field-parser.d.ts +21 -0
- package/dist/browser/modules/word/reader/form-field-parser.js +82 -0
- package/dist/browser/modules/word/reader/image-parsers.d.ts +11 -0
- package/dist/browser/modules/word/reader/image-parsers.js +291 -0
- package/dist/browser/modules/word/reader/math-parser.d.ts +12 -0
- package/dist/browser/modules/word/reader/math-parser.js +422 -0
- package/dist/browser/modules/word/reader/metadata-parsers.d.ts +17 -0
- package/dist/browser/modules/word/reader/metadata-parsers.js +87 -0
- package/dist/browser/modules/word/reader/numbering-parser.d.ts +13 -0
- package/dist/browser/modules/word/reader/numbering-parser.js +166 -0
- package/dist/browser/modules/word/reader/paragraph-section-parsers.d.ts +12 -0
- package/dist/browser/modules/word/reader/paragraph-section-parsers.js +503 -0
- package/dist/browser/modules/word/reader/parse-utils.d.ts +91 -0
- package/dist/browser/modules/word/reader/parse-utils.js +249 -0
- package/dist/browser/modules/word/reader/properties-parsers.d.ts +21 -0
- package/dist/browser/modules/word/reader/properties-parsers.js +332 -0
- package/dist/browser/modules/word/reader/reader-context.d.ts +69 -0
- package/dist/browser/modules/word/reader/reader-context.js +61 -0
- package/dist/browser/modules/word/reader/sdt-helpers.d.ts +29 -0
- package/dist/browser/modules/word/reader/sdt-helpers.js +111 -0
- package/dist/browser/modules/word/reader/settings-parser.d.ts +8 -0
- package/dist/browser/modules/word/reader/settings-parser.js +263 -0
- package/dist/browser/modules/word/reader/styles-parser.d.ts +12 -0
- package/dist/browser/modules/word/reader/styles-parser.js +147 -0
- package/dist/browser/modules/word/reader/table-properties-parsers.d.ts +12 -0
- package/dist/browser/modules/word/reader/table-properties-parsers.js +234 -0
- package/dist/browser/modules/word/reader/theme-parser.d.ts +8 -0
- package/dist/browser/modules/word/reader/theme-parser.js +167 -0
- package/dist/browser/modules/word/reader/watermark-parser.d.ts +15 -0
- package/dist/browser/modules/word/reader/watermark-parser.js +110 -0
- package/dist/browser/modules/word/security/cfb-reader.d.ts +37 -0
- package/dist/browser/modules/word/security/cfb-reader.js +410 -0
- package/dist/browser/modules/word/{digital-signatures.d.ts → security/digital-signatures.d.ts} +19 -11
- package/dist/browser/modules/word/{digital-signatures.js → security/digital-signatures.js} +34 -34
- package/dist/browser/modules/word/security/document-protection.d.ts +93 -0
- package/dist/browser/modules/word/security/document-protection.js +201 -0
- package/dist/{types/modules/word → browser/modules/word/security}/encryption.d.ts +51 -4
- package/dist/browser/modules/word/security/encryption.js +602 -0
- package/dist/browser/modules/word/security/policy.d.ts +80 -0
- package/dist/browser/modules/word/security/policy.js +102 -0
- package/dist/browser/modules/word/template/template-chart.d.ts +56 -0
- package/dist/browser/modules/word/template/template-chart.js +167 -0
- package/dist/browser/modules/word/template/template-datasource.d.ts +154 -0
- package/dist/browser/modules/word/template/template-datasource.js +541 -0
- package/dist/browser/modules/word/template/template-engine.d.ts +121 -0
- package/dist/browser/modules/word/template/template-engine.js +1435 -0
- package/dist/browser/modules/word/types.d.ts +224 -25
- package/dist/browser/modules/word/units.d.ts +26 -0
- package/dist/browser/modules/word/units.js +43 -14
- package/dist/browser/modules/word/{writers → writer}/chart-writer.js +164 -23
- package/dist/browser/modules/word/writer/checkbox-writer.d.ts +17 -0
- package/dist/browser/modules/word/writer/checkbox-writer.js +79 -0
- package/dist/{types/modules/word/writers → browser/modules/word/writer}/comment-writer.d.ts +2 -1
- package/dist/browser/modules/word/{writers → writer}/comment-writer.js +8 -6
- package/dist/browser/modules/word/writer/common-parts.d.ts +57 -0
- package/dist/browser/modules/word/writer/common-parts.js +101 -0
- package/dist/{types/modules/word → browser/modules/word/writer}/content-types.d.ts +2 -2
- package/dist/{esm/modules/word → browser/modules/word/writer}/content-types.js +14 -6
- package/dist/browser/modules/word/writer/document-writer.d.ts +24 -0
- package/dist/browser/modules/word/writer/document-writer.js +473 -0
- package/dist/browser/modules/word/writer/docx-packager.d.ts +35 -0
- package/dist/browser/modules/word/writer/docx-packager.js +1515 -0
- package/dist/{types/modules/word/writers → browser/modules/word/writer}/footnote-writer.d.ts +3 -2
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/footnote-writer.js +13 -10
- package/dist/{types/modules/word/writers → browser/modules/word/writer}/header-footer-writer.d.ts +3 -2
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/header-footer-writer.js +39 -21
- package/dist/{types/modules/word/writers → browser/modules/word/writer}/image-writer.d.ts +1 -1
- package/dist/browser/modules/word/{writers → writer}/image-writer.js +11 -7
- package/dist/browser/modules/word/writer/math-writer.d.ts +20 -0
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/math-writer.js +21 -1
- package/dist/browser/modules/word/{writers → writer}/numbering-writer.d.ts +1 -1
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/numbering-writer.js +11 -4
- package/dist/browser/modules/word/{writers → writer}/paragraph-writer.d.ts +2 -1
- package/dist/browser/modules/word/{writers → writer}/paragraph-writer.js +73 -38
- package/dist/browser/modules/word/{writers → writer}/parts-writer.d.ts +3 -3
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/parts-writer.js +91 -12
- package/dist/browser/modules/word/writer/reference-scanners.d.ts +42 -0
- package/dist/browser/modules/word/writer/reference-scanners.js +111 -0
- package/dist/browser/modules/word/writer/relationships.d.ts +52 -0
- package/dist/browser/modules/word/writer/relationships.js +117 -0
- package/dist/browser/modules/word/writer/render-context.d.ts +124 -0
- package/dist/browser/modules/word/writer/render-context.js +46 -0
- package/dist/browser/modules/word/{writers → writer}/run-writer.d.ts +10 -1
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/run-writer.js +126 -24
- package/dist/browser/modules/word/writer/sdt-writer.d.ts +25 -0
- package/dist/browser/modules/word/writer/sdt-writer.js +189 -0
- package/dist/browser/modules/word/writer/stream-buf.d.ts +37 -0
- package/dist/browser/modules/word/writer/stream-buf.js +73 -0
- package/dist/browser/modules/word/writer/streaming-writer.d.ts +344 -0
- package/dist/browser/modules/word/writer/streaming-writer.js +1382 -0
- package/dist/browser/modules/word/writer/string-buf.d.ts +8 -0
- package/dist/browser/modules/word/writer/string-buf.js +7 -0
- package/dist/browser/modules/word/{writers → writer}/styles-writer.js +32 -1
- package/dist/browser/modules/word/{writers → writer}/table-writer.d.ts +2 -1
- package/dist/browser/modules/word/{writers → writer}/table-writer.js +94 -11
- package/dist/browser/modules/xml/types.d.ts +22 -0
- package/dist/browser/utils/crypto.browser.d.ts +3 -1
- package/dist/browser/utils/crypto.browser.js +3 -1
- package/dist/browser/utils/crypto.d.ts +4 -1
- package/dist/browser/utils/crypto.js +4 -1
- package/dist/browser/utils/font-metrics.d.ts +63 -0
- package/dist/browser/utils/font-metrics.js +293 -0
- package/dist/browser/utils/string-buf.d.ts +42 -0
- package/dist/browser/utils/string-buf.js +89 -0
- package/dist/browser/utils/theme-colors.d.ts +55 -0
- package/dist/browser/utils/theme-colors.js +120 -0
- package/dist/cjs/modules/archive/compression/streaming-compress.browser.js +29 -0
- package/dist/cjs/modules/archive/compression/streaming-compress.js +9 -0
- package/dist/cjs/modules/archive/compression/worker-pool/pool.browser.js +26 -1
- package/dist/cjs/modules/archive/fs/archive-file.js +78 -16
- package/dist/cjs/modules/archive/unzip/stream.browser.js +43 -2
- package/dist/cjs/modules/excel/chart/chart-ex-builder.js +7 -2
- package/dist/cjs/modules/excel/chart/chart-ex-renderer.js +4 -9
- package/dist/cjs/modules/excel/chart/chart.js +1 -7
- package/dist/cjs/modules/excel/stream/workbook-reader.browser.js +25 -1
- package/dist/cjs/modules/excel/stream/workbook-reader.js +9 -0
- package/dist/cjs/modules/excel/stream/workbook-writer.browser.js +228 -13
- package/dist/cjs/modules/excel/utils/string-buf.js +5 -81
- package/dist/cjs/modules/excel/workbook.browser.js +135 -25
- package/dist/cjs/modules/excel/xlsx/xform/chart/chart-space-xform.js +6 -20
- package/dist/cjs/modules/excel/xlsx/xlsx.browser.js +32 -8
- package/dist/cjs/modules/excel/xlsx/xlsx.js +9 -1
- package/dist/cjs/modules/pdf/excel-bridge.js +33 -0
- package/dist/cjs/modules/pdf/font/metrics.js +11 -244
- package/dist/cjs/modules/pdf/index.js +2 -1
- package/dist/cjs/modules/pdf/render-layout-to-pdf.js +651 -0
- package/dist/cjs/modules/pdf/word-bridge.js +155 -274
- package/dist/cjs/modules/stream/index.base.js +4 -2
- package/dist/cjs/modules/stream/internal/sink-adapter.js +202 -0
- package/dist/cjs/modules/stream/pull-stream.js +51 -5
- package/dist/cjs/modules/word/advanced/diff.js +170 -0
- package/dist/cjs/modules/word/advanced/drawing-shapes.js +279 -0
- package/dist/cjs/modules/word/advanced/field-engine.js +1229 -0
- package/dist/cjs/modules/word/advanced/glossary.js +87 -0
- package/dist/cjs/modules/word/advanced/math-convert.js +599 -0
- package/dist/cjs/modules/word/advanced/ole-objects.js +277 -0
- package/dist/cjs/modules/word/advanced/style-map.js +329 -0
- package/dist/cjs/modules/word/advanced/validation.js +1068 -0
- package/dist/cjs/modules/word/advanced/vba-project.js +274 -0
- package/dist/cjs/modules/word/bridge/excel-bridge.js +1020 -0
- package/dist/cjs/modules/word/builder/document-handle.js +667 -0
- package/dist/cjs/modules/word/builder/paragraph-builders.js +109 -0
- package/dist/cjs/modules/word/builder/run-builders.js +676 -0
- package/dist/cjs/modules/word/builder/table-builders.js +53 -0
- package/dist/cjs/modules/word/constants.js +111 -2
- package/dist/cjs/modules/word/convert/conversion-ir.js +34 -0
- package/dist/cjs/modules/word/convert/docx-to-semantic.js +502 -0
- package/dist/cjs/modules/word/convert/flat-opc.js +390 -0
- package/dist/cjs/modules/word/convert/html/html-import.js +1910 -0
- package/dist/cjs/modules/word/{html-renderer.js → convert/html/html-renderer.js} +420 -69
- package/dist/cjs/modules/word/convert/html/html.js +20 -0
- package/dist/cjs/modules/word/convert/markdown/markdown-import.js +1329 -0
- package/dist/cjs/modules/word/convert/markdown/markdown-renderer.js +637 -0
- package/dist/cjs/modules/word/convert/markdown/markdown.js +21 -0
- package/dist/cjs/modules/word/convert/odt/odt.js +1936 -0
- package/dist/cjs/modules/word/core/color-utils.js +47 -0
- package/dist/cjs/modules/word/core/internal-utils.js +219 -0
- package/dist/cjs/modules/word/core/mapper.js +430 -0
- package/dist/cjs/modules/word/core/opc-paths.js +53 -0
- package/dist/cjs/modules/word/core/text-utils.js +210 -0
- package/dist/cjs/modules/word/core/walker.js +577 -0
- package/dist/cjs/modules/word/crypto.js +19 -8
- package/dist/cjs/modules/word/document-io.js +117 -197
- package/dist/cjs/modules/word/errors.js +59 -13
- package/dist/cjs/modules/word/excel.js +22 -0
- package/dist/cjs/modules/word/font/font-embed.js +652 -0
- package/dist/cjs/modules/word/{font-obfuscation.js → font/font-obfuscation.js} +4 -9
- package/dist/cjs/modules/word/font/hyphenation.js +4216 -0
- package/dist/cjs/modules/word/font/text-shaping.js +640 -0
- package/dist/cjs/modules/word/html.js +9 -7
- package/dist/cjs/modules/word/incremental-edit.js +366 -0
- package/dist/cjs/modules/word/index.base.js +370 -137
- package/dist/cjs/modules/word/layout/layout-constants.js +20 -0
- package/dist/cjs/modules/word/layout/layout-full.js +1699 -0
- package/dist/cjs/modules/word/layout/layout-model.js +17 -0
- package/dist/cjs/modules/word/layout/layout.js +1170 -0
- package/dist/cjs/modules/word/layout/render-page.js +1243 -0
- package/dist/cjs/modules/word/markdown.js +19 -0
- package/dist/cjs/modules/word/patcher.js +539 -0
- package/dist/cjs/modules/word/query/compat.js +61 -0
- package/dist/cjs/modules/word/query/data-binding.js +395 -0
- package/dist/cjs/modules/word/query/form-fields.js +272 -0
- package/dist/cjs/modules/word/query/format-search.js +334 -0
- package/dist/cjs/modules/word/query/mail-merge.js +114 -0
- package/dist/cjs/modules/word/query/merge.js +620 -0
- package/dist/cjs/modules/word/query/replace.js +304 -0
- package/dist/cjs/modules/word/query/revisions.js +885 -0
- package/dist/cjs/modules/word/query/search.js +361 -0
- package/dist/cjs/modules/word/query/split.js +138 -0
- package/dist/cjs/modules/word/query/style-resolve.js +374 -0
- package/dist/cjs/modules/word/reader/chart-parser.js +814 -0
- package/dist/cjs/modules/word/reader/comments-parser.js +96 -0
- package/dist/cjs/modules/word/reader/doc-props-parsers.js +194 -0
- package/dist/cjs/modules/word/reader/docx-reader.js +2560 -0
- package/dist/cjs/modules/word/reader/drawing-helpers.js +90 -0
- package/dist/cjs/modules/word/reader/form-field-parser.js +85 -0
- package/dist/cjs/modules/word/reader/image-parsers.js +293 -0
- package/dist/cjs/modules/word/reader/math-parser.js +424 -0
- package/dist/cjs/modules/word/reader/metadata-parsers.js +93 -0
- package/dist/cjs/modules/word/reader/numbering-parser.js +168 -0
- package/dist/cjs/modules/word/reader/paragraph-section-parsers.js +505 -0
- package/dist/cjs/modules/word/reader/parse-utils.js +271 -0
- package/dist/cjs/modules/word/reader/properties-parsers.js +338 -0
- package/dist/cjs/modules/word/reader/reader-context.js +66 -0
- package/dist/cjs/modules/word/reader/sdt-helpers.js +114 -0
- package/dist/cjs/modules/word/reader/settings-parser.js +265 -0
- package/dist/cjs/modules/word/reader/styles-parser.js +149 -0
- package/dist/cjs/modules/word/reader/table-properties-parsers.js +237 -0
- package/dist/cjs/modules/word/reader/theme-parser.js +169 -0
- package/dist/cjs/modules/word/reader/watermark-parser.js +113 -0
- package/dist/cjs/modules/word/security/cfb-reader.js +414 -0
- package/dist/cjs/modules/word/{digital-signatures.js → security/digital-signatures.js} +34 -34
- package/dist/cjs/modules/word/security/document-protection.js +208 -0
- package/dist/cjs/modules/word/security/encryption.js +612 -0
- package/dist/cjs/modules/word/security/policy.js +106 -0
- package/dist/cjs/modules/word/template/template-chart.js +170 -0
- package/dist/cjs/modules/word/template/template-datasource.js +549 -0
- package/dist/cjs/modules/word/template/template-engine.js +1430 -0
- package/dist/cjs/modules/word/units.js +44 -14
- package/dist/cjs/modules/word/{writers → writer}/chart-writer.js +163 -22
- package/dist/cjs/modules/word/writer/checkbox-writer.js +82 -0
- package/dist/cjs/modules/word/{writers → writer}/comment-writer.js +8 -6
- package/dist/cjs/modules/word/writer/common-parts.js +104 -0
- package/dist/cjs/modules/word/{content-types.js → writer/content-types.js} +14 -6
- package/dist/cjs/modules/word/writer/document-writer.js +478 -0
- package/dist/cjs/modules/word/writer/docx-packager.js +1551 -0
- package/dist/cjs/modules/word/{writers → writer}/footnote-writer.js +13 -10
- package/dist/cjs/modules/word/{writers → writer}/header-footer-writer.js +38 -20
- package/dist/cjs/modules/word/{writers → writer}/image-writer.js +11 -7
- package/dist/cjs/modules/word/{writers → writer}/math-writer.js +21 -1
- package/dist/cjs/modules/word/{writers → writer}/numbering-writer.js +11 -4
- package/dist/cjs/modules/word/{writers → writer}/paragraph-writer.js +72 -37
- package/dist/cjs/modules/word/{writers → writer}/parts-writer.js +91 -12
- package/dist/cjs/modules/word/writer/reference-scanners.js +120 -0
- package/dist/cjs/modules/word/writer/relationships.js +124 -0
- package/dist/cjs/modules/word/writer/render-context.js +51 -0
- package/dist/cjs/modules/word/{writers → writer}/run-writer.js +127 -24
- package/dist/cjs/modules/word/writer/sdt-writer.js +192 -0
- package/dist/cjs/modules/word/writer/stream-buf.js +76 -0
- package/dist/cjs/modules/word/writer/streaming-writer.js +1387 -0
- package/dist/cjs/modules/word/writer/string-buf.js +11 -0
- package/dist/cjs/modules/word/{writers → writer}/styles-writer.js +32 -1
- package/dist/cjs/modules/word/{writers → writer}/table-writer.js +94 -11
- package/dist/cjs/utils/crypto.browser.js +3 -1
- package/dist/cjs/utils/crypto.js +4 -1
- package/dist/cjs/utils/font-metrics.js +303 -0
- package/dist/cjs/utils/string-buf.js +92 -0
- package/dist/cjs/utils/theme-colors.js +126 -0
- package/dist/esm/modules/archive/compression/streaming-compress.browser.js +29 -0
- package/dist/esm/modules/archive/compression/streaming-compress.js +9 -0
- package/dist/esm/modules/archive/compression/worker-pool/pool.browser.js +26 -1
- package/dist/esm/modules/archive/fs/archive-file.js +78 -16
- package/dist/esm/modules/archive/unzip/stream.browser.js +43 -2
- package/dist/esm/modules/excel/chart/chart-ex-builder.js +7 -2
- package/dist/esm/modules/excel/chart/chart-ex-renderer.js +4 -9
- package/dist/esm/modules/excel/chart/chart.js +1 -7
- package/dist/esm/modules/excel/stream/workbook-reader.browser.js +25 -1
- package/dist/esm/modules/excel/stream/workbook-reader.js +9 -0
- package/dist/esm/modules/excel/stream/workbook-writer.browser.js +228 -13
- package/dist/esm/modules/excel/utils/string-buf.js +4 -81
- package/dist/esm/modules/excel/workbook.browser.js +135 -25
- package/dist/esm/modules/excel/xlsx/xform/chart/chart-space-xform.js +6 -20
- package/dist/esm/modules/excel/xlsx/xlsx.browser.js +32 -8
- package/dist/esm/modules/excel/xlsx/xlsx.js +9 -1
- package/dist/esm/modules/pdf/excel-bridge.js +32 -0
- package/dist/esm/modules/pdf/font/metrics.js +3 -237
- package/dist/esm/modules/pdf/index.js +1 -1
- package/dist/esm/modules/pdf/render-layout-to-pdf.js +647 -0
- package/dist/esm/modules/pdf/word-bridge.js +122 -274
- package/dist/esm/modules/stream/index.base.js +2 -1
- package/dist/esm/modules/stream/internal/sink-adapter.js +198 -0
- package/dist/esm/modules/stream/pull-stream.js +51 -5
- package/dist/esm/modules/word/advanced/diff.js +167 -0
- package/dist/esm/modules/word/advanced/drawing-shapes.js +268 -0
- package/dist/esm/modules/word/advanced/field-engine.js +1225 -0
- package/dist/esm/modules/word/advanced/glossary.js +79 -0
- package/dist/esm/modules/word/advanced/math-convert.js +595 -0
- package/dist/esm/modules/word/advanced/ole-objects.js +271 -0
- package/dist/esm/modules/word/advanced/style-map.js +322 -0
- package/dist/esm/modules/word/advanced/validation.js +1065 -0
- package/dist/esm/modules/word/advanced/vba-project.js +265 -0
- package/dist/esm/modules/word/bridge/excel-bridge.js +980 -0
- package/dist/esm/modules/word/builder/document-handle.js +664 -0
- package/dist/esm/modules/word/builder/paragraph-builders.js +90 -0
- package/dist/esm/modules/word/builder/run-builders.js +600 -0
- package/dist/esm/modules/word/builder/table-builders.js +45 -0
- package/dist/esm/modules/word/constants.js +109 -1
- package/dist/esm/modules/word/convert/conversion-ir.js +31 -0
- package/dist/esm/modules/word/convert/docx-to-semantic.js +499 -0
- package/dist/esm/modules/word/convert/flat-opc.js +385 -0
- package/dist/esm/modules/word/convert/html/html-import.js +1907 -0
- package/dist/{browser/modules/word → esm/modules/word/convert/html}/html-renderer.js +420 -69
- package/dist/esm/modules/word/convert/html/html.js +15 -0
- package/dist/esm/modules/word/convert/markdown/markdown-import.js +1325 -0
- package/dist/esm/modules/word/convert/markdown/markdown-renderer.js +634 -0
- package/dist/esm/modules/word/convert/markdown/markdown.js +15 -0
- package/dist/esm/modules/word/convert/odt/odt.js +1932 -0
- package/dist/esm/modules/word/core/color-utils.js +43 -0
- package/dist/esm/modules/word/core/internal-utils.js +209 -0
- package/dist/esm/modules/word/core/mapper.js +427 -0
- package/dist/esm/modules/word/core/opc-paths.js +48 -0
- package/dist/esm/modules/word/core/text-utils.js +202 -0
- package/dist/esm/modules/word/core/walker.js +570 -0
- package/dist/esm/modules/word/crypto.js +13 -7
- package/dist/esm/modules/word/document-io.js +80 -197
- package/dist/esm/modules/word/errors.js +54 -2
- package/dist/esm/modules/word/excel.js +13 -0
- package/dist/esm/modules/word/font/font-embed.js +646 -0
- package/dist/{browser/modules/word → esm/modules/word/font}/font-obfuscation.js +4 -9
- package/dist/esm/modules/word/font/hyphenation.js +4210 -0
- package/dist/esm/modules/word/font/text-shaping.js +635 -0
- package/dist/esm/modules/word/html.js +6 -5
- package/dist/esm/modules/word/incremental-edit.js +361 -0
- package/dist/esm/modules/word/index.base.js +138 -29
- package/dist/esm/modules/word/layout/layout-constants.js +17 -0
- package/dist/esm/modules/word/layout/layout-full.js +1696 -0
- package/dist/esm/modules/word/layout/layout-model.js +16 -0
- package/dist/esm/modules/word/layout/layout.js +1167 -0
- package/dist/esm/modules/word/layout/render-page.js +1238 -0
- package/dist/esm/modules/word/markdown.js +13 -0
- package/dist/esm/modules/word/patcher.js +537 -0
- package/dist/esm/modules/word/query/compat.js +58 -0
- package/dist/esm/modules/word/query/data-binding.js +392 -0
- package/dist/esm/modules/word/query/form-fields.js +268 -0
- package/dist/esm/modules/word/query/format-search.js +329 -0
- package/dist/esm/modules/word/query/mail-merge.js +111 -0
- package/dist/esm/modules/word/query/merge.js +617 -0
- package/dist/esm/modules/word/query/replace.js +301 -0
- package/dist/esm/modules/word/query/revisions.js +879 -0
- package/dist/esm/modules/word/query/search.js +346 -0
- package/dist/esm/modules/word/query/split.js +135 -0
- package/dist/esm/modules/word/query/style-resolve.js +368 -0
- package/dist/esm/modules/word/reader/chart-parser.js +810 -0
- package/dist/esm/modules/word/reader/comments-parser.js +92 -0
- package/dist/esm/modules/word/reader/doc-props-parsers.js +190 -0
- package/dist/esm/modules/word/reader/docx-reader.js +2557 -0
- package/dist/esm/modules/word/reader/drawing-helpers.js +84 -0
- package/dist/esm/modules/word/reader/form-field-parser.js +82 -0
- package/dist/esm/modules/word/reader/image-parsers.js +291 -0
- package/dist/esm/modules/word/reader/math-parser.js +422 -0
- package/dist/esm/modules/word/reader/metadata-parsers.js +87 -0
- package/dist/esm/modules/word/reader/numbering-parser.js +166 -0
- package/dist/esm/modules/word/reader/paragraph-section-parsers.js +503 -0
- package/dist/esm/modules/word/reader/parse-utils.js +249 -0
- package/dist/esm/modules/word/reader/properties-parsers.js +332 -0
- package/dist/esm/modules/word/reader/reader-context.js +61 -0
- package/dist/esm/modules/word/reader/sdt-helpers.js +111 -0
- package/dist/esm/modules/word/reader/settings-parser.js +263 -0
- package/dist/esm/modules/word/reader/styles-parser.js +147 -0
- package/dist/esm/modules/word/reader/table-properties-parsers.js +234 -0
- package/dist/esm/modules/word/reader/theme-parser.js +167 -0
- package/dist/esm/modules/word/reader/watermark-parser.js +110 -0
- package/dist/esm/modules/word/security/cfb-reader.js +410 -0
- package/dist/esm/modules/word/{digital-signatures.js → security/digital-signatures.js} +34 -34
- package/dist/esm/modules/word/security/document-protection.js +201 -0
- package/dist/esm/modules/word/security/encryption.js +602 -0
- package/dist/esm/modules/word/security/policy.js +102 -0
- package/dist/esm/modules/word/template/template-chart.js +167 -0
- package/dist/esm/modules/word/template/template-datasource.js +541 -0
- package/dist/esm/modules/word/template/template-engine.js +1435 -0
- package/dist/esm/modules/word/units.js +43 -14
- package/dist/esm/modules/word/{writers → writer}/chart-writer.js +164 -23
- package/dist/esm/modules/word/writer/checkbox-writer.js +79 -0
- package/dist/esm/modules/word/{writers → writer}/comment-writer.js +8 -6
- package/dist/esm/modules/word/writer/common-parts.js +101 -0
- package/dist/{browser/modules/word → esm/modules/word/writer}/content-types.js +14 -6
- package/dist/esm/modules/word/writer/document-writer.js +473 -0
- package/dist/esm/modules/word/writer/docx-packager.js +1515 -0
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/footnote-writer.js +13 -10
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/header-footer-writer.js +39 -21
- package/dist/esm/modules/word/{writers → writer}/image-writer.js +11 -7
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/math-writer.js +21 -1
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/numbering-writer.js +11 -4
- package/dist/esm/modules/word/{writers → writer}/paragraph-writer.js +73 -38
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/parts-writer.js +91 -12
- package/dist/esm/modules/word/writer/reference-scanners.js +111 -0
- package/dist/esm/modules/word/writer/relationships.js +117 -0
- package/dist/esm/modules/word/writer/render-context.js +46 -0
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/run-writer.js +126 -24
- package/dist/esm/modules/word/writer/sdt-writer.js +189 -0
- package/dist/esm/modules/word/writer/stream-buf.js +73 -0
- package/dist/esm/modules/word/writer/streaming-writer.js +1382 -0
- package/dist/esm/modules/word/writer/string-buf.js +7 -0
- package/dist/esm/modules/word/{writers → writer}/styles-writer.js +32 -1
- package/dist/esm/modules/word/{writers → writer}/table-writer.js +94 -11
- package/dist/esm/utils/crypto.browser.js +3 -1
- package/dist/esm/utils/crypto.js +4 -1
- package/dist/esm/utils/font-metrics.js +293 -0
- package/dist/esm/utils/string-buf.js +89 -0
- package/dist/esm/utils/theme-colors.js +120 -0
- package/dist/iife/excelts.iife.js +70692 -70337
- package/dist/iife/excelts.iife.js.map +1 -1
- package/dist/iife/excelts.iife.min.js +57 -57
- package/dist/types/modules/archive/fs/archive-file.d.ts +8 -5
- package/dist/types/modules/excel/chart/chart-ex-types.d.ts +0 -12
- package/dist/types/modules/excel/chart/chart.d.ts +1 -5
- package/dist/types/modules/excel/chart/types.d.ts +0 -6
- package/dist/types/modules/excel/stream/workbook-writer.browser.d.ts +40 -0
- package/dist/types/modules/excel/utils/string-buf.d.ts +5 -26
- package/dist/types/modules/excel/xlsx/xlsx.browser.d.ts +19 -9
- package/dist/types/modules/excel/xlsx/xlsx.d.ts +10 -2
- package/dist/types/modules/pdf/excel-bridge.d.ts +30 -1
- package/dist/types/modules/pdf/font/metrics.d.ts +3 -52
- package/dist/types/modules/pdf/index.d.ts +1 -1
- package/dist/types/modules/pdf/render-layout-to-pdf.d.ts +66 -0
- package/dist/types/modules/pdf/word-bridge.d.ts +80 -12
- package/dist/types/modules/stream/index.base.d.ts +2 -0
- package/dist/types/modules/stream/internal/sink-adapter.d.ts +65 -0
- package/dist/types/modules/stream/pull-stream.d.ts +19 -2
- package/dist/types/modules/stream/types.d.ts +13 -1
- package/dist/types/modules/word/advanced/diff.d.ts +61 -0
- package/dist/types/modules/word/advanced/drawing-shapes.d.ts +269 -0
- package/dist/types/modules/word/advanced/field-engine.d.ts +43 -0
- package/dist/types/modules/word/advanced/glossary.d.ts +86 -0
- package/dist/types/modules/word/advanced/math-convert.d.ts +30 -0
- package/dist/types/modules/word/advanced/ole-objects.d.ts +115 -0
- package/dist/types/modules/word/advanced/style-map.d.ts +105 -0
- package/dist/types/modules/word/advanced/validation.d.ts +56 -0
- package/dist/types/modules/word/advanced/vba-project.d.ts +91 -0
- package/dist/types/modules/word/bridge/excel-bridge.d.ts +127 -0
- package/dist/types/modules/word/builder/document-handle.d.ts +151 -0
- package/dist/types/modules/word/builder/paragraph-builders.d.ts +61 -0
- package/dist/types/modules/word/builder/run-builders.d.ts +374 -0
- package/dist/types/modules/word/builder/table-builders.d.ts +23 -0
- package/dist/types/modules/word/constants.d.ts +39 -1
- package/dist/types/modules/word/convert/conversion-ir.d.ts +210 -0
- package/dist/types/modules/word/convert/docx-to-semantic.d.ts +39 -0
- package/dist/types/modules/word/convert/flat-opc.d.ts +44 -0
- package/dist/types/modules/word/convert/html/html-import.d.ts +50 -0
- package/dist/{browser/modules/word → types/modules/word/convert/html}/html-renderer.d.ts +14 -1
- package/dist/types/modules/word/convert/html/html.d.ts +15 -0
- package/dist/types/modules/word/convert/markdown/markdown-import.d.ts +68 -0
- package/dist/types/modules/word/convert/markdown/markdown-renderer.d.ts +25 -0
- package/dist/types/modules/word/convert/markdown/markdown.d.ts +15 -0
- package/dist/types/modules/word/convert/odt/odt.d.ts +41 -0
- package/dist/types/modules/word/{color-utils.d.ts → core/color-utils.d.ts} +8 -1
- package/dist/types/modules/word/core/internal-utils.d.ts +90 -0
- package/dist/types/modules/word/core/mapper.d.ts +44 -0
- package/dist/types/modules/word/core/opc-paths.d.ts +33 -0
- package/dist/types/modules/word/core/text-utils.d.ts +38 -0
- package/dist/types/modules/word/core/walker.d.ts +119 -0
- package/dist/types/modules/word/crypto.d.ts +14 -9
- package/dist/types/modules/word/document-io.d.ts +59 -27
- package/dist/types/modules/word/errors.d.ts +44 -1
- package/dist/types/modules/word/excel.d.ts +14 -0
- package/dist/types/modules/word/font/font-embed.d.ts +112 -0
- package/dist/types/modules/word/font/hyphenation.d.ts +65 -0
- package/dist/types/modules/word/font/text-shaping.d.ts +58 -0
- package/dist/types/modules/word/html.d.ts +7 -6
- package/dist/types/modules/word/incremental-edit.d.ts +123 -0
- package/dist/types/modules/word/index.base.d.ts +194 -10
- package/dist/types/modules/word/layout/layout-constants.d.ts +17 -0
- package/dist/types/modules/word/layout/layout-full.d.ts +53 -0
- package/dist/types/modules/word/layout/layout-model.d.ts +344 -0
- package/dist/types/modules/word/layout/layout.d.ts +63 -0
- package/dist/types/modules/word/layout/render-page.d.ts +57 -0
- package/dist/types/modules/word/markdown.d.ts +14 -0
- package/dist/types/modules/word/patcher.d.ts +62 -0
- package/dist/types/modules/word/query/compat.d.ts +25 -0
- package/dist/types/modules/word/query/data-binding.d.ts +22 -0
- package/dist/types/modules/word/query/form-fields.d.ts +41 -0
- package/dist/types/modules/word/query/format-search.d.ts +99 -0
- package/dist/types/modules/word/query/mail-merge.d.ts +25 -0
- package/dist/types/modules/word/query/merge.d.ts +50 -0
- package/dist/types/modules/word/query/replace.d.ts +47 -0
- package/dist/types/modules/word/query/revisions.d.ts +67 -0
- package/dist/types/modules/word/query/search.d.ts +129 -0
- package/dist/types/modules/word/query/split.d.ts +44 -0
- package/dist/types/modules/word/query/style-resolve.d.ts +104 -0
- package/dist/types/modules/word/reader/chart-parser.d.ts +20 -0
- package/dist/types/modules/word/reader/comments-parser.d.ts +26 -0
- package/dist/types/modules/word/reader/doc-props-parsers.d.ts +15 -0
- package/dist/types/modules/word/reader/docx-reader.d.ts +27 -0
- package/dist/types/modules/word/reader/drawing-helpers.d.ts +27 -0
- package/dist/types/modules/word/reader/form-field-parser.d.ts +21 -0
- package/dist/types/modules/word/reader/image-parsers.d.ts +11 -0
- package/dist/types/modules/word/reader/math-parser.d.ts +12 -0
- package/dist/types/modules/word/reader/metadata-parsers.d.ts +17 -0
- package/dist/types/modules/word/reader/numbering-parser.d.ts +13 -0
- package/dist/types/modules/word/reader/paragraph-section-parsers.d.ts +12 -0
- package/dist/types/modules/word/reader/parse-utils.d.ts +91 -0
- package/dist/types/modules/word/reader/properties-parsers.d.ts +21 -0
- package/dist/types/modules/word/reader/reader-context.d.ts +69 -0
- package/dist/types/modules/word/reader/sdt-helpers.d.ts +29 -0
- package/dist/types/modules/word/reader/settings-parser.d.ts +8 -0
- package/dist/types/modules/word/reader/styles-parser.d.ts +12 -0
- package/dist/types/modules/word/reader/table-properties-parsers.d.ts +12 -0
- package/dist/types/modules/word/reader/theme-parser.d.ts +8 -0
- package/dist/types/modules/word/reader/watermark-parser.d.ts +15 -0
- package/dist/types/modules/word/security/cfb-reader.d.ts +37 -0
- package/dist/types/modules/word/{digital-signatures.d.ts → security/digital-signatures.d.ts} +19 -11
- package/dist/types/modules/word/security/document-protection.d.ts +93 -0
- package/dist/{browser/modules/word → types/modules/word/security}/encryption.d.ts +51 -4
- package/dist/types/modules/word/security/policy.d.ts +80 -0
- package/dist/types/modules/word/template/template-chart.d.ts +56 -0
- package/dist/types/modules/word/template/template-datasource.d.ts +154 -0
- package/dist/types/modules/word/template/template-engine.d.ts +121 -0
- package/dist/types/modules/word/types.d.ts +224 -25
- package/dist/types/modules/word/units.d.ts +26 -0
- package/dist/types/modules/word/writer/checkbox-writer.d.ts +17 -0
- package/dist/{browser/modules/word/writers → types/modules/word/writer}/comment-writer.d.ts +2 -1
- package/dist/types/modules/word/writer/common-parts.d.ts +57 -0
- package/dist/{browser/modules/word → types/modules/word/writer}/content-types.d.ts +2 -2
- package/dist/types/modules/word/writer/document-writer.d.ts +24 -0
- package/dist/types/modules/word/writer/docx-packager.d.ts +35 -0
- package/dist/{browser/modules/word/writers → types/modules/word/writer}/footnote-writer.d.ts +3 -2
- package/dist/{browser/modules/word/writers → types/modules/word/writer}/header-footer-writer.d.ts +3 -2
- package/dist/{browser/modules/word/writers → types/modules/word/writer}/image-writer.d.ts +1 -1
- package/dist/types/modules/word/writer/math-writer.d.ts +20 -0
- package/dist/types/modules/word/{writers → writer}/numbering-writer.d.ts +1 -1
- package/dist/types/modules/word/{writers → writer}/paragraph-writer.d.ts +2 -1
- package/dist/types/modules/word/{writers → writer}/parts-writer.d.ts +3 -3
- package/dist/types/modules/word/writer/reference-scanners.d.ts +42 -0
- package/dist/types/modules/word/writer/relationships.d.ts +52 -0
- package/dist/types/modules/word/writer/render-context.d.ts +124 -0
- package/dist/types/modules/word/{writers → writer}/run-writer.d.ts +10 -1
- package/dist/types/modules/word/writer/sdt-writer.d.ts +25 -0
- package/dist/types/modules/word/writer/stream-buf.d.ts +37 -0
- package/dist/types/modules/word/writer/streaming-writer.d.ts +344 -0
- package/dist/types/modules/word/writer/string-buf.d.ts +8 -0
- package/dist/types/modules/word/{writers → writer}/table-writer.d.ts +2 -1
- package/dist/types/modules/xml/types.d.ts +22 -0
- package/dist/types/utils/crypto.browser.d.ts +3 -1
- package/dist/types/utils/crypto.d.ts +4 -1
- package/dist/types/utils/font-metrics.d.ts +63 -0
- package/dist/types/utils/string-buf.d.ts +42 -0
- package/dist/types/utils/theme-colors.d.ts +55 -0
- package/package.json +121 -39
- package/dist/browser/modules/word/color-utils.js +0 -94
- package/dist/browser/modules/word/document.d.ts +0 -657
- package/dist/browser/modules/word/document.js +0 -1533
- package/dist/browser/modules/word/docx-packager.d.ts +0 -14
- package/dist/browser/modules/word/docx-packager.js +0 -822
- package/dist/browser/modules/word/docx-reader.d.ts +0 -11
- package/dist/browser/modules/word/docx-reader.js +0 -4929
- package/dist/browser/modules/word/encryption.js +0 -274
- package/dist/browser/modules/word/internal-utils.d.ts +0 -23
- package/dist/browser/modules/word/internal-utils.js +0 -54
- package/dist/browser/modules/word/namespaces.d.ts +0 -159
- package/dist/browser/modules/word/namespaces.js +0 -189
- package/dist/browser/modules/word/relationships.d.ts +0 -30
- package/dist/browser/modules/word/relationships.js +0 -48
- package/dist/browser/modules/word/writers/checkbox-writer.d.ts +0 -9
- package/dist/browser/modules/word/writers/checkbox-writer.js +0 -42
- package/dist/browser/modules/word/writers/document-writer.d.ts +0 -16
- package/dist/browser/modules/word/writers/document-writer.js +0 -461
- package/dist/browser/modules/word/writers/math-writer.d.ts +0 -9
- package/dist/cjs/modules/word/color-utils.js +0 -97
- package/dist/cjs/modules/word/document.js +0 -1645
- package/dist/cjs/modules/word/docx-packager.js +0 -825
- package/dist/cjs/modules/word/docx-reader.js +0 -4932
- package/dist/cjs/modules/word/encryption.js +0 -282
- package/dist/cjs/modules/word/internal-utils.js +0 -59
- package/dist/cjs/modules/word/namespaces.js +0 -192
- package/dist/cjs/modules/word/relationships.js +0 -55
- package/dist/cjs/modules/word/writers/checkbox-writer.js +0 -45
- package/dist/cjs/modules/word/writers/document-writer.js +0 -465
- package/dist/esm/modules/word/color-utils.js +0 -94
- package/dist/esm/modules/word/document.js +0 -1533
- package/dist/esm/modules/word/docx-packager.js +0 -822
- package/dist/esm/modules/word/docx-reader.js +0 -4929
- package/dist/esm/modules/word/encryption.js +0 -274
- package/dist/esm/modules/word/internal-utils.js +0 -54
- package/dist/esm/modules/word/namespaces.js +0 -189
- package/dist/esm/modules/word/relationships.js +0 -48
- package/dist/esm/modules/word/writers/checkbox-writer.js +0 -42
- package/dist/esm/modules/word/writers/document-writer.js +0 -461
- package/dist/types/modules/word/document.d.ts +0 -657
- package/dist/types/modules/word/docx-packager.d.ts +0 -14
- package/dist/types/modules/word/docx-reader.d.ts +0 -11
- package/dist/types/modules/word/internal-utils.d.ts +0 -23
- package/dist/types/modules/word/namespaces.d.ts +0 -159
- package/dist/types/modules/word/relationships.d.ts +0 -30
- package/dist/types/modules/word/writers/checkbox-writer.d.ts +0 -9
- package/dist/types/modules/word/writers/document-writer.d.ts +0 -16
- package/dist/types/modules/word/writers/math-writer.d.ts +0 -9
- /package/dist/browser/modules/word/{font-obfuscation.d.ts → font/font-obfuscation.d.ts} +0 -0
- /package/dist/browser/modules/word/{writers → writer}/chart-writer.d.ts +0 -0
- /package/dist/browser/modules/word/{writers → writer}/section-writer.d.ts +0 -0
- /package/dist/browser/modules/word/{writers → writer}/section-writer.js +0 -0
- /package/dist/browser/modules/word/{writers → writer}/styles-writer.d.ts +0 -0
- /package/dist/browser/modules/word/{writers → writer}/textbox-writer.d.ts +0 -0
- /package/dist/browser/modules/word/{writers → writer}/textbox-writer.js +0 -0
- /package/dist/browser/modules/word/{writers → writer}/toc-writer.d.ts +0 -0
- /package/dist/browser/modules/word/{writers → writer}/toc-writer.js +0 -0
- /package/dist/cjs/modules/word/{writers → writer}/section-writer.js +0 -0
- /package/dist/cjs/modules/word/{writers → writer}/textbox-writer.js +0 -0
- /package/dist/cjs/modules/word/{writers → writer}/toc-writer.js +0 -0
- /package/dist/esm/modules/word/{writers → writer}/section-writer.js +0 -0
- /package/dist/esm/modules/word/{writers → writer}/textbox-writer.js +0 -0
- /package/dist/esm/modules/word/{writers → writer}/toc-writer.js +0 -0
- /package/dist/types/modules/word/{font-obfuscation.d.ts → font/font-obfuscation.d.ts} +0 -0
- /package/dist/types/modules/word/{writers → writer}/chart-writer.d.ts +0 -0
- /package/dist/types/modules/word/{writers → writer}/section-writer.d.ts +0 -0
- /package/dist/types/modules/word/{writers → writer}/styles-writer.d.ts +0 -0
- /package/dist/types/modules/word/{writers → writer}/textbox-writer.d.ts +0 -0
- /package/dist/types/modules/word/{writers → writer}/toc-writer.d.ts +0 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Style Resolution (Effective/Computed Style)
|
|
3
|
+
*
|
|
4
|
+
* Resolve the effective style for a paragraph by walking the style inheritance chain.
|
|
5
|
+
*/
|
|
6
|
+
import type { DocxDocument, Paragraph, ParagraphProperties, Run, RunProperties, TableLook, TableProperties } from "../types.js";
|
|
7
|
+
/** Context for style resolution when a paragraph is inside a table. */
|
|
8
|
+
export interface StyleResolveContext {
|
|
9
|
+
/** If the paragraph is inside a table, provide table context. */
|
|
10
|
+
readonly tableContext?: {
|
|
11
|
+
readonly tableStyleId?: string;
|
|
12
|
+
readonly tblLook?: TableLook;
|
|
13
|
+
readonly rowIndex: number;
|
|
14
|
+
readonly colIndex: number;
|
|
15
|
+
readonly totalRows: number;
|
|
16
|
+
readonly totalCols: number;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/** Resolved paragraph properties with all inherited values merged. */
|
|
20
|
+
export interface ResolvedParagraphStyle {
|
|
21
|
+
/** The style chain (from most specific to base). */
|
|
22
|
+
readonly chain: readonly string[];
|
|
23
|
+
/** Merged paragraph properties (inherited + own). */
|
|
24
|
+
readonly paragraphProperties: ParagraphProperties;
|
|
25
|
+
/** Merged run properties (inherited + own). */
|
|
26
|
+
readonly runProperties: RunProperties;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Resolve the effective (computed) style for a paragraph by walking the style inheritance chain.
|
|
30
|
+
*
|
|
31
|
+
* Merges properties from the document defaults → base style chain → table conditional formats → paragraph's own properties.
|
|
32
|
+
*
|
|
33
|
+
* @param doc - The document containing styles and defaults.
|
|
34
|
+
* @param para - The paragraph to resolve styles for.
|
|
35
|
+
* @param context - Optional context providing table position for conditional format overlay.
|
|
36
|
+
* @returns The fully resolved paragraph style with all inherited properties merged.
|
|
37
|
+
*/
|
|
38
|
+
export declare function resolveStyle(doc: DocxDocument, para: Paragraph, context?: StyleResolveContext): ResolvedParagraphStyle;
|
|
39
|
+
/** Resolved run style with full inheritance chain. */
|
|
40
|
+
export interface ResolvedRunStyle {
|
|
41
|
+
/** Style chain (most specific → base). */
|
|
42
|
+
readonly chain: readonly string[];
|
|
43
|
+
/** Merged run properties. */
|
|
44
|
+
readonly runProperties: RunProperties;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Resolve the effective style for a single Run by walking the character
|
|
48
|
+
* style inheritance chain.
|
|
49
|
+
*
|
|
50
|
+
* Resolution order (low → high specificity):
|
|
51
|
+
* 1. Document defaults
|
|
52
|
+
* 2. Paragraph's resolved style (if `paragraphRunProperties` provided)
|
|
53
|
+
* 3. Run's character style chain (if `run.properties.style` is set)
|
|
54
|
+
* 4. Run's own direct properties
|
|
55
|
+
*
|
|
56
|
+
* @param doc - The document containing styles.
|
|
57
|
+
* @param run - The run to resolve.
|
|
58
|
+
* @param paragraphRunProperties - Optional inherited run properties from the
|
|
59
|
+
* parent paragraph's resolved style. Pass `resolveStyle(doc, para).runProperties`
|
|
60
|
+
* to layer the paragraph style on top of doc defaults.
|
|
61
|
+
* @returns The fully resolved run style.
|
|
62
|
+
*/
|
|
63
|
+
export declare function resolveRunStyle(doc: DocxDocument, run: Run, paragraphRunProperties?: RunProperties): ResolvedRunStyle;
|
|
64
|
+
/** Resolved numbering level information. */
|
|
65
|
+
export interface ResolvedNumberingLevel {
|
|
66
|
+
/** The level index (0-8). */
|
|
67
|
+
readonly level: number;
|
|
68
|
+
/** Number format. */
|
|
69
|
+
readonly format?: string;
|
|
70
|
+
/** Level text template (e.g. `"%1."`). */
|
|
71
|
+
readonly text?: string;
|
|
72
|
+
/** Justification. */
|
|
73
|
+
readonly justification?: string;
|
|
74
|
+
/** Run properties for the numbering text itself (bullet/number marker). */
|
|
75
|
+
readonly runProperties?: RunProperties;
|
|
76
|
+
/** Paragraph properties from the level (indent, alignment, etc.). */
|
|
77
|
+
readonly paragraphProperties?: ParagraphProperties;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Resolve the numbering level for a paragraph that has a numbering reference.
|
|
81
|
+
*
|
|
82
|
+
* Walks: paragraph.numbering → numberingInstances → abstractNumberings → level definition.
|
|
83
|
+
* Also applies `LevelOverride` if present.
|
|
84
|
+
*
|
|
85
|
+
* @param doc - The document.
|
|
86
|
+
* @param para - The paragraph (must have `numbering` set).
|
|
87
|
+
* @returns The resolved level, or undefined if no numbering or level not found.
|
|
88
|
+
*/
|
|
89
|
+
export declare function resolveNumberingLevel(doc: DocxDocument, para: Paragraph): ResolvedNumberingLevel | undefined;
|
|
90
|
+
/**
|
|
91
|
+
* Resolve table-level styles for a given table.
|
|
92
|
+
*
|
|
93
|
+
* Walks the table style inheritance chain (basedOn) to merge table properties.
|
|
94
|
+
*
|
|
95
|
+
* @param doc - The document.
|
|
96
|
+
* @param tableStyleId - The starting table style ID.
|
|
97
|
+
* @returns The merged table-level style chain.
|
|
98
|
+
*/
|
|
99
|
+
export declare function resolveTableStyle(doc: DocxDocument, tableStyleId: string): {
|
|
100
|
+
chain: string[];
|
|
101
|
+
paragraphProperties: ParagraphProperties;
|
|
102
|
+
runProperties: RunProperties;
|
|
103
|
+
tableProperties?: TableProperties;
|
|
104
|
+
};
|
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Style Resolution (Effective/Computed Style)
|
|
3
|
+
*
|
|
4
|
+
* Resolve the effective style for a paragraph by walking the style inheritance chain.
|
|
5
|
+
*/
|
|
6
|
+
// =============================================================================
|
|
7
|
+
// Public API
|
|
8
|
+
// =============================================================================
|
|
9
|
+
/**
|
|
10
|
+
* Resolve the effective (computed) style for a paragraph by walking the style inheritance chain.
|
|
11
|
+
*
|
|
12
|
+
* Merges properties from the document defaults → base style chain → table conditional formats → paragraph's own properties.
|
|
13
|
+
*
|
|
14
|
+
* @param doc - The document containing styles and defaults.
|
|
15
|
+
* @param para - The paragraph to resolve styles for.
|
|
16
|
+
* @param context - Optional context providing table position for conditional format overlay.
|
|
17
|
+
* @returns The fully resolved paragraph style with all inherited properties merged.
|
|
18
|
+
*/
|
|
19
|
+
export function resolveStyle(doc, para, context) {
|
|
20
|
+
const styleMap = new Map();
|
|
21
|
+
if (doc.styles) {
|
|
22
|
+
for (const s of doc.styles) {
|
|
23
|
+
styleMap.set(s.styleId, s);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
// Walk the chain from paragraph's style to root
|
|
27
|
+
const chain = [];
|
|
28
|
+
const styleId = para.properties?.style;
|
|
29
|
+
if (styleId) {
|
|
30
|
+
let current = styleId;
|
|
31
|
+
const visited = new Set();
|
|
32
|
+
while (current && !visited.has(current)) {
|
|
33
|
+
visited.add(current);
|
|
34
|
+
chain.push(current);
|
|
35
|
+
const def = styleMap.get(current);
|
|
36
|
+
current = def?.basedOn;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// Build merged properties: start from doc defaults, apply chain bottom-up, then paragraph
|
|
40
|
+
let mergedPProps = {};
|
|
41
|
+
let mergedRProps = {};
|
|
42
|
+
// Document defaults
|
|
43
|
+
if (doc.docDefaults) {
|
|
44
|
+
if (doc.docDefaults.paragraphProperties) {
|
|
45
|
+
mergedPProps = { ...doc.docDefaults.paragraphProperties };
|
|
46
|
+
}
|
|
47
|
+
if (doc.docDefaults.runProperties) {
|
|
48
|
+
mergedRProps = { ...doc.docDefaults.runProperties };
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// Apply style chain (from base to most specific)
|
|
52
|
+
for (let i = chain.length - 1; i >= 0; i--) {
|
|
53
|
+
const def = styleMap.get(chain[i]);
|
|
54
|
+
if (!def) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
if (def.paragraphProperties) {
|
|
58
|
+
mergedPProps = { ...mergedPProps, ...stripUndefined(def.paragraphProperties) };
|
|
59
|
+
}
|
|
60
|
+
if (def.runProperties) {
|
|
61
|
+
mergedRProps = { ...mergedRProps, ...stripUndefined(def.runProperties) };
|
|
62
|
+
}
|
|
63
|
+
// Linked styles: if a paragraph style links to a character style, merge its runProperties.
|
|
64
|
+
// The linked character style's runProperties layer on top of the paragraph style's own
|
|
65
|
+
// runProperties at the same level, giving the linked style slightly higher specificity.
|
|
66
|
+
if (def.type === "paragraph" && def.link) {
|
|
67
|
+
const linkedDef = styleMap.get(def.link);
|
|
68
|
+
if (linkedDef?.type === "character" && linkedDef.runProperties) {
|
|
69
|
+
mergedRProps = { ...mergedRProps, ...stripUndefined(linkedDef.runProperties) };
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Apply table conditional format overlay (higher priority than base table/paragraph style,
|
|
74
|
+
// but lower priority than paragraph's own direct properties).
|
|
75
|
+
if (context?.tableContext?.tableStyleId) {
|
|
76
|
+
const tblCtx = context.tableContext;
|
|
77
|
+
const tableStyleId = tblCtx.tableStyleId;
|
|
78
|
+
const tblStyleDef = styleMap.get(tableStyleId);
|
|
79
|
+
if (tblStyleDef?.tableStyleConditions) {
|
|
80
|
+
const matchingConditions = getMatchingTableConditions(tblStyleDef.tableStyleConditions, tblCtx.tblLook, tblCtx.rowIndex, tblCtx.colIndex, tblCtx.totalRows, tblCtx.totalCols);
|
|
81
|
+
for (const cond of matchingConditions) {
|
|
82
|
+
if (cond.paragraphProperties) {
|
|
83
|
+
mergedPProps = { ...mergedPProps, ...stripUndefined(cond.paragraphProperties) };
|
|
84
|
+
}
|
|
85
|
+
if (cond.runProperties) {
|
|
86
|
+
mergedRProps = { ...mergedRProps, ...stripUndefined(cond.runProperties) };
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// Apply paragraph's own properties (most specific)
|
|
92
|
+
if (para.properties) {
|
|
93
|
+
const { style: _s, sectionProperties: _sp, ...ownPProps } = para.properties;
|
|
94
|
+
mergedPProps = { ...mergedPProps, ...stripUndefined(ownPProps) };
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
chain,
|
|
98
|
+
paragraphProperties: mergedPProps,
|
|
99
|
+
runProperties: mergedRProps
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
// =============================================================================
|
|
103
|
+
// Internal helpers
|
|
104
|
+
// =============================================================================
|
|
105
|
+
/** Remove undefined values from an object (so spreading doesn't override with undefined). */
|
|
106
|
+
function stripUndefined(obj) {
|
|
107
|
+
const result = {};
|
|
108
|
+
for (const [k, v] of Object.entries(obj)) {
|
|
109
|
+
if (v !== undefined) {
|
|
110
|
+
result[k] = v;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return result;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Determine which table style conditions match the given cell position.
|
|
117
|
+
*
|
|
118
|
+
* Returns matching conditions in application order (banding → whole row/col → corner cells).
|
|
119
|
+
* Within Word, the specificity order from lowest to highest is:
|
|
120
|
+
* banding → first/last row/col → corner cells.
|
|
121
|
+
*/
|
|
122
|
+
function getMatchingTableConditions(conditions, look, rowIndex, colIndex, totalRows, totalCols) {
|
|
123
|
+
// Resolve effective banding flags: noHBand means band rows are disabled,
|
|
124
|
+
// noVBand means band columns are disabled.
|
|
125
|
+
const bandRow = look?.noHBand !== true;
|
|
126
|
+
const bandCol = look?.noVBand !== true;
|
|
127
|
+
// Build a set of applicable condition types based on position and tblLook.
|
|
128
|
+
const applicable = new Set();
|
|
129
|
+
// Banding (lowest priority among conditions)
|
|
130
|
+
if (bandRow) {
|
|
131
|
+
if (rowIndex % 2 === 0) {
|
|
132
|
+
applicable.add("oddRowBanding");
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
applicable.add("evenRowBanding");
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
if (bandCol) {
|
|
139
|
+
if (colIndex % 2 === 0) {
|
|
140
|
+
applicable.add("oddColumnBanding");
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
applicable.add("evenColumnBanding");
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// Whole row/column conditions
|
|
147
|
+
if (rowIndex === 0 && look?.firstRow !== false) {
|
|
148
|
+
applicable.add("firstRow");
|
|
149
|
+
}
|
|
150
|
+
if (rowIndex === totalRows - 1 && look?.lastRow !== false) {
|
|
151
|
+
applicable.add("lastRow");
|
|
152
|
+
}
|
|
153
|
+
if (colIndex === 0 && look?.firstColumn !== false) {
|
|
154
|
+
applicable.add("firstColumn");
|
|
155
|
+
}
|
|
156
|
+
if (colIndex === totalCols - 1 && look?.lastColumn !== false) {
|
|
157
|
+
applicable.add("lastColumn");
|
|
158
|
+
}
|
|
159
|
+
// Corner cells (highest priority among conditions)
|
|
160
|
+
if (rowIndex === 0 && colIndex === 0 && look?.firstRow !== false && look?.firstColumn !== false) {
|
|
161
|
+
applicable.add("topLeftCell");
|
|
162
|
+
}
|
|
163
|
+
if (rowIndex === 0 &&
|
|
164
|
+
colIndex === totalCols - 1 &&
|
|
165
|
+
look?.firstRow !== false &&
|
|
166
|
+
look?.lastColumn !== false) {
|
|
167
|
+
applicable.add("topRightCell");
|
|
168
|
+
}
|
|
169
|
+
if (rowIndex === totalRows - 1 &&
|
|
170
|
+
colIndex === 0 &&
|
|
171
|
+
look?.lastRow !== false &&
|
|
172
|
+
look?.firstColumn !== false) {
|
|
173
|
+
applicable.add("bottomLeftCell");
|
|
174
|
+
}
|
|
175
|
+
if (rowIndex === totalRows - 1 &&
|
|
176
|
+
colIndex === totalCols - 1 &&
|
|
177
|
+
look?.lastRow !== false &&
|
|
178
|
+
look?.lastColumn !== false) {
|
|
179
|
+
applicable.add("bottomRightCell");
|
|
180
|
+
}
|
|
181
|
+
// Filter and sort conditions by specificity order:
|
|
182
|
+
// banding < first/last row/col < corner cells
|
|
183
|
+
const priorityOrder = [
|
|
184
|
+
"oddRowBanding",
|
|
185
|
+
"evenRowBanding",
|
|
186
|
+
"oddColumnBanding",
|
|
187
|
+
"evenColumnBanding",
|
|
188
|
+
"firstRow",
|
|
189
|
+
"lastRow",
|
|
190
|
+
"firstColumn",
|
|
191
|
+
"lastColumn",
|
|
192
|
+
"topLeftCell",
|
|
193
|
+
"topRightCell",
|
|
194
|
+
"bottomLeftCell",
|
|
195
|
+
"bottomRightCell"
|
|
196
|
+
];
|
|
197
|
+
const priorityMap = new Map();
|
|
198
|
+
for (let i = 0; i < priorityOrder.length; i++) {
|
|
199
|
+
priorityMap.set(priorityOrder[i], i);
|
|
200
|
+
}
|
|
201
|
+
return conditions
|
|
202
|
+
.filter(c => applicable.has(c.type))
|
|
203
|
+
.sort((a, b) => (priorityMap.get(a.type) ?? 0) - (priorityMap.get(b.type) ?? 0));
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Resolve the effective style for a single Run by walking the character
|
|
207
|
+
* style inheritance chain.
|
|
208
|
+
*
|
|
209
|
+
* Resolution order (low → high specificity):
|
|
210
|
+
* 1. Document defaults
|
|
211
|
+
* 2. Paragraph's resolved style (if `paragraphRunProperties` provided)
|
|
212
|
+
* 3. Run's character style chain (if `run.properties.style` is set)
|
|
213
|
+
* 4. Run's own direct properties
|
|
214
|
+
*
|
|
215
|
+
* @param doc - The document containing styles.
|
|
216
|
+
* @param run - The run to resolve.
|
|
217
|
+
* @param paragraphRunProperties - Optional inherited run properties from the
|
|
218
|
+
* parent paragraph's resolved style. Pass `resolveStyle(doc, para).runProperties`
|
|
219
|
+
* to layer the paragraph style on top of doc defaults.
|
|
220
|
+
* @returns The fully resolved run style.
|
|
221
|
+
*/
|
|
222
|
+
export function resolveRunStyle(doc, run, paragraphRunProperties) {
|
|
223
|
+
const styleMap = new Map();
|
|
224
|
+
if (doc.styles) {
|
|
225
|
+
for (const s of doc.styles) {
|
|
226
|
+
styleMap.set(s.styleId, s);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
// Build chain from run's character style
|
|
230
|
+
const chain = [];
|
|
231
|
+
const runStyleId = run.properties?.style;
|
|
232
|
+
if (runStyleId) {
|
|
233
|
+
let current = runStyleId;
|
|
234
|
+
const visited = new Set();
|
|
235
|
+
while (current && !visited.has(current)) {
|
|
236
|
+
visited.add(current);
|
|
237
|
+
chain.push(current);
|
|
238
|
+
const def = styleMap.get(current);
|
|
239
|
+
current = def?.basedOn;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
let merged = {};
|
|
243
|
+
// 1. Document defaults
|
|
244
|
+
if (doc.docDefaults?.runProperties) {
|
|
245
|
+
merged = { ...doc.docDefaults.runProperties };
|
|
246
|
+
}
|
|
247
|
+
// 2. Inherited from paragraph's resolved style
|
|
248
|
+
if (paragraphRunProperties) {
|
|
249
|
+
merged = { ...merged, ...stripUndefined(paragraphRunProperties) };
|
|
250
|
+
}
|
|
251
|
+
// 3. Run's character style chain (base → specific)
|
|
252
|
+
for (let i = chain.length - 1; i >= 0; i--) {
|
|
253
|
+
const def = styleMap.get(chain[i]);
|
|
254
|
+
if (def?.runProperties) {
|
|
255
|
+
merged = { ...merged, ...stripUndefined(def.runProperties) };
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
// 4. Run's own direct properties (highest priority)
|
|
259
|
+
if (run.properties) {
|
|
260
|
+
const { style: _s, ...own } = run.properties;
|
|
261
|
+
merged = { ...merged, ...stripUndefined(own) };
|
|
262
|
+
}
|
|
263
|
+
return {
|
|
264
|
+
chain,
|
|
265
|
+
runProperties: merged
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Resolve the numbering level for a paragraph that has a numbering reference.
|
|
270
|
+
*
|
|
271
|
+
* Walks: paragraph.numbering → numberingInstances → abstractNumberings → level definition.
|
|
272
|
+
* Also applies `LevelOverride` if present.
|
|
273
|
+
*
|
|
274
|
+
* @param doc - The document.
|
|
275
|
+
* @param para - The paragraph (must have `numbering` set).
|
|
276
|
+
* @returns The resolved level, or undefined if no numbering or level not found.
|
|
277
|
+
*/
|
|
278
|
+
export function resolveNumberingLevel(doc, para) {
|
|
279
|
+
const numRef = para.properties?.numbering;
|
|
280
|
+
if (!numRef) {
|
|
281
|
+
return undefined;
|
|
282
|
+
}
|
|
283
|
+
// Find numbering instance
|
|
284
|
+
const instance = doc.numberingInstances?.find(n => n.numId === numRef.numId);
|
|
285
|
+
if (!instance) {
|
|
286
|
+
return undefined;
|
|
287
|
+
}
|
|
288
|
+
// Check for level override first
|
|
289
|
+
const override = instance.overrides?.find(o => o.level === numRef.level);
|
|
290
|
+
let levelDef;
|
|
291
|
+
if (override?.levelDef) {
|
|
292
|
+
levelDef = override.levelDef;
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
// Walk to abstract numbering
|
|
296
|
+
const absNum = doc.abstractNumberings?.find(a => a.abstractNumId === instance.abstractNumId);
|
|
297
|
+
levelDef = absNum?.levels.find(l => l.level === numRef.level);
|
|
298
|
+
}
|
|
299
|
+
if (!levelDef) {
|
|
300
|
+
return undefined;
|
|
301
|
+
}
|
|
302
|
+
return {
|
|
303
|
+
level: levelDef.level,
|
|
304
|
+
format: levelDef.format,
|
|
305
|
+
text: levelDef.text,
|
|
306
|
+
justification: levelDef.justification,
|
|
307
|
+
runProperties: levelDef.runProperties,
|
|
308
|
+
paragraphProperties: levelDef.paragraphProperties
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Resolve table-level styles for a given table.
|
|
313
|
+
*
|
|
314
|
+
* Walks the table style inheritance chain (basedOn) to merge table properties.
|
|
315
|
+
*
|
|
316
|
+
* @param doc - The document.
|
|
317
|
+
* @param tableStyleId - The starting table style ID.
|
|
318
|
+
* @returns The merged table-level style chain.
|
|
319
|
+
*/
|
|
320
|
+
export function resolveTableStyle(doc, tableStyleId) {
|
|
321
|
+
const styleMap = new Map();
|
|
322
|
+
if (doc.styles) {
|
|
323
|
+
for (const s of doc.styles) {
|
|
324
|
+
styleMap.set(s.styleId, s);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
const chain = [];
|
|
328
|
+
let current = tableStyleId;
|
|
329
|
+
const visited = new Set();
|
|
330
|
+
while (current && !visited.has(current)) {
|
|
331
|
+
visited.add(current);
|
|
332
|
+
chain.push(current);
|
|
333
|
+
const def = styleMap.get(current);
|
|
334
|
+
current = def?.basedOn;
|
|
335
|
+
}
|
|
336
|
+
let pProps = {};
|
|
337
|
+
let rProps = {};
|
|
338
|
+
let tProps = {};
|
|
339
|
+
// Apply doc defaults first
|
|
340
|
+
if (doc.docDefaults?.paragraphProperties) {
|
|
341
|
+
pProps = { ...doc.docDefaults.paragraphProperties };
|
|
342
|
+
}
|
|
343
|
+
if (doc.docDefaults?.runProperties) {
|
|
344
|
+
rProps = { ...doc.docDefaults.runProperties };
|
|
345
|
+
}
|
|
346
|
+
// Apply chain (base → specific)
|
|
347
|
+
for (let i = chain.length - 1; i >= 0; i--) {
|
|
348
|
+
const def = styleMap.get(chain[i]);
|
|
349
|
+
if (!def) {
|
|
350
|
+
continue;
|
|
351
|
+
}
|
|
352
|
+
if (def.paragraphProperties) {
|
|
353
|
+
pProps = { ...pProps, ...stripUndefined(def.paragraphProperties) };
|
|
354
|
+
}
|
|
355
|
+
if (def.runProperties) {
|
|
356
|
+
rProps = { ...rProps, ...stripUndefined(def.runProperties) };
|
|
357
|
+
}
|
|
358
|
+
if (def.tableProperties) {
|
|
359
|
+
tProps = { ...tProps, ...stripUndefined(def.tableProperties) };
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
return {
|
|
363
|
+
chain,
|
|
364
|
+
paragraphProperties: pProps,
|
|
365
|
+
runProperties: rProps,
|
|
366
|
+
tableProperties: Object.keys(tProps).length > 0 ? tProps : undefined
|
|
367
|
+
};
|
|
368
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Reader - Chart Parser (c: and cx: namespaces)
|
|
3
|
+
*
|
|
4
|
+
* Parses traditional and ChartEx (Microsoft 365) chart XML into Chart model
|
|
5
|
+
* objects. Also resolves chart references in the document body, replacing
|
|
6
|
+
* opaque chart drawings with parsed Chart instances.
|
|
7
|
+
*/
|
|
8
|
+
import type { BodyContent, Chart, ChartExContent, ChartExData } from "../types.js";
|
|
9
|
+
/** Replace OpaqueDrawing items referencing chart rIds with ChartContent. */
|
|
10
|
+
declare function replaceOpaqueCharts(body: BodyContent[], chartRIdToChart: Map<string, Chart>): void;
|
|
11
|
+
/** Replace OpaqueDrawing items referencing ChartEx rIds with ChartExContent. */
|
|
12
|
+
declare function replaceOpaqueChartExDrawings(body: BodyContent[], chartExRIdToContent: Map<string, ChartExContent>): void;
|
|
13
|
+
/** Parse a chart part XML string into a Chart object. */
|
|
14
|
+
declare function parseChartXml(xmlStr: string): Chart | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Parse a ChartEx XML string (cx:chartSpace) into structured ChartExData.
|
|
17
|
+
* Returns undefined if parsing fails or the structure is unrecognizable.
|
|
18
|
+
*/
|
|
19
|
+
declare function parseChartExXml(xmlStr: string): ChartExData | undefined;
|
|
20
|
+
export { replaceOpaqueCharts, replaceOpaqueChartExDrawings, parseChartXml, parseChartExXml };
|