@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,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chart type definitions for ExcelTS
|
|
3
|
+
*
|
|
4
|
+
* Covers the full OOXML DrawingML Chart specification (c: namespace).
|
|
5
|
+
* Every chart in an XLSX file is a `c:chartSpace` containing a `c:chart`
|
|
6
|
+
* which holds a `c:plotArea` with one or more chart type groups.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chart Support Registry
|
|
3
|
+
*
|
|
4
|
+
* A tiny indirection layer that lets `Worksheet`, `Workbook` and
|
|
5
|
+
* `Chartsheet` call into chart-building, chart-rendering and chart
|
|
6
|
+
* cache-population code **only if the host application has opted in**
|
|
7
|
+
* by calling `installChartSupport()` from
|
|
8
|
+
* `@cj-tech-master/excelts/chart`.
|
|
9
|
+
*
|
|
10
|
+
* ## Why a registry
|
|
11
|
+
*
|
|
12
|
+
* The chart module ships 17 files covering classic charts, ChartEx
|
|
13
|
+
* (Excel 2016+), SVG/PNG/PDF renderers, preset catalogues, shape
|
|
14
|
+
* properties, TopoJSON region maps and cache populators — roughly
|
|
15
|
+
* 30,000 lines of TypeScript. Empirical measurement shows that making
|
|
16
|
+
* `Worksheet` import from chart directly forces ~1.2 MB of chart code
|
|
17
|
+
* into every consumer bundle, even for consumers who only read and
|
|
18
|
+
* write cells.
|
|
19
|
+
*
|
|
20
|
+
* This file is the single point of indirection. Importing `Worksheet`
|
|
21
|
+
* pulls it in (~1 KB) but does NOT pull in the chart implementation;
|
|
22
|
+
* the implementation only arrives once someone calls
|
|
23
|
+
* `installChartSupport()`, which bundlers resolve to the
|
|
24
|
+
* `@cj-tech-master/excelts/chart` subpath import graph.
|
|
25
|
+
*
|
|
26
|
+
* If chart-manipulating APIs (`worksheet.addChart()`, `workbook.writeFile()`
|
|
27
|
+
* with charts, etc.) are called without `installChartSupport()` having
|
|
28
|
+
* run, a clear error is thrown telling the developer how to fix it.
|
|
29
|
+
*
|
|
30
|
+
* ## Why it lives in `excel/` rather than `excel/chart/`
|
|
31
|
+
*
|
|
32
|
+
* Host-registry pattern convention: the slot lives with the consumer,
|
|
33
|
+
* not with the provider. `worksheet.ts`, `workbook.browser.ts` and
|
|
34
|
+
* `chartsheet.ts` are the consumers and they all live in `excel/`, so
|
|
35
|
+
* the slot sits next to them. The chart module only depends on it when
|
|
36
|
+
* `install()` is called — a one-way arrow from provider to consumer.
|
|
37
|
+
*
|
|
38
|
+
* This differs from `@formula/host-registry` which lives inside the
|
|
39
|
+
* formula module because formula is a separate top-level module (layer
|
|
40
|
+
* 3) that cannot import from excel. Chart is nested under excel
|
|
41
|
+
* (layer 4), so the slot naturally lives in excel.
|
|
42
|
+
*
|
|
43
|
+
* ## Relationship to formula's host-registry
|
|
44
|
+
*
|
|
45
|
+
* The two registries are independent slots for independent optional
|
|
46
|
+
* features. A consumer may install chart without formula, formula
|
|
47
|
+
* without chart, both, or neither.
|
|
48
|
+
*/
|
|
49
|
+
import type { fillChartCaches, fillChartExCaches } from "./chart/cache-populator.js";
|
|
50
|
+
import type { Chart, ChartAnchorModel, buildChartModel } from "./chart/chart.js";
|
|
51
|
+
import type { chartExOptionsFromRows, chartExOptionsFromTable, chartOptionsFromRows, chartOptionsFromTable, seriesFromColumns } from "./chart/chart-api.js";
|
|
52
|
+
import type { buildComboChartModel } from "./chart/chart-builder.js";
|
|
53
|
+
import type { buildChartExModel } from "./chart/chart-ex-builder.js";
|
|
54
|
+
import type { parseChartEx } from "./chart/chart-ex-parser.js";
|
|
55
|
+
import type { canRenderChartExAsVectorPdf, drawChartExPdf, renderChartEx, renderChartExLegendXml, renderChartExPng, rewriteChartExDataRefsToDefinedNames } from "./chart/chart-ex-renderer.js";
|
|
56
|
+
import type { resolvePendingChartImages } from "./chart/chart-images.js";
|
|
57
|
+
import type { applyChartExPreset, applyChartPreset } from "./chart/chart-presets.js";
|
|
58
|
+
import type { drawChartPdf, renderChartPng } from "./chart/chart-renderer.js";
|
|
59
|
+
import type { buildChartColors, buildChartStyle } from "./chart/chart-sidecar.js";
|
|
60
|
+
import type { themeIndexToName } from "./chart/chart-utils.js";
|
|
61
|
+
import type { AddChartRange } from "./chart/types.js";
|
|
62
|
+
import type { Worksheet } from "./worksheet.js";
|
|
63
|
+
import type { ChartSpaceXform } from "./xlsx/xform/chart/chart-space-xform.js";
|
|
64
|
+
/**
|
|
65
|
+
* Runtime chart functions the excel module needs from the chart
|
|
66
|
+
* module. Populated by `installChartSupport()` from
|
|
67
|
+
* `@cj-tech-master/excelts/chart`.
|
|
68
|
+
*
|
|
69
|
+
* Using `typeof <fn>` keeps the signatures in lockstep with the real
|
|
70
|
+
* implementations — add an argument to `buildChartModel` and this
|
|
71
|
+
* interface updates automatically, as do all call sites. Consumers who
|
|
72
|
+
* provide a custom chart-support implementation (test doubles, mock
|
|
73
|
+
* providers) get a type error when signatures drift.
|
|
74
|
+
*
|
|
75
|
+
* The `Chart` class constructor is wrapped in a factory function
|
|
76
|
+
* (`createChart`) rather than exposed as a raw constructor reference:
|
|
77
|
+
* `new (getChartSupport().Chart)(...)` reads poorly at the call site,
|
|
78
|
+
* `getChartSupport().createChart(...)` reads cleanly.
|
|
79
|
+
*/
|
|
80
|
+
export interface ChartSupport {
|
|
81
|
+
readonly buildChartModel: typeof buildChartModel;
|
|
82
|
+
readonly buildComboChartModel: typeof buildComboChartModel;
|
|
83
|
+
readonly buildChartExModel: typeof buildChartExModel;
|
|
84
|
+
readonly applyChartPreset: typeof applyChartPreset;
|
|
85
|
+
readonly applyChartExPreset: typeof applyChartExPreset;
|
|
86
|
+
readonly fillChartCaches: typeof fillChartCaches;
|
|
87
|
+
readonly fillChartExCaches: typeof fillChartExCaches;
|
|
88
|
+
readonly resolvePendingChartImages: typeof resolvePendingChartImages;
|
|
89
|
+
readonly buildChartStyle: typeof buildChartStyle;
|
|
90
|
+
readonly buildChartColors: typeof buildChartColors;
|
|
91
|
+
/**
|
|
92
|
+
* Factory for a `Chart` instance. Preferred over exposing the raw
|
|
93
|
+
* constructor because `new (getChartSupport().Chart)(...)` is
|
|
94
|
+
* awkward at call sites.
|
|
95
|
+
*
|
|
96
|
+
* Accepts either an `AddChartRange` (the public addChart API
|
|
97
|
+
* surface: A1-notation strings, tl/br pairs, tl+ext, or pos+ext)
|
|
98
|
+
* **or** a `ChartAnchorModel["range"]` (the model-shaped form
|
|
99
|
+
* re-hydrated from an XLSX drawing anchor). The Chart constructor
|
|
100
|
+
* accepts both and routes through the same `parseRange` helper.
|
|
101
|
+
*/
|
|
102
|
+
readonly createChart: (worksheet: Worksheet, ids: {
|
|
103
|
+
chartNumber?: number;
|
|
104
|
+
chartExNumber?: number;
|
|
105
|
+
}, range: AddChartRange | ChartAnchorModel["range"]) => Chart;
|
|
106
|
+
readonly chartOptionsFromTable: typeof chartOptionsFromTable;
|
|
107
|
+
readonly chartOptionsFromRows: typeof chartOptionsFromRows;
|
|
108
|
+
readonly chartExOptionsFromTable: typeof chartExOptionsFromTable;
|
|
109
|
+
readonly chartExOptionsFromRows: typeof chartExOptionsFromRows;
|
|
110
|
+
readonly seriesFromColumns: typeof seriesFromColumns;
|
|
111
|
+
readonly parseChartEx: typeof parseChartEx;
|
|
112
|
+
readonly renderChartEx: typeof renderChartEx;
|
|
113
|
+
readonly renderChartExLegendXml: typeof renderChartExLegendXml;
|
|
114
|
+
readonly rewriteChartExDataRefsToDefinedNames: typeof rewriteChartExDataRefsToDefinedNames;
|
|
115
|
+
readonly themeIndexToName: typeof themeIndexToName;
|
|
116
|
+
/**
|
|
117
|
+
* Factory for the classic-chart XLSX xform (`c:chartSpace` parser +
|
|
118
|
+
* writer). `chart-space-xform.ts` itself statically imports
|
|
119
|
+
* `chart-utils` and `shape-properties` from the chart module, so
|
|
120
|
+
* exposing it through the registry ensures a consumer who never
|
|
121
|
+
* installs chart support also never pulls those chart files into
|
|
122
|
+
* their bundle via the xform graph.
|
|
123
|
+
*/
|
|
124
|
+
readonly createChartSpaceXform: () => ChartSpaceXform;
|
|
125
|
+
readonly drawChartPdf: typeof drawChartPdf;
|
|
126
|
+
readonly drawChartExPdf: typeof drawChartExPdf;
|
|
127
|
+
readonly renderChartPng: typeof renderChartPng;
|
|
128
|
+
readonly renderChartExPng: typeof renderChartExPng;
|
|
129
|
+
readonly canRenderChartExAsVectorPdf: typeof canRenderChartExAsVectorPdf;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Install a chart runtime implementation. Called from
|
|
133
|
+
* `installChartSupport()` in the `@cj-tech-master/excelts/chart`
|
|
134
|
+
* subpath.
|
|
135
|
+
*
|
|
136
|
+
* Re-installing is allowed — the last registration wins. Passing
|
|
137
|
+
* `null` uninstalls chart support, which is useful for tests that
|
|
138
|
+
* exercise the "no chart" error path.
|
|
139
|
+
*/
|
|
140
|
+
export declare function registerChartSupport(support: ChartSupport | null): void;
|
|
141
|
+
/** Returns true when chart support has been installed. */
|
|
142
|
+
export declare function hasChartSupport(): boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Retrieve the installed chart support. Throws a descriptive error if
|
|
145
|
+
* no chart support is installed.
|
|
146
|
+
*/
|
|
147
|
+
export declare function getChartSupport(): ChartSupport;
|
|
148
|
+
/**
|
|
149
|
+
* Retrieve installed chart support, or `null` if none is installed.
|
|
150
|
+
*
|
|
151
|
+
* Used by code paths that can gracefully degrade when chart support is
|
|
152
|
+
* missing — e.g. ChartEx loading, which can preserve raw XML verbatim
|
|
153
|
+
* without a full parse when chart support is absent. Note that classic
|
|
154
|
+
* chart loading currently requires chart support to be installed (the
|
|
155
|
+
* reader calls `getChartSupport()` unconditionally for classic charts).
|
|
156
|
+
*/
|
|
157
|
+
export declare function tryGetChartSupport(): ChartSupport | null;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chart Support Registry
|
|
3
|
+
*
|
|
4
|
+
* A tiny indirection layer that lets `Worksheet`, `Workbook` and
|
|
5
|
+
* `Chartsheet` call into chart-building, chart-rendering and chart
|
|
6
|
+
* cache-population code **only if the host application has opted in**
|
|
7
|
+
* by calling `installChartSupport()` from
|
|
8
|
+
* `@cj-tech-master/excelts/chart`.
|
|
9
|
+
*
|
|
10
|
+
* ## Why a registry
|
|
11
|
+
*
|
|
12
|
+
* The chart module ships 17 files covering classic charts, ChartEx
|
|
13
|
+
* (Excel 2016+), SVG/PNG/PDF renderers, preset catalogues, shape
|
|
14
|
+
* properties, TopoJSON region maps and cache populators — roughly
|
|
15
|
+
* 30,000 lines of TypeScript. Empirical measurement shows that making
|
|
16
|
+
* `Worksheet` import from chart directly forces ~1.2 MB of chart code
|
|
17
|
+
* into every consumer bundle, even for consumers who only read and
|
|
18
|
+
* write cells.
|
|
19
|
+
*
|
|
20
|
+
* This file is the single point of indirection. Importing `Worksheet`
|
|
21
|
+
* pulls it in (~1 KB) but does NOT pull in the chart implementation;
|
|
22
|
+
* the implementation only arrives once someone calls
|
|
23
|
+
* `installChartSupport()`, which bundlers resolve to the
|
|
24
|
+
* `@cj-tech-master/excelts/chart` subpath import graph.
|
|
25
|
+
*
|
|
26
|
+
* If chart-manipulating APIs (`worksheet.addChart()`, `workbook.writeFile()`
|
|
27
|
+
* with charts, etc.) are called without `installChartSupport()` having
|
|
28
|
+
* run, a clear error is thrown telling the developer how to fix it.
|
|
29
|
+
*
|
|
30
|
+
* ## Why it lives in `excel/` rather than `excel/chart/`
|
|
31
|
+
*
|
|
32
|
+
* Host-registry pattern convention: the slot lives with the consumer,
|
|
33
|
+
* not with the provider. `worksheet.ts`, `workbook.browser.ts` and
|
|
34
|
+
* `chartsheet.ts` are the consumers and they all live in `excel/`, so
|
|
35
|
+
* the slot sits next to them. The chart module only depends on it when
|
|
36
|
+
* `install()` is called — a one-way arrow from provider to consumer.
|
|
37
|
+
*
|
|
38
|
+
* This differs from `@formula/host-registry` which lives inside the
|
|
39
|
+
* formula module because formula is a separate top-level module (layer
|
|
40
|
+
* 3) that cannot import from excel. Chart is nested under excel
|
|
41
|
+
* (layer 4), so the slot naturally lives in excel.
|
|
42
|
+
*
|
|
43
|
+
* ## Relationship to formula's host-registry
|
|
44
|
+
*
|
|
45
|
+
* The two registries are independent slots for independent optional
|
|
46
|
+
* features. A consumer may install chart without formula, formula
|
|
47
|
+
* without chart, both, or neither.
|
|
48
|
+
*/
|
|
49
|
+
let installed = null;
|
|
50
|
+
/**
|
|
51
|
+
* Install a chart runtime implementation. Called from
|
|
52
|
+
* `installChartSupport()` in the `@cj-tech-master/excelts/chart`
|
|
53
|
+
* subpath.
|
|
54
|
+
*
|
|
55
|
+
* Re-installing is allowed — the last registration wins. Passing
|
|
56
|
+
* `null` uninstalls chart support, which is useful for tests that
|
|
57
|
+
* exercise the "no chart" error path.
|
|
58
|
+
*/
|
|
59
|
+
export function registerChartSupport(support) {
|
|
60
|
+
installed = support;
|
|
61
|
+
}
|
|
62
|
+
/** Returns true when chart support has been installed. */
|
|
63
|
+
export function hasChartSupport() {
|
|
64
|
+
return installed !== null;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Retrieve the installed chart support. Throws a descriptive error if
|
|
68
|
+
* no chart support is installed.
|
|
69
|
+
*/
|
|
70
|
+
export function getChartSupport() {
|
|
71
|
+
if (!installed) {
|
|
72
|
+
throw new Error("No chart support is installed. " +
|
|
73
|
+
"Call `installChartSupport()` from `@cj-tech-master/excelts/chart` " +
|
|
74
|
+
"once at startup to enable chart creation, loading, and " +
|
|
75
|
+
"serialisation during `workbook.xlsx.writeFile()`.");
|
|
76
|
+
}
|
|
77
|
+
return installed;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Retrieve installed chart support, or `null` if none is installed.
|
|
81
|
+
*
|
|
82
|
+
* Used by code paths that can gracefully degrade when chart support is
|
|
83
|
+
* missing — e.g. ChartEx loading, which can preserve raw XML verbatim
|
|
84
|
+
* without a full parse when chart support is absent. Note that classic
|
|
85
|
+
* chart loading currently requires chart support to be installed (the
|
|
86
|
+
* reader calls `getChartSupport()` unconditionally for classic charts).
|
|
87
|
+
*/
|
|
88
|
+
export function tryGetChartSupport() {
|
|
89
|
+
return installed;
|
|
90
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import type { Chart } from "./chart/chart.js";
|
|
2
|
+
import type { AddChartExOptions, ChartExModel } from "./chart/chart-ex-types.js";
|
|
3
|
+
import type { AddChartOptions, AddComboChartOptions, ChartModel } from "./chart/types.js";
|
|
4
|
+
import type { ChartsheetModel } from "./xlsx/xform/sheet/chartsheet-xform.js";
|
|
5
|
+
export interface ChartsheetViewOptions {
|
|
6
|
+
/** Whether the chartsheet tab is selected in the workbook view. */
|
|
7
|
+
tabSelected?: boolean;
|
|
8
|
+
/** Zoom scale percentage. */
|
|
9
|
+
zoomScale?: number;
|
|
10
|
+
/**
|
|
11
|
+
* 0-based index into the workbook's `<bookViews>` list that this
|
|
12
|
+
* chartsheet view is bound to. Defaults to 0 (the primary view).
|
|
13
|
+
*/
|
|
14
|
+
workbookViewId?: number;
|
|
15
|
+
/**
|
|
16
|
+
* When true the chartsheet scales to fill the window. Matches the
|
|
17
|
+
* OOXML `<sheetView zoomToFit="1"/>` attribute.
|
|
18
|
+
*/
|
|
19
|
+
zoomToFit?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface ChartsheetOptions extends ChartsheetViewOptions {
|
|
22
|
+
/** Sheet visibility state. */
|
|
23
|
+
state?: "visible" | "hidden" | "veryHidden";
|
|
24
|
+
/** Page margins for the chartsheet. */
|
|
25
|
+
pageMargins?: ChartsheetModel["pageMargins"];
|
|
26
|
+
/** Page setup for the chartsheet (CT_CsPageSetup). */
|
|
27
|
+
pageSetup?: ChartsheetModel["pageSetup"];
|
|
28
|
+
}
|
|
29
|
+
export interface AddChartsheetOptions extends ChartsheetOptions {
|
|
30
|
+
/** Chart to place on the chartsheet. */
|
|
31
|
+
chart: AddChartOptions | AddComboChartOptions | AddChartExOptions;
|
|
32
|
+
}
|
|
33
|
+
export interface AddPivotChartsheetOptions extends ChartsheetOptions {
|
|
34
|
+
/** Classic chart or combo chart to place on the chartsheet as a pivot chart. */
|
|
35
|
+
chart: AddChartOptions | AddComboChartOptions;
|
|
36
|
+
}
|
|
37
|
+
declare class Chartsheet {
|
|
38
|
+
private readonly _model;
|
|
39
|
+
private readonly _workbook?;
|
|
40
|
+
constructor(model: ChartsheetModel, workbook?: ChartsheetWorkbook);
|
|
41
|
+
get id(): number;
|
|
42
|
+
get sheetNo(): number;
|
|
43
|
+
get name(): string;
|
|
44
|
+
set name(value: string);
|
|
45
|
+
get state(): ChartsheetModel["state"];
|
|
46
|
+
set state(value: ChartsheetModel["state"]);
|
|
47
|
+
get chartNumber(): number | undefined;
|
|
48
|
+
get chartExNumber(): number | undefined;
|
|
49
|
+
get chartModel(): ChartModel | undefined;
|
|
50
|
+
get chartExModel(): ChartExModel | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* Return the `Chart` wrapper for this chartsheet's single chart.
|
|
53
|
+
*
|
|
54
|
+
* The wrapper's `.worksheet` field is a {@link ChartsheetChartHost}
|
|
55
|
+
* rather than a real `Worksheet` — grid operations on it will throw a
|
|
56
|
+
* descriptive error. For anything grid-related, use the underlying
|
|
57
|
+
* {@link chartModel}/{@link chartExModel} directly or go through the
|
|
58
|
+
* `Chartsheet` methods ({@link replaceChart}, {@link rename}, …).
|
|
59
|
+
*/
|
|
60
|
+
get chart(): Chart | undefined;
|
|
61
|
+
get isChartEx(): boolean;
|
|
62
|
+
get model(): ChartsheetModel;
|
|
63
|
+
get pageMargins(): ChartsheetModel["pageMargins"];
|
|
64
|
+
set pageMargins(value: ChartsheetModel["pageMargins"]);
|
|
65
|
+
get pageSetup(): ChartsheetModel["pageSetup"];
|
|
66
|
+
set pageSetup(value: ChartsheetModel["pageSetup"]);
|
|
67
|
+
get tabSelected(): boolean | undefined;
|
|
68
|
+
set tabSelected(value: boolean | undefined);
|
|
69
|
+
get zoomScale(): number | undefined;
|
|
70
|
+
set zoomScale(value: number | undefined);
|
|
71
|
+
get workbookViewId(): number | undefined;
|
|
72
|
+
set workbookViewId(value: number | undefined);
|
|
73
|
+
get zoomToFit(): boolean | undefined;
|
|
74
|
+
set zoomToFit(value: boolean | undefined);
|
|
75
|
+
rename(name: string): boolean;
|
|
76
|
+
remove(): boolean;
|
|
77
|
+
copy(name?: string): Chartsheet | undefined;
|
|
78
|
+
replaceChart(chart: AddChartsheetOptions["chart"]): boolean;
|
|
79
|
+
}
|
|
80
|
+
interface ChartsheetWorkbook {
|
|
81
|
+
getChartEntry(chartNumber: number): {
|
|
82
|
+
model: ChartModel;
|
|
83
|
+
} | undefined;
|
|
84
|
+
getChartExStructuredEntry(chartExNumber: number): {
|
|
85
|
+
model: ChartExModel;
|
|
86
|
+
} | undefined;
|
|
87
|
+
renameChartsheet(nameOrIndex: string | number, name: string): boolean;
|
|
88
|
+
removeChartsheet(nameOrIndex: string | number): boolean;
|
|
89
|
+
copyChartsheet(nameOrIndex: string | number, name?: string): Chartsheet | undefined;
|
|
90
|
+
replaceChartsheetChart(nameOrIndex: string | number, chart: AddChartsheetOptions["chart"]): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Validate a sheet name against Excel's unified namespace (both
|
|
93
|
+
* worksheets and chartsheets). See `Workbook.validateSheetName` for
|
|
94
|
+
* the full contract. Declared here so `Chartsheet.name` setter can
|
|
95
|
+
* route through it without widening the narrow host interface to
|
|
96
|
+
* the full `Workbook` type.
|
|
97
|
+
*/
|
|
98
|
+
validateSheetName(name: string, existing?: {
|
|
99
|
+
name: string;
|
|
100
|
+
}): string;
|
|
101
|
+
}
|
|
102
|
+
export { Chartsheet };
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { getChartSupport } from "./chart-host-registry.js";
|
|
2
|
+
/**
|
|
3
|
+
* Nominal anchor range for the full-sheet chart in a chartsheet.
|
|
4
|
+
* Chartsheet charts fill the entire sheet viewport; the anchor value is
|
|
5
|
+
* never used for positioning but is required by the Chart constructor to
|
|
6
|
+
* initialise its internal two-cell-anchor model.
|
|
7
|
+
*/
|
|
8
|
+
const CHARTSHEET_ANCHOR_RANGE = "A1:K15";
|
|
9
|
+
/**
|
|
10
|
+
* Minimal `Worksheet`-shaped proxy used exclusively to back the `Chart`
|
|
11
|
+
* instance returned from {@link Chartsheet.chart}.
|
|
12
|
+
*
|
|
13
|
+
* A chartsheet is a top-level sheet that hosts a single chart without a
|
|
14
|
+
* surrounding grid — there are no rows, columns, tables, merges, or
|
|
15
|
+
* drawings underneath it. `Chart`, however, assumes it lives inside a
|
|
16
|
+
* `Worksheet` so it can walk up to the workbook, copy relationship
|
|
17
|
+
* sidecars, and compute anchor geometry.
|
|
18
|
+
*
|
|
19
|
+
* Previous versions fabricated an empty `{ workbook, name } as any` to
|
|
20
|
+
* satisfy that type. That escape hatch was a correctness trap: calling
|
|
21
|
+
* {@link Chart.copyTo} or anything that invoked `worksheet.getRow` on a
|
|
22
|
+
* chartsheet-backed Chart would throw because the underlying object had
|
|
23
|
+
* none of the real methods.
|
|
24
|
+
*
|
|
25
|
+
* `ChartsheetChartHost` replaces the cast with a first-class proxy that:
|
|
26
|
+
* - forwards the `workbook` pointer so `Chart` can reach its model,
|
|
27
|
+
* sidecars, and copyChartSidecars helper;
|
|
28
|
+
* - reports a synthetic `id`/`name` so diagnostics stay sensible;
|
|
29
|
+
* - throws a clear, descriptive error from every grid-centric method so
|
|
30
|
+
* any accidental reach through fails loudly instead of silently
|
|
31
|
+
* corrupting state (`getRow`, `addRow`, `getColumn`, `addTable`, …).
|
|
32
|
+
*
|
|
33
|
+
* Callers should prefer {@link Chartsheet.chartModel} /
|
|
34
|
+
* {@link Chartsheet.chartExModel} to reach the underlying data directly.
|
|
35
|
+
*/
|
|
36
|
+
class ChartsheetChartHost {
|
|
37
|
+
constructor(workbook, chartsheetId, chartsheetName) {
|
|
38
|
+
this.id = chartsheetId;
|
|
39
|
+
this.name = chartsheetName;
|
|
40
|
+
this.workbook = workbook;
|
|
41
|
+
}
|
|
42
|
+
_unsupported(method) {
|
|
43
|
+
throw new Error(`${method}() is not supported on a Chart attached to a chartsheet. ` +
|
|
44
|
+
`Use the Chartsheet APIs (chartsheet.chartModel, chartsheet.replaceChart, …) instead.`);
|
|
45
|
+
}
|
|
46
|
+
// Grid operations — explicitly fail fast rather than silently returning
|
|
47
|
+
// undefined-ish values that could feed bad data into anchor math.
|
|
48
|
+
getRow(_rowNumber) {
|
|
49
|
+
this._unsupported("Worksheet.getRow");
|
|
50
|
+
}
|
|
51
|
+
addRow() {
|
|
52
|
+
this._unsupported("Worksheet.addRow");
|
|
53
|
+
}
|
|
54
|
+
addRows() {
|
|
55
|
+
this._unsupported("Worksheet.addRows");
|
|
56
|
+
}
|
|
57
|
+
getColumn(_colNumber) {
|
|
58
|
+
this._unsupported("Worksheet.getColumn");
|
|
59
|
+
}
|
|
60
|
+
getCell() {
|
|
61
|
+
this._unsupported("Worksheet.getCell");
|
|
62
|
+
}
|
|
63
|
+
addTable() {
|
|
64
|
+
this._unsupported("Worksheet.addTable");
|
|
65
|
+
}
|
|
66
|
+
getTables() {
|
|
67
|
+
this._unsupported("Worksheet.getTables");
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
class Chartsheet {
|
|
71
|
+
constructor(model, workbook) {
|
|
72
|
+
this._model = model;
|
|
73
|
+
this._workbook = workbook;
|
|
74
|
+
}
|
|
75
|
+
get id() {
|
|
76
|
+
return this._model.id;
|
|
77
|
+
}
|
|
78
|
+
get sheetNo() {
|
|
79
|
+
return this._model.sheetNo;
|
|
80
|
+
}
|
|
81
|
+
get name() {
|
|
82
|
+
return this._model.name;
|
|
83
|
+
}
|
|
84
|
+
set name(value) {
|
|
85
|
+
// Go through the workbook's unified validator so a chartsheet can
|
|
86
|
+
// never silently land on a name that collides with a worksheet (or
|
|
87
|
+
// another chartsheet), includes illegal characters, or exceeds
|
|
88
|
+
// Excel's 31-char limit. Previously this setter just wrote
|
|
89
|
+
// `this._model.name = value` verbatim, letting callers corrupt the
|
|
90
|
+
// model into a state Excel would reject on reopen.
|
|
91
|
+
if (this._workbook) {
|
|
92
|
+
this._model.name = this._workbook.validateSheetName(value, this._model);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
this._model.name = value;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
get state() {
|
|
99
|
+
return this._model.state;
|
|
100
|
+
}
|
|
101
|
+
set state(value) {
|
|
102
|
+
this._model.state = value;
|
|
103
|
+
}
|
|
104
|
+
get chartNumber() {
|
|
105
|
+
return this._model.chartNumber;
|
|
106
|
+
}
|
|
107
|
+
get chartExNumber() {
|
|
108
|
+
return this._model.chartExNumber;
|
|
109
|
+
}
|
|
110
|
+
get chartModel() {
|
|
111
|
+
return this._model.chartNumber
|
|
112
|
+
? this._workbook?.getChartEntry(this._model.chartNumber)?.model
|
|
113
|
+
: undefined;
|
|
114
|
+
}
|
|
115
|
+
get chartExModel() {
|
|
116
|
+
return this._model.chartExNumber
|
|
117
|
+
? this._workbook?.getChartExStructuredEntry(this._model.chartExNumber)?.model
|
|
118
|
+
: undefined;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Return the `Chart` wrapper for this chartsheet's single chart.
|
|
122
|
+
*
|
|
123
|
+
* The wrapper's `.worksheet` field is a {@link ChartsheetChartHost}
|
|
124
|
+
* rather than a real `Worksheet` — grid operations on it will throw a
|
|
125
|
+
* descriptive error. For anything grid-related, use the underlying
|
|
126
|
+
* {@link chartModel}/{@link chartExModel} directly or go through the
|
|
127
|
+
* `Chartsheet` methods ({@link replaceChart}, {@link rename}, …).
|
|
128
|
+
*/
|
|
129
|
+
get chart() {
|
|
130
|
+
if (!this._workbook || (!this._model.chartNumber && !this._model.chartExNumber)) {
|
|
131
|
+
return undefined;
|
|
132
|
+
}
|
|
133
|
+
const host = new ChartsheetChartHost(this._workbook, this._model.id, this._model.name);
|
|
134
|
+
// The `Chart` constructor types its first argument as `Worksheet`, but
|
|
135
|
+
// internally it only touches `worksheet.workbook`, `worksheet.id`, and
|
|
136
|
+
// `worksheet.name` from that position (plus anchor helpers that we've
|
|
137
|
+
// stubbed above). Casting is safe here because the host deliberately
|
|
138
|
+
// implements that exact contract and loudly rejects anything else.
|
|
139
|
+
return getChartSupport().createChart(host, { chartNumber: this._model.chartNumber, chartExNumber: this._model.chartExNumber }, CHARTSHEET_ANCHOR_RANGE);
|
|
140
|
+
}
|
|
141
|
+
get isChartEx() {
|
|
142
|
+
return !!this._model.chartExNumber;
|
|
143
|
+
}
|
|
144
|
+
get model() {
|
|
145
|
+
return this._model;
|
|
146
|
+
}
|
|
147
|
+
get pageMargins() {
|
|
148
|
+
return this._model.pageMargins;
|
|
149
|
+
}
|
|
150
|
+
set pageMargins(value) {
|
|
151
|
+
this._model.pageMargins = value;
|
|
152
|
+
}
|
|
153
|
+
get pageSetup() {
|
|
154
|
+
return this._model.pageSetup;
|
|
155
|
+
}
|
|
156
|
+
set pageSetup(value) {
|
|
157
|
+
this._model.pageSetup = value;
|
|
158
|
+
}
|
|
159
|
+
get tabSelected() {
|
|
160
|
+
return this._model.tabSelected;
|
|
161
|
+
}
|
|
162
|
+
set tabSelected(value) {
|
|
163
|
+
this._model.tabSelected = value;
|
|
164
|
+
}
|
|
165
|
+
get zoomScale() {
|
|
166
|
+
return this._model.zoomScale;
|
|
167
|
+
}
|
|
168
|
+
set zoomScale(value) {
|
|
169
|
+
this._model.zoomScale = value;
|
|
170
|
+
}
|
|
171
|
+
get workbookViewId() {
|
|
172
|
+
return this._model.workbookViewId;
|
|
173
|
+
}
|
|
174
|
+
set workbookViewId(value) {
|
|
175
|
+
this._model.workbookViewId = value;
|
|
176
|
+
}
|
|
177
|
+
get zoomToFit() {
|
|
178
|
+
return this._model.zoomToFit;
|
|
179
|
+
}
|
|
180
|
+
set zoomToFit(value) {
|
|
181
|
+
this._model.zoomToFit = value;
|
|
182
|
+
}
|
|
183
|
+
rename(name) {
|
|
184
|
+
return this._workbook?.renameChartsheet(this.name, name) ?? false;
|
|
185
|
+
}
|
|
186
|
+
remove() {
|
|
187
|
+
return this._workbook?.removeChartsheet(this.name) ?? false;
|
|
188
|
+
}
|
|
189
|
+
copy(name) {
|
|
190
|
+
return this._workbook?.copyChartsheet(this.name, name);
|
|
191
|
+
}
|
|
192
|
+
replaceChart(chart) {
|
|
193
|
+
return this._workbook?.replaceChartsheetChart(this.name, chart) ?? false;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
export { Chartsheet };
|
|
@@ -26,6 +26,14 @@ interface DefinedNameModel {
|
|
|
26
26
|
* - "opaque": unrecognised content preserved for round-trip — stored in opaqueMap
|
|
27
27
|
*/
|
|
28
28
|
kind?: "reference" | "formula" | "opaque";
|
|
29
|
+
/**
|
|
30
|
+
* `definedName/@hidden` — when `true`, emits `hidden="1"` on the
|
|
31
|
+
* XML element. Used by chartEx `_xlchart.vN.M` defined names that
|
|
32
|
+
* Excel creates automatically for every chartEx data reference;
|
|
33
|
+
* these names are infrastructure, never intended for users, so
|
|
34
|
+
* Excel hides them from the Name Manager UI.
|
|
35
|
+
*/
|
|
36
|
+
hidden?: boolean;
|
|
29
37
|
}
|
|
30
38
|
/** Stored entry for an opaque (unrecognised) defined name. */
|
|
31
39
|
interface OpaqueEntry {
|
|
@@ -43,6 +51,13 @@ declare class DefinedNames {
|
|
|
43
51
|
* If a key is not in this map, the name is workbook-scoped (global).
|
|
44
52
|
*/
|
|
45
53
|
localSheetIdMap: Record<string, number>;
|
|
54
|
+
/**
|
|
55
|
+
* Tracks the `hidden` flag for each storage key. Used by chartEx
|
|
56
|
+
* `_xlchart.vN.M` infrastructure names — Excel emits them with
|
|
57
|
+
* `hidden="1"` to suppress the Name Manager UI. A missing key
|
|
58
|
+
* means "not hidden" (the default).
|
|
59
|
+
*/
|
|
60
|
+
hiddenMap: Record<string, boolean>;
|
|
46
61
|
/**
|
|
47
62
|
* Opaque defined names: storageKey → original text + optional localSheetId.
|
|
48
63
|
*/
|
|
@@ -70,6 +85,26 @@ declare class DefinedNames {
|
|
|
70
85
|
constructor(probe?: SyntaxProbe);
|
|
71
86
|
getMatrix(name: string): CellMatrix;
|
|
72
87
|
add(locStr: string, name: string): void;
|
|
88
|
+
/**
|
|
89
|
+
* Register a hidden defined name that maps a chartEx `_xlchart.vN.M`
|
|
90
|
+
* pointer to a worksheet range. Excel emits one of these for every
|
|
91
|
+
* data reference in a chartEx chart:
|
|
92
|
+
*
|
|
93
|
+
* <definedName name="_xlchart.v1.0" hidden="1">Sheet1!$A$1:$A$3</definedName>
|
|
94
|
+
*
|
|
95
|
+
* The chartEx then references `_xlchart.v1.0` from its `<cx:f>`
|
|
96
|
+
* element instead of the worksheet range directly. Direct sheet
|
|
97
|
+
* references in `<cx:f>` are rejected by Excel 2016+ with
|
|
98
|
+
* "Removed Part: /xl/drawings/drawingN.xml (Drawing shape)" on
|
|
99
|
+
* load, so chartEx data MUST go through this indirection.
|
|
100
|
+
*
|
|
101
|
+
* Same semantics as `add()` but also marks the name `hidden` so
|
|
102
|
+
* it does not show up in Excel's Name Manager UI.
|
|
103
|
+
*
|
|
104
|
+
* @param locStr - Worksheet reference (e.g. `"Sheet1!$A$1:$A$3"`)
|
|
105
|
+
* @param name - Defined name to register (e.g. `"_xlchart.v1.0"`)
|
|
106
|
+
*/
|
|
107
|
+
addHidden(locStr: string, name: string): void;
|
|
73
108
|
addEx(location: CellLocation, name: string): void;
|
|
74
109
|
/**
|
|
75
110
|
* Register a formula-based defined name.
|