@cj-tech-master/excelts 9.4.2 → 9.5.0
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/index.browser.d.ts +8 -5
- package/dist/browser/index.browser.js +19 -1
- package/dist/browser/index.d.ts +4 -2
- package/dist/browser/index.js +9 -1
- package/dist/browser/modules/excel/chart/cache-populator.d.ts +49 -0
- package/dist/browser/modules/excel/chart/cache-populator.js +1171 -0
- package/dist/browser/modules/excel/chart/chart-api.d.ts +92 -0
- package/dist/browser/modules/excel/chart/chart-api.js +364 -0
- package/dist/browser/modules/excel/chart/chart-builder.d.ts +48 -0
- package/dist/browser/modules/excel/chart/chart-builder.js +2432 -0
- package/dist/browser/modules/excel/chart/chart-ex-builder.d.ts +36 -0
- package/dist/browser/modules/excel/chart/chart-ex-builder.js +903 -0
- package/dist/browser/modules/excel/chart/chart-ex-parser.d.ts +8 -0
- package/dist/browser/modules/excel/chart/chart-ex-parser.js +1205 -0
- package/dist/browser/modules/excel/chart/chart-ex-renderer.d.ts +187 -0
- package/dist/browser/modules/excel/chart/chart-ex-renderer.js +5352 -0
- package/dist/browser/modules/excel/chart/chart-ex-types.d.ts +531 -0
- package/dist/browser/modules/excel/chart/chart-ex-types.js +11 -0
- package/dist/browser/modules/excel/chart/chart-images.d.ts +78 -0
- package/dist/browser/modules/excel/chart/chart-images.js +363 -0
- package/dist/browser/modules/excel/chart/chart-presets.d.ts +392 -0
- package/dist/browser/modules/excel/chart/chart-presets.js +179 -0
- package/dist/browser/modules/excel/chart/chart-renderer.d.ts +550 -0
- package/dist/browser/modules/excel/chart/chart-renderer.js +6440 -0
- package/dist/browser/modules/excel/chart/chart-sidecar.d.ts +21 -0
- package/dist/browser/modules/excel/chart/chart-sidecar.js +427 -0
- package/dist/browser/modules/excel/chart/chart-utils.d.ts +306 -0
- package/dist/browser/modules/excel/chart/chart-utils.js +821 -0
- package/dist/browser/modules/excel/chart/chart.d.ts +504 -0
- package/dist/browser/modules/excel/chart/chart.js +1320 -0
- package/dist/browser/modules/excel/chart/glyph-rasterizer.d.ts +62 -0
- package/dist/browser/modules/excel/chart/glyph-rasterizer.js +658 -0
- package/dist/browser/modules/excel/chart/index.d.ts +54 -0
- package/dist/browser/modules/excel/chart/index.js +46 -0
- package/dist/browser/modules/excel/chart/install.d.ts +44 -0
- package/dist/browser/modules/excel/chart/install.js +91 -0
- package/dist/browser/modules/excel/chart/shape-properties.d.ts +156 -0
- package/dist/browser/modules/excel/chart/shape-properties.js +1557 -0
- package/dist/browser/modules/excel/chart/stroke-font.d.ts +36 -0
- package/dist/browser/modules/excel/chart/stroke-font.js +1556 -0
- package/dist/browser/modules/excel/chart/topojson.d.ts +98 -0
- package/dist/browser/modules/excel/chart/topojson.js +236 -0
- package/dist/browser/modules/excel/chart/types.d.ts +2559 -0
- package/dist/browser/modules/excel/chart/types.js +8 -0
- package/dist/browser/modules/excel/chart-host-registry.d.ts +157 -0
- package/dist/browser/modules/excel/chart-host-registry.js +90 -0
- package/dist/browser/modules/excel/chartsheet.d.ts +102 -0
- package/dist/browser/modules/excel/chartsheet.js +196 -0
- package/dist/browser/modules/excel/defined-names.d.ts +35 -0
- package/dist/browser/modules/excel/defined-names.js +44 -4
- package/dist/browser/modules/excel/errors.d.ts +6 -0
- package/dist/browser/modules/excel/errors.js +9 -0
- package/dist/browser/modules/excel/form-control.d.ts +6 -0
- package/dist/browser/modules/excel/form-control.js +17 -0
- package/dist/browser/modules/excel/image.js +12 -2
- package/dist/browser/modules/excel/pivot-chart.d.ts +7 -0
- package/dist/browser/modules/excel/pivot-chart.js +53 -0
- package/dist/browser/modules/excel/pivot-table.d.ts +55 -0
- package/dist/browser/modules/excel/pivot-table.js +35 -0
- package/dist/browser/modules/excel/range.js +5 -1
- package/dist/browser/modules/excel/sparkline/index.d.ts +7 -0
- package/dist/browser/modules/excel/sparkline/index.js +7 -0
- package/dist/browser/modules/excel/sparkline/sparkline.d.ts +206 -0
- package/dist/browser/modules/excel/sparkline/sparkline.js +750 -0
- package/dist/browser/modules/excel/stream/worksheet-writer.js +3 -2
- package/dist/browser/modules/excel/table.js +42 -6
- package/dist/browser/modules/excel/types.d.ts +72 -0
- package/dist/browser/modules/excel/utils/address.d.ts +18 -0
- package/dist/browser/modules/excel/utils/address.js +28 -0
- package/dist/browser/modules/excel/utils/drawing-utils.js +11 -6
- package/dist/browser/modules/excel/utils/guid.d.ts +15 -0
- package/dist/browser/modules/excel/utils/guid.js +35 -0
- package/dist/browser/modules/excel/utils/ooxml-paths.d.ts +74 -0
- package/dist/browser/modules/excel/utils/ooxml-paths.js +206 -9
- package/dist/browser/modules/excel/utils/ooxml-validator/check-chart-sidecar.d.ts +35 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-chart-sidecar.js +101 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-chart.d.ts +32 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-chart.js +2125 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-chartsheet.d.ts +9 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-chartsheet.js +26 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-content-types.d.ts +16 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-content-types.js +181 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-drawing.d.ts +34 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-drawing.js +267 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-pivot.d.ts +14 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-pivot.js +104 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-relationships.d.ts +18 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-relationships.js +184 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-structure.d.ts +21 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-structure.js +56 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-styles.d.ts +15 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-styles.js +89 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-table.d.ts +31 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-table.js +177 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-workbook.d.ts +19 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-workbook.js +163 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-worksheet.d.ts +25 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/check-worksheet.js +569 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/context.d.ts +85 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/context.js +191 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/index.d.ts +31 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/index.js +102 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/path-utils.d.ts +67 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/path-utils.js +156 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/reporter.d.ts +41 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/reporter.js +61 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/types.d.ts +109 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/types.js +12 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/xml-utils.d.ts +38 -0
- package/dist/browser/modules/excel/utils/ooxml-validator/xml-utils.js +100 -0
- package/dist/browser/modules/excel/workbook.browser.d.ts +248 -30
- package/dist/browser/modules/excel/workbook.browser.js +966 -31
- package/dist/browser/modules/excel/workbook.d.ts +43 -0
- package/dist/browser/modules/excel/workbook.js +48 -0
- package/dist/browser/modules/excel/worksheet.d.ts +157 -3
- package/dist/browser/modules/excel/worksheet.js +394 -35
- package/dist/browser/modules/excel/xlsx/rel-type.d.ts +40 -0
- package/dist/browser/modules/excel/xlsx/rel-type.js +41 -1
- package/dist/browser/modules/excel/xlsx/xform/book/defined-name-xform.d.ts +1 -0
- package/dist/browser/modules/excel/xlsx/xform/book/defined-name-xform.js +11 -2
- package/dist/browser/modules/excel/xlsx/xform/book/external-link-xform.js +12 -10
- package/dist/browser/modules/excel/xlsx/xform/book/workbook-xform.js +96 -22
- package/dist/browser/modules/excel/xlsx/xform/chart/chart-space-xform.d.ts +353 -0
- package/dist/browser/modules/excel/xlsx/xform/chart/chart-space-xform.js +6000 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/threaded-comments-xform.d.ts +60 -0
- package/dist/browser/modules/excel/xlsx/xform/comment/threaded-comments-xform.js +213 -0
- package/dist/browser/modules/excel/xlsx/xform/core/content-types-xform.js +150 -11
- package/dist/browser/modules/excel/xlsx/xform/drawing/absolute-anchor-xform.js +20 -1
- package/dist/browser/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
- package/dist/browser/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +30 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/drawing-xform.js +109 -5
- package/dist/browser/modules/excel/xlsx/xform/drawing/graphic-frame-xform.d.ts +54 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/graphic-frame-xform.js +225 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +3 -1
- package/dist/browser/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +18 -3
- package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +46 -0
- package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +294 -12
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +13 -2
- package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +32 -6
- package/dist/browser/modules/excel/xlsx/xform/sheet/chartsheet-xform.d.ts +185 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/chartsheet-xform.js +441 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -0
- package/dist/browser/modules/excel/xlsx/xform/sheet/ext-lst-xform.js +51 -2
- package/dist/browser/modules/excel/xlsx/xform/sheet/worksheet-xform.js +196 -20
- package/dist/browser/modules/excel/xlsx/xform/table/auto-filter-xform.js +16 -1
- package/dist/browser/modules/excel/xlsx/xform/table/table-column-xform.js +17 -2
- package/dist/browser/modules/excel/xlsx/xform/xsd-values.d.ts +63 -0
- package/dist/browser/modules/excel/xlsx/xform/xsd-values.js +101 -0
- package/dist/browser/modules/excel/xlsx/xlsx.browser.d.ts +115 -21
- package/dist/browser/modules/excel/xlsx/xlsx.browser.js +4422 -78
- package/dist/browser/modules/pdf/builder/document-builder.d.ts +74 -0
- package/dist/browser/modules/pdf/builder/document-builder.js +507 -2
- package/dist/browser/modules/pdf/builder/pdf-editor.js +48 -3
- package/dist/browser/modules/pdf/excel-bridge.d.ts +69 -0
- package/dist/browser/modules/pdf/excel-bridge.js +683 -12
- package/dist/browser/modules/pdf/font/font-manager.d.ts +25 -0
- package/dist/browser/modules/pdf/font/font-manager.js +39 -0
- package/dist/browser/modules/pdf/index.d.ts +5 -2
- package/dist/browser/modules/pdf/index.js +3 -1
- package/dist/browser/modules/pdf/render/chart-surface.d.ts +33 -0
- package/dist/browser/modules/pdf/render/chart-surface.js +200 -0
- package/dist/browser/modules/pdf/render/layout-engine.d.ts +22 -1
- package/dist/browser/modules/pdf/render/layout-engine.js +436 -56
- package/dist/browser/modules/pdf/render/page-renderer.js +169 -28
- package/dist/browser/modules/pdf/render/pdf-exporter.js +117 -7
- package/dist/browser/modules/pdf/types.d.ts +227 -23
- package/dist/browser/modules/pdf/types.js +4 -0
- package/dist/browser/modules/pdf/word-bridge.d.ts +47 -0
- package/dist/browser/modules/pdf/word-bridge.js +304 -0
- package/dist/browser/modules/word/constants.d.ts +179 -0
- package/dist/browser/modules/word/constants.js +231 -0
- package/dist/browser/modules/word/content-types.d.ts +27 -0
- package/dist/browser/modules/word/content-types.js +53 -0
- package/dist/browser/modules/word/digital-signatures.d.ts +87 -0
- package/dist/browser/modules/word/digital-signatures.js +134 -0
- package/dist/browser/modules/word/document.d.ts +728 -0
- package/dist/browser/modules/word/document.js +1795 -0
- package/dist/browser/modules/word/docx-packager.d.ts +14 -0
- package/dist/browser/modules/word/docx-packager.js +822 -0
- package/dist/browser/modules/word/docx-reader.d.ts +11 -0
- package/dist/browser/modules/word/docx-reader.js +4929 -0
- package/dist/browser/modules/word/encryption.d.ts +102 -0
- package/dist/browser/modules/word/encryption.js +274 -0
- package/dist/browser/modules/word/errors.d.ts +49 -0
- package/dist/browser/modules/word/errors.js +68 -0
- package/dist/browser/modules/word/font-obfuscation.d.ts +31 -0
- package/dist/browser/modules/word/font-obfuscation.js +83 -0
- package/dist/browser/modules/word/html-renderer.d.ts +38 -0
- package/dist/browser/modules/word/html-renderer.js +782 -0
- package/dist/browser/modules/word/index.base.d.ts +19 -0
- package/dist/browser/modules/word/index.base.js +51 -0
- package/dist/browser/modules/word/index.browser.d.ts +4 -0
- package/dist/browser/modules/word/index.browser.js +4 -0
- package/dist/browser/modules/word/index.d.ts +4 -0
- package/dist/browser/modules/word/index.js +4 -0
- package/dist/browser/modules/word/internal-utils.d.ts +23 -0
- package/dist/browser/modules/word/internal-utils.js +54 -0
- package/dist/browser/modules/word/relationships.d.ts +31 -0
- package/dist/browser/modules/word/relationships.js +56 -0
- package/dist/browser/modules/word/types.d.ts +2325 -0
- package/dist/browser/modules/word/types.js +10 -0
- package/dist/browser/modules/word/units.d.ts +49 -0
- package/dist/browser/modules/word/units.js +111 -0
- package/dist/browser/modules/word/writers/chart-writer.d.ts +10 -0
- package/dist/browser/modules/word/writers/chart-writer.js +385 -0
- package/dist/browser/modules/word/writers/checkbox-writer.d.ts +9 -0
- package/dist/browser/modules/word/writers/checkbox-writer.js +42 -0
- package/dist/browser/modules/word/writers/comment-writer.d.ts +15 -0
- package/dist/browser/modules/word/writers/comment-writer.js +70 -0
- package/dist/browser/modules/word/writers/document-writer.d.ts +16 -0
- package/dist/browser/modules/word/writers/document-writer.js +461 -0
- package/dist/browser/modules/word/writers/footnote-writer.d.ts +11 -0
- package/dist/browser/modules/word/writers/footnote-writer.js +72 -0
- package/dist/browser/modules/word/writers/header-footer-writer.d.ts +13 -0
- package/dist/browser/modules/word/writers/header-footer-writer.js +129 -0
- package/dist/browser/modules/word/writers/image-writer.d.ts +10 -0
- package/dist/browser/modules/word/writers/image-writer.js +185 -0
- package/dist/browser/modules/word/writers/math-writer.d.ts +9 -0
- package/dist/browser/modules/word/writers/math-writer.js +428 -0
- package/dist/browser/modules/word/writers/numbering-writer.d.ts +10 -0
- package/dist/browser/modules/word/writers/numbering-writer.js +125 -0
- package/dist/browser/modules/word/writers/paragraph-writer.d.ts +13 -0
- package/dist/browser/modules/word/writers/paragraph-writer.js +516 -0
- package/dist/browser/modules/word/writers/parts-writer.d.ts +26 -0
- package/dist/browser/modules/word/writers/parts-writer.js +660 -0
- package/dist/browser/modules/word/writers/run-writer.d.ts +15 -0
- package/dist/browser/modules/word/writers/run-writer.js +649 -0
- package/dist/browser/modules/word/writers/section-writer.d.ts +10 -0
- package/dist/browser/modules/word/writers/section-writer.js +238 -0
- package/dist/browser/modules/word/writers/styles-writer.d.ts +10 -0
- package/dist/browser/modules/word/writers/styles-writer.js +242 -0
- package/dist/browser/modules/word/writers/table-writer.d.ts +10 -0
- package/dist/browser/modules/word/writers/table-writer.js +503 -0
- package/dist/browser/modules/word/writers/textbox-writer.d.ts +9 -0
- package/dist/browser/modules/word/writers/textbox-writer.js +53 -0
- package/dist/browser/modules/word/writers/toc-writer.d.ts +9 -0
- package/dist/browser/modules/word/writers/toc-writer.js +79 -0
- package/dist/browser/modules/xml/encode.d.ts +56 -7
- package/dist/browser/modules/xml/encode.js +157 -11
- package/dist/cjs/index.js +13 -2
- package/dist/cjs/modules/excel/chart/cache-populator.js +1178 -0
- package/dist/cjs/modules/excel/chart/chart-api.js +371 -0
- package/dist/cjs/modules/excel/chart/chart-builder.js +2440 -0
- package/dist/cjs/modules/excel/chart/chart-ex-builder.js +907 -0
- package/dist/cjs/modules/excel/chart/chart-ex-parser.js +1208 -0
- package/dist/cjs/modules/excel/chart/chart-ex-renderer.js +5364 -0
- package/dist/cjs/modules/excel/chart/chart-ex-types.js +12 -0
- package/dist/cjs/modules/excel/chart/chart-images.js +366 -0
- package/dist/cjs/modules/excel/chart/chart-presets.js +184 -0
- package/dist/cjs/modules/excel/chart/chart-renderer.js +6450 -0
- package/dist/cjs/modules/excel/chart/chart-sidecar.js +433 -0
- package/dist/cjs/modules/excel/chart/chart-utils.js +845 -0
- package/dist/cjs/modules/excel/chart/chart.js +1324 -0
- package/dist/cjs/modules/excel/chart/glyph-rasterizer.js +664 -0
- package/dist/cjs/modules/excel/chart/index.js +101 -0
- package/dist/cjs/modules/excel/chart/install.js +95 -0
- package/dist/cjs/modules/excel/chart/shape-properties.js +1577 -0
- package/dist/cjs/modules/excel/chart/stroke-font.js +1559 -0
- package/dist/cjs/modules/excel/chart/topojson.js +239 -0
- package/dist/cjs/modules/excel/chart/types.js +9 -0
- package/dist/cjs/modules/excel/chart-host-registry.js +96 -0
- package/dist/cjs/modules/excel/chartsheet.js +199 -0
- package/dist/cjs/modules/excel/defined-names.js +44 -4
- package/dist/cjs/modules/excel/errors.js +11 -1
- package/dist/cjs/modules/excel/form-control.js +17 -0
- package/dist/cjs/modules/excel/image.js +12 -2
- package/dist/cjs/modules/excel/pivot-chart.js +56 -0
- package/dist/cjs/modules/excel/pivot-table.js +35 -0
- package/dist/cjs/modules/excel/range.js +5 -1
- package/dist/cjs/modules/excel/sparkline/index.js +23 -0
- package/dist/cjs/modules/excel/sparkline/sparkline.js +756 -0
- package/dist/cjs/modules/excel/stream/worksheet-writer.js +3 -2
- package/dist/cjs/modules/excel/table.js +42 -6
- package/dist/cjs/modules/excel/utils/address.js +29 -0
- package/dist/cjs/modules/excel/utils/drawing-utils.js +11 -6
- package/dist/cjs/modules/excel/utils/guid.js +38 -0
- package/dist/cjs/modules/excel/utils/ooxml-paths.js +246 -9
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-chart-sidecar.js +103 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-chart.js +2128 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-chartsheet.js +29 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-content-types.js +184 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-drawing.js +270 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-pivot.js +107 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-relationships.js +188 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-structure.js +60 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-styles.js +92 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-table.js +180 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-workbook.js +166 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/check-worksheet.js +572 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/context.js +196 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/index.js +105 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/path-utils.js +168 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/reporter.js +66 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/types.js +13 -0
- package/dist/cjs/modules/excel/utils/ooxml-validator/xml-utils.js +110 -0
- package/dist/cjs/modules/excel/workbook.browser.js +973 -38
- package/dist/cjs/modules/excel/workbook.js +48 -0
- package/dist/cjs/modules/excel/worksheet.js +393 -34
- package/dist/cjs/modules/excel/xlsx/rel-type.js +41 -1
- package/dist/cjs/modules/excel/xlsx/xform/book/defined-name-xform.js +11 -2
- package/dist/cjs/modules/excel/xlsx/xform/book/external-link-xform.js +12 -10
- package/dist/cjs/modules/excel/xlsx/xform/book/workbook-xform.js +96 -22
- package/dist/cjs/modules/excel/xlsx/xform/chart/chart-space-xform.js +6003 -0
- package/dist/cjs/modules/excel/xlsx/xform/comment/threaded-comments-xform.js +219 -0
- package/dist/cjs/modules/excel/xlsx/xform/core/content-types-xform.js +149 -10
- package/dist/cjs/modules/excel/xlsx/xform/drawing/absolute-anchor-xform.js +20 -1
- package/dist/cjs/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
- package/dist/cjs/modules/excel/xlsx/xform/drawing/drawing-xform.js +109 -5
- package/dist/cjs/modules/excel/xlsx/xform/drawing/graphic-frame-xform.js +228 -0
- package/dist/cjs/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +18 -3
- package/dist/cjs/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +294 -12
- package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +32 -6
- package/dist/cjs/modules/excel/xlsx/xform/sheet/chartsheet-xform.js +444 -0
- package/dist/cjs/modules/excel/xlsx/xform/sheet/ext-lst-xform.js +51 -2
- package/dist/cjs/modules/excel/xlsx/xform/sheet/worksheet-xform.js +195 -19
- package/dist/cjs/modules/excel/xlsx/xform/table/auto-filter-xform.js +16 -1
- package/dist/cjs/modules/excel/xlsx/xform/table/table-column-xform.js +17 -2
- package/dist/cjs/modules/excel/xlsx/xform/xsd-values.js +106 -0
- package/dist/cjs/modules/excel/xlsx/xlsx.browser.js +4420 -76
- package/dist/cjs/modules/pdf/builder/document-builder.js +506 -1
- package/dist/cjs/modules/pdf/builder/pdf-editor.js +48 -3
- package/dist/cjs/modules/pdf/excel-bridge.js +684 -12
- package/dist/cjs/modules/pdf/font/font-manager.js +39 -0
- package/dist/cjs/modules/pdf/index.js +5 -1
- package/dist/cjs/modules/pdf/render/chart-surface.js +203 -0
- package/dist/cjs/modules/pdf/render/layout-engine.js +437 -56
- package/dist/cjs/modules/pdf/render/page-renderer.js +169 -28
- package/dist/cjs/modules/pdf/render/pdf-exporter.js +115 -5
- package/dist/cjs/modules/pdf/types.js +5 -0
- package/dist/cjs/modules/pdf/word-bridge.js +307 -0
- package/dist/cjs/modules/word/constants.js +234 -0
- package/dist/cjs/modules/word/content-types.js +57 -0
- package/dist/cjs/modules/word/digital-signatures.js +140 -0
- package/dist/cjs/modules/word/document.js +1909 -0
- package/dist/cjs/modules/word/docx-packager.js +825 -0
- package/dist/cjs/modules/word/docx-reader.js +4932 -0
- package/dist/cjs/modules/word/encryption.js +282 -0
- package/dist/cjs/modules/word/errors.js +88 -0
- package/dist/cjs/modules/word/font-obfuscation.js +88 -0
- package/dist/cjs/modules/word/html-renderer.js +785 -0
- package/dist/cjs/modules/word/index.base.js +199 -0
- package/dist/cjs/modules/word/index.browser.js +20 -0
- package/dist/cjs/modules/word/index.js +20 -0
- package/dist/cjs/modules/word/internal-utils.js +59 -0
- package/dist/cjs/modules/word/relationships.js +60 -0
- package/dist/cjs/modules/word/types.js +11 -0
- package/dist/cjs/modules/word/units.js +135 -0
- package/dist/cjs/modules/word/writers/chart-writer.js +388 -0
- package/dist/cjs/modules/word/writers/checkbox-writer.js +45 -0
- package/dist/cjs/modules/word/writers/comment-writer.js +74 -0
- package/dist/cjs/modules/word/writers/document-writer.js +465 -0
- package/dist/cjs/modules/word/writers/footnote-writer.js +76 -0
- package/dist/cjs/modules/word/writers/header-footer-writer.js +134 -0
- package/dist/cjs/modules/word/writers/image-writer.js +188 -0
- package/dist/cjs/modules/word/writers/math-writer.js +431 -0
- package/dist/cjs/modules/word/writers/numbering-writer.js +128 -0
- package/dist/cjs/modules/word/writers/paragraph-writer.js +521 -0
- package/dist/cjs/modules/word/writers/parts-writer.js +671 -0
- package/dist/cjs/modules/word/writers/run-writer.js +655 -0
- package/dist/cjs/modules/word/writers/section-writer.js +241 -0
- package/dist/cjs/modules/word/writers/styles-writer.js +245 -0
- package/dist/cjs/modules/word/writers/table-writer.js +506 -0
- package/dist/cjs/modules/word/writers/textbox-writer.js +56 -0
- package/dist/cjs/modules/word/writers/toc-writer.js +82 -0
- package/dist/cjs/modules/xml/encode.js +158 -11
- package/dist/esm/index.browser.js +20 -2
- package/dist/esm/index.js +9 -1
- package/dist/esm/modules/excel/chart/cache-populator.js +1171 -0
- package/dist/esm/modules/excel/chart/chart-api.js +364 -0
- package/dist/esm/modules/excel/chart/chart-builder.js +2432 -0
- package/dist/esm/modules/excel/chart/chart-ex-builder.js +903 -0
- package/dist/esm/modules/excel/chart/chart-ex-parser.js +1205 -0
- package/dist/esm/modules/excel/chart/chart-ex-renderer.js +5352 -0
- package/dist/esm/modules/excel/chart/chart-ex-types.js +11 -0
- package/dist/esm/modules/excel/chart/chart-images.js +363 -0
- package/dist/esm/modules/excel/chart/chart-presets.js +179 -0
- package/dist/esm/modules/excel/chart/chart-renderer.js +6440 -0
- package/dist/esm/modules/excel/chart/chart-sidecar.js +427 -0
- package/dist/esm/modules/excel/chart/chart-utils.js +821 -0
- package/dist/esm/modules/excel/chart/chart.js +1320 -0
- package/dist/esm/modules/excel/chart/glyph-rasterizer.js +658 -0
- package/dist/esm/modules/excel/chart/index.js +46 -0
- package/dist/esm/modules/excel/chart/install.js +91 -0
- package/dist/esm/modules/excel/chart/shape-properties.js +1557 -0
- package/dist/esm/modules/excel/chart/stroke-font.js +1556 -0
- package/dist/esm/modules/excel/chart/topojson.js +236 -0
- package/dist/esm/modules/excel/chart/types.js +8 -0
- package/dist/esm/modules/excel/chart-host-registry.js +90 -0
- package/dist/esm/modules/excel/chartsheet.js +196 -0
- package/dist/esm/modules/excel/defined-names.js +44 -4
- package/dist/esm/modules/excel/errors.js +9 -0
- package/dist/esm/modules/excel/form-control.js +17 -0
- package/dist/esm/modules/excel/image.js +12 -2
- package/dist/esm/modules/excel/pivot-chart.js +53 -0
- package/dist/esm/modules/excel/pivot-table.js +35 -0
- package/dist/esm/modules/excel/range.js +5 -1
- package/dist/esm/modules/excel/sparkline/index.js +7 -0
- package/dist/esm/modules/excel/sparkline/sparkline.js +750 -0
- package/dist/esm/modules/excel/stream/worksheet-writer.js +3 -2
- package/dist/esm/modules/excel/table.js +42 -6
- package/dist/esm/modules/excel/utils/address.js +28 -0
- package/dist/esm/modules/excel/utils/drawing-utils.js +11 -6
- package/dist/esm/modules/excel/utils/guid.js +35 -0
- package/dist/esm/modules/excel/utils/ooxml-paths.js +206 -9
- package/dist/esm/modules/excel/utils/ooxml-validator/check-chart-sidecar.js +101 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-chart.js +2125 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-chartsheet.js +26 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-content-types.js +181 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-drawing.js +267 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-pivot.js +104 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-relationships.js +184 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-structure.js +56 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-styles.js +89 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-table.js +177 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-workbook.js +163 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/check-worksheet.js +569 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/context.js +191 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/index.js +102 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/path-utils.js +156 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/reporter.js +61 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/types.js +12 -0
- package/dist/esm/modules/excel/utils/ooxml-validator/xml-utils.js +100 -0
- package/dist/esm/modules/excel/workbook.browser.js +969 -34
- package/dist/esm/modules/excel/workbook.js +48 -0
- package/dist/esm/modules/excel/worksheet.js +394 -35
- package/dist/esm/modules/excel/xlsx/rel-type.js +41 -1
- package/dist/esm/modules/excel/xlsx/xform/book/defined-name-xform.js +11 -2
- package/dist/esm/modules/excel/xlsx/xform/book/external-link-xform.js +12 -10
- package/dist/esm/modules/excel/xlsx/xform/book/workbook-xform.js +96 -22
- package/dist/esm/modules/excel/xlsx/xform/chart/chart-space-xform.js +6000 -0
- package/dist/esm/modules/excel/xlsx/xform/comment/threaded-comments-xform.js +213 -0
- package/dist/esm/modules/excel/xlsx/xform/core/content-types-xform.js +150 -11
- package/dist/esm/modules/excel/xlsx/xform/drawing/absolute-anchor-xform.js +20 -1
- package/dist/esm/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
- package/dist/esm/modules/excel/xlsx/xform/drawing/drawing-xform.js +109 -5
- package/dist/esm/modules/excel/xlsx/xform/drawing/graphic-frame-xform.js +225 -0
- package/dist/esm/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +18 -3
- package/dist/esm/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +294 -12
- package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +32 -6
- package/dist/esm/modules/excel/xlsx/xform/sheet/chartsheet-xform.js +441 -0
- package/dist/esm/modules/excel/xlsx/xform/sheet/ext-lst-xform.js +51 -2
- package/dist/esm/modules/excel/xlsx/xform/sheet/worksheet-xform.js +196 -20
- package/dist/esm/modules/excel/xlsx/xform/table/auto-filter-xform.js +16 -1
- package/dist/esm/modules/excel/xlsx/xform/table/table-column-xform.js +17 -2
- package/dist/esm/modules/excel/xlsx/xform/xsd-values.js +101 -0
- package/dist/esm/modules/excel/xlsx/xlsx.browser.js +4422 -78
- package/dist/esm/modules/pdf/builder/document-builder.js +507 -2
- package/dist/esm/modules/pdf/builder/pdf-editor.js +48 -3
- package/dist/esm/modules/pdf/excel-bridge.js +683 -12
- package/dist/esm/modules/pdf/font/font-manager.js +39 -0
- package/dist/esm/modules/pdf/index.js +3 -1
- package/dist/esm/modules/pdf/render/chart-surface.js +200 -0
- package/dist/esm/modules/pdf/render/layout-engine.js +436 -56
- package/dist/esm/modules/pdf/render/page-renderer.js +169 -28
- package/dist/esm/modules/pdf/render/pdf-exporter.js +117 -7
- package/dist/esm/modules/pdf/types.js +4 -0
- package/dist/esm/modules/pdf/word-bridge.js +304 -0
- package/dist/esm/modules/word/constants.js +231 -0
- package/dist/esm/modules/word/content-types.js +53 -0
- package/dist/esm/modules/word/digital-signatures.js +134 -0
- package/dist/esm/modules/word/document.js +1795 -0
- package/dist/esm/modules/word/docx-packager.js +822 -0
- package/dist/esm/modules/word/docx-reader.js +4929 -0
- package/dist/esm/modules/word/encryption.js +274 -0
- package/dist/esm/modules/word/errors.js +68 -0
- package/dist/esm/modules/word/font-obfuscation.js +83 -0
- package/dist/esm/modules/word/html-renderer.js +782 -0
- package/dist/esm/modules/word/index.base.js +51 -0
- package/dist/esm/modules/word/index.browser.js +4 -0
- package/dist/esm/modules/word/index.js +4 -0
- package/dist/esm/modules/word/internal-utils.js +54 -0
- package/dist/esm/modules/word/relationships.js +56 -0
- package/dist/esm/modules/word/types.js +10 -0
- package/dist/esm/modules/word/units.js +111 -0
- package/dist/esm/modules/word/writers/chart-writer.js +385 -0
- package/dist/esm/modules/word/writers/checkbox-writer.js +42 -0
- package/dist/esm/modules/word/writers/comment-writer.js +70 -0
- package/dist/esm/modules/word/writers/document-writer.js +461 -0
- package/dist/esm/modules/word/writers/footnote-writer.js +72 -0
- package/dist/esm/modules/word/writers/header-footer-writer.js +129 -0
- package/dist/esm/modules/word/writers/image-writer.js +185 -0
- package/dist/esm/modules/word/writers/math-writer.js +428 -0
- package/dist/esm/modules/word/writers/numbering-writer.js +125 -0
- package/dist/esm/modules/word/writers/paragraph-writer.js +516 -0
- package/dist/esm/modules/word/writers/parts-writer.js +660 -0
- package/dist/esm/modules/word/writers/run-writer.js +649 -0
- package/dist/esm/modules/word/writers/section-writer.js +238 -0
- package/dist/esm/modules/word/writers/styles-writer.js +242 -0
- package/dist/esm/modules/word/writers/table-writer.js +503 -0
- package/dist/esm/modules/word/writers/textbox-writer.js +53 -0
- package/dist/esm/modules/word/writers/toc-writer.js +79 -0
- package/dist/esm/modules/xml/encode.js +157 -11
- package/dist/iife/excelts.iife.js +11789 -687
- package/dist/iife/excelts.iife.js.map +1 -1
- package/dist/iife/excelts.iife.min.js +52 -44
- package/dist/types/index.browser.d.ts +8 -5
- package/dist/types/index.d.ts +4 -2
- package/dist/types/modules/excel/chart/cache-populator.d.ts +49 -0
- package/dist/types/modules/excel/chart/chart-api.d.ts +92 -0
- package/dist/types/modules/excel/chart/chart-builder.d.ts +48 -0
- package/dist/types/modules/excel/chart/chart-ex-builder.d.ts +36 -0
- package/dist/types/modules/excel/chart/chart-ex-parser.d.ts +8 -0
- package/dist/types/modules/excel/chart/chart-ex-renderer.d.ts +187 -0
- package/dist/types/modules/excel/chart/chart-ex-types.d.ts +531 -0
- package/dist/types/modules/excel/chart/chart-images.d.ts +78 -0
- package/dist/types/modules/excel/chart/chart-presets.d.ts +392 -0
- package/dist/types/modules/excel/chart/chart-renderer.d.ts +550 -0
- package/dist/types/modules/excel/chart/chart-sidecar.d.ts +21 -0
- package/dist/types/modules/excel/chart/chart-utils.d.ts +306 -0
- package/dist/types/modules/excel/chart/chart.d.ts +504 -0
- package/dist/types/modules/excel/chart/glyph-rasterizer.d.ts +62 -0
- package/dist/types/modules/excel/chart/index.d.ts +54 -0
- package/dist/types/modules/excel/chart/install.d.ts +44 -0
- package/dist/types/modules/excel/chart/shape-properties.d.ts +156 -0
- package/dist/types/modules/excel/chart/stroke-font.d.ts +36 -0
- package/dist/types/modules/excel/chart/topojson.d.ts +98 -0
- package/dist/types/modules/excel/chart/types.d.ts +2559 -0
- package/dist/types/modules/excel/chart-host-registry.d.ts +157 -0
- package/dist/types/modules/excel/chartsheet.d.ts +102 -0
- package/dist/types/modules/excel/defined-names.d.ts +35 -0
- package/dist/types/modules/excel/errors.d.ts +6 -0
- package/dist/types/modules/excel/form-control.d.ts +6 -0
- package/dist/types/modules/excel/pivot-chart.d.ts +7 -0
- package/dist/types/modules/excel/pivot-table.d.ts +55 -0
- package/dist/types/modules/excel/sparkline/index.d.ts +7 -0
- package/dist/types/modules/excel/sparkline/sparkline.d.ts +206 -0
- package/dist/types/modules/excel/types.d.ts +72 -0
- package/dist/types/modules/excel/utils/address.d.ts +18 -0
- package/dist/types/modules/excel/utils/guid.d.ts +15 -0
- package/dist/types/modules/excel/utils/ooxml-paths.d.ts +74 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-chart-sidecar.d.ts +35 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-chart.d.ts +32 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-chartsheet.d.ts +9 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-content-types.d.ts +16 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-drawing.d.ts +34 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-pivot.d.ts +14 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-relationships.d.ts +18 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-structure.d.ts +21 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-styles.d.ts +15 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-table.d.ts +31 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-workbook.d.ts +19 -0
- package/dist/types/modules/excel/utils/ooxml-validator/check-worksheet.d.ts +25 -0
- package/dist/types/modules/excel/utils/ooxml-validator/context.d.ts +85 -0
- package/dist/types/modules/excel/utils/ooxml-validator/index.d.ts +31 -0
- package/dist/types/modules/excel/utils/ooxml-validator/path-utils.d.ts +67 -0
- package/dist/types/modules/excel/utils/ooxml-validator/reporter.d.ts +41 -0
- package/dist/types/modules/excel/utils/ooxml-validator/types.d.ts +109 -0
- package/dist/types/modules/excel/utils/ooxml-validator/xml-utils.d.ts +38 -0
- package/dist/types/modules/excel/workbook.browser.d.ts +248 -30
- package/dist/types/modules/excel/workbook.d.ts +43 -0
- package/dist/types/modules/excel/worksheet.d.ts +157 -3
- package/dist/types/modules/excel/xlsx/rel-type.d.ts +40 -0
- package/dist/types/modules/excel/xlsx/xform/book/defined-name-xform.d.ts +1 -0
- package/dist/types/modules/excel/xlsx/xform/chart/chart-space-xform.d.ts +353 -0
- package/dist/types/modules/excel/xlsx/xform/comment/threaded-comments-xform.d.ts +60 -0
- package/dist/types/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +30 -0
- package/dist/types/modules/excel/xlsx/xform/drawing/graphic-frame-xform.d.ts +54 -0
- package/dist/types/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +3 -1
- package/dist/types/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +46 -0
- package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +13 -2
- package/dist/types/modules/excel/xlsx/xform/sheet/chartsheet-xform.d.ts +185 -0
- package/dist/types/modules/excel/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -0
- package/dist/types/modules/excel/xlsx/xform/xsd-values.d.ts +63 -0
- package/dist/types/modules/excel/xlsx/xlsx.browser.d.ts +115 -21
- package/dist/types/modules/pdf/builder/document-builder.d.ts +74 -0
- package/dist/types/modules/pdf/excel-bridge.d.ts +69 -0
- package/dist/types/modules/pdf/font/font-manager.d.ts +25 -0
- package/dist/types/modules/pdf/index.d.ts +5 -2
- package/dist/types/modules/pdf/render/chart-surface.d.ts +33 -0
- package/dist/types/modules/pdf/render/layout-engine.d.ts +22 -1
- package/dist/types/modules/pdf/types.d.ts +227 -23
- package/dist/types/modules/pdf/word-bridge.d.ts +47 -0
- package/dist/types/modules/word/constants.d.ts +179 -0
- package/dist/types/modules/word/content-types.d.ts +27 -0
- package/dist/types/modules/word/digital-signatures.d.ts +87 -0
- package/dist/types/modules/word/document.d.ts +728 -0
- package/dist/types/modules/word/docx-packager.d.ts +14 -0
- package/dist/types/modules/word/docx-reader.d.ts +11 -0
- package/dist/types/modules/word/encryption.d.ts +102 -0
- package/dist/types/modules/word/errors.d.ts +49 -0
- package/dist/types/modules/word/font-obfuscation.d.ts +31 -0
- package/dist/types/modules/word/html-renderer.d.ts +38 -0
- package/dist/types/modules/word/index.base.d.ts +19 -0
- package/dist/types/modules/word/index.browser.d.ts +4 -0
- package/dist/types/modules/word/index.d.ts +4 -0
- package/dist/types/modules/word/internal-utils.d.ts +23 -0
- package/dist/types/modules/word/relationships.d.ts +31 -0
- package/dist/types/modules/word/types.d.ts +2325 -0
- package/dist/types/modules/word/units.d.ts +49 -0
- package/dist/types/modules/word/writers/chart-writer.d.ts +10 -0
- package/dist/types/modules/word/writers/checkbox-writer.d.ts +9 -0
- package/dist/types/modules/word/writers/comment-writer.d.ts +15 -0
- package/dist/types/modules/word/writers/document-writer.d.ts +16 -0
- package/dist/types/modules/word/writers/footnote-writer.d.ts +11 -0
- package/dist/types/modules/word/writers/header-footer-writer.d.ts +13 -0
- package/dist/types/modules/word/writers/image-writer.d.ts +10 -0
- package/dist/types/modules/word/writers/math-writer.d.ts +9 -0
- package/dist/types/modules/word/writers/numbering-writer.d.ts +10 -0
- package/dist/types/modules/word/writers/paragraph-writer.d.ts +13 -0
- package/dist/types/modules/word/writers/parts-writer.d.ts +26 -0
- package/dist/types/modules/word/writers/run-writer.d.ts +15 -0
- package/dist/types/modules/word/writers/section-writer.d.ts +10 -0
- package/dist/types/modules/word/writers/styles-writer.d.ts +10 -0
- package/dist/types/modules/word/writers/table-writer.d.ts +10 -0
- package/dist/types/modules/word/writers/textbox-writer.d.ts +9 -0
- package/dist/types/modules/word/writers/toc-writer.d.ts +9 -0
- package/dist/types/modules/xml/encode.d.ts +56 -7
- package/package.json +29 -11
- package/dist/browser/modules/excel/utils/ooxml-validator.d.ts +0 -48
- package/dist/browser/modules/excel/utils/ooxml-validator.js +0 -493
- package/dist/browser/modules/excel/utils/passthrough-manager.d.ts +0 -77
- package/dist/browser/modules/excel/utils/passthrough-manager.js +0 -129
- package/dist/cjs/modules/excel/utils/ooxml-validator.js +0 -499
- package/dist/cjs/modules/excel/utils/passthrough-manager.js +0 -133
- package/dist/esm/modules/excel/utils/ooxml-validator.js +0 -493
- package/dist/esm/modules/excel/utils/passthrough-manager.js +0 -129
- package/dist/types/modules/excel/utils/ooxml-validator.d.ts +0 -48
- package/dist/types/modules/excel/utils/passthrough-manager.d.ts +0 -77
|
@@ -0,0 +1,531 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChartEx (Office 2016+ extended charts) type definitions.
|
|
3
|
+
*
|
|
4
|
+
* These types mirror the ECMA-376 Part 1, §21.3 `cx:` namespace for the eight
|
|
5
|
+
* modern chart types: sunburst, treemap, waterfall, funnel, histogram
|
|
6
|
+
* (and Pareto), box-whisker, and region map.
|
|
7
|
+
*
|
|
8
|
+
* Classic charts live in `c:` (ChartML); chartEx uses its own `cx:` schema
|
|
9
|
+
* with shared formatting primitives (spPr/txPr) but very different data model.
|
|
10
|
+
*/
|
|
11
|
+
import type { AddShapeFillOptions, ChartColorsModel, ChartLayout, ChartLegend, ChartRichText, ChartStyleModel, ChartTextProperties, ChartTitle, ShapeProperties } from "./types.js";
|
|
12
|
+
/**
|
|
13
|
+
* A chartEx chart (one `chartEx{N}.xml` file).
|
|
14
|
+
*/
|
|
15
|
+
export interface ChartExModel {
|
|
16
|
+
/** Root chart space containing data, series, and plot area */
|
|
17
|
+
chartSpace: ChartExSpace;
|
|
18
|
+
/** Raw XML (for passthrough of existing cx:chart files) */
|
|
19
|
+
rawXml?: string;
|
|
20
|
+
/** Chart rels — preserved for round-trip */
|
|
21
|
+
rels?: unknown[];
|
|
22
|
+
/** Referenced external workbook/package parts used by cx:externalData relationships. */
|
|
23
|
+
externalParts?: Record<string, Uint8Array>;
|
|
24
|
+
/** Optional structured style sidecar metadata for chartEx consumers. */
|
|
25
|
+
style?: ChartStyleModel;
|
|
26
|
+
/** Optional structured colors sidecar metadata for chartEx consumers. */
|
|
27
|
+
colors?: ChartColorsModel;
|
|
28
|
+
/**
|
|
29
|
+
* Child elements the parser did not recognise at well-known locations.
|
|
30
|
+
*
|
|
31
|
+
* Populated by {@link parseChartEx} when walking a loaded chartEx part. Each
|
|
32
|
+
* entry records a `parent/child` breadcrumb so `strict` template mode can
|
|
33
|
+
* refuse to silently drop extension/vendor XML when the structured writer
|
|
34
|
+
* has to rebuild the part (i.e. no raw XML passthrough and no safe raw
|
|
35
|
+
* patch available). Purely informational in the default `preserve` mode.
|
|
36
|
+
*/
|
|
37
|
+
unknownElements?: ChartExUnknownElement[];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Describes one unstructured child element discovered while parsing a
|
|
41
|
+
* chartEx part. `path` uses `/` as the separator and is relative to the
|
|
42
|
+
* `cx:chartSpace` root.
|
|
43
|
+
*/
|
|
44
|
+
export interface ChartExUnknownElement {
|
|
45
|
+
/** Fully-qualified element name (e.g. `cx:unknownTag`). */
|
|
46
|
+
name: string;
|
|
47
|
+
/** Slash-separated breadcrumb, e.g. `cx:chartSpace/cx:chart/cx:unknownTag`. */
|
|
48
|
+
path: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* `cx:chartSpace` — root element.
|
|
52
|
+
*/
|
|
53
|
+
export interface ChartExSpace {
|
|
54
|
+
/** Chart data (each entry is one data item for series to reference) */
|
|
55
|
+
chartData: ChartExData;
|
|
56
|
+
/** Chart element (title, plotArea, legend) */
|
|
57
|
+
chart: ChartExChart;
|
|
58
|
+
/** Clr map override (optional) */
|
|
59
|
+
clrMapOvr?: string;
|
|
60
|
+
/** ChartSpace-level shape properties (frame / background). */
|
|
61
|
+
spPr?: ShapeProperties;
|
|
62
|
+
/** ChartSpace-level default text properties. */
|
|
63
|
+
txPr?: ChartTextProperties;
|
|
64
|
+
/**
|
|
65
|
+
* `cx:protection` — raw XML preserved for round-trip. The structured
|
|
66
|
+
* model does not currently expose locking flags; consumers who need
|
|
67
|
+
* to edit protection should mutate the raw string.
|
|
68
|
+
*/
|
|
69
|
+
protection?: string;
|
|
70
|
+
/**
|
|
71
|
+
* `cx:externalData` — references to external workbook / package
|
|
72
|
+
* parts. Per Chart2014 / `CT_ChartSpace` schema this is a child of
|
|
73
|
+
* `cx:chartSpace` (alongside `cx:chart`, `cx:spPr`, …), NOT a
|
|
74
|
+
* child of `cx:chartData`. Previous versions of this library placed
|
|
75
|
+
* it inside `cx:chartData` — the parser now accepts both locations
|
|
76
|
+
* (legacy on-disk shapes still load) and the writer always emits
|
|
77
|
+
* at the chartSpace level.
|
|
78
|
+
*/
|
|
79
|
+
externalData?: Array<{
|
|
80
|
+
id: string;
|
|
81
|
+
autoUpdate?: boolean;
|
|
82
|
+
}>;
|
|
83
|
+
/**
|
|
84
|
+
* `cx:printSettings` — raw XML preserved for round-trip (headerFooter,
|
|
85
|
+
* pageMargins, pageSetup). Same "raw-only" contract as `protection`.
|
|
86
|
+
*/
|
|
87
|
+
printSettings?: string;
|
|
88
|
+
/** Extension list */
|
|
89
|
+
extLst?: string;
|
|
90
|
+
}
|
|
91
|
+
export interface ChartExData {
|
|
92
|
+
/**
|
|
93
|
+
* @deprecated Moved to {@link ChartExSpace.externalData} to match
|
|
94
|
+
* the Chart2014 schema (`cx:externalData` is a child of
|
|
95
|
+
* `cx:chartSpace`, not `cx:chartData`). The parser migrates legacy
|
|
96
|
+
* on-disk placements into `ChartExSpace.externalData`; this field
|
|
97
|
+
* remains on the type only to avoid breaking callers that read it
|
|
98
|
+
* directly. Write-side code no longer consults this slot.
|
|
99
|
+
*/
|
|
100
|
+
externalData?: Array<{
|
|
101
|
+
id: string;
|
|
102
|
+
autoUpdate?: boolean;
|
|
103
|
+
}>;
|
|
104
|
+
/** Chart data (numeric/string arrays referenced by series) */
|
|
105
|
+
data: ChartExDataEntry[];
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* A `cx:data` entry, representing a column of values that one or more series
|
|
109
|
+
* reference by `id`.
|
|
110
|
+
*/
|
|
111
|
+
export interface ChartExDataEntry {
|
|
112
|
+
/** 0-based id, referenced by `cx:dataId` in series */
|
|
113
|
+
id: number;
|
|
114
|
+
/** String dimension (typically categories) */
|
|
115
|
+
strDim?: ChartExStringDimension;
|
|
116
|
+
/** Numeric dimension (typically values) */
|
|
117
|
+
numDim?: ChartExNumericDimension;
|
|
118
|
+
}
|
|
119
|
+
export interface ChartExStringDimension {
|
|
120
|
+
/** Dimension type attribute: "cat" / "val" / "x" / "y" / "size" / etc. */
|
|
121
|
+
type: ChartExDimensionType;
|
|
122
|
+
/** Formula reference (e.g. "Sheet1!$A$1:$A$10") */
|
|
123
|
+
formula?: string;
|
|
124
|
+
/** Level array (each level is one row of string points) */
|
|
125
|
+
levels?: Array<{
|
|
126
|
+
ptCount?: number;
|
|
127
|
+
points: Array<{
|
|
128
|
+
index: number;
|
|
129
|
+
value: string;
|
|
130
|
+
}>;
|
|
131
|
+
}>;
|
|
132
|
+
}
|
|
133
|
+
export interface ChartExNumericDimension {
|
|
134
|
+
/** Dimension type */
|
|
135
|
+
type: ChartExDimensionType;
|
|
136
|
+
/** Formula reference */
|
|
137
|
+
formula?: string;
|
|
138
|
+
/** Cached points */
|
|
139
|
+
levels?: Array<{
|
|
140
|
+
ptCount?: number;
|
|
141
|
+
formatCode?: string;
|
|
142
|
+
points: Array<{
|
|
143
|
+
index: number;
|
|
144
|
+
value: number;
|
|
145
|
+
}>;
|
|
146
|
+
}>;
|
|
147
|
+
}
|
|
148
|
+
export type ChartExDimensionType = "cat" | "val" | "x" | "y" | "size" | "colorVal" | "from" | "to" | "classification";
|
|
149
|
+
export interface ChartExChart {
|
|
150
|
+
title?: ChartTitle;
|
|
151
|
+
plotArea: ChartExPlotArea;
|
|
152
|
+
legend?: ChartLegend;
|
|
153
|
+
/** Whether the chart has an automatic title */
|
|
154
|
+
autoTitleDeleted?: boolean;
|
|
155
|
+
/**
|
|
156
|
+
* Extension list — raw XML preserved for round-trip of future
|
|
157
|
+
* `CT_Chart` extensions (e.g. `c15:` annotations).
|
|
158
|
+
*/
|
|
159
|
+
extLst?: string;
|
|
160
|
+
}
|
|
161
|
+
export interface ChartExPlotArea {
|
|
162
|
+
/** Plot area region (layout + spPr) */
|
|
163
|
+
plotAreaRegion?: {
|
|
164
|
+
layout?: ChartLayout;
|
|
165
|
+
plotSurface?: ShapeProperties;
|
|
166
|
+
/** Plot area series */
|
|
167
|
+
series: ChartExSeries[];
|
|
168
|
+
/**
|
|
169
|
+
* `<cx:extLst>` inside `<cx:plotAreaRegion>` — preserved verbatim
|
|
170
|
+
* for round-trip of Chart2014 extension blocks (e.g. the
|
|
171
|
+
* `cx14:` markers Excel writes for pivot-backed charts). Parsed
|
|
172
|
+
* and re-emitted as raw XML; the library never synthesises this
|
|
173
|
+
* field.
|
|
174
|
+
*/
|
|
175
|
+
extLst?: string;
|
|
176
|
+
};
|
|
177
|
+
/** Axes (value/category/etc.) */
|
|
178
|
+
axis?: ChartExAxis[];
|
|
179
|
+
/** Direct access to series (short-hand if no plotAreaRegion) */
|
|
180
|
+
series?: ChartExSeries[];
|
|
181
|
+
spPr?: ShapeProperties;
|
|
182
|
+
/**
|
|
183
|
+
* `<cx:extLst>` on the plot area itself (sibling of
|
|
184
|
+
* `plotAreaRegion`). Preserved for round-trip.
|
|
185
|
+
*/
|
|
186
|
+
extLst?: string;
|
|
187
|
+
}
|
|
188
|
+
export type ChartExSeriesType = "sunburst" | "treemap" | "waterfall" | "funnel" | "clusteredColumn" | "boxWhisker" | "paretoLine" | "regionMap";
|
|
189
|
+
export interface ChartExSeries {
|
|
190
|
+
layoutId: ChartExSeriesType;
|
|
191
|
+
/**
|
|
192
|
+
* Display name (tx) — string literal, formula reference (strRef), or
|
|
193
|
+
* a structured rich-text block. `rich` is a {@link ChartRichText};
|
|
194
|
+
* when set, the writer emits `<cx:rich>…</cx:rich>` with one or more
|
|
195
|
+
* `<a:p>` paragraphs, matching what Excel produces for bold/coloured
|
|
196
|
+
* series labels.
|
|
197
|
+
*
|
|
198
|
+
* `strRef` mirrors the classic {@link StringReference} shape: the
|
|
199
|
+
* raw formula plus an optional cached resolved value. Previous
|
|
200
|
+
* versions stored only the formula string; that form is still
|
|
201
|
+
* accepted via the `string` alternate, but round-trip of Excel-
|
|
202
|
+
* authored files now preserves the `<cx:v>` cached label so
|
|
203
|
+
* re-opens display the series name without recalculation.
|
|
204
|
+
*/
|
|
205
|
+
tx?: {
|
|
206
|
+
rich?: ChartRichText;
|
|
207
|
+
strRef?: string | {
|
|
208
|
+
formula: string;
|
|
209
|
+
cached?: string;
|
|
210
|
+
};
|
|
211
|
+
value?: string;
|
|
212
|
+
};
|
|
213
|
+
/** Hidden attribute */
|
|
214
|
+
hidden?: boolean;
|
|
215
|
+
/** Ownership — "primary" or "standard" */
|
|
216
|
+
ownerIdx?: number;
|
|
217
|
+
/** Shape properties */
|
|
218
|
+
spPr?: ShapeProperties;
|
|
219
|
+
/**
|
|
220
|
+
* Text properties (`<cx:txPr>`). Per `CT_Series` in the Chart2014
|
|
221
|
+
* schema, series can carry their own DrawingML text body properties
|
|
222
|
+
* which propagate to all series-level text (axis tick labels for the
|
|
223
|
+
* series, data-label defaults, legend entry text) unless overridden
|
|
224
|
+
* by a more specific `txPr` further down the tree.
|
|
225
|
+
*/
|
|
226
|
+
txPr?: ChartTextProperties;
|
|
227
|
+
/** Data references — each series references one or more cx:data entries */
|
|
228
|
+
dataPt?: Array<{
|
|
229
|
+
idx: number;
|
|
230
|
+
spPr?: ShapeProperties;
|
|
231
|
+
}>;
|
|
232
|
+
/** Data labels */
|
|
233
|
+
dataLabels?: ChartExDataLabels;
|
|
234
|
+
/** Data refs — each { axis, dataId } */
|
|
235
|
+
dataRefs?: Array<{
|
|
236
|
+
dataId?: number;
|
|
237
|
+
axisId?: number;
|
|
238
|
+
}>;
|
|
239
|
+
/** Layout properties (per-layoutId settings) */
|
|
240
|
+
layoutPr?: ChartExLayoutProperties;
|
|
241
|
+
/** Axis bindings */
|
|
242
|
+
axisId?: number[];
|
|
243
|
+
/**
|
|
244
|
+
* `<cx:valueColors>` — raw XML preserved for round-trip. This
|
|
245
|
+
* sub-element carries a colour-by-value palette (gradient stops keyed
|
|
246
|
+
* to value buckets) used by region-map and treemap charts. The
|
|
247
|
+
* structured model does not yet interpret the stops.
|
|
248
|
+
*/
|
|
249
|
+
valueColors?: string;
|
|
250
|
+
/**
|
|
251
|
+
* `<cx:valueColorPositions>` — raw XML preserved for round-trip.
|
|
252
|
+
* Companion to {@link valueColors}: lists the value/position pairs
|
|
253
|
+
* the palette maps onto.
|
|
254
|
+
*/
|
|
255
|
+
valueColorPositions?: string;
|
|
256
|
+
/** Extension list */
|
|
257
|
+
extLst?: string;
|
|
258
|
+
}
|
|
259
|
+
export interface ChartExDataLabels {
|
|
260
|
+
visibility?: {
|
|
261
|
+
seriesName?: boolean;
|
|
262
|
+
categoryName?: boolean;
|
|
263
|
+
value?: boolean;
|
|
264
|
+
numFmt?: boolean;
|
|
265
|
+
};
|
|
266
|
+
position?: string;
|
|
267
|
+
separator?: string;
|
|
268
|
+
numFmt?: string;
|
|
269
|
+
spPr?: ShapeProperties;
|
|
270
|
+
txPr?: ChartTextProperties;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Per-series layout properties. Only fields relevant to the series type are used.
|
|
274
|
+
*/
|
|
275
|
+
export interface ChartExLayoutProperties {
|
|
276
|
+
/** Raw cx:layoutPr XML preserved from loaded files. */
|
|
277
|
+
_rawXml?: string;
|
|
278
|
+
parentLabelLayout?: "banner" | "overlapping" | "none";
|
|
279
|
+
subtotals?: Array<{
|
|
280
|
+
idx: number;
|
|
281
|
+
}>;
|
|
282
|
+
connectorLines?: boolean;
|
|
283
|
+
/**
|
|
284
|
+
* Preview-only colour overrides for the three waterfall bar kinds.
|
|
285
|
+
* These are NOT part of the Chart2014 schema — Excel stores per-bar
|
|
286
|
+
* colours on `<cx:dataPt>` elements referenced by `subtotal` indices.
|
|
287
|
+
* Setting one affects only the SVG/PDF renderer; the XML writer
|
|
288
|
+
* does not emit them, so round-trip of a waterfall chart relies on
|
|
289
|
+
* `<cx:dataPt>` colours authored by Excel being preserved by the
|
|
290
|
+
* series-level `dataPt` path.
|
|
291
|
+
*/
|
|
292
|
+
increaseSpPr?: ShapeProperties;
|
|
293
|
+
decreaseSpPr?: ShapeProperties;
|
|
294
|
+
totalSpPr?: ShapeProperties;
|
|
295
|
+
binning?: {
|
|
296
|
+
binSize?: number;
|
|
297
|
+
binCount?: number;
|
|
298
|
+
binType?: "auto" | "binCount" | "binSize" | "categories" | "manual";
|
|
299
|
+
intervalClosed?: "l" | "r";
|
|
300
|
+
underflow?: number;
|
|
301
|
+
overflow?: number;
|
|
302
|
+
};
|
|
303
|
+
/** Pareto charts render a cumulative line over histogram columns. */
|
|
304
|
+
paretoLine?: boolean;
|
|
305
|
+
quartileMethod?: "inclusive" | "exclusive";
|
|
306
|
+
showMeanLine?: boolean;
|
|
307
|
+
showMeanMarker?: boolean;
|
|
308
|
+
showInnerPoints?: boolean;
|
|
309
|
+
showOutlierPoints?: boolean;
|
|
310
|
+
projection?: "mercator" | "albers" | "miller" | "robinson";
|
|
311
|
+
regionLabels?: "none" | "bestFit" | "showAll";
|
|
312
|
+
geoMappingLevel?: "automatic" | "country" | "state" | "county" | "postalCode";
|
|
313
|
+
/** Extension list */
|
|
314
|
+
extLst?: string;
|
|
315
|
+
}
|
|
316
|
+
export interface ChartExAxis {
|
|
317
|
+
axisId: number;
|
|
318
|
+
/** Category or value axis */
|
|
319
|
+
type: "cat" | "val";
|
|
320
|
+
/** Axis title */
|
|
321
|
+
title?: ChartTitle;
|
|
322
|
+
/** Major tick mark */
|
|
323
|
+
majorTickMark?: "none" | "inside" | "outside" | "cross";
|
|
324
|
+
/** Minor tick mark */
|
|
325
|
+
minorTickMark?: "none" | "inside" | "outside" | "cross";
|
|
326
|
+
/**
|
|
327
|
+
* `<cx:majorGridlines>` — styled gridlines drawn at each major
|
|
328
|
+
* tick. Per Chart2014 `CT_Axis`, the element wraps a single
|
|
329
|
+
* `<cx:spPr>` child; `undefined` means "no major gridlines" while
|
|
330
|
+
* an empty object means "default-styled gridlines". Previously
|
|
331
|
+
* this field was absent from the type, and Excel-authored charts
|
|
332
|
+
* with styled gridlines had them dropped on round-trip.
|
|
333
|
+
*/
|
|
334
|
+
majorGridlines?: ShapeProperties;
|
|
335
|
+
/** `<cx:minorGridlines>` — same semantics at minor tick positions. */
|
|
336
|
+
minorGridlines?: ShapeProperties;
|
|
337
|
+
/**
|
|
338
|
+
* `<cx:tickLabels>` — tick-label rendering flag. Excel emits an
|
|
339
|
+
* empty `<cx:tickLabels/>` on every axis by default; without it
|
|
340
|
+
* the tick labels are suppressed entirely on load. Treated the
|
|
341
|
+
* same way as `majorGridlines`: `undefined` means "omit",
|
|
342
|
+
* presence (even as an empty object) means "emit `<cx:tickLabels/>`".
|
|
343
|
+
*/
|
|
344
|
+
tickLabels?: Record<string, never> | {
|
|
345
|
+
rawXml?: string;
|
|
346
|
+
};
|
|
347
|
+
/** Number format */
|
|
348
|
+
numFmt?: {
|
|
349
|
+
formatCode: string;
|
|
350
|
+
sourceLinked?: boolean;
|
|
351
|
+
};
|
|
352
|
+
/** Shape properties */
|
|
353
|
+
spPr?: ShapeProperties;
|
|
354
|
+
/** Text properties */
|
|
355
|
+
txPr?: ChartTextProperties;
|
|
356
|
+
/** Hidden */
|
|
357
|
+
hidden?: boolean;
|
|
358
|
+
/** Category axis scaling */
|
|
359
|
+
catScaling?: {
|
|
360
|
+
gapWidth?: number;
|
|
361
|
+
};
|
|
362
|
+
/** Value axis scaling — `min` / `max` / `majorUnit` / `minorUnit`. */
|
|
363
|
+
valScaling?: {
|
|
364
|
+
max?: number;
|
|
365
|
+
min?: number;
|
|
366
|
+
majorUnit?: number;
|
|
367
|
+
minorUnit?: number;
|
|
368
|
+
};
|
|
369
|
+
/**
|
|
370
|
+
* `<cx:units>` — display-unit scaling for value axes (thousand /
|
|
371
|
+
* million / custom). Stored as the raw XML slice so it round-trips
|
|
372
|
+
* verbatim; the structured model doesn't yet interpret it, but the
|
|
373
|
+
* writer must not silently drop this element.
|
|
374
|
+
*/
|
|
375
|
+
units?: string;
|
|
376
|
+
/** Extension list */
|
|
377
|
+
extLst?: string;
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Top-level options for creating a chartEx programmatically.
|
|
381
|
+
*/
|
|
382
|
+
export interface AddChartExOptions {
|
|
383
|
+
/** Chart type */
|
|
384
|
+
type: ChartExType;
|
|
385
|
+
/** Series configuration */
|
|
386
|
+
series: AddChartExSeriesOptions[];
|
|
387
|
+
/** Category values reference */
|
|
388
|
+
categories?: string;
|
|
389
|
+
/**
|
|
390
|
+
* Chart title. Accepts the same three forms as classic charts:
|
|
391
|
+
*
|
|
392
|
+
* - `string` — plain title text
|
|
393
|
+
* - `{ formula: "Sheet1!$A$1" }` — a worksheet formula reference; the
|
|
394
|
+
* rendered title is the live cell value
|
|
395
|
+
* - {@link ChartRichText} — fully-structured rich text with per-run
|
|
396
|
+
* formatting (colour / font / bold / italic)
|
|
397
|
+
*
|
|
398
|
+
* Pass `null` to explicitly suppress the title (sets
|
|
399
|
+
* `autoTitleDeleted="1"` so Excel will NOT auto-generate a
|
|
400
|
+
* single-series title). Omit the option entirely to let Excel
|
|
401
|
+
* decide whether to auto-title the chart — this is the default
|
|
402
|
+
* behaviour and produces the same output Excel would emit for a
|
|
403
|
+
* chart authored with no title via its UI.
|
|
404
|
+
*/
|
|
405
|
+
title?: string | {
|
|
406
|
+
formula: string;
|
|
407
|
+
} | ChartRichText | null;
|
|
408
|
+
/** Show legend */
|
|
409
|
+
showLegend?: boolean;
|
|
410
|
+
/** Legend position */
|
|
411
|
+
legendPosition?: "b" | "l" | "r" | "t" | "tr";
|
|
412
|
+
/** Type-specific layout overrides */
|
|
413
|
+
layout?: ChartExLayoutProperties;
|
|
414
|
+
/** Histogram/pareto binning shortcut; merged into `layout.binning`. */
|
|
415
|
+
binning?: ChartExLayoutProperties["binning"];
|
|
416
|
+
/**
|
|
417
|
+
* ChartEx chart frame styling. Accepts either a fully-structured
|
|
418
|
+
* {@link ShapeProperties} (the OOXML-shape representation used
|
|
419
|
+
* throughout the chart module) or the ergonomic
|
|
420
|
+
* {@link AddShapeFillOptions} bag with hex colour / border / gradient /
|
|
421
|
+
* pattern shortcuts — matching the `floor` / `sideWall` / `backWall`
|
|
422
|
+
* options on classic `AddChartOptions` so the two APIs stay symmetric.
|
|
423
|
+
*/
|
|
424
|
+
spPr?: ShapeProperties | AddShapeFillOptions;
|
|
425
|
+
/** Optional sidecar-style metadata retained on the structured model. */
|
|
426
|
+
chartStyle?: ChartStyleModel;
|
|
427
|
+
/** Optional sidecar-color metadata retained on the structured model. */
|
|
428
|
+
chartColors?: ChartColorsModel;
|
|
429
|
+
}
|
|
430
|
+
export interface AddChartExHistogramOptions extends Omit<AddChartExOptions, "type"> {
|
|
431
|
+
/** `histogram` for frequency columns, `pareto` for frequency columns plus cumulative line. */
|
|
432
|
+
type?: "histogram" | "pareto";
|
|
433
|
+
layout?: Pick<ChartExLayoutProperties, "binning">;
|
|
434
|
+
}
|
|
435
|
+
export interface AddChartExWaterfallOptions extends Omit<AddChartExOptions, "type"> {
|
|
436
|
+
type?: "waterfall";
|
|
437
|
+
layout?: Pick<ChartExLayoutProperties, "subtotals">;
|
|
438
|
+
}
|
|
439
|
+
export interface AddChartExBoxWhiskerOptions extends Omit<AddChartExOptions, "type"> {
|
|
440
|
+
type?: "boxWhisker";
|
|
441
|
+
layout?: Pick<ChartExLayoutProperties, "quartileMethod" | "showMeanLine" | "showMeanMarker" | "showInnerPoints" | "showOutlierPoints">;
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Supported chartEx high-level types.
|
|
445
|
+
*/
|
|
446
|
+
export type ChartExType = "sunburst" | "treemap" | "waterfall" | "funnel" | "histogram" | "pareto" | "boxWhisker" | "regionMap";
|
|
447
|
+
export interface AddChartExSeriesOptions {
|
|
448
|
+
/**
|
|
449
|
+
* Display name for the series. Accepts:
|
|
450
|
+
* - `string` — literal caption (e.g. `"Quarterly sales"`).
|
|
451
|
+
* - `{ formula: string }` — worksheet cell reference resolved at
|
|
452
|
+
* read time (e.g. `{ formula: "Sheet1!$B$1" }`). Matches the
|
|
453
|
+
* classic chart-builder `AddChartSeriesOptions.name` shape so
|
|
454
|
+
* applications can share typings across the two builders.
|
|
455
|
+
* - `ChartRichText` — structured rich-text for per-run formatting.
|
|
456
|
+
*
|
|
457
|
+
* Previously only the string form was accepted; the formula /
|
|
458
|
+
* rich-text forms were silently dropped via type narrowing.
|
|
459
|
+
*/
|
|
460
|
+
name?: string | {
|
|
461
|
+
formula: string;
|
|
462
|
+
} | ChartRichText;
|
|
463
|
+
/** Values reference (e.g. "Sheet1!$B$2:$B$10") */
|
|
464
|
+
values: string;
|
|
465
|
+
/** Literal cached values for headless charts that are not backed by worksheet formulas. */
|
|
466
|
+
literalValues?: number[];
|
|
467
|
+
/** Literal cached categories for headless charts that are not backed by worksheet formulas. */
|
|
468
|
+
literalCategories?: string[];
|
|
469
|
+
/** Per-type extra references:
|
|
470
|
+
* - histogram: not used (categories carries the bin source)
|
|
471
|
+
* - waterfall: subtotal indices
|
|
472
|
+
* - pareto: line series uses the cumulative values automatically
|
|
473
|
+
*/
|
|
474
|
+
/** Sub-category hierarchy levels (sunburst/treemap) */
|
|
475
|
+
hierarchy?: string[];
|
|
476
|
+
/** Literal cached hierarchy levels for headless sunburst/treemap previews. */
|
|
477
|
+
literalHierarchy?: string[][];
|
|
478
|
+
/** Waterfall subtotal indices (0-based) */
|
|
479
|
+
subtotals?: number[];
|
|
480
|
+
/** Waterfall subtotal marker objects, useful when callers already use OOXML-shaped config. */
|
|
481
|
+
subtotalPoints?: Array<{
|
|
482
|
+
idx: number;
|
|
483
|
+
}>;
|
|
484
|
+
/** Fill color (hex) */
|
|
485
|
+
fill?: string;
|
|
486
|
+
/** Border color (hex) */
|
|
487
|
+
border?: string;
|
|
488
|
+
/**
|
|
489
|
+
* Series-level shape properties. Accepts either a structured
|
|
490
|
+
* {@link ShapeProperties} or the shorthand {@link AddShapeFillOptions}
|
|
491
|
+
* bag (same ergonomic hex-colour / gradient / pattern form classic
|
|
492
|
+
* charts already support). Takes precedence over the
|
|
493
|
+
* {@link AddChartExSeriesOptions.fill} / {@link AddChartExSeriesOptions.border}
|
|
494
|
+
* convenience fields when both are provided.
|
|
495
|
+
*/
|
|
496
|
+
spPr?: ShapeProperties | AddShapeFillOptions;
|
|
497
|
+
/** Data labels */
|
|
498
|
+
dataLabels?: {
|
|
499
|
+
showValue?: boolean;
|
|
500
|
+
showCategory?: boolean;
|
|
501
|
+
showSeriesName?: boolean;
|
|
502
|
+
/**
|
|
503
|
+
* Emit `<cx:visibility numFmt="1"/>` so the data label shows the
|
|
504
|
+
* formatted number alongside the other visibility flags. Maps to
|
|
505
|
+
* `ChartExDataLabels.visibility.numFmt`. Defaults to `undefined`
|
|
506
|
+
* (Excel's own behaviour: the attribute is omitted, readers pick
|
|
507
|
+
* a default based on the layout).
|
|
508
|
+
*/
|
|
509
|
+
showNumFmt?: boolean;
|
|
510
|
+
position?: string;
|
|
511
|
+
separator?: string;
|
|
512
|
+
numFmt?: string;
|
|
513
|
+
/**
|
|
514
|
+
* Shape properties for the data-label fills / borders. Accepts
|
|
515
|
+
* the same structured {@link ShapeProperties} form as other
|
|
516
|
+
* `spPr` slots in this file. Propagated to the internal
|
|
517
|
+
* `ChartExDataLabels.spPr` so the renderer's `<cx:spPr>` emit
|
|
518
|
+
* carries it. Previously the internal type exposed this slot but
|
|
519
|
+
* the public options dropped it, leaving programmatic ChartEx
|
|
520
|
+
* authors without a way to style data-label backgrounds.
|
|
521
|
+
*/
|
|
522
|
+
spPr?: ShapeProperties | AddShapeFillOptions;
|
|
523
|
+
/**
|
|
524
|
+
* Run-level text properties for the label text. Routed to the
|
|
525
|
+
* internal `ChartExDataLabels.txPr`, which the renderer emits as
|
|
526
|
+
* `<cx:txPr>`. See {@link ChartTextProperties} for the field
|
|
527
|
+
* shape (font family, size, bold/italic, colour …).
|
|
528
|
+
*/
|
|
529
|
+
txPr?: ChartTextProperties;
|
|
530
|
+
};
|
|
531
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChartEx (Office 2016+ extended charts) type definitions.
|
|
3
|
+
*
|
|
4
|
+
* These types mirror the ECMA-376 Part 1, §21.3 `cx:` namespace for the eight
|
|
5
|
+
* modern chart types: sunburst, treemap, waterfall, funnel, histogram
|
|
6
|
+
* (and Pareto), box-whisker, and region map.
|
|
7
|
+
*
|
|
8
|
+
* Classic charts live in `c:` (ChartML); chartEx uses its own `cx:` schema
|
|
9
|
+
* with shared formatting primitives (spPr/txPr) but very different data model.
|
|
10
|
+
*/
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Picture-fill (`<a:blipFill>`) registration for chart parts.
|
|
3
|
+
*
|
|
4
|
+
* Callers supply an image payload via `AddChartSeriesOptions.pictureFill.image`;
|
|
5
|
+
* the builder stores it on the chart model's `spPr.fill.blip._pendingImage`
|
|
6
|
+
* field. This module consumes those staged payloads at chart-registration
|
|
7
|
+
* time, pushes the image into the workbook media collection, allocates a
|
|
8
|
+
* fresh chart-part relationship, and rewrites the blip with the resolved
|
|
9
|
+
* `r:embed` id.
|
|
10
|
+
*
|
|
11
|
+
* The worksheet path calls {@link resolvePendingChartImages} right after
|
|
12
|
+
* `fillChartCaches` and before the chart entry is stored — at that point
|
|
13
|
+
* we have both the built model and the owning workbook, so we can do the
|
|
14
|
+
* binding without requiring callers to juggle rel ids manually.
|
|
15
|
+
*/
|
|
16
|
+
import type { ChartEntry } from "./chart.ts";
|
|
17
|
+
/**
|
|
18
|
+
* Minimal workbook surface used by {@link resolvePendingChartImages}. The
|
|
19
|
+
* concrete worksheet/workbook types pull in Cell/Row/Column machinery
|
|
20
|
+
* this helper has no business touching, so we work against a structural
|
|
21
|
+
* slice instead to keep the chart module import-light.
|
|
22
|
+
*/
|
|
23
|
+
export interface PictureFillHostWorkbook {
|
|
24
|
+
addImage(image: WorkbookImagePayload): number;
|
|
25
|
+
getImage(id: number | string): WorkbookMediaLike | undefined;
|
|
26
|
+
}
|
|
27
|
+
interface WorkbookMediaLike {
|
|
28
|
+
extension?: string;
|
|
29
|
+
buffer?: Uint8Array | undefined;
|
|
30
|
+
base64?: string | undefined;
|
|
31
|
+
filename?: string | undefined;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Image payload accepted by `Workbook.addImage`. Named
|
|
35
|
+
* `WorkbookImagePayload` — NOT `ImageData` — so we do not collide with
|
|
36
|
+
* the browser's built-in `ImageData` DOM type (pixel buffer used by
|
|
37
|
+
* Canvas) when this module is compiled for the browser bundle.
|
|
38
|
+
*/
|
|
39
|
+
interface WorkbookImagePayload {
|
|
40
|
+
extension: "jpeg" | "png" | "gif";
|
|
41
|
+
base64?: string;
|
|
42
|
+
filename?: string;
|
|
43
|
+
buffer?: Uint8Array;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Rel information that {@link resolvePendingChartImages} appends to the
|
|
47
|
+
* chart entry so the writer can emit the `chart{N}.xml.rels` file and
|
|
48
|
+
* the correct `r:embed` value inside the chart XML.
|
|
49
|
+
*
|
|
50
|
+
* The concrete shape matches the rel entry format used elsewhere
|
|
51
|
+
* (xlsx-writer relationships XForm) — Id + Type + Target triple. We
|
|
52
|
+
* hardcode the Type URI in the literal emitted at the call site so
|
|
53
|
+
* callers don't need to import the workbook-level `RelType` enum.
|
|
54
|
+
*/
|
|
55
|
+
/**
|
|
56
|
+
* Walk a chart model, resolve every `_pendingImage` blip into a real
|
|
57
|
+
* workbook media entry + chart relationship, and mutate the model so
|
|
58
|
+
* the blip references the allocated `rIdN`.
|
|
59
|
+
*
|
|
60
|
+
* Safe to call multiple times on the same entry: once a blip has a
|
|
61
|
+
* `relationshipId` and no `_pendingImage`, it is skipped.
|
|
62
|
+
*
|
|
63
|
+
* @param entry The chart entry being registered. Its `rels` array is
|
|
64
|
+
* populated (created if absent) with any freshly
|
|
65
|
+
* allocated image relationships.
|
|
66
|
+
* @param workbook Host workbook exposing `addImage`. Also consulted for
|
|
67
|
+
* its internal `_chartRels[n]` bag — those rels are
|
|
68
|
+
* loaded from disk during round-trip and carry canonical
|
|
69
|
+
* rIds that must NOT collide with freshly allocated
|
|
70
|
+
* image rels (the xlsx writer merges both lists and
|
|
71
|
+
* silently drops any duplicate Id, which would otherwise
|
|
72
|
+
* orphan the image relationship).
|
|
73
|
+
* @param chartNumber 1-based chart index. Used to look up
|
|
74
|
+
* `workbook._chartRels[chartNumber]` so pre-existing
|
|
75
|
+
* rels seed the collision set.
|
|
76
|
+
*/
|
|
77
|
+
export declare function resolvePendingChartImages(entry: ChartEntry, workbook: PictureFillHostWorkbook, chartNumber: number): void;
|
|
78
|
+
export {};
|