@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,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Reader - Drawing/Image Helpers
|
|
3
|
+
*
|
|
4
|
+
* Shared parsing helpers for DrawingML elements (used by both inline image,
|
|
5
|
+
* floating image, and drawing shape parsers).
|
|
6
|
+
*/
|
|
7
|
+
import type { XmlElement } from "../../xml/types.js";
|
|
8
|
+
/** Parse `a:xfrm` element for rotation and flip properties. */
|
|
9
|
+
export declare function parseXfrm(spPrEl: XmlElement, target: {
|
|
10
|
+
rotation?: number;
|
|
11
|
+
flipHorizontal?: boolean;
|
|
12
|
+
flipVertical?: boolean;
|
|
13
|
+
}): void;
|
|
14
|
+
/** Parse outline (`a:ln`) element. */
|
|
15
|
+
export declare function parseOutline(spPrEl: XmlElement): {
|
|
16
|
+
width?: number;
|
|
17
|
+
color?: string;
|
|
18
|
+
} | undefined;
|
|
19
|
+
/** Parse source rectangle (crop) from `a:blipFill`. */
|
|
20
|
+
export declare function parseSrcRect(blipFillEl: XmlElement): {
|
|
21
|
+
l?: number;
|
|
22
|
+
t?: number;
|
|
23
|
+
r?: number;
|
|
24
|
+
b?: number;
|
|
25
|
+
} | undefined;
|
|
26
|
+
/** Parse SVG blip reference from `a:extLst` inside `a:blip`. */
|
|
27
|
+
export declare function parseSvgBlip(blipEl: XmlElement): string | undefined;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Reader - Form Field Parser
|
|
3
|
+
*
|
|
4
|
+
* Standalone parser for `w:ffData` elements (legacy form fields).
|
|
5
|
+
* Used by the run content parser when encountering form-field-bearing fields.
|
|
6
|
+
*/
|
|
7
|
+
import type { XmlElement } from "../../xml/types.js";
|
|
8
|
+
import type { FormField } from "../types.js";
|
|
9
|
+
/**
|
|
10
|
+
* Parse a `w:ffData` element into a `FormField`.
|
|
11
|
+
*
|
|
12
|
+
* Supports the three legacy form field types:
|
|
13
|
+
* - `w:textInput` → text field
|
|
14
|
+
* - `w:checkBox` → checkbox field
|
|
15
|
+
* - `w:ddList` → drop-down list field
|
|
16
|
+
*
|
|
17
|
+
* Common properties (name, enabled, helpText, statusText) are extracted.
|
|
18
|
+
*
|
|
19
|
+
* @returns A `FormField` object, or undefined if no recognized field type was found.
|
|
20
|
+
*/
|
|
21
|
+
export declare function parseFfData(el: XmlElement): FormField | undefined;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Reader - Image Parsers
|
|
3
|
+
*
|
|
4
|
+
* Parsers for inline and floating images (wp:inline / wp:anchor).
|
|
5
|
+
* These are pure parsers that don't depend on ReaderContext.
|
|
6
|
+
*/
|
|
7
|
+
import type { XmlElement } from "../../xml/types.js";
|
|
8
|
+
import type { FloatingImage, RunContent } from "../types.js";
|
|
9
|
+
declare function parseDrawingContent(drawingEl: XmlElement, content: RunContent[]): void;
|
|
10
|
+
declare function parseFloatingImage(anchorEl: XmlElement): FloatingImage | undefined;
|
|
11
|
+
export { parseDrawingContent, parseFloatingImage };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Reader - Math Parser
|
|
3
|
+
*
|
|
4
|
+
* Parses OMML (Office Math Markup Language) elements (m:* namespace) into
|
|
5
|
+
* MathContent / MathBlock model objects. Each m:* element is mapped to its
|
|
6
|
+
* corresponding model interface (MathFraction, MathRadical, MathDelimiter, etc).
|
|
7
|
+
*/
|
|
8
|
+
import type { XmlElement } from "../../xml/types.js";
|
|
9
|
+
import type { MathContent, MathBlock } from "../types.js";
|
|
10
|
+
declare function parseMathContent(el: XmlElement): MathContent[];
|
|
11
|
+
declare function parseMathBlock(oMathParaEl: XmlElement): MathBlock;
|
|
12
|
+
export { parseMathContent, parseMathBlock };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Reader - Misc Metadata Parsers
|
|
3
|
+
*
|
|
4
|
+
* Parses small document metadata XML files that don't justify their own files:
|
|
5
|
+
* - webSettings.xml (WebSettings)
|
|
6
|
+
* - people.xml (PersonInfo[])
|
|
7
|
+
*
|
|
8
|
+
* Theme and settings parsing live in `theme-parser.ts` and `settings-parser.ts`.
|
|
9
|
+
* Re-exports them for backward compatibility.
|
|
10
|
+
*/
|
|
11
|
+
import type { PersonInfo, WebSettings } from "../types.js";
|
|
12
|
+
export { parseThemeXml } from "./theme-parser.js";
|
|
13
|
+
export { parseSettingsXml } from "./settings-parser.js";
|
|
14
|
+
/** Parse word/webSettings.xml. */
|
|
15
|
+
export declare function parseWebSettings(xmlStr: string): WebSettings;
|
|
16
|
+
/** Parse word/people.xml. */
|
|
17
|
+
export declare function parsePeople(xmlStr: string): PersonInfo[];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Reader - Numbering Parser
|
|
3
|
+
*
|
|
4
|
+
* Parses `word/numbering.xml`. Splits out from the legacy
|
|
5
|
+
* `styles-numbering-parsers.ts` to mirror the writer side
|
|
6
|
+
* (`numbering-writer.ts` is already separate from `styles-writer.ts`).
|
|
7
|
+
*/
|
|
8
|
+
import type { AbstractNumbering, NumberingInstance, NumPicBullet } from "../types.js";
|
|
9
|
+
export declare function parseNumberingXml(xmlStr: string): {
|
|
10
|
+
abstractNums: AbstractNumbering[];
|
|
11
|
+
instances: NumberingInstance[];
|
|
12
|
+
numPicBullets: NumPicBullet[];
|
|
13
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Reader - Paragraph and Section Properties Parsers
|
|
3
|
+
*
|
|
4
|
+
* Pure parsers for `w:pPr` (paragraph properties) and `w:sectPr` (section
|
|
5
|
+
* properties). Both are large and have inter-dependencies (paragraphs may
|
|
6
|
+
* embed section properties); they're co-located here.
|
|
7
|
+
*/
|
|
8
|
+
import type { XmlElement } from "../../xml/types.js";
|
|
9
|
+
import type { ParagraphProperties, SectionProperties } from "../types.js";
|
|
10
|
+
declare function parseParagraphProperties(pPrEl: XmlElement): ParagraphProperties;
|
|
11
|
+
declare function parseSectionProperties(sectPrEl: XmlElement): SectionProperties;
|
|
12
|
+
export { parseParagraphProperties, parseSectionProperties };
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Reader - Shared XML/parsing utilities
|
|
3
|
+
*
|
|
4
|
+
* Low-level helpers used across the various reader sub-modules.
|
|
5
|
+
* Extracted from docx-reader.ts to keep that file focused on
|
|
6
|
+
* orchestration of the higher-level parsers.
|
|
7
|
+
*/
|
|
8
|
+
import type { XmlElement } from "../../xml/types.js";
|
|
9
|
+
import type { ParsedRelationship } from "./reader-context.js";
|
|
10
|
+
/** Get an attribute value, trying both `w:name` and bare `name`. */
|
|
11
|
+
export declare function attrVal(el: XmlElement, name: string): string | undefined;
|
|
12
|
+
/** Get an attribute as an integer (returns undefined if missing or non-numeric). */
|
|
13
|
+
export declare function attrInt(el: XmlElement, name: string): number | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Like `parseInt(value ?? fallback, 10)` but never returns NaN: any
|
|
16
|
+
* non-numeric value falls back to `fallback`. Use this when forwarding
|
|
17
|
+
* raw attribute strings into numeric model fields — round-tripping a
|
|
18
|
+
* `NaN` back into XML produces literal `"NaN"` and corrupts the
|
|
19
|
+
* resulting DOCX.
|
|
20
|
+
*/
|
|
21
|
+
export declare function safeParseInt(value: string | undefined, fallback: number): number;
|
|
22
|
+
/** Get the local name from a possibly-prefixed tag (`"w:p"` → `"p"`). */
|
|
23
|
+
export declare function localName(name: string): string;
|
|
24
|
+
/** Find a child element by local name (matches both `w:name` and bare `name`). */
|
|
25
|
+
export declare function findChildNs(el: XmlElement, localName: string): XmlElement | undefined;
|
|
26
|
+
/** Find all child elements with a given local name. */
|
|
27
|
+
export declare function findChildrenNs(el: XmlElement, localName: string): XmlElement[];
|
|
28
|
+
/**
|
|
29
|
+
* Namespace-agnostic child finder: matches on the **local name** regardless
|
|
30
|
+
* of the prefix. Useful for namespaces other than `w:` (e.g. `m:`, `c:`,
|
|
31
|
+
* `cx:`) where the prefix may be inconsistent across producers.
|
|
32
|
+
*/
|
|
33
|
+
export declare function findChildLocal(el: XmlElement, name: string): XmlElement | undefined;
|
|
34
|
+
/** Namespace-agnostic version of {@link findChildrenNs}. */
|
|
35
|
+
export declare function findChildrenLocal(el: XmlElement, name: string): XmlElement[];
|
|
36
|
+
/**
|
|
37
|
+
* Get an attribute value by **local name**, regardless of prefix.
|
|
38
|
+
* Useful when the same attribute may appear as `w:val`, `m:val`, etc.
|
|
39
|
+
*/
|
|
40
|
+
export declare function attrLocal(el: XmlElement, name: string): string | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Check for a boolean toggle element.
|
|
43
|
+
*
|
|
44
|
+
* In OOXML, many properties are represented as toggle elements where:
|
|
45
|
+
* - Element present = true
|
|
46
|
+
* - Element with `w:val="0"` or `"false"` = explicit false
|
|
47
|
+
* - Element absent = undefined (use parent's default)
|
|
48
|
+
*/
|
|
49
|
+
export declare function boolToggle(parent: XmlElement, name: string): boolean | undefined;
|
|
50
|
+
/** Serialize an XmlElement back to an XML string (used for opaque preservation). */
|
|
51
|
+
export declare function serializeElement(el: XmlElement): string;
|
|
52
|
+
/** Extract all `r:xxx` attribute values (relationship IDs) from an element tree. */
|
|
53
|
+
export declare function collectRIds(el: XmlElement, out: Set<string>): void;
|
|
54
|
+
export { getPartRelsPath, getFileName, getFileExt } from "../core/opc-paths.js";
|
|
55
|
+
/**
|
|
56
|
+
* Resolve an OPC relationship target against its source part.
|
|
57
|
+
*
|
|
58
|
+
* - Leading `/` → package root absolute
|
|
59
|
+
* - `../` / `./` → resolved relative to the source part's directory
|
|
60
|
+
* - Plain paths → resolved relative to the source part's directory
|
|
61
|
+
*
|
|
62
|
+
* Returns an empty string when the resolved path would escape the package
|
|
63
|
+
* root (i.e. more `..` segments than there are directories above the
|
|
64
|
+
* source). The previous behaviour silently treated extra `..` as a no-op,
|
|
65
|
+
* which let a malicious or malformed `Target` value point at an entirely
|
|
66
|
+
* different part than the directory traversal would suggest.
|
|
67
|
+
*/
|
|
68
|
+
export declare function resolvePartPath(sourcePart: string, target: string): string;
|
|
69
|
+
/**
|
|
70
|
+
* Find the first relationship of a given type and resolve its target path.
|
|
71
|
+
* Returns undefined if no matching relationship exists.
|
|
72
|
+
*/
|
|
73
|
+
export declare function resolveRelTarget(rels: ParsedRelationship[], relType: string, sourcePart: string): string | undefined;
|
|
74
|
+
/** Convert OOXML cryptAlgorithmSid to human-readable algorithm name. */
|
|
75
|
+
export declare function sidToHashAlgorithm(sid: string | undefined): string | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* Common shape returned by {@link parseNoteProperties}.
|
|
78
|
+
*
|
|
79
|
+
* `numFmt` is widened to `string` (rather than `NoteNumberFormat`) so the
|
|
80
|
+
* helper can populate either `FootnoteProperties` or `EndnoteProperties`,
|
|
81
|
+
* which only differ in `position`'s narrow union. Callers cast at the
|
|
82
|
+
* assignment site.
|
|
83
|
+
*/
|
|
84
|
+
export interface ParsedNoteProperties {
|
|
85
|
+
numFmt?: string;
|
|
86
|
+
numStart?: number;
|
|
87
|
+
numRestart?: string;
|
|
88
|
+
position?: string;
|
|
89
|
+
}
|
|
90
|
+
/** Parse footnote/endnote properties element. */
|
|
91
|
+
export declare function parseNoteProperties(el: XmlElement): ParsedNoteProperties | undefined;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Reader - Properties Parsers
|
|
3
|
+
*
|
|
4
|
+
* Pure parsers for OOXML property structures that don't depend on the
|
|
5
|
+
* main reader context. These are the building blocks used by the higher-level
|
|
6
|
+
* paragraph/run/table/section parsers.
|
|
7
|
+
*
|
|
8
|
+
* Includes:
|
|
9
|
+
* - `parseRunProperties` (w:rPr)
|
|
10
|
+
* - `parseShading` (w:shd)
|
|
11
|
+
* - `parseBorder` (any border element)
|
|
12
|
+
* - `parseTableWidth` (w:tblW, w:tcW, etc.)
|
|
13
|
+
* - `parseRevisionInfo` (w:ins/w:del/w:rPrChange/etc. revision metadata)
|
|
14
|
+
*/
|
|
15
|
+
import type { XmlElement } from "../../xml/types.js";
|
|
16
|
+
import type { Border, RevisionInfo, RunProperties, Shading, TableWidth } from "../types.js";
|
|
17
|
+
export declare function parseRunProperties(rPrEl: XmlElement): RunProperties;
|
|
18
|
+
export declare function parseShading(el: XmlElement): Shading;
|
|
19
|
+
export declare function parseBorder(el: XmlElement): Border;
|
|
20
|
+
export declare function parseTableWidth(el: XmlElement): TableWidth;
|
|
21
|
+
export declare function parseRevisionInfo(el: XmlElement): RevisionInfo | undefined;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Reader Context
|
|
3
|
+
*
|
|
4
|
+
* Encapsulates per-parse session state so that concurrent readDocx() calls
|
|
5
|
+
* are safe. Previously this state lived in a module-level `_session` object.
|
|
6
|
+
*/
|
|
7
|
+
import { type WordSecurityPolicy } from "../security/policy.js";
|
|
8
|
+
import type { FormField, RunProperties } from "../types.js";
|
|
9
|
+
/**
|
|
10
|
+
* A parsed OPC relationship entry (from a .rels part).
|
|
11
|
+
*/
|
|
12
|
+
export interface ParsedRelationship {
|
|
13
|
+
id: string;
|
|
14
|
+
type: string;
|
|
15
|
+
target: string;
|
|
16
|
+
targetMode?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* State for the OOXML field state machine (`<w:fldChar>`).
|
|
20
|
+
*
|
|
21
|
+
* OOXML allows complex fields (TOC, INDEX, SEQ, REF, …) to span multiple
|
|
22
|
+
* paragraphs: `<w:fldChar fldCharType="begin">` may be in paragraph A while
|
|
23
|
+
* the matching `end` is in paragraph C. This state therefore lives on the
|
|
24
|
+
* shared reader context rather than as locals in `parseParagraph`.
|
|
25
|
+
*
|
|
26
|
+
* It is intentionally swappable: when entering a self-contained part such as
|
|
27
|
+
* a header, footer, footnote, endnote or comment we save and reset the field
|
|
28
|
+
* state so an unterminated field in the body never bleeds into those parts.
|
|
29
|
+
*/
|
|
30
|
+
export interface FieldParseState {
|
|
31
|
+
state: "none" | "instrText" | "cached";
|
|
32
|
+
instr: string;
|
|
33
|
+
cached: string;
|
|
34
|
+
runProps: RunProperties | undefined;
|
|
35
|
+
formField: FormField | undefined;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Per-parse session context. Holds relationship maps and any other state
|
|
39
|
+
* that needs to be shared across parse functions during a single readDocx()
|
|
40
|
+
* invocation without relying on module-level mutable state.
|
|
41
|
+
*/
|
|
42
|
+
export interface ReaderContext {
|
|
43
|
+
/** Relationship map for the current part being parsed (document, header, footer, etc.) */
|
|
44
|
+
relMap: Map<string, ParsedRelationship>;
|
|
45
|
+
/** Field state machine; shared across paragraphs to support cross-paragraph fields. */
|
|
46
|
+
field: FieldParseState;
|
|
47
|
+
/**
|
|
48
|
+
* Resolved security policy for this read. Parsers consult specific
|
|
49
|
+
* fields (e.g. `allowExternalTargets`) to decide whether to keep certain
|
|
50
|
+
* pieces of information that may be dangerous in untrusted documents.
|
|
51
|
+
* Defaults to `DEFAULT_SECURITY_POLICY` when not set.
|
|
52
|
+
*/
|
|
53
|
+
securityPolicy: Required<WordSecurityPolicy>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Create a fresh field state in the "none" state.
|
|
57
|
+
*/
|
|
58
|
+
export declare function createFieldState(): FieldParseState;
|
|
59
|
+
/**
|
|
60
|
+
* Create a fresh reader context for a new parse session.
|
|
61
|
+
*/
|
|
62
|
+
export declare function createReaderContext(securityPolicy?: Required<WordSecurityPolicy>): ReaderContext;
|
|
63
|
+
/**
|
|
64
|
+
* Parse a `.rels` XML string into an array of `ParsedRelationship` entries.
|
|
65
|
+
*
|
|
66
|
+
* Normalizes ISO 29500 Strict relationship types to Transitional equivalents
|
|
67
|
+
* via `STRICT_TO_TRANSITIONAL_REL`.
|
|
68
|
+
*/
|
|
69
|
+
export declare function parseRelationships(xmlStr: string): ParsedRelationship[];
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Reader - SDT Helper Parsers
|
|
3
|
+
*
|
|
4
|
+
* Standalone parsers for SDT-related elements that don't depend on
|
|
5
|
+
* the main reader context (parseParagraph etc.):
|
|
6
|
+
* - `parseCheckBox` — w14:checkbox SDT specialization
|
|
7
|
+
* - `parseTocInstruction` — TOC field instruction string parser
|
|
8
|
+
*/
|
|
9
|
+
import type { XmlElement } from "../../xml/types.js";
|
|
10
|
+
import { type Mutable } from "../core/internal-utils.js";
|
|
11
|
+
import type { CheckBox, TableOfContents } from "../types.js";
|
|
12
|
+
/**
|
|
13
|
+
* Parse a w14:checkbox SDT element.
|
|
14
|
+
*
|
|
15
|
+
* Handles `w14:checked`, `w14:checkedState`, `w14:uncheckedState`.
|
|
16
|
+
*/
|
|
17
|
+
export declare function parseCheckBox(checkBoxEl: XmlElement): CheckBox;
|
|
18
|
+
/**
|
|
19
|
+
* Parse a TOC field instruction string and populate the given TableOfContents object.
|
|
20
|
+
*
|
|
21
|
+
* Recognizes common TOC switches:
|
|
22
|
+
* - `\o "1-3"` — heading style range
|
|
23
|
+
* - `\h` — hyperlinks
|
|
24
|
+
* - `\c "label"` — caption label (table of figures)
|
|
25
|
+
* - `\s "id"` — sequence field identifier
|
|
26
|
+
* - `\p "."`/`"-"`/`"_"` — leader character
|
|
27
|
+
* - `\t "Style,Level;..."` — custom styles with levels
|
|
28
|
+
*/
|
|
29
|
+
export declare function parseTocInstruction(instr: string, toc: Mutable<TableOfContents>): void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Reader - Settings Parser
|
|
3
|
+
*
|
|
4
|
+
* Parses `word/settings.xml` (DocumentSettings).
|
|
5
|
+
* Extracted from the original `metadata-parsers.ts`.
|
|
6
|
+
*/
|
|
7
|
+
import type { DocumentSettings } from "../types.js";
|
|
8
|
+
export declare function parseSettingsXml(xmlStr: string): DocumentSettings;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Reader - Styles Parser
|
|
3
|
+
*
|
|
4
|
+
* Parses `word/styles.xml` (`DocDefaults` + `StyleDef[]`). Splits out from
|
|
5
|
+
* the legacy `styles-numbering-parsers.ts` to mirror the writer side
|
|
6
|
+
* (`styles-writer.ts` and `numbering-writer.ts` are already separate).
|
|
7
|
+
*/
|
|
8
|
+
import type { DocDefaults, StyleDef } from "../types.js";
|
|
9
|
+
export declare function parseStyles(xmlStr: string): {
|
|
10
|
+
docDefaults?: DocDefaults;
|
|
11
|
+
styles: StyleDef[];
|
|
12
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Reader - Table Properties Parsers
|
|
3
|
+
*
|
|
4
|
+
* Pure parsers for `w:tblPr`, `w:tblBorders`, `w:tcMar` (cell margins).
|
|
5
|
+
* Used by both the inline table parser and the styles parser.
|
|
6
|
+
*/
|
|
7
|
+
import type { XmlElement } from "../../xml/types.js";
|
|
8
|
+
import type { TableBorders, TableCellMargins, TableProperties } from "../types.js";
|
|
9
|
+
declare function parseTableBorders(el: XmlElement): TableBorders;
|
|
10
|
+
declare function parseTableCellMargins(el: XmlElement): TableCellMargins;
|
|
11
|
+
declare function parseTableProperties(el: XmlElement): TableProperties;
|
|
12
|
+
export { parseTableBorders, parseTableCellMargins, parseTableProperties };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Reader - Theme Parser
|
|
3
|
+
*
|
|
4
|
+
* Parses `word/theme/theme1.xml` (`DocumentTheme`).
|
|
5
|
+
* Extracted from the original `metadata-parsers.ts`.
|
|
6
|
+
*/
|
|
7
|
+
import type { DocumentTheme } from "../types.js";
|
|
8
|
+
export declare function parseThemeXml(xmlStr: string): DocumentTheme;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX reader — header watermark detection.
|
|
3
|
+
*
|
|
4
|
+
* Watermarks are stored as a VML shape inside the first `<w:p>` of a header
|
|
5
|
+
* part. We detect them by walking the header XML tree looking for a shape
|
|
6
|
+
* whose id contains "WaterMark"; the surrounding header content is parsed
|
|
7
|
+
* by the regular header-content parser.
|
|
8
|
+
*
|
|
9
|
+
* Self-contained — no dependency on the body parser, so it lives in its
|
|
10
|
+
* own file to keep `docx-reader.ts` focused on package orchestration.
|
|
11
|
+
*/
|
|
12
|
+
import type { XmlElement } from "../../xml/types.js";
|
|
13
|
+
import type { Watermark } from "../types.js";
|
|
14
|
+
/** Detect a watermark shape inside a header XML root, if present. */
|
|
15
|
+
export declare function detectWatermarkFromRoot(root: XmlElement): Watermark | undefined;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - CFB (Compound File Binary) Reader
|
|
3
|
+
*
|
|
4
|
+
* Minimal reader for OLE2/CFB format used by encrypted Office documents.
|
|
5
|
+
* Implements enough of MS-CFB to extract named streams (EncryptionInfo, EncryptedPackage).
|
|
6
|
+
*
|
|
7
|
+
* References:
|
|
8
|
+
* - MS-CFB: Compound File Binary File Format
|
|
9
|
+
* - https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-cfb
|
|
10
|
+
*/
|
|
11
|
+
/** A stream entry extracted from/written to a CFB file. */
|
|
12
|
+
export interface CfbEntry {
|
|
13
|
+
/** Stream name (UTF-16LE decoded). */
|
|
14
|
+
readonly name: string;
|
|
15
|
+
/** Stream data. */
|
|
16
|
+
readonly data: Uint8Array;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Read a CFB (OLE2 Compound File) and extract all stream entries.
|
|
20
|
+
*
|
|
21
|
+
* Only reads v3 and v4 CFB files (sector sizes 512 and 4096).
|
|
22
|
+
*
|
|
23
|
+
* @param buffer - The CFB file data.
|
|
24
|
+
* @returns Array of named stream entries.
|
|
25
|
+
*/
|
|
26
|
+
export declare function readCfb(buffer: Uint8Array): CfbEntry[];
|
|
27
|
+
/**
|
|
28
|
+
* Write a set of named stream entries into a CFB (OLE2 Compound File) container.
|
|
29
|
+
*
|
|
30
|
+
* Produces a minimal v3 CFB with 512-byte sectors. Does not use mini-streams
|
|
31
|
+
* (all data is stored in regular sectors). This is suitable for encrypted Office
|
|
32
|
+
* documents where every stream exceeds 4096 bytes.
|
|
33
|
+
*
|
|
34
|
+
* @param entries - Named stream entries to include.
|
|
35
|
+
* @returns The CFB file as a Uint8Array.
|
|
36
|
+
*/
|
|
37
|
+
export declare function writeCfb(entries: readonly CfbEntry[]): Uint8Array;
|
package/dist/types/modules/word/{digital-signatures.d.ts → security/digital-signatures.d.ts}
RENAMED
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
* - Detection and extraction of signature metadata
|
|
14
14
|
* - Preservation of signatures through round-trip (via opaqueParts)
|
|
15
15
|
*
|
|
16
|
-
* Note:
|
|
17
|
-
*
|
|
18
|
-
*
|
|
16
|
+
* Note: This module does NOT validate signature integrity (would require
|
|
17
|
+
* full XMLDSig + Canonical XML implementation). Signatures are preserved
|
|
18
|
+
* verbatim but become invalid if the package contents change.
|
|
19
19
|
*
|
|
20
20
|
* References:
|
|
21
|
-
* -
|
|
21
|
+
* - MS-OFFCRYPTO §3.2.6 Digital Signatures
|
|
22
22
|
* - XMLDSig: https://www.w3.org/TR/xmldsig-core/
|
|
23
23
|
*/
|
|
24
24
|
/** Parsed digital signature metadata. */
|
|
@@ -43,8 +43,15 @@ export interface DigitalSignatureInfo {
|
|
|
43
43
|
readonly certificateSerialNumber?: string;
|
|
44
44
|
/** Hash of the signature (base64). */
|
|
45
45
|
readonly signatureValue?: string;
|
|
46
|
-
/**
|
|
47
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Cryptographic verification status.
|
|
48
|
+
*
|
|
49
|
+
* `"not-verified"` is the only value this module ever produces — full
|
|
50
|
+
* verification requires a complete XMLDSig + Canonical XML implementation
|
|
51
|
+
* which is intentionally out of scope. The field is exposed so callers
|
|
52
|
+
* are not tempted to interpret a missing value as "valid".
|
|
53
|
+
*/
|
|
54
|
+
readonly cryptographicStatus: "not-verified";
|
|
48
55
|
/** Raw XML for preservation. */
|
|
49
56
|
readonly rawXml: string;
|
|
50
57
|
/** Signature file name (e.g. "sig1.xml"). */
|
|
@@ -76,12 +83,13 @@ export declare function extractSignatures(opaqueParts: readonly {
|
|
|
76
83
|
data: Uint8Array;
|
|
77
84
|
}[] | undefined): DigitalSignatureInfo[];
|
|
78
85
|
/**
|
|
79
|
-
*
|
|
86
|
+
* Check that a parsed signature has the structural elements XMLDSig
|
|
87
|
+
* requires (`Signature`, `SignedInfo`, `SignatureValue`, `KeyInfo`).
|
|
80
88
|
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
89
|
+
* This is **not** a cryptographic check — see `cryptographicStatus`. It is
|
|
90
|
+
* also tolerant of namespace prefixes (`<ds:Signature>` etc.) which the
|
|
91
|
+
* previous implementation missed.
|
|
84
92
|
*
|
|
85
|
-
* @returns True if the signature
|
|
93
|
+
* @returns True if the signature XML carries the required elements.
|
|
86
94
|
*/
|
|
87
95
|
export declare function isWellFormedSignature(info: DigitalSignatureInfo): boolean;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - Document Protection
|
|
3
|
+
*
|
|
4
|
+
* Provides APIs for setting document protection passwords and restrictions.
|
|
5
|
+
* Supports all protection types defined in OOXML:
|
|
6
|
+
* - Read-only (no modifications allowed)
|
|
7
|
+
* - Comments only (only add comments)
|
|
8
|
+
* - Forms only (only fill form fields)
|
|
9
|
+
* - Tracked changes (all changes are tracked)
|
|
10
|
+
* - Sections (specific sections editable)
|
|
11
|
+
*
|
|
12
|
+
* Password hashing follows the ECMA-376 specification using
|
|
13
|
+
* iterative SHA-based hashing with salt.
|
|
14
|
+
*/
|
|
15
|
+
import type { DocxDocument } from "../types.js";
|
|
16
|
+
/** Document protection type (edit restriction). */
|
|
17
|
+
export type ProtectionEditType = "none" | "readOnly" | "comments" | "trackedChanges" | "forms";
|
|
18
|
+
/** Hash algorithm for protection password. */
|
|
19
|
+
export type ProtectionHashAlgorithm = "SHA-1" | "SHA-256" | "SHA-384" | "SHA-512";
|
|
20
|
+
/** Options for setting document protection. */
|
|
21
|
+
export interface DocumentProtectionOptions {
|
|
22
|
+
/** Type of edit restriction. */
|
|
23
|
+
readonly edit: ProtectionEditType;
|
|
24
|
+
/** Password to protect the document (will be hashed). */
|
|
25
|
+
readonly password?: string;
|
|
26
|
+
/** Hash algorithm. Default: "SHA-256". */
|
|
27
|
+
readonly hashAlgorithm?: ProtectionHashAlgorithm;
|
|
28
|
+
/** Number of hash iterations (spin count). Default: 100000. */
|
|
29
|
+
readonly spinCount?: number;
|
|
30
|
+
/** Whether protection is enforced. Default: true. */
|
|
31
|
+
readonly enforcement?: boolean;
|
|
32
|
+
/** Formatting restriction (prevent style changes). */
|
|
33
|
+
readonly formatting?: boolean;
|
|
34
|
+
}
|
|
35
|
+
/** Protection state as stored in settings. */
|
|
36
|
+
export interface ProtectionState {
|
|
37
|
+
/** Edit restriction type. */
|
|
38
|
+
readonly edit: ProtectionEditType;
|
|
39
|
+
/** Whether protection is enforced. */
|
|
40
|
+
readonly enforcement: boolean;
|
|
41
|
+
/** Hash algorithm used. */
|
|
42
|
+
readonly hashAlgorithm?: string;
|
|
43
|
+
/** Computed hash value (base64). */
|
|
44
|
+
readonly hashValue?: string;
|
|
45
|
+
/** Salt (base64). */
|
|
46
|
+
readonly saltValue?: string;
|
|
47
|
+
/** Spin count (iterations). */
|
|
48
|
+
readonly spinCount?: number;
|
|
49
|
+
/** Formatting restriction. */
|
|
50
|
+
readonly formatting?: boolean;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Set document protection on a DocxDocument.
|
|
54
|
+
* Returns a new document with protection settings applied.
|
|
55
|
+
*
|
|
56
|
+
* @param doc - The document to protect.
|
|
57
|
+
* @param options - Protection options.
|
|
58
|
+
* @returns A new document with protection settings.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* const protected = await protectDocument(doc, {
|
|
63
|
+
* edit: "readOnly",
|
|
64
|
+
* password: "secret123",
|
|
65
|
+
* hashAlgorithm: "SHA-256"
|
|
66
|
+
* });
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export declare function protectDocument(doc: DocxDocument, options: DocumentProtectionOptions): Promise<DocxDocument>;
|
|
70
|
+
/**
|
|
71
|
+
* Remove document protection.
|
|
72
|
+
*
|
|
73
|
+
* @param doc - The protected document.
|
|
74
|
+
* @returns A new document without protection.
|
|
75
|
+
*/
|
|
76
|
+
export declare function unprotectDocument(doc: DocxDocument): DocxDocument;
|
|
77
|
+
/**
|
|
78
|
+
* Check if a document is protected.
|
|
79
|
+
*/
|
|
80
|
+
export declare function isDocumentProtected(doc: DocxDocument): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Get the protection state of a document.
|
|
83
|
+
*/
|
|
84
|
+
export declare function getProtectionState(doc: DocxDocument): ProtectionState | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* Verify a password against the document's protection hash.
|
|
87
|
+
* Returns true if the password matches, false otherwise.
|
|
88
|
+
*
|
|
89
|
+
* @param doc - The protected document.
|
|
90
|
+
* @param password - The password to verify.
|
|
91
|
+
* @returns Whether the password is correct.
|
|
92
|
+
*/
|
|
93
|
+
export declare function verifyProtectionPassword(doc: DocxDocument, password: string): Promise<boolean>;
|