@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,550 @@
|
|
|
1
|
+
import { type PdfColor } from "./chart-utils.js";
|
|
2
|
+
import type { ChartMarker, ChartModel, EffectList, LegendPosition } from "./types.js";
|
|
3
|
+
export type { PdfColor };
|
|
4
|
+
/**
|
|
5
|
+
* Legacy name — kept so existing imports
|
|
6
|
+
* (`import { PRESET_COLOR_HEX } from "./chart-renderer.js"`) continue to
|
|
7
|
+
* resolve. Prefer importing directly from `./chart-utils` in new code.
|
|
8
|
+
*/
|
|
9
|
+
export declare const PRESET_COLOR_HEX: Readonly<Record<string, string>>;
|
|
10
|
+
/**
|
|
11
|
+
* Options for the built-in deterministic chart preview renderer.
|
|
12
|
+
*
|
|
13
|
+
* The renderer is intentionally lightweight and self-contained; it produces a
|
|
14
|
+
* stable SVG/PNG/PDF preview of chart data and core styling, not an
|
|
15
|
+
* Excel-identical layout or rasterization.
|
|
16
|
+
*
|
|
17
|
+
* Notable scope boundaries:
|
|
18
|
+
*
|
|
19
|
+
* - **Text metrics** come from `@excel/utils/text-metrics` (Calibri/Arial/
|
|
20
|
+
* Times per-character widths + ~230 category fallbacks); legend and title
|
|
21
|
+
* layouts adapt to real label widths.
|
|
22
|
+
* - **Data labels** honour every `DataLabelPosition` (see `positionDataLabel`).
|
|
23
|
+
* Pie/doughnut `outEnd`/`bestFit` layouts emit leader lines with a simple
|
|
24
|
+
* per-hemisphere greedy vertical nudge (`layoutPieLabels`). Bar/line labels
|
|
25
|
+
* drop or stack when `resolveLabelCollisions` detects bbox overlap.
|
|
26
|
+
* - **PDF bridge** is feature-matched with the SVG path: labels (with
|
|
27
|
+
* anchor + color + fontFamily/bold/italic from `txPr`), markers
|
|
28
|
+
* (square/diamond/triangle/x/plus/circle), error bars, trendlines
|
|
29
|
+
* (with dash), leader lines, rotated axis titles, and real alpha on
|
|
30
|
+
* area/bubble/radar/bar3D fills flowing through `PdfColor.a` →
|
|
31
|
+
* `/ExtGState`. Surfaces that ignore the new optional fields receive
|
|
32
|
+
* the legacy call shape with pre-anchored coordinates and opaque
|
|
33
|
+
* colours, so pre-alpha consumers keep working unchanged.
|
|
34
|
+
* - **3D charts** — `bar3D` renders as a true extruded box (top + front
|
|
35
|
+
* + right faces) whose axonometric projection is driven by
|
|
36
|
+
* `view3D.rotX` / `view3D.rotY` / `view3D.rAngAx`. See
|
|
37
|
+
* {@link resolveBar3DProjection}. The other 3D variants
|
|
38
|
+
* (`line3D`/`pie3D`/`area3D`/`surface3D`) render as their 2D
|
|
39
|
+
* equivalents — OOXML `view3D` / `Scene3D` / `ShapeProperties3D`
|
|
40
|
+
* metadata is preserved in the model but not consumed for those
|
|
41
|
+
* types; the renderer returns a deterministic preview rather than a
|
|
42
|
+
* full 3D scene.
|
|
43
|
+
*/
|
|
44
|
+
export interface ChartRenderOptions {
|
|
45
|
+
width?: number;
|
|
46
|
+
height?: number;
|
|
47
|
+
title?: string;
|
|
48
|
+
/** Background fill for SVG/PNG previews. Set to "transparent" for transparent PNG output. */
|
|
49
|
+
backgroundColor?: string;
|
|
50
|
+
/** Output scale multiplier for PNG previews. Useful for high-DPI exports. */
|
|
51
|
+
scale?: number;
|
|
52
|
+
/** PNG output DPI metadata. Stored as a pHYs chunk when provided. */
|
|
53
|
+
dpi?: number;
|
|
54
|
+
/**
|
|
55
|
+
* Optional geographic data source for ChartEx `regionMap` previews.
|
|
56
|
+
* When present and the matched features cover all labels, the
|
|
57
|
+
* renderer draws country (or other region) outlines from the user-
|
|
58
|
+
* supplied TopoJSON instead of falling back to the built-in
|
|
59
|
+
* centroid-dot preview. Purely opt-in so the default library has
|
|
60
|
+
* zero bundled geographic assets — supply e.g. `world-atlas`
|
|
61
|
+
* `countries-110m.json` via `topology`.
|
|
62
|
+
*
|
|
63
|
+
* See {@link RegionMapDataOptions} and
|
|
64
|
+
* `src/modules/excel/chart/topojson.ts`.
|
|
65
|
+
*/
|
|
66
|
+
regionMap?: RegionMapDataOptions;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Individual match rule for {@link RegionMapDataOptions.match}. A rule
|
|
70
|
+
* is either the literal string `"id"` (compare against `feature.id`)
|
|
71
|
+
* or `` `property:${propertyKey}` `` (compare against
|
|
72
|
+
* `feature.properties[propertyKey]`). Multiple rules are combined via
|
|
73
|
+
* an ordered fall-back array on the options object itself — see
|
|
74
|
+
* {@link RegionMapDataOptions.match}.
|
|
75
|
+
*/
|
|
76
|
+
export type RegionMapMatchRule = "id" | `property:${string}`;
|
|
77
|
+
/**
|
|
78
|
+
* User-supplied geographic data for `regionMap` rendering. The caller
|
|
79
|
+
* is responsible for loading / caching the TopoJSON file — the library
|
|
80
|
+
* is strictly zero-dependency and ships no map data.
|
|
81
|
+
*/
|
|
82
|
+
export interface RegionMapDataOptions {
|
|
83
|
+
/**
|
|
84
|
+
* Parsed TopoJSON topology. Compatible with the output of
|
|
85
|
+
* `world-atlas` bundles or any `topojson-server` emitter.
|
|
86
|
+
*/
|
|
87
|
+
topology: unknown;
|
|
88
|
+
/**
|
|
89
|
+
* Name of the geometry collection to draw — typically `"countries"`
|
|
90
|
+
* for `world-atlas`. Throws at render time if missing from the
|
|
91
|
+
* topology.
|
|
92
|
+
*/
|
|
93
|
+
objectName: string;
|
|
94
|
+
/**
|
|
95
|
+
* How to match each chart category label to a TopoJSON feature.
|
|
96
|
+
*
|
|
97
|
+
* - `"id"` — compare against `feature.id`.
|
|
98
|
+
* - `"property:<key>"` — compare against `feature.properties[key]`.
|
|
99
|
+
* Common for world-atlas: `"property:name"`.
|
|
100
|
+
*
|
|
101
|
+
* Accepts either a single rule (back-compat) or an ordered fall-back
|
|
102
|
+
* list (`matchers`-style). When a list is supplied the renderer tries
|
|
103
|
+
* each rule in order per feature and keeps the first one that finds a
|
|
104
|
+
* data value for this feature; this is the pattern Natural-Earth-
|
|
105
|
+
* derived topologies need when the categories are localised (e.g.
|
|
106
|
+
* try `property:name_zh` first, then `property:name_en`, then fall
|
|
107
|
+
* back to `id`). Comparison stays case-insensitive and
|
|
108
|
+
* whitespace-trimmed for every rule. Default: `"id"`.
|
|
109
|
+
*/
|
|
110
|
+
match?: RegionMapMatchRule | RegionMapMatchRule[];
|
|
111
|
+
/**
|
|
112
|
+
* Projection to use. Overrides `series.layoutPr.projection`. Supports
|
|
113
|
+
* the same set the built-in renderer implements (`mercator`, `miller`,
|
|
114
|
+
* `albers`, `robinson`).
|
|
115
|
+
*/
|
|
116
|
+
projection?: "mercator" | "miller" | "albers" | "robinson";
|
|
117
|
+
/**
|
|
118
|
+
* Optional stroke colour for region borders. Default `"#FFFFFF"`.
|
|
119
|
+
*/
|
|
120
|
+
strokeColor?: string;
|
|
121
|
+
}
|
|
122
|
+
export interface PdfChartRenderOptions extends ChartRenderOptions {
|
|
123
|
+
x: number;
|
|
124
|
+
y: number;
|
|
125
|
+
/** Optional deterministic sink for regression tests; production drawing APIs can ignore it. */
|
|
126
|
+
trace?: string[];
|
|
127
|
+
}
|
|
128
|
+
export interface ChartPdfDrawingSurface {
|
|
129
|
+
drawRect(options: {
|
|
130
|
+
x: number;
|
|
131
|
+
y: number;
|
|
132
|
+
width: number;
|
|
133
|
+
height: number;
|
|
134
|
+
fill?: PdfColor;
|
|
135
|
+
stroke?: PdfColor;
|
|
136
|
+
/** Stroke width when `stroke` is set. Surfaces that ignore it fall back to 1 px. */
|
|
137
|
+
lineWidth?: number;
|
|
138
|
+
}): this;
|
|
139
|
+
drawLine(options: {
|
|
140
|
+
x1: number;
|
|
141
|
+
y1: number;
|
|
142
|
+
x2: number;
|
|
143
|
+
y2: number;
|
|
144
|
+
color?: PdfColor;
|
|
145
|
+
/** Stroke width. Surfaces that ignore it fall back to 1 px. */
|
|
146
|
+
lineWidth?: number;
|
|
147
|
+
/**
|
|
148
|
+
* PDF dash pattern (even entries are "on" lengths, odd entries are "off"
|
|
149
|
+
* lengths, in points). Omit for a solid stroke. Surfaces without dash
|
|
150
|
+
* support may ignore this silently.
|
|
151
|
+
*/
|
|
152
|
+
dashPattern?: number[];
|
|
153
|
+
}): this;
|
|
154
|
+
/**
|
|
155
|
+
* Draw a single line of text. `anchor` and `rotation` are honoured by
|
|
156
|
+
* surfaces that support them; those that do not are expected to
|
|
157
|
+
* treat the request as `start` / `0°` (i.e. legacy `drawText` behaviour).
|
|
158
|
+
* Chart callers should not assume rotation is available and should
|
|
159
|
+
* still pre-compute anchored x coordinates when a visual fallback is
|
|
160
|
+
* required (see {@link drawPdfText}).
|
|
161
|
+
*/
|
|
162
|
+
drawText(text: string, options: {
|
|
163
|
+
x: number;
|
|
164
|
+
y: number;
|
|
165
|
+
fontSize?: number;
|
|
166
|
+
color?: PdfColor;
|
|
167
|
+
/**
|
|
168
|
+
* Degrees, clockwise. Optional; only the PDF bridge built on
|
|
169
|
+
* `@pdf/builder` honours it today.
|
|
170
|
+
*/
|
|
171
|
+
rotation?: number;
|
|
172
|
+
/**
|
|
173
|
+
* Horizontal alignment around `x`. Optional; chart code supplies an
|
|
174
|
+
* explicit pre-anchored `x` as a fallback so surfaces that ignore
|
|
175
|
+
* this still render at the correct position.
|
|
176
|
+
*/
|
|
177
|
+
anchor?: "start" | "middle" | "end";
|
|
178
|
+
bold?: boolean;
|
|
179
|
+
italic?: boolean;
|
|
180
|
+
fontFamily?: string;
|
|
181
|
+
}): this;
|
|
182
|
+
drawCircle?(options: {
|
|
183
|
+
cx: number;
|
|
184
|
+
cy: number;
|
|
185
|
+
r: number;
|
|
186
|
+
fill?: PdfColor;
|
|
187
|
+
stroke?: PdfColor;
|
|
188
|
+
lineWidth?: number;
|
|
189
|
+
}): this;
|
|
190
|
+
drawPath?(ops: ChartPdfPathOp[], options?: {
|
|
191
|
+
fill?: PdfColor;
|
|
192
|
+
stroke?: PdfColor;
|
|
193
|
+
closePath?: boolean;
|
|
194
|
+
lineWidth?: number;
|
|
195
|
+
dashPattern?: number[];
|
|
196
|
+
}): this;
|
|
197
|
+
}
|
|
198
|
+
export type ChartPdfPathOp = {
|
|
199
|
+
op: "move";
|
|
200
|
+
x: number;
|
|
201
|
+
y: number;
|
|
202
|
+
} | {
|
|
203
|
+
op: "line";
|
|
204
|
+
x: number;
|
|
205
|
+
y: number;
|
|
206
|
+
} | {
|
|
207
|
+
op: "curve";
|
|
208
|
+
x1: number;
|
|
209
|
+
y1: number;
|
|
210
|
+
x2: number;
|
|
211
|
+
y2: number;
|
|
212
|
+
x3: number;
|
|
213
|
+
y3: number;
|
|
214
|
+
} | {
|
|
215
|
+
op: "close";
|
|
216
|
+
};
|
|
217
|
+
export interface ChartScene {
|
|
218
|
+
width: number;
|
|
219
|
+
height: number;
|
|
220
|
+
title?: ChartSceneText;
|
|
221
|
+
plot: ChartSceneRect;
|
|
222
|
+
axes: {
|
|
223
|
+
x?: ChartSceneLine;
|
|
224
|
+
y?: ChartSceneLine;
|
|
225
|
+
x2?: ChartSceneLine;
|
|
226
|
+
y2?: ChartSceneLine;
|
|
227
|
+
};
|
|
228
|
+
gridlines: ChartSceneLine[];
|
|
229
|
+
xLabels: ChartSceneText[];
|
|
230
|
+
yLabels: ChartSceneText[];
|
|
231
|
+
secondaryXLabels: ChartSceneText[];
|
|
232
|
+
secondaryYLabels: ChartSceneText[];
|
|
233
|
+
axisTitles: ChartSceneText[];
|
|
234
|
+
series: ChartSceneSeries[];
|
|
235
|
+
legend: ChartSceneLegend;
|
|
236
|
+
/**
|
|
237
|
+
* Data-table overlay drawn below the plot area when
|
|
238
|
+
* `model.chart.plotArea.dataTable` is set. The preview writes a
|
|
239
|
+
* compact grid using the same deterministic text-metrics pipeline as
|
|
240
|
+
* the rest of the scene. Full OOXML `c:dTable` styling is honoured at
|
|
241
|
+
* the XML-round-trip level; this preview covers the four display
|
|
242
|
+
* switches (`showHorzBorder`, `showVertBorder`, `showOutline`,
|
|
243
|
+
* `showKeys`) and the typography derived from `txPr`. When the data
|
|
244
|
+
* table is present, the primary x-axis labels are suppressed — Excel
|
|
245
|
+
* does the same so category names only appear once.
|
|
246
|
+
*/
|
|
247
|
+
dataTable?: ChartSceneDataTable;
|
|
248
|
+
/**
|
|
249
|
+
* SVG filter definitions referenced by individual series via
|
|
250
|
+
* `effectFilterId`. One entry per unique `a:effectLst` observed on
|
|
251
|
+
* the normalised series. Rendered into `<defs>` by
|
|
252
|
+
* {@link renderChartSvg}; the PDF surface ignores them because SVG
|
|
253
|
+
* filters don't map directly onto PDF graphics state.
|
|
254
|
+
*/
|
|
255
|
+
effectFilters: ChartSceneEffectFilter[];
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Layout-resolved representation of a `c:dTable` element for the
|
|
259
|
+
* preview pipeline. Geometry is already in pixel space so SVG/PDF/PNG
|
|
260
|
+
* bridges can consume it uniformly.
|
|
261
|
+
*/
|
|
262
|
+
export interface ChartSceneDataTable {
|
|
263
|
+
/** Outer rectangle containing the entire table. */
|
|
264
|
+
rect: ChartSceneRect;
|
|
265
|
+
/**
|
|
266
|
+
* Column boundaries (x coordinates) including the left and right
|
|
267
|
+
* edges. `columns[0]` is the left edge of the series-name column,
|
|
268
|
+
* `columns[1]` starts the first category cell, and so on.
|
|
269
|
+
*/
|
|
270
|
+
columns: number[];
|
|
271
|
+
/**
|
|
272
|
+
* Row boundaries (y coordinates) including the top and bottom edges.
|
|
273
|
+
* `rows[0]` is the header row (category names) if it's non-empty,
|
|
274
|
+
* `rows[1..]` are the per-series rows.
|
|
275
|
+
*/
|
|
276
|
+
rows: number[];
|
|
277
|
+
/** Text nodes for every cell — series name plus each value. */
|
|
278
|
+
cells: ChartSceneText[];
|
|
279
|
+
/**
|
|
280
|
+
* Legend-key swatches drawn to the left of each series name when
|
|
281
|
+
* `showKeys` is enabled. Colors match the series `color`.
|
|
282
|
+
*/
|
|
283
|
+
legendSwatches: Array<ChartSceneRect & {
|
|
284
|
+
color: string;
|
|
285
|
+
}>;
|
|
286
|
+
/** Border strokes derived from `showHorzBorder` / `showVertBorder` / `showOutline`. */
|
|
287
|
+
borders: ChartSceneLine[];
|
|
288
|
+
}
|
|
289
|
+
export interface ChartSceneEffectFilter {
|
|
290
|
+
/** Stable id the series references in `filter="url(#<id>)"`. */
|
|
291
|
+
id: string;
|
|
292
|
+
/** Full `<filter>…</filter>` XML produced by {@link buildEffectFilter}. */
|
|
293
|
+
xml: string;
|
|
294
|
+
}
|
|
295
|
+
export interface ChartSceneLegend {
|
|
296
|
+
items: Array<{
|
|
297
|
+
label: string;
|
|
298
|
+
color: string;
|
|
299
|
+
}>;
|
|
300
|
+
rect: ChartSceneRect;
|
|
301
|
+
visible: boolean;
|
|
302
|
+
position?: LegendPosition;
|
|
303
|
+
orientation: "horizontal" | "vertical";
|
|
304
|
+
/**
|
|
305
|
+
* Font-related overrides derived from `model.chart.legend.txPr`
|
|
306
|
+
* (see {@link textStyleFromTxPr}). When populated these flow into
|
|
307
|
+
* both the SVG legend emit and the PDF legend renderer so legend
|
|
308
|
+
* labels match the typography the author requested in the chart
|
|
309
|
+
* XML. `undefined` fields keep the renderer defaults (10 pt Arial).
|
|
310
|
+
*/
|
|
311
|
+
textStyle?: {
|
|
312
|
+
fontFamily?: string;
|
|
313
|
+
bold?: boolean;
|
|
314
|
+
italic?: boolean;
|
|
315
|
+
fontSize?: number;
|
|
316
|
+
color?: string;
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
export type ChartSceneSeries = ChartSceneBarSeries | ChartSceneAreaSeries | ChartSceneLineSeries | ChartSceneBubbleSeries | ChartScenePieSeries | ChartSceneRadarSeries | ChartSceneStockSeries | ChartSceneSurfaceSeries;
|
|
320
|
+
export interface ChartSceneAdornment {
|
|
321
|
+
labels?: ChartSceneText[];
|
|
322
|
+
markers?: ChartSceneMarker[];
|
|
323
|
+
trendlines?: ChartSceneTrendline[];
|
|
324
|
+
errorBars?: ChartSceneErrorBar[];
|
|
325
|
+
/**
|
|
326
|
+
* Leader lines connecting data labels to their data points. Currently
|
|
327
|
+
* emitted only by pie/doughnut series when the effective
|
|
328
|
+
* `DataLabelPosition` places labels outside the slice (`outEnd`,
|
|
329
|
+
* `bestFit`). The renderer treats them as decorative strokes and does
|
|
330
|
+
* not attempt collision avoidance beyond the greedy fan-out already
|
|
331
|
+
* applied by {@link buildDataLabels}.
|
|
332
|
+
*/
|
|
333
|
+
leaderLines?: ChartSceneLine[];
|
|
334
|
+
/**
|
|
335
|
+
* SVG `<filter>` id assigned by {@link buildChartScene} when this
|
|
336
|
+
* series carries a DrawingML `a:effectLst` (shadow, glow, reflection,
|
|
337
|
+
* soft-edge, blur, inner-shadow). `renderChartSvg` emits the matching
|
|
338
|
+
* `<filter>` in the SVG `<defs>` block and the series' primary shape
|
|
339
|
+
* references it via `filter="url(#<id>)"`.
|
|
340
|
+
*
|
|
341
|
+
* Only present on series whose `spPr.effectList` was non-empty; other
|
|
342
|
+
* series render without a filter attribute so the shared `<defs>` does
|
|
343
|
+
* not bloat the output.
|
|
344
|
+
*/
|
|
345
|
+
effectFilterId?: string;
|
|
346
|
+
}
|
|
347
|
+
export interface ChartSceneBarSeries extends ChartSceneAdornment {
|
|
348
|
+
type: "bar";
|
|
349
|
+
color: string;
|
|
350
|
+
bars: ChartSceneRect[];
|
|
351
|
+
label?: string;
|
|
352
|
+
horizontal?: boolean;
|
|
353
|
+
/**
|
|
354
|
+
* Decorative depth hint (pixels) used only by the SVG/PNG preview to
|
|
355
|
+
* distinguish `bar3D` from `bar`. When `projection3D` is also present
|
|
356
|
+
* the renderer uses this depth along with the projection deltas to
|
|
357
|
+
* emit a proper extruded box (top + front + right side faces, with
|
|
358
|
+
* shading). For plain `bar` this stays `0` and only the front rect
|
|
359
|
+
* is drawn.
|
|
360
|
+
*/
|
|
361
|
+
depth?: number;
|
|
362
|
+
/**
|
|
363
|
+
* Axonometric projection deltas derived from OOXML `view3D.rotX` /
|
|
364
|
+
* `view3D.rotY`. Populated for `bar3D` series so the renderer can
|
|
365
|
+
* extrude each bar into a true 3D box: the back face sits at
|
|
366
|
+
* `(bar.x + dx, bar.y - dy)` and back-right edge at
|
|
367
|
+
* `(bar.x + bar.width + dx, …)`. `undefined` for plain `bar` series
|
|
368
|
+
* where no 3D transform applies.
|
|
369
|
+
*/
|
|
370
|
+
projection3D?: {
|
|
371
|
+
dx: number;
|
|
372
|
+
dy: number;
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
export interface ChartSceneAreaSeries extends ChartSceneAdornment {
|
|
376
|
+
type: "area";
|
|
377
|
+
color: string;
|
|
378
|
+
points: ChartScenePoint[];
|
|
379
|
+
lowerPoints?: ChartScenePoint[];
|
|
380
|
+
baselineY: number;
|
|
381
|
+
label?: string;
|
|
382
|
+
closed?: boolean;
|
|
383
|
+
}
|
|
384
|
+
export interface ChartSceneLineSeries extends ChartSceneAdornment {
|
|
385
|
+
type: "line" | "scatter";
|
|
386
|
+
color: string;
|
|
387
|
+
points: ChartScenePoint[];
|
|
388
|
+
label?: string;
|
|
389
|
+
smooth?: boolean;
|
|
390
|
+
showLine?: boolean;
|
|
391
|
+
}
|
|
392
|
+
export interface ChartSceneBubbleSeries extends ChartSceneAdornment {
|
|
393
|
+
type: "bubble";
|
|
394
|
+
color: string;
|
|
395
|
+
bubbles: ChartSceneBubble[];
|
|
396
|
+
label?: string;
|
|
397
|
+
}
|
|
398
|
+
export interface ChartScenePieSeries extends ChartSceneAdornment {
|
|
399
|
+
type: "pie" | "doughnut" | "ofPie";
|
|
400
|
+
slices: ChartScenePieSlice[];
|
|
401
|
+
secondarySlices?: ChartScenePieSlice[];
|
|
402
|
+
connectors?: ChartSceneLine[];
|
|
403
|
+
label?: string;
|
|
404
|
+
}
|
|
405
|
+
export interface ChartSceneRadarSeries extends ChartSceneAdornment {
|
|
406
|
+
type: "radar";
|
|
407
|
+
color: string;
|
|
408
|
+
points: ChartScenePoint[];
|
|
409
|
+
center: ChartScenePoint;
|
|
410
|
+
radius: number;
|
|
411
|
+
filled?: boolean;
|
|
412
|
+
label?: string;
|
|
413
|
+
}
|
|
414
|
+
export interface ChartSceneStockSeries extends ChartSceneAdornment {
|
|
415
|
+
type: "stock";
|
|
416
|
+
color: string;
|
|
417
|
+
candles: ChartSceneStockCandle[];
|
|
418
|
+
label?: string;
|
|
419
|
+
}
|
|
420
|
+
export interface ChartSceneSurfaceSeries extends ChartSceneAdornment {
|
|
421
|
+
type: "surface";
|
|
422
|
+
cells: ChartSceneSurfaceCell[];
|
|
423
|
+
wireframe?: boolean;
|
|
424
|
+
label?: string;
|
|
425
|
+
}
|
|
426
|
+
export interface ChartSceneBubble extends ChartScenePoint {
|
|
427
|
+
radius: number;
|
|
428
|
+
}
|
|
429
|
+
export interface ChartSceneMarker extends ChartScenePoint {
|
|
430
|
+
color: string;
|
|
431
|
+
size: number;
|
|
432
|
+
symbol?: NonNullable<ChartMarker["symbol"]>;
|
|
433
|
+
}
|
|
434
|
+
export interface ChartSceneTrendline {
|
|
435
|
+
color: string;
|
|
436
|
+
width?: number;
|
|
437
|
+
dash?: string;
|
|
438
|
+
points: ChartScenePoint[];
|
|
439
|
+
label?: ChartSceneText;
|
|
440
|
+
}
|
|
441
|
+
export interface ChartSceneErrorBar {
|
|
442
|
+
line: ChartSceneLine;
|
|
443
|
+
cap1?: ChartSceneLine;
|
|
444
|
+
cap2?: ChartSceneLine;
|
|
445
|
+
}
|
|
446
|
+
export interface ChartSceneStockCandle {
|
|
447
|
+
x: number;
|
|
448
|
+
highY: number;
|
|
449
|
+
lowY: number;
|
|
450
|
+
openY?: number;
|
|
451
|
+
closeY?: number;
|
|
452
|
+
width: number;
|
|
453
|
+
up: boolean;
|
|
454
|
+
}
|
|
455
|
+
export interface ChartSceneSurfaceCell extends ChartSceneRect {
|
|
456
|
+
color: string;
|
|
457
|
+
}
|
|
458
|
+
export interface ChartScenePieSlice {
|
|
459
|
+
color: string;
|
|
460
|
+
cx: number;
|
|
461
|
+
cy: number;
|
|
462
|
+
radius: number;
|
|
463
|
+
innerRadius: number;
|
|
464
|
+
startAngle: number;
|
|
465
|
+
endAngle: number;
|
|
466
|
+
}
|
|
467
|
+
export interface ChartSceneLine {
|
|
468
|
+
x1: number;
|
|
469
|
+
y1: number;
|
|
470
|
+
x2: number;
|
|
471
|
+
y2: number;
|
|
472
|
+
color: string;
|
|
473
|
+
width?: number;
|
|
474
|
+
}
|
|
475
|
+
export interface ChartSceneText {
|
|
476
|
+
x: number;
|
|
477
|
+
y: number;
|
|
478
|
+
text: string;
|
|
479
|
+
fontSize: number;
|
|
480
|
+
color: string;
|
|
481
|
+
anchor?: "start" | "middle" | "end";
|
|
482
|
+
rotate?: number;
|
|
483
|
+
/**
|
|
484
|
+
* Font family typeface, populated from OOXML `a:latin/@typeface` when
|
|
485
|
+
* the originating `txPr` carries a font. `undefined` keeps the
|
|
486
|
+
* renderer defaults: `"Arial"` for SVG, `"Helvetica"` for PDF. The
|
|
487
|
+
* SVG and PDF bridges both honour this — the PDF `FontManager`
|
|
488
|
+
* handles unknown families by silently mapping to Helvetica.
|
|
489
|
+
*/
|
|
490
|
+
fontFamily?: string;
|
|
491
|
+
/** Bold from `a:rPr/@b` / `a:defRPr/@b`. */
|
|
492
|
+
bold?: boolean;
|
|
493
|
+
/** Italic from `a:rPr/@i` / `a:defRPr/@i`. */
|
|
494
|
+
italic?: boolean;
|
|
495
|
+
}
|
|
496
|
+
export interface ChartSceneRect {
|
|
497
|
+
x: number;
|
|
498
|
+
y: number;
|
|
499
|
+
width: number;
|
|
500
|
+
height: number;
|
|
501
|
+
}
|
|
502
|
+
export interface ChartScenePoint {
|
|
503
|
+
x: number;
|
|
504
|
+
y: number;
|
|
505
|
+
}
|
|
506
|
+
export declare function buildChartScene(model: ChartModel, options?: ChartRenderOptions): ChartScene;
|
|
507
|
+
export declare function renderChartSvg(model: ChartModel, options?: ChartRenderOptions): string;
|
|
508
|
+
export declare function renderChartPng(model: ChartModel, options?: ChartRenderOptions): Promise<Uint8Array>;
|
|
509
|
+
export declare function renderSvgToPng(svg: string, options: Required<Pick<ChartRenderOptions, "width" | "height">> & Pick<ChartRenderOptions, "scale" | "dpi">): Promise<Uint8Array>;
|
|
510
|
+
export declare function drawChartPdf(page: ChartPdfDrawingSurface, model: ChartModel, options: PdfChartRenderOptions): ChartPdfDrawingSurface;
|
|
511
|
+
/**
|
|
512
|
+
* Apply a logarithmic axis transform when the given axis is configured
|
|
513
|
+
* with `scaling.logBase`. Caller uses the transformed value / min / max
|
|
514
|
+
* with the plain {@link valueToY} / {@link valueToX} helpers so the
|
|
515
|
+
* rest of the renderer does not need to know about the log scale.
|
|
516
|
+
*
|
|
517
|
+
* Returns the input unchanged when `logBase` is absent / invalid or
|
|
518
|
+
* when the value is non-positive (log scales can't plot ≤0 values; we
|
|
519
|
+
* fall back to the raw value rather than `-Infinity` so the point
|
|
520
|
+
* still shows up somewhere near the bottom).
|
|
521
|
+
*/
|
|
522
|
+
export declare function applyAxisTransform(value: number, logBase: number | undefined): number;
|
|
523
|
+
/**
|
|
524
|
+
* Translate a DrawingML {@link EffectList} into an SVG `<filter>`
|
|
525
|
+
* element. The translation is lossy — SVG filters don't express every
|
|
526
|
+
* Excel effect pixel-for-pixel — but they do capture the four effects
|
|
527
|
+
* that cover the overwhelming majority of real-world usage:
|
|
528
|
+
*
|
|
529
|
+
* - `outerShadow` / `presetShadow` → `<feGaussianBlur>` +
|
|
530
|
+
* `<feOffset>` + `<feMerge>` (Excel's outer-shadow dist/dir/blur
|
|
531
|
+
* maps directly onto SVG's offset + blur-stdDeviation).
|
|
532
|
+
* - `innerShadow` → `<feComposite operator="arithmetic">`
|
|
533
|
+
* carving a shadow inside the shape.
|
|
534
|
+
* - `glow` → blurred coloured duplicate
|
|
535
|
+
* under the source.
|
|
536
|
+
* - `blur` → a single `<feGaussianBlur>`.
|
|
537
|
+
* - `softEdge` → a `<feGaussianBlur>` feeding
|
|
538
|
+
* into the source alpha.
|
|
539
|
+
*
|
|
540
|
+
* Reflection is modelled as a semi-transparent y-flipped duplicate;
|
|
541
|
+
* Excel's actual implementation uses a much more complicated
|
|
542
|
+
* gradient-masked clone. The preview is recognisable as a reflection
|
|
543
|
+
* but does not match Excel pixel-for-pixel.
|
|
544
|
+
*
|
|
545
|
+
* Callers are expected to embed the returned string inside an SVG
|
|
546
|
+
* `<defs>` block and reference it via `filter="url(#<id>)"` on the
|
|
547
|
+
* shapes they want to affect. Returns `""` when the effect list is
|
|
548
|
+
* empty — callers can skip emission entirely.
|
|
549
|
+
*/
|
|
550
|
+
export declare function buildEffectFilter(id: string, effects: EffectList | undefined): string;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ChartColorsModel, ChartStyleModel } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Parse a `colors{N}.xml` raw XML string into a structured model.
|
|
4
|
+
* Returns a best-effort representation — unknown children are preserved in rawXml.
|
|
5
|
+
*/
|
|
6
|
+
export declare function parseChartColors(rawXml: string): ChartColorsModel;
|
|
7
|
+
/**
|
|
8
|
+
* Build a `colors{N}.xml` string from a structured ChartColorsModel.
|
|
9
|
+
*
|
|
10
|
+
* Structured data (`colors` / `variations`) takes precedence over `rawXml`.
|
|
11
|
+
* If neither `colors` nor `variations` is present we fall back to `rawXml`
|
|
12
|
+
* (round-trip) or the built-in default palette. Mutations to `variations`
|
|
13
|
+
* alone therefore still take effect without requiring the caller to also
|
|
14
|
+
* populate `colors`.
|
|
15
|
+
*/
|
|
16
|
+
export declare function buildChartColors(model: ChartColorsModel): string;
|
|
17
|
+
export declare function buildChartStyle(model: ChartStyleModel): string;
|
|
18
|
+
/**
|
|
19
|
+
* Parse a `styles{N}.xml` file to extract the style ID.
|
|
20
|
+
*/
|
|
21
|
+
export declare function parseChartStyle(rawXml: string): ChartStyleModel;
|