@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,504 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chart - High-level chart object for worksheet embedding.
|
|
3
|
+
*
|
|
4
|
+
* Similar to Image, a Chart belongs to a Worksheet and carries the
|
|
5
|
+
* structural data needed for both the DrawingML anchor and the
|
|
6
|
+
* standalone chart XML part.
|
|
7
|
+
*/
|
|
8
|
+
import { Anchor, type AnchorModel } from "../anchor.js";
|
|
9
|
+
import type { ChartExModel } from "./chart-ex-types.js";
|
|
10
|
+
import type { AddChartRange, ChartModel, ChartStyleModel, ChartColorsModel, ChartTypeGroup, ChartAxis, ChartLegend, PlotArea, ShapeProperties, ChartRichText, SeriesBase, AddChartSeriesOptions } from "./types.js";
|
|
11
|
+
import type { Worksheet } from "../worksheet.js";
|
|
12
|
+
import { buildChartModel } from "./chart-builder.js";
|
|
13
|
+
import { type ChartRenderOptions } from "./chart-renderer.js";
|
|
14
|
+
/**
|
|
15
|
+
* Relationship entry written to `chart{N}.xml.rels` / `chartEx{N}.xml.rels`.
|
|
16
|
+
* Kept as a lightweight structural record (not a full rels type) so the
|
|
17
|
+
* round-trip path works uniformly with what the xform reader/writer emits.
|
|
18
|
+
*/
|
|
19
|
+
export interface ChartRelEntry {
|
|
20
|
+
/** `rId…` identifier referenced from the chart part XML. */
|
|
21
|
+
Id: string;
|
|
22
|
+
/** Relationship type URI (e.g. the user-shapes / style / colours type). */
|
|
23
|
+
Type: string;
|
|
24
|
+
/** Target path, relative to the chart part. */
|
|
25
|
+
Target: string;
|
|
26
|
+
/** Optional mode for external targets (`"External"`). */
|
|
27
|
+
TargetMode?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Internal model stored on the Workbook for each chart.
|
|
31
|
+
* Contains the fully-parsed (or programmatically created) chart data
|
|
32
|
+
* plus ancillary style/colors files.
|
|
33
|
+
*/
|
|
34
|
+
export interface ChartEntry {
|
|
35
|
+
/** 1-based chart number (matches chart{N}.xml) */
|
|
36
|
+
chartNumber: number;
|
|
37
|
+
/** Full chart model */
|
|
38
|
+
model: ChartModel;
|
|
39
|
+
/** Original chart XML bytes from a loaded workbook, used for clean round-trip passthrough */
|
|
40
|
+
rawData?: Uint8Array;
|
|
41
|
+
/** JSON snapshot of `model` taken when `rawData` was parsed */
|
|
42
|
+
modelSnapshot?: string;
|
|
43
|
+
/** True once a high-level API mutates the parsed chart model */
|
|
44
|
+
dirty?: boolean;
|
|
45
|
+
/** When true, simple high-level mutations may patch raw XML instead of full re-render. */
|
|
46
|
+
preferRawPatch?: boolean;
|
|
47
|
+
/** When true, writing fails instead of re-rendering if raw XML cannot be safely patched. */
|
|
48
|
+
requireRawPatch?: boolean;
|
|
49
|
+
/** Chart style (styleN.xml) — raw XML for round-trip */
|
|
50
|
+
style?: ChartStyleModel;
|
|
51
|
+
/** Chart colors (colorsN.xml) — raw XML for round-trip */
|
|
52
|
+
colors?: ChartColorsModel;
|
|
53
|
+
/** Chart rels (chart{N}.xml.rels) — entries for round-trip */
|
|
54
|
+
rels?: ChartRelEntry[];
|
|
55
|
+
/**
|
|
56
|
+
* Raw bytes of the user-shapes drawing part targeted by this chart's
|
|
57
|
+
* `c:userShapes r:id="…"` reference. OOXML stores annotation shapes
|
|
58
|
+
* (arrows, callouts, text boxes the user drew on top of the chart)
|
|
59
|
+
* in a separate `xl/drawings/drawingN.xml` part that uses relative
|
|
60
|
+
* anchors instead of the regular `xdr:twoCellAnchor` schema. The
|
|
61
|
+
* full DrawingML subsystem is out of scope for this library, so the
|
|
62
|
+
* bytes are kept verbatim for round-trip and exposed programmatically
|
|
63
|
+
* via {@link Chart.userShapesXml} so callers can inject / replace the
|
|
64
|
+
* drawing part if they need to.
|
|
65
|
+
*/
|
|
66
|
+
userShapesXml?: Uint8Array;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Stored entry for a structured ChartEx (Office 2016+ extended chart).
|
|
70
|
+
* When a ChartEx is created programmatically via `addChartEx()`, a structured
|
|
71
|
+
* model is stored here and serialised through the builder/renderer on write.
|
|
72
|
+
* When a ChartEx is round-tripped, raw bytes are used instead (stored under
|
|
73
|
+
* `workbook._chartExEntries`).
|
|
74
|
+
*/
|
|
75
|
+
export interface ChartExEntry {
|
|
76
|
+
/** 1-based chartEx number (matches chartEx{N}.xml) */
|
|
77
|
+
chartExNumber: number;
|
|
78
|
+
/** Structured model (built from addChartEx options) */
|
|
79
|
+
model: ChartExModel;
|
|
80
|
+
/** Original chartEx XML bytes from a loaded workbook, used for clean round-trip passthrough */
|
|
81
|
+
rawData?: Uint8Array;
|
|
82
|
+
/** JSON snapshot of `model` taken when `rawData` was parsed */
|
|
83
|
+
modelSnapshot?: string;
|
|
84
|
+
/** True once a high-level API mutates the parsed chartEx model */
|
|
85
|
+
dirty?: boolean;
|
|
86
|
+
/** When true, simple high-level mutations may patch raw ChartEx XML instead of full re-render. */
|
|
87
|
+
preferRawPatch?: boolean;
|
|
88
|
+
/** When true, writing fails instead of re-rendering if raw ChartEx XML cannot be safely patched. */
|
|
89
|
+
requireRawPatch?: boolean;
|
|
90
|
+
/** ChartEx rels — preserved for round-trip */
|
|
91
|
+
rels?: ChartRelEntry[];
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* The range a chart occupies on a worksheet.
|
|
95
|
+
*/
|
|
96
|
+
interface ChartAnchorRange {
|
|
97
|
+
/** Top-left anchor (always present) */
|
|
98
|
+
tl: Anchor;
|
|
99
|
+
/** Bottom-right anchor (only for twoCellAnchor) */
|
|
100
|
+
br?: Anchor;
|
|
101
|
+
/** Absolute position in EMU (only for absoluteAnchor) */
|
|
102
|
+
pos?: {
|
|
103
|
+
x: number;
|
|
104
|
+
y: number;
|
|
105
|
+
};
|
|
106
|
+
/** Extent in EMU (for oneCellAnchor and absoluteAnchor) */
|
|
107
|
+
ext?: {
|
|
108
|
+
cx: number;
|
|
109
|
+
cy: number;
|
|
110
|
+
};
|
|
111
|
+
/** Anchor behaviour: oneCell, twoCell, or absolute */
|
|
112
|
+
editAs?: string;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* A chart embedded in a worksheet.
|
|
116
|
+
*
|
|
117
|
+
* Charts come in two flavours:
|
|
118
|
+
*
|
|
119
|
+
* - **Classic** (`chartNumber` set): a fully-parsed `c:chart` with a
|
|
120
|
+
* {@link ChartModel}. All public accessors (`chartModel`,
|
|
121
|
+
* `chartTypes`, `axes`, series mutators, `style`, `mutate`, …) are
|
|
122
|
+
* backed by the structured model.
|
|
123
|
+
*
|
|
124
|
+
* - **ChartEx** (`chartExNumber` set): Office 2016+ `cx:chart`. The
|
|
125
|
+
* structured model (`chartExModel`) is populated; a parallel
|
|
126
|
+
* `rawXml` buffer is kept so byte-for-byte round-trip is the default
|
|
127
|
+
* when no mutation happens. The high-level accessors that make
|
|
128
|
+
* sense on both flavours (`title`, `legend`, `spPr`, `toSVG`,
|
|
129
|
+
* `toPNG`, `unknownElements`) work uniformly. ChartTypeGroup-level
|
|
130
|
+
* APIs (`chartTypes`, `axes`, `plotArea`, `getAxis`, `categoryAxis`,
|
|
131
|
+
* `valueAxis`, `addSeries`, `removeSeries`, `getSeries`,
|
|
132
|
+
* `updateSeries`, `addSeriesFromOptions`, `seriesCount`, `mutate`,
|
|
133
|
+
* `setStyle`) are classic-only — ChartEx has its own topology that
|
|
134
|
+
* doesn't map cleanly onto the classic group/series abstraction;
|
|
135
|
+
* use {@link Chart.mutateChartEx} for ChartEx mutations.
|
|
136
|
+
*/
|
|
137
|
+
declare class Chart {
|
|
138
|
+
readonly worksheet: Worksheet;
|
|
139
|
+
/** 1-based chart number for classic c:chart (0 when this is a chartEx) */
|
|
140
|
+
chartNumber: number;
|
|
141
|
+
/** 1-based chartEx number for cx:chart (0 when this is a classic chart) */
|
|
142
|
+
chartExNumber: number;
|
|
143
|
+
range: ChartAnchorRange;
|
|
144
|
+
constructor(worksheet: Worksheet, ids: {
|
|
145
|
+
chartNumber?: number;
|
|
146
|
+
chartExNumber?: number;
|
|
147
|
+
}, range: AddChartRange | ChartAnchorModel["range"]);
|
|
148
|
+
/** Whether this is an Office 2016+ extended chart (cx:chart) */
|
|
149
|
+
get isChartEx(): boolean;
|
|
150
|
+
private static parseRange;
|
|
151
|
+
get model(): ChartAnchorModel;
|
|
152
|
+
/** Get the full ChartModel from the workbook's chart entries (classic charts only) */
|
|
153
|
+
get chartModel(): ChartModel | undefined;
|
|
154
|
+
/** Get the structured ChartEx model, when this chart is an Office 2016+ chartEx. */
|
|
155
|
+
get chartExModel(): ChartExModel | undefined;
|
|
156
|
+
/**
|
|
157
|
+
* Vendor-extension elements the parser observed but could not map to a
|
|
158
|
+
* structured field. Populated when the chart was loaded from an existing
|
|
159
|
+
* `.xlsx` whose author emitted `c15:`/`cx14:` style extension tags (often
|
|
160
|
+
* MSO-internal; the OOXML spec treats them as implementation-specific).
|
|
161
|
+
*
|
|
162
|
+
* The array is **purely informational** in the default `preserve` writer
|
|
163
|
+
* mode — structural rebuilds keep the raw XML pass-through that contains
|
|
164
|
+
* those tags. In **`strictTemplateMode`** the writer surfaces this list
|
|
165
|
+
* in its failure message when a mutation cannot be expressed as a raw
|
|
166
|
+
* patch, so authors can decide between:
|
|
167
|
+
*
|
|
168
|
+
* 1. Relaxing `strictTemplateMode` and accepting that a rebuild will
|
|
169
|
+
* drop these vendor tags, or
|
|
170
|
+
* 2. Reshaping the mutation to land on a patch-friendly path (for
|
|
171
|
+
* example editing `title` text rather than replacing the whole
|
|
172
|
+
* `c:chart` subtree).
|
|
173
|
+
*
|
|
174
|
+
* Returns `undefined` if the chart was freshly created (no raw XML was
|
|
175
|
+
* ever parsed) or if every child was recognised. See
|
|
176
|
+
* {@link XlsxWriteOptions.strictTemplateMode} for the writer surface.
|
|
177
|
+
*/
|
|
178
|
+
get unknownElements(): Array<{
|
|
179
|
+
name: string;
|
|
180
|
+
path: string;
|
|
181
|
+
}> | undefined;
|
|
182
|
+
/**
|
|
183
|
+
* Raw XML bytes of the `c:userShapes` drawing part attached to this
|
|
184
|
+
* chart, or `undefined` when the chart has no user shapes. User
|
|
185
|
+
* shapes are annotation overlays (callouts, arrows, free text) that
|
|
186
|
+
* Excel stores in a separate `xl/drawings/drawingN.xml` part using
|
|
187
|
+
* relative anchors — the OOXML spec keeps their DrawingML schema
|
|
188
|
+
* distinct from worksheet drawings, so the library treats the part
|
|
189
|
+
* as opaque bytes for round-trip and programmatic replacement
|
|
190
|
+
* instead of exposing a full structural API.
|
|
191
|
+
*
|
|
192
|
+
* Classic charts only. Returns `undefined` on chartEx charts (they
|
|
193
|
+
* have their own extension mechanism and do not use `c:userShapes`).
|
|
194
|
+
*/
|
|
195
|
+
get userShapesXml(): Uint8Array | undefined;
|
|
196
|
+
/**
|
|
197
|
+
* Replace the `c:userShapes` drawing part for this chart with the
|
|
198
|
+
* supplied raw XML bytes. Passing `undefined` or an empty byte
|
|
199
|
+
* array removes the user-shapes reference entirely (equivalent to
|
|
200
|
+
* {@link removeUserShapes}).
|
|
201
|
+
*
|
|
202
|
+
* The XML must be a complete DrawingML document whose root is a
|
|
203
|
+
* `c:userShapes` element containing `c:relSizeAnchor` /
|
|
204
|
+
* `c:absSizeAnchor` children. The library performs a shallow sanity
|
|
205
|
+
* check only — no schema validation.
|
|
206
|
+
*
|
|
207
|
+
* When a chart did not previously have user shapes, this allocates
|
|
208
|
+
* a new `r:id` and adds the drawing-part rel so the reference is
|
|
209
|
+
* discoverable in `chartN.xml.rels`. When a chart already had user
|
|
210
|
+
* shapes, the existing `r:id` is kept and only the bytes are
|
|
211
|
+
* updated.
|
|
212
|
+
*
|
|
213
|
+
* Classic charts only. Throws on chartEx charts.
|
|
214
|
+
*/
|
|
215
|
+
setUserShapesXml(xml: Uint8Array | string | undefined): void;
|
|
216
|
+
/**
|
|
217
|
+
* Drop the `c:userShapes` reference and its backing drawing part.
|
|
218
|
+
* Classic charts only. No-op when the chart has no user shapes.
|
|
219
|
+
*/
|
|
220
|
+
removeUserShapes(): void;
|
|
221
|
+
/**
|
|
222
|
+
* Render this chart as a **zero-dependency deterministic preview** SVG.
|
|
223
|
+
*
|
|
224
|
+
* The output is suitable for thumbnails, email attachments,
|
|
225
|
+
* server-side report generation, CI smoke tests, and README images.
|
|
226
|
+
* It is **not** an Excel-pixel-perfect compositor — text layout,
|
|
227
|
+
* font metrics, and 3D projection are approximated for a stable
|
|
228
|
+
* preview rather than reproduced from Excel's internal renderer.
|
|
229
|
+
*
|
|
230
|
+
* For production-grade rendering (Excel-identical layout, real 3D
|
|
231
|
+
* for non-bar types, exact font hinting), round-trip the `.xlsx`
|
|
232
|
+
* through headless LibreOffice (`soffice --convert-to pdf`) — the
|
|
233
|
+
* byte-preserving round-trip + `templateMode: "strict"` guarantees
|
|
234
|
+
* in this library make that a safe handoff.
|
|
235
|
+
*
|
|
236
|
+
* See `src/modules/excel/README.md` → "Rendering scope" for the
|
|
237
|
+
* complete boundary list.
|
|
238
|
+
*/
|
|
239
|
+
toSVG(options?: ChartRenderOptions): string;
|
|
240
|
+
/**
|
|
241
|
+
* Render this chart as a **zero-dependency deterministic preview** PNG.
|
|
242
|
+
*
|
|
243
|
+
* Browsers use a `<canvas>` pipeline; Node.js uses the built-in
|
|
244
|
+
* `BasicRasterCanvas` rasteriser (a pure-JS SVG-subset rasteriser —
|
|
245
|
+
* no native canvas dependency). DrawingML effect filters
|
|
246
|
+
* (shadow/glow/soft-edge/blur/reflection) round-trip through XML and
|
|
247
|
+
* emit as SVG `<filter>`, but the Node PNG rasteriser silently drops
|
|
248
|
+
* them; the browser canvas path renders them natively.
|
|
249
|
+
*
|
|
250
|
+
* See {@link toSVG} for the full scope-boundary note. For pixel-perfect
|
|
251
|
+
* output, convert through LibreOffice.
|
|
252
|
+
*/
|
|
253
|
+
toPNG(options?: ChartRenderOptions): Promise<Uint8Array>;
|
|
254
|
+
/** Get the chart title text. Returns undefined if no title. */
|
|
255
|
+
get title(): string | undefined;
|
|
256
|
+
/**
|
|
257
|
+
* Set the chart title.
|
|
258
|
+
*
|
|
259
|
+
* Accepts:
|
|
260
|
+
* - `undefined` → removes title (sets autoTitleDeleted).
|
|
261
|
+
* - `string` → sets title text. If the existing title had rich-text formatting,
|
|
262
|
+
* the formatting of the first run is preserved and only the text is replaced.
|
|
263
|
+
* - `ChartRichText` → replaces the title with fully-structured rich text.
|
|
264
|
+
* - `{ formula: string }` → sets the title to a worksheet formula reference.
|
|
265
|
+
*/
|
|
266
|
+
set title(value: string | ChartRichText | {
|
|
267
|
+
formula: string;
|
|
268
|
+
} | undefined);
|
|
269
|
+
/**
|
|
270
|
+
* Set the chart title using structured rich text.
|
|
271
|
+
* Convenience method equivalent to `chart.title = richText`.
|
|
272
|
+
*/
|
|
273
|
+
setTitleRichText(richText: ChartRichText): void;
|
|
274
|
+
/**
|
|
275
|
+
* Get the structured rich text of the chart title.
|
|
276
|
+
* Returns undefined if the title is unset, formula-only, or captured as rawTx.
|
|
277
|
+
*/
|
|
278
|
+
get titleRichText(): ChartRichText | undefined;
|
|
279
|
+
/** Get the chart type groups in the plot area */
|
|
280
|
+
get chartTypes(): ChartTypeGroup[];
|
|
281
|
+
/** Get the chart axes */
|
|
282
|
+
get axes(): ChartAxis[];
|
|
283
|
+
/** Get the chart legend */
|
|
284
|
+
get legend(): ChartLegend | undefined;
|
|
285
|
+
/** Set the chart legend */
|
|
286
|
+
set legend(value: ChartLegend | undefined);
|
|
287
|
+
/**
|
|
288
|
+
* Get the chart-level shape properties. Works for both classic charts
|
|
289
|
+
* (`c:chartSpace/c:spPr`) and ChartEx (`cx:chartSpace/cx:spPr` — the
|
|
290
|
+
* Chart2014 schema puts `spPr` on `chartSpace`, not on `chart`).
|
|
291
|
+
*/
|
|
292
|
+
get spPr(): ShapeProperties | undefined;
|
|
293
|
+
/**
|
|
294
|
+
* Set the chart-level shape properties. Routes to either
|
|
295
|
+
* `ChartModel.spPr` (classic) or `ChartExModel.chartSpace.spPr`
|
|
296
|
+
* (ChartEx); previously the ChartEx branch was a silent no-op, and
|
|
297
|
+
* the fix before that mis-targeted `chart.spPr` — which is not a
|
|
298
|
+
* valid child of `CT_Chart` in the Chart2014 schema (chart-frame
|
|
299
|
+
* styling belongs to `CT_ChartSpace/spPr`).
|
|
300
|
+
*/
|
|
301
|
+
set spPr(value: ShapeProperties | undefined);
|
|
302
|
+
/**
|
|
303
|
+
* Get an axis by its ID.
|
|
304
|
+
*/
|
|
305
|
+
getAxis(axId: number): ChartAxis | undefined;
|
|
306
|
+
/**
|
|
307
|
+
* Get the category (X) axis, if any.
|
|
308
|
+
*/
|
|
309
|
+
get categoryAxis(): ChartAxis | undefined;
|
|
310
|
+
/**
|
|
311
|
+
* Get the value (Y) axis, if any.
|
|
312
|
+
*/
|
|
313
|
+
get valueAxis(): ChartAxis | undefined;
|
|
314
|
+
/** Get the plot area for direct manipulation */
|
|
315
|
+
get plotArea(): PlotArea | undefined;
|
|
316
|
+
mutate(mutator: (model: ChartModel) => void, options?: {
|
|
317
|
+
preferRawPatch?: boolean;
|
|
318
|
+
requireRawPatch?: boolean;
|
|
319
|
+
}): this;
|
|
320
|
+
mutateChartEx(mutator: (model: ChartExModel) => void, options?: {
|
|
321
|
+
preferRawPatch?: boolean;
|
|
322
|
+
requireRawPatch?: boolean;
|
|
323
|
+
}): this;
|
|
324
|
+
/**
|
|
325
|
+
* Set the built-in chart style by index.
|
|
326
|
+
*
|
|
327
|
+
* Writes `<c:style val="N"/>` on the classic chart (`chartN.xml`).
|
|
328
|
+
* Valid values are 1–48, matching the legacy Excel 2007/2010 style
|
|
329
|
+
* catalogue and `xlsxwriter`'s `set_style(N)`. This is the lightweight
|
|
330
|
+
* option — it does **not** emit a `styleN.xml` / `colorsN.xml` sidecar;
|
|
331
|
+
* for modern Office-2013-era styling use {@link setChartStyle} instead.
|
|
332
|
+
*
|
|
333
|
+
* ChartEx charts do not honour this field; calling `setStyle` on one
|
|
334
|
+
* throws, which matches OOXML: `c:style` only exists in the classic
|
|
335
|
+
* `c:` namespace.
|
|
336
|
+
*
|
|
337
|
+
* @param style - Integer in the range 1–48.
|
|
338
|
+
* @throws {ChartOptionsError} when `style` is outside 1–48 or the
|
|
339
|
+
* chart is a ChartEx.
|
|
340
|
+
*/
|
|
341
|
+
setStyle(style: number): this;
|
|
342
|
+
/**
|
|
343
|
+
* Alias for {@link setStyle} that matches the `xlsxwriter` terminology
|
|
344
|
+
* used by Python/Rust users migrating their chart code. Equivalent in
|
|
345
|
+
* every way — both write the same `<c:style val>` attribute.
|
|
346
|
+
*/
|
|
347
|
+
setBuiltInStyle(style: number): this;
|
|
348
|
+
/**
|
|
349
|
+
* Add a series to a chart type group.
|
|
350
|
+
*
|
|
351
|
+
* The series' `index` and `order` fields are rewritten to the next
|
|
352
|
+
* available slot in the target group so callers can safely push
|
|
353
|
+
* series that were built with a placeholder index (e.g. a reused
|
|
354
|
+
* result of `buildChartSeriesForType(..., 0)`). OOXML requires
|
|
355
|
+
* `c:ser/@idx` to be unique within the chart; leaving caller-provided
|
|
356
|
+
* values alone silently produces a chart with duplicate `<c:idx>`
|
|
357
|
+
* entries that Excel either rejects or collapses to a single series.
|
|
358
|
+
*
|
|
359
|
+
* @param series - The series object matching the expected series type for the chart.
|
|
360
|
+
* @param groupIndex - 0-based index of the chart type group (for combo charts). Defaults to 0.
|
|
361
|
+
*/
|
|
362
|
+
addSeries(series: SeriesBase, groupIndex?: number): void;
|
|
363
|
+
/**
|
|
364
|
+
* Remove a series from a chart type group by index.
|
|
365
|
+
*
|
|
366
|
+
* @param index - 0-based index of the series within the group.
|
|
367
|
+
* @param groupIndex - 0-based index of the chart type group (for combo charts). Defaults to 0.
|
|
368
|
+
* @returns The removed series, or undefined if out of range.
|
|
369
|
+
*/
|
|
370
|
+
removeSeries(index: number, groupIndex?: number): SeriesBase | undefined;
|
|
371
|
+
/**
|
|
372
|
+
* Get a series from a chart type group.
|
|
373
|
+
*
|
|
374
|
+
* @param index - 0-based index of the series within the group.
|
|
375
|
+
* @param groupIndex - 0-based index of the chart type group (for combo charts). Defaults to 0.
|
|
376
|
+
*/
|
|
377
|
+
getSeries(index: number, groupIndex?: number): SeriesBase | undefined;
|
|
378
|
+
/** Update common fields on an existing classic chart series. */
|
|
379
|
+
updateSeries(index: number, options: Partial<AddChartSeriesOptions>, groupIndex?: number): boolean;
|
|
380
|
+
/** Add a series from high-level options, matching the target chart type group. */
|
|
381
|
+
addSeriesFromOptions(options: AddChartSeriesOptions, groupIndex?: number): boolean;
|
|
382
|
+
/** Update the value range for a series. */
|
|
383
|
+
setSeriesValues(index: number, values: string, groupIndex?: number): boolean;
|
|
384
|
+
/** Update the category range for a series. */
|
|
385
|
+
setSeriesCategories(index: number, categories: string, groupIndex?: number): boolean;
|
|
386
|
+
/** Update the series display name or formula reference. */
|
|
387
|
+
setSeriesName(index: number, name: NonNullable<AddChartSeriesOptions["name"]>, groupIndex?: number): boolean;
|
|
388
|
+
/** Get the total number of series across all chart type groups. */
|
|
389
|
+
get totalSeriesCount(): number;
|
|
390
|
+
/**
|
|
391
|
+
* Get the number of series in a specific chart type group.
|
|
392
|
+
*
|
|
393
|
+
* @param groupIndex - 0-based index of the chart type group (defaults to 0).
|
|
394
|
+
*/
|
|
395
|
+
getSeriesCount(groupIndex?: number): number;
|
|
396
|
+
/**
|
|
397
|
+
* @deprecated Use `getSeriesCount()` instead. Returns the count of series in the first chart type group.
|
|
398
|
+
*/
|
|
399
|
+
get seriesCount(): number;
|
|
400
|
+
/**
|
|
401
|
+
* Create a deep copy of this chart and add it to a target worksheet.
|
|
402
|
+
* The new chart receives a fresh chartNumber; the original is untouched.
|
|
403
|
+
*
|
|
404
|
+
* @param targetWs - Worksheet to receive the clone. Defaults to this chart's worksheet.
|
|
405
|
+
* @param range - Anchor range for the clone. Defaults to the original range.
|
|
406
|
+
* @returns The new chartNumber in the target workbook.
|
|
407
|
+
*/
|
|
408
|
+
copyTo(targetWs: Worksheet, range?: AddChartRange): number;
|
|
409
|
+
/**
|
|
410
|
+
* Create a deep copy of this chart in the same worksheet.
|
|
411
|
+
* @param range - Anchor for the clone (defaults to shifting right of original).
|
|
412
|
+
*/
|
|
413
|
+
clone(range?: AddChartRange): number;
|
|
414
|
+
private _cloneRange;
|
|
415
|
+
/**
|
|
416
|
+
* Compute the next available series index across all chart type groups.
|
|
417
|
+
* OOXML `c:ser/@idx` must be unique within the entire chart. Scans for
|
|
418
|
+
* the maximum authored index (not the series count) so post-removeSeries
|
|
419
|
+
* state and non-contiguous authored indices still produce a unique slot.
|
|
420
|
+
*/
|
|
421
|
+
private _nextSeriesIndex;
|
|
422
|
+
private _markDirty;
|
|
423
|
+
/**
|
|
424
|
+
* Resolve any `_pendingImage` payloads this chart's series carry into
|
|
425
|
+
* workbook media entries + chart relationships. Used by
|
|
426
|
+
* `updateSeries` / `addSeriesFromOptions` when a caller adds a
|
|
427
|
+
* picture fill *after* registration — the initial `addChart` /
|
|
428
|
+
* `addChartsheet` path already calls `resolvePendingChartImages`,
|
|
429
|
+
* but post-registration mutations previously left `_pendingImage`
|
|
430
|
+
* un-registered and the writer emitted `<a:blipFill>` pointing at a
|
|
431
|
+
* missing rel.
|
|
432
|
+
*
|
|
433
|
+
* Uses the same resolver helper as the initial path, so rel id
|
|
434
|
+
* allocation, collision checks against `_chartRels`, and media
|
|
435
|
+
* naming stay centralised.
|
|
436
|
+
*/
|
|
437
|
+
private _resolveSeriesPictureFills;
|
|
438
|
+
/**
|
|
439
|
+
* Rebuild numeric / string caches on this chart's model from the
|
|
440
|
+
* current worksheet data. Callers mutating formula references after
|
|
441
|
+
* registration (`updateSeries`, `addSeriesFromOptions`, title setter
|
|
442
|
+
* with `{ formula }`) invoke this so preview renders and the
|
|
443
|
+
* snapshot-based change detector see populated points instead of
|
|
444
|
+
* the empty `{ points: [] }` shell the builders install.
|
|
445
|
+
*
|
|
446
|
+
* `fillChartCaches` short-circuits on already-populated caches, so
|
|
447
|
+
* repeated calls across a burst of mutations are effectively O(N)
|
|
448
|
+
* in the number of *new* references.
|
|
449
|
+
*/
|
|
450
|
+
private _refreshCaches;
|
|
451
|
+
/**
|
|
452
|
+
* Populate ChartEx data caches (`strDim.levels` / `numDim.levels`) from
|
|
453
|
+
* the workbook's worksheet data so that preview renders see actual
|
|
454
|
+
* values instead of empty arrays.
|
|
455
|
+
*
|
|
456
|
+
* The builder marks hierarchical dimensions with `_skipCache` to
|
|
457
|
+
* prevent the XML writer from emitting flat cache levels (which
|
|
458
|
+
* confuses Excel's hierarchy renderer). However, the in-memory
|
|
459
|
+
* renderer still needs the data. We temporarily clear the flag,
|
|
460
|
+
* fill, then restore it so the writer behaviour is unaffected.
|
|
461
|
+
*/
|
|
462
|
+
private _refreshChartExCaches;
|
|
463
|
+
private _extractTextFromRichText;
|
|
464
|
+
private _extractTextFromRawTx;
|
|
465
|
+
private _decodeXmlEntities;
|
|
466
|
+
/**
|
|
467
|
+
* Extract the run properties of the first text run in an existing title,
|
|
468
|
+
* if any. Used to preserve formatting when replacing plain-string title
|
|
469
|
+
* text.
|
|
470
|
+
*
|
|
471
|
+
* We prefer the structured path (`title.text.paragraphs[0].runs[0]`) and
|
|
472
|
+
* fall back to parsing the first `<a:rPr>...</a:rPr>` block out of
|
|
473
|
+
* `rawTx`. The fallback used to only read *attributes* off the opening
|
|
474
|
+
* tag (size / bold / italic / underline / strike / lang), which meant
|
|
475
|
+
* the `<a:solidFill>` colour child and `<a:latin>` / `<a:cs>` typefaces
|
|
476
|
+
* were silently stripped when a plain-string title replaced a
|
|
477
|
+
* rich-text title. Now we delegate to `parseTxPr` (the same helper the
|
|
478
|
+
* chart-space xform uses for the full txPr tree) so every supported
|
|
479
|
+
* rPr field round-trips faithfully.
|
|
480
|
+
*/
|
|
481
|
+
private _extractFirstRunProperties;
|
|
482
|
+
}
|
|
483
|
+
export interface ChartAnchorModel {
|
|
484
|
+
chartNumber: number;
|
|
485
|
+
/** 1-based chartEx number (cx:chart). 0 or absent for classic charts. */
|
|
486
|
+
chartExNumber?: number;
|
|
487
|
+
range: {
|
|
488
|
+
tl: AnchorModel;
|
|
489
|
+
/** Bottom-right (only for twoCellAnchor) */
|
|
490
|
+
br?: AnchorModel;
|
|
491
|
+
/** Absolute position in EMU (only for absoluteAnchor) */
|
|
492
|
+
pos?: {
|
|
493
|
+
x: number;
|
|
494
|
+
y: number;
|
|
495
|
+
};
|
|
496
|
+
/** Extent in EMU (for oneCellAnchor and absoluteAnchor) */
|
|
497
|
+
ext?: {
|
|
498
|
+
cx: number;
|
|
499
|
+
cy: number;
|
|
500
|
+
};
|
|
501
|
+
editAs?: string;
|
|
502
|
+
};
|
|
503
|
+
}
|
|
504
|
+
export { Chart, buildChartModel };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lightweight TrueType glyph rasterizer for chart PNG text rendering.
|
|
3
|
+
*
|
|
4
|
+
* Parses the minimal set of TTF tables (cmap, hmtx, loca, glyf, head, hhea,
|
|
5
|
+
* maxp) needed to extract glyph outlines, then rasterizes them via scan-line
|
|
6
|
+
* fill. No dependencies outside this module except `@utils/fs`.
|
|
7
|
+
*
|
|
8
|
+
* Supports:
|
|
9
|
+
* - Simple glyphs (positive numberOfContours)
|
|
10
|
+
* - Composite glyphs (negative numberOfContours, recursive component assembly)
|
|
11
|
+
* - Quadratic B-spline outlines (on-curve / off-curve points, implicit
|
|
12
|
+
* on-curve midpoints between consecutive off-curve points)
|
|
13
|
+
*
|
|
14
|
+
* Does NOT support: hinting, kerning, OpenType features, vertical layout.
|
|
15
|
+
* This is intentional — the goal is readable chart labels, not DTP.
|
|
16
|
+
*/
|
|
17
|
+
interface GlyphPoint {
|
|
18
|
+
x: number;
|
|
19
|
+
y: number;
|
|
20
|
+
onCurve: boolean;
|
|
21
|
+
}
|
|
22
|
+
interface GlyphOutline {
|
|
23
|
+
contours: GlyphPoint[][];
|
|
24
|
+
advanceWidth: number;
|
|
25
|
+
}
|
|
26
|
+
export interface RasterFont {
|
|
27
|
+
unitsPerEm: number;
|
|
28
|
+
ascent: number;
|
|
29
|
+
descent: number;
|
|
30
|
+
getOutline(codePoint: number): GlyphOutline | undefined;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Parse a TTF font file into a RasterFont that can render glyphs to pixels.
|
|
34
|
+
*/
|
|
35
|
+
export declare function parseRasterFont(data: Uint8Array): RasterFont;
|
|
36
|
+
/**
|
|
37
|
+
* Rasterize a single glyph into an alpha bitmap with 4x supersampled
|
|
38
|
+
* anti-aliasing for smooth edges.
|
|
39
|
+
*
|
|
40
|
+
* @param outline - Glyph outline from RasterFont.getOutline()
|
|
41
|
+
* @param fontSize - Target font size in pixels
|
|
42
|
+
* @param unitsPerEm - Font's unitsPerEm
|
|
43
|
+
* @returns { width, height, offsetX, offsetY, pixels }
|
|
44
|
+
* offsetX/offsetY are pixel offsets from the pen position (left of baseline)
|
|
45
|
+
* to the top-left of the bitmap. pixels values are 0–255 (coverage).
|
|
46
|
+
*/
|
|
47
|
+
export declare function rasterizeGlyph(outline: GlyphOutline, fontSize: number, unitsPerEm: number): {
|
|
48
|
+
width: number;
|
|
49
|
+
height: number;
|
|
50
|
+
offsetX: number;
|
|
51
|
+
offsetY: number;
|
|
52
|
+
pixels: Uint8Array;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Load a system font for text rasterization.
|
|
56
|
+
* Returns null in browser environments or if no font is found.
|
|
57
|
+
* Results are cached — only loads once.
|
|
58
|
+
*/
|
|
59
|
+
export declare function loadSystemFont(): RasterFont | null;
|
|
60
|
+
/** Reset cached font (for testing). */
|
|
61
|
+
export declare function resetCachedFont(): void;
|
|
62
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public entry for the excelts chart module.
|
|
3
|
+
*
|
|
4
|
+
* Two complementary usage styles are supported:
|
|
5
|
+
*
|
|
6
|
+
* 1. **Functional, zero-side-effect** — tree-shakeable access to
|
|
7
|
+
* chart builders, renderers, presets and parsers:
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { buildChartModel, renderChartSvg } from "@cj-tech-master/excelts/chart";
|
|
10
|
+
* const model = buildChartModel(options);
|
|
11
|
+
* const svg = renderChartSvg(model);
|
|
12
|
+
* ```
|
|
13
|
+
* Bundlers drop everything the consumer does not reference.
|
|
14
|
+
*
|
|
15
|
+
* 2. **Support installation** — enables `worksheet.addChart()`,
|
|
16
|
+
* `workbook.xlsx.writeFile()` chart-cache population, and chart
|
|
17
|
+
* reconstruction during XLSX load:
|
|
18
|
+
* ```ts
|
|
19
|
+
* import { installChartSupport } from "@cj-tech-master/excelts/chart";
|
|
20
|
+
* installChartSupport(); // once, at startup
|
|
21
|
+
* worksheet.addChart(options, "A1:D20"); // now works
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* Chart support is **never installed implicitly** — consumers pay for
|
|
25
|
+
* what they ask for. The package's root `sideEffects: false` contract
|
|
26
|
+
* stays intact, so bundles that only use the functional API include
|
|
27
|
+
* exactly the code paths reachable from the exports they reference.
|
|
28
|
+
*
|
|
29
|
+
* `installChartSupport` lives in a separate module (`./install.ts`) so
|
|
30
|
+
* its host-registry wiring and the full chart builder/renderer pipeline
|
|
31
|
+
* don't get pulled in by consumers who only import one or two
|
|
32
|
+
* functional helpers.
|
|
33
|
+
*/
|
|
34
|
+
export { installChartSupport, uninstallChartSupport } from "./install.js";
|
|
35
|
+
export { Chart, buildChartModel } from "./chart.js";
|
|
36
|
+
export { buildComboChartModel } from "./chart-builder.js";
|
|
37
|
+
export { fillChartCaches, fillChartExCaches, fillNumRef, fillStrRef } from "./cache-populator.js";
|
|
38
|
+
export { parseChartColors, buildChartColors, parseChartStyle, buildChartStyle } from "./chart-sidecar.js";
|
|
39
|
+
export { buildChartExModel } from "./chart-ex-builder.js";
|
|
40
|
+
export { parseChartEx } from "./chart-ex-parser.js";
|
|
41
|
+
export { canRenderChartExAsVectorPdf, drawChartExPdf, renderChartEx, renderChartExPng, renderChartExSvg, VECTOR_PDF_CHART_EX_LAYOUT_IDS } from "./chart-ex-renderer.js";
|
|
42
|
+
export { applyChartExPreset, applyChartPreset, CHART_EX_PRESETS, CHART_PRESETS, EXCEL_CHART_EX_PRESETS, EXCEL_CHART_PRESETS } from "./chart-presets.js";
|
|
43
|
+
export { chartExOptionsFromRows, chartExOptionsFromTable, chartOptionsFromRows, chartOptionsFromTable, seriesFromColumns } from "./chart-api.js";
|
|
44
|
+
export type { AddChartExFromRowsOptions, AddChartExFromTableOptions, AddChartFromRowsOptions, AddChartFromTableOptions, SeriesFromColumnsOptions } from "./chart-api.js";
|
|
45
|
+
export type { ExcelChartExPreset, ExcelChartPreset } from "./chart-presets.js";
|
|
46
|
+
export { applyAxisTransform, buildChartScene, buildEffectFilter, drawChartPdf, renderChartPng, renderChartSvg } from "./chart-renderer.js";
|
|
47
|
+
export type { ChartPdfDrawingSurface, ChartPdfPathOp, ChartRenderOptions, ChartScene, ChartSceneLegend, ChartSceneLine, ChartScenePieSlice, ChartSceneSeries, ChartSceneText, PdfChartRenderOptions, PdfColor, RegionMapDataOptions, RegionMapMatchRule } from "./chart-renderer.js";
|
|
48
|
+
export { resolveTopologyObject } from "./topojson.js";
|
|
49
|
+
export type { ResolvedRing, TopoGeometry, TopoGeometryCollection, TopologyLike } from "./topojson.js";
|
|
50
|
+
export type { ChartExModel, ChartExSpace, ChartExData, ChartExDataEntry, ChartExStringDimension, ChartExNumericDimension, ChartExDimensionType, ChartExChart, ChartExPlotArea, ChartExSeries, ChartExSeriesType, ChartExDataLabels, ChartExLayoutProperties, ChartExAxis, AddChartExOptions, AddChartExHistogramOptions, AddChartExWaterfallOptions, AddChartExBoxWhiskerOptions, AddChartExSeriesOptions, ChartExType } from "./chart-ex-types.js";
|
|
51
|
+
export type { ChartExEntry } from "./chart.js";
|
|
52
|
+
export type { ChartEntry, ChartAnchorModel } from "./chart.js";
|
|
53
|
+
export type { ChartModel, ChartType, ChartData, PlotArea, ChartTypeGroup, ChartAxis, ChartTitle, ChartLegend, AddChartOptions, AddBarChartOptions, AddBarChartSeriesOptions, AddPieChartOptions, AddPieChartSeriesOptions, AddScatterChartOptions, AddScatterChartSeriesOptions, AddSurfaceChartOptions, AddSurfaceChartSeriesOptions, AddChartSeriesOptions, AddChartRange, AddComboChartOptions, ComboChartGroupOptions, ChartStyleModel, ChartColorsModel, ChartColorsEntry, ShapeProperties, ChartTextProperties, ChartColor, ChartFill, ChartLine, PivotChartSource, SeriesBase, AddChartMarkerOptions, AddDataLabelsOptions, AddTrendlineOptions, AddErrorBarsOptions, AddDataPointOptions, AddAxisOptions, AddShapeFillOptions, AddTitleOptions, AddLegendOptions, AddPlotAreaOptions, AddTrendlineLabelOptions, AddDataLabelEntryOptions, BarChartGroup, LineChartGroup, PieChartGroup, DoughnutChartGroup, AreaChartGroup, ScatterChartGroup, BubbleChartGroup, RadarChartGroup, SurfaceChartGroup, StockChartGroup, OfPieChartGroup, BarSeries, LineSeries, PieSeries, AreaSeries, ScatterSeries, BubbleSeries, RadarSeries, SurfaceSeries, CategoryAxis, ValueAxis, DateAxis, SeriesAxis, DataLabels, DataLabelEntry, DataPoint, DataTable, Trendline, TrendlineLabel, ErrorBars, ChartMarker, ChartRichText, ChartBodyProperties, ChartParagraphProperties, ChartBullet, ChartLineSpacing, UnderlineStyle, StrikeStyle, CapStyle, ParagraphAlignment, EffectList, Shadow, Scene3D, ShapeProperties3D, Bevel, NumberReference, StringReference, NumberDataSource, AxisDataSource, View3D, BarGrouping, LineGrouping, ChartLayout, ChartParagraph, ChartTextRun, DisplayUnits, ManualLayout, LegendEntry, DataLabelPosition, LegendPosition, TrendlineType, ErrorBarType, ErrorBarDirection, ErrorBarValueType, BandFormat, UpDownBars, PictureOptions, PictureFormat, NumberLiteral, StringLiteral, MultiLevelStringReference, MultiLevelStringCache, NumberCache, StringCache, ScatterStyle, RadarStyle, StockSeries, BarDirection, BarShape, OfPieType, SplitType, AxisCrosses, AxisPosition, AxisOrientation, TickMark, TickLabelPosition, TimeUnit, LabelAlignment, DisplayBlanksAs, PrintSettings, PivotFormat, DataLabelsRange, AxisBase, PresetGeometry, CustomGeometry, CustomGeometryPath, CustomGeometryCommand, ShapeTransform, ChartBlipFill, ChartColorVariation, AddChartPictureFillImage, ChartPictureFillImageData, PivotChartOptions, ChartUnknownElement, ChartStyleElement, ChartRange } from "./types.js";
|
|
54
|
+
export { parseSpPr, parseTxPr, getSpPrFillColor, getSpPrLine, getSpPrGradient, getSpPrPattern, getTxPrFontSize, getTxPrColor, buildSpPr, buildTxPr, setSpPrFill, setSpPrLine } from "./shape-properties.js";
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Opt-in chart-support installer.
|
|
3
|
+
*
|
|
4
|
+
* This file carries the static imports that wire the concrete chart
|
|
5
|
+
* implementation (cache populator, chart builder, ChartEx builder,
|
|
6
|
+
* preset engine, sidecar serialisers, `Chart` class and chart-api
|
|
7
|
+
* helpers) into the excel host. Keep these imports isolated in a
|
|
8
|
+
* separate module so callers who import only the types, the SVG/PNG
|
|
9
|
+
* renderers, or the parser from `./index` do not trigger the entire
|
|
10
|
+
* builder pipeline at bundle time.
|
|
11
|
+
*
|
|
12
|
+
* A single process-wide slot is populated:
|
|
13
|
+
*
|
|
14
|
+
* - The chart-support slot (`@excel/chart-host-registry`) — enables
|
|
15
|
+
* `worksheet.addChart()`, `worksheet.addLineChart()`, chart cache
|
|
16
|
+
* population during `workbook.xlsx.writeFile()`, and `Chart`
|
|
17
|
+
* reconstruction during XLSX load.
|
|
18
|
+
*
|
|
19
|
+
* The slot accepts `null` to uninstall. See
|
|
20
|
+
* {@link uninstallChartSupport} for tests that need to exercise the
|
|
21
|
+
* "no chart support" error path.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Install the chart runtime into the excel host.
|
|
25
|
+
*
|
|
26
|
+
* After calling this once, chart-manipulating APIs on `Worksheet`,
|
|
27
|
+
* `Workbook` and `Chartsheet` run the full chart builder and renderer
|
|
28
|
+
* pipeline instead of throwing. Subsequently-loaded workbooks also
|
|
29
|
+
* reconstruct `Chart` instances for their existing charts so consumer
|
|
30
|
+
* code can inspect / mutate them.
|
|
31
|
+
*
|
|
32
|
+
* Safe to call more than once — the registry accepts the last
|
|
33
|
+
* registration. Calling is idempotent and cheap; no shared state is
|
|
34
|
+
* mutated beyond the host-registry slot.
|
|
35
|
+
*/
|
|
36
|
+
export declare function installChartSupport(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Uninstall the chart runtime, restoring the cold-start state where
|
|
39
|
+
* chart-manipulating APIs throw. Mainly useful for tests that exercise
|
|
40
|
+
* the "no chart support" error path. In production, calling this is
|
|
41
|
+
* rarely necessary — subsequent `installChartSupport()` calls simply
|
|
42
|
+
* overwrite the previous registration.
|
|
43
|
+
*/
|
|
44
|
+
export declare function uninstallChartSupport(): void;
|