@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,239 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Minimal, zero-dependency TopoJSON feature extractor.
|
|
4
|
+
*
|
|
5
|
+
* TopoJSON (https://github.com/topojson/topojson-specification) encodes
|
|
6
|
+
* geometries as indices into a shared arc table, optionally with an
|
|
7
|
+
* integer quantisation grid that is dequantised via `transform`. Full
|
|
8
|
+
* support (mesh, merge, presimplify…) belongs to a dedicated library;
|
|
9
|
+
* this module implements only what the `regionMap` renderer needs:
|
|
10
|
+
*
|
|
11
|
+
* 1. Parse a {@link TopologyLike} object produced by any TopoJSON 1.x
|
|
12
|
+
* emitter (d3, topojson-server, world-atlas bundles).
|
|
13
|
+
* 2. Dequantise integer-encoded arcs back to absolute lon/lat pairs.
|
|
14
|
+
* 3. Resolve a geometry (`Polygon` / `MultiPolygon` / `LineString` /
|
|
15
|
+
* `MultiLineString` / `Point` / `MultiPoint`) into drawable rings.
|
|
16
|
+
*
|
|
17
|
+
* The shapes here mirror what the TopoJSON 1.x spec emits but keep
|
|
18
|
+
* the types narrow — unknown fields (`bbox`, vendor extensions) are
|
|
19
|
+
* ignored, not stripped. Users who need the full spec should use the
|
|
20
|
+
* upstream `topojson-client` package; doing so does not conflict with
|
|
21
|
+
* this module because both return `[lon, lat]` coordinate arrays in
|
|
22
|
+
* the geometry output.
|
|
23
|
+
*/
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.resolveTopologyObject = resolveTopologyObject;
|
|
26
|
+
const errors_1 = require("../errors.js");
|
|
27
|
+
/**
|
|
28
|
+
* Resolve a named object from a {@link TopologyLike} into a flat list
|
|
29
|
+
* of `{ id, rings }` records. Each `rings[0]` is the outer ring and
|
|
30
|
+
* the remainder are holes. For `LineString` / `MultiLineString`,
|
|
31
|
+
* `rings` contains the open polylines; the caller is expected to
|
|
32
|
+
* treat them as un-closed paths.
|
|
33
|
+
*
|
|
34
|
+
* Throws if the object is missing or not a recognised geometry type —
|
|
35
|
+
* preferring a loud failure over silent "empty map" output, which is
|
|
36
|
+
* almost always a wiring bug on the caller's side.
|
|
37
|
+
*/
|
|
38
|
+
function resolveTopologyObject(topology, objectName) {
|
|
39
|
+
const obj = topology.objects?.[objectName];
|
|
40
|
+
if (!obj) {
|
|
41
|
+
throw new errors_1.ChartOptionsError(`resolveTopologyObject: topology.objects['${objectName}'] not found (available: ${Object.keys(topology.objects ?? {}).join(", ") || "<none>"}).`);
|
|
42
|
+
}
|
|
43
|
+
if (!Array.isArray(topology.arcs)) {
|
|
44
|
+
// Malformed input — TopoJSON spec requires `arcs` to be an array. We
|
|
45
|
+
// bail out explicitly (rather than throwing inside `decode` below
|
|
46
|
+
// from a `TypeError: Cannot read properties of undefined`) so the
|
|
47
|
+
// caller sees a clear message.
|
|
48
|
+
throw new errors_1.ChartOptionsError(`resolveTopologyObject: topology.arcs is missing or not an array; cannot decode geometry.`);
|
|
49
|
+
}
|
|
50
|
+
const rawScale = topology.transform?.scale;
|
|
51
|
+
const rawTranslate = topology.transform?.translate;
|
|
52
|
+
// Defensive: verify both are finite 2-tuples before forwarding to
|
|
53
|
+
// `dequantiseArc`. A single `NaN` / `Infinity` in scale or translate
|
|
54
|
+
// would otherwise propagate through every coordinate.
|
|
55
|
+
const isFinitePair = (v) => Array.isArray(v) && v.length === 2 && Number.isFinite(v[0]) && Number.isFinite(v[1]);
|
|
56
|
+
const scale = isFinitePair(rawScale) ? rawScale : undefined;
|
|
57
|
+
const translate = isFinitePair(rawTranslate) ? rawTranslate : undefined;
|
|
58
|
+
// Cache decoded arcs by their positive index. A world-atlas topology
|
|
59
|
+
// typically shares each arc between 2–4 neighbouring countries; with
|
|
60
|
+
// no cache, `dequantiseArc` (an O(n) delta-accumulator) runs that
|
|
61
|
+
// many times per render. The cache turns the inner loop into O(1)
|
|
62
|
+
// for repeated references without changing any semantics — decoded
|
|
63
|
+
// points are read-only from the caller's perspective.
|
|
64
|
+
const decodedArcs = new Map();
|
|
65
|
+
const decode = (arcIndex) => {
|
|
66
|
+
const reverse = arcIndex < 0;
|
|
67
|
+
// Topojson spec: a negative index means the 1s-complement of the arc's
|
|
68
|
+
// positive index, used to indicate reverse traversal.
|
|
69
|
+
const positive = reverse ? ~arcIndex : arcIndex;
|
|
70
|
+
let points = decodedArcs.get(positive);
|
|
71
|
+
if (!points) {
|
|
72
|
+
const rawArc = topology.arcs[positive];
|
|
73
|
+
if (!rawArc) {
|
|
74
|
+
return [];
|
|
75
|
+
}
|
|
76
|
+
points = dequantiseArc(rawArc, scale, translate);
|
|
77
|
+
decodedArcs.set(positive, points);
|
|
78
|
+
}
|
|
79
|
+
// Always return a fresh array on reverse — callers mutate the
|
|
80
|
+
// returned array in some code paths (`joinRing` concat), and we
|
|
81
|
+
// don't want the cached copy to be mutated.
|
|
82
|
+
return reverse ? points.slice().reverse() : points.slice();
|
|
83
|
+
};
|
|
84
|
+
const geometries = obj.type === "GeometryCollection" ? obj.geometries : [obj];
|
|
85
|
+
const results = [];
|
|
86
|
+
for (const geom of geometries) {
|
|
87
|
+
const rings = [];
|
|
88
|
+
switch (geom.type) {
|
|
89
|
+
case "Polygon": {
|
|
90
|
+
for (const ring of geom.arcs) {
|
|
91
|
+
rings.push(joinRing(ring, decode));
|
|
92
|
+
}
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
case "MultiPolygon": {
|
|
96
|
+
for (const poly of geom.arcs) {
|
|
97
|
+
for (const ring of poly) {
|
|
98
|
+
rings.push(joinRing(ring, decode));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
case "LineString": {
|
|
104
|
+
rings.push(joinRing(geom.arcs, decode));
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
case "MultiLineString": {
|
|
108
|
+
for (const line of geom.arcs) {
|
|
109
|
+
rings.push(joinRing(line, decode));
|
|
110
|
+
}
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
case "Point": {
|
|
114
|
+
// Point / MultiPoint coordinates live in the same quantised
|
|
115
|
+
// grid as arc coordinates when the topology carries a
|
|
116
|
+
// `transform`. Previously the coordinates were pushed raw,
|
|
117
|
+
// so Point features from a d3 / topojson-server-quantised
|
|
118
|
+
// topology plotted at integer pixel positions (e.g.
|
|
119
|
+
// `[5243, 3012]`) instead of their lon/lat values. Dequantise
|
|
120
|
+
// through the same pipeline arcs use to keep the output space
|
|
121
|
+
// consistent. Point coordinates are NOT delta-encoded — each
|
|
122
|
+
// is absolute — so wrap the single pair in a synthetic "arc"
|
|
123
|
+
// and only apply the scale/translate step.
|
|
124
|
+
if (scale && translate) {
|
|
125
|
+
const [x, y] = geom.coordinates;
|
|
126
|
+
if (Number.isFinite(x) && Number.isFinite(y)) {
|
|
127
|
+
rings.push([[x * scale[0] + translate[0], y * scale[1] + translate[1]]]);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
rings.push([geom.coordinates]);
|
|
132
|
+
}
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
case "MultiPoint": {
|
|
136
|
+
if (scale && translate) {
|
|
137
|
+
const ring = [];
|
|
138
|
+
for (const [x, y] of geom.coordinates) {
|
|
139
|
+
if (Number.isFinite(x) && Number.isFinite(y)) {
|
|
140
|
+
ring.push([x * scale[0] + translate[0], y * scale[1] + translate[1]]);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
if (ring.length > 0) {
|
|
144
|
+
rings.push(ring);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
for (const pt of geom.coordinates) {
|
|
149
|
+
rings.push([pt]);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
default: {
|
|
155
|
+
// Unknown geometry type — skip instead of throwing so a
|
|
156
|
+
// collection containing a few unsupported entries still
|
|
157
|
+
// renders the rest. The caller can detect empty output and
|
|
158
|
+
// decide whether to warn.
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
results.push({
|
|
163
|
+
id: geom.id,
|
|
164
|
+
properties: "properties" in geom && geom.properties
|
|
165
|
+
? geom.properties
|
|
166
|
+
: undefined,
|
|
167
|
+
geometry: geom,
|
|
168
|
+
rings
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
return results;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Concatenate a list of arc indices into one ring, removing the
|
|
175
|
+
* duplicate join points where two arcs share an endpoint. Follows the
|
|
176
|
+
* TopoJSON spec: when joining arc B to arc A, the first point of B is
|
|
177
|
+
* identical to the last point of A and must be dropped.
|
|
178
|
+
*/
|
|
179
|
+
function joinRing(arcIndices, decode) {
|
|
180
|
+
const out = [];
|
|
181
|
+
for (const arcIndex of arcIndices) {
|
|
182
|
+
const pts = decode(arcIndex);
|
|
183
|
+
if (pts.length === 0) {
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
186
|
+
// "First non-empty arc" is when `out` is still empty — push all
|
|
187
|
+
// points including the starting one. For every subsequent arc, the
|
|
188
|
+
// join point (pts[0]) is identical to `out[-1]` by TopoJSON spec
|
|
189
|
+
// §2.1.4 and must be dropped.
|
|
190
|
+
//
|
|
191
|
+
// Using `out.length === 0` instead of `i === 0` matters when the
|
|
192
|
+
// first arc decoded empty: a naive "i === 0" check would drop the
|
|
193
|
+
// starting point of the first real (non-empty) arc, shifting the
|
|
194
|
+
// whole ring by one vertex.
|
|
195
|
+
if (out.length === 0) {
|
|
196
|
+
out.push(...pts);
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
for (let j = 1; j < pts.length; j++) {
|
|
200
|
+
out.push(pts[j]);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return out;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Undo delta encoding and apply the quantisation transform. Each
|
|
208
|
+
* consecutive `[dx, dy]` pair in the source represents an offset
|
|
209
|
+
* from the previous point; the first pair is absolute.
|
|
210
|
+
*/
|
|
211
|
+
function dequantiseArc(arc, scale, translate) {
|
|
212
|
+
if (!scale || !translate) {
|
|
213
|
+
// Arcs already hold floating-point absolute coordinates.
|
|
214
|
+
//
|
|
215
|
+
// Filter out non-finite points so a single malformed pair doesn't
|
|
216
|
+
// propagate `NaN` into downstream `[x, y]` consumers (SVG coord
|
|
217
|
+
// printing, PDF path construction) where it silently produces
|
|
218
|
+
// broken geometry.
|
|
219
|
+
return arc
|
|
220
|
+
.filter(pair => Array.isArray(pair) && Number.isFinite(pair[0]) && Number.isFinite(pair[1]))
|
|
221
|
+
.map(([x, y]) => [x, y]);
|
|
222
|
+
}
|
|
223
|
+
const out = [];
|
|
224
|
+
let qx = 0;
|
|
225
|
+
let qy = 0;
|
|
226
|
+
for (const pair of arc) {
|
|
227
|
+
// Defensive check: any non-finite delta would permanently poison
|
|
228
|
+
// the running accumulator, so we abort the whole arc rather than
|
|
229
|
+
// emit progressively worse `NaN` vertices.
|
|
230
|
+
if (!Array.isArray(pair) || !Number.isFinite(pair[0]) || !Number.isFinite(pair[1])) {
|
|
231
|
+
return [];
|
|
232
|
+
}
|
|
233
|
+
const [dx, dy] = pair;
|
|
234
|
+
qx += dx;
|
|
235
|
+
qy += dy;
|
|
236
|
+
out.push([qx * scale[0] + translate[0], qy * scale[1] + translate[1]]);
|
|
237
|
+
}
|
|
238
|
+
return out;
|
|
239
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Chart type definitions for ExcelTS
|
|
4
|
+
*
|
|
5
|
+
* Covers the full OOXML DrawingML Chart specification (c: namespace).
|
|
6
|
+
* Every chart in an XLSX file is a `c:chartSpace` containing a `c:chart`
|
|
7
|
+
* which holds a `c:plotArea` with one or more chart type groups.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Chart Support Registry
|
|
4
|
+
*
|
|
5
|
+
* A tiny indirection layer that lets `Worksheet`, `Workbook` and
|
|
6
|
+
* `Chartsheet` call into chart-building, chart-rendering and chart
|
|
7
|
+
* cache-population code **only if the host application has opted in**
|
|
8
|
+
* by calling `installChartSupport()` from
|
|
9
|
+
* `@cj-tech-master/excelts/chart`.
|
|
10
|
+
*
|
|
11
|
+
* ## Why a registry
|
|
12
|
+
*
|
|
13
|
+
* The chart module ships 17 files covering classic charts, ChartEx
|
|
14
|
+
* (Excel 2016+), SVG/PNG/PDF renderers, preset catalogues, shape
|
|
15
|
+
* properties, TopoJSON region maps and cache populators — roughly
|
|
16
|
+
* 30,000 lines of TypeScript. Empirical measurement shows that making
|
|
17
|
+
* `Worksheet` import from chart directly forces ~1.2 MB of chart code
|
|
18
|
+
* into every consumer bundle, even for consumers who only read and
|
|
19
|
+
* write cells.
|
|
20
|
+
*
|
|
21
|
+
* This file is the single point of indirection. Importing `Worksheet`
|
|
22
|
+
* pulls it in (~1 KB) but does NOT pull in the chart implementation;
|
|
23
|
+
* the implementation only arrives once someone calls
|
|
24
|
+
* `installChartSupport()`, which bundlers resolve to the
|
|
25
|
+
* `@cj-tech-master/excelts/chart` subpath import graph.
|
|
26
|
+
*
|
|
27
|
+
* If chart-manipulating APIs (`worksheet.addChart()`, `workbook.writeFile()`
|
|
28
|
+
* with charts, etc.) are called without `installChartSupport()` having
|
|
29
|
+
* run, a clear error is thrown telling the developer how to fix it.
|
|
30
|
+
*
|
|
31
|
+
* ## Why it lives in `excel/` rather than `excel/chart/`
|
|
32
|
+
*
|
|
33
|
+
* Host-registry pattern convention: the slot lives with the consumer,
|
|
34
|
+
* not with the provider. `worksheet.ts`, `workbook.browser.ts` and
|
|
35
|
+
* `chartsheet.ts` are the consumers and they all live in `excel/`, so
|
|
36
|
+
* the slot sits next to them. The chart module only depends on it when
|
|
37
|
+
* `install()` is called — a one-way arrow from provider to consumer.
|
|
38
|
+
*
|
|
39
|
+
* This differs from `@formula/host-registry` which lives inside the
|
|
40
|
+
* formula module because formula is a separate top-level module (layer
|
|
41
|
+
* 3) that cannot import from excel. Chart is nested under excel
|
|
42
|
+
* (layer 4), so the slot naturally lives in excel.
|
|
43
|
+
*
|
|
44
|
+
* ## Relationship to formula's host-registry
|
|
45
|
+
*
|
|
46
|
+
* The two registries are independent slots for independent optional
|
|
47
|
+
* features. A consumer may install chart without formula, formula
|
|
48
|
+
* without chart, both, or neither.
|
|
49
|
+
*/
|
|
50
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
+
exports.registerChartSupport = registerChartSupport;
|
|
52
|
+
exports.hasChartSupport = hasChartSupport;
|
|
53
|
+
exports.getChartSupport = getChartSupport;
|
|
54
|
+
exports.tryGetChartSupport = tryGetChartSupport;
|
|
55
|
+
let installed = null;
|
|
56
|
+
/**
|
|
57
|
+
* Install a chart runtime implementation. Called from
|
|
58
|
+
* `installChartSupport()` in the `@cj-tech-master/excelts/chart`
|
|
59
|
+
* subpath.
|
|
60
|
+
*
|
|
61
|
+
* Re-installing is allowed — the last registration wins. Passing
|
|
62
|
+
* `null` uninstalls chart support, which is useful for tests that
|
|
63
|
+
* exercise the "no chart" error path.
|
|
64
|
+
*/
|
|
65
|
+
function registerChartSupport(support) {
|
|
66
|
+
installed = support;
|
|
67
|
+
}
|
|
68
|
+
/** Returns true when chart support has been installed. */
|
|
69
|
+
function hasChartSupport() {
|
|
70
|
+
return installed !== null;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Retrieve the installed chart support. Throws a descriptive error if
|
|
74
|
+
* no chart support is installed.
|
|
75
|
+
*/
|
|
76
|
+
function getChartSupport() {
|
|
77
|
+
if (!installed) {
|
|
78
|
+
throw new Error("No chart support is installed. " +
|
|
79
|
+
"Call `installChartSupport()` from `@cj-tech-master/excelts/chart` " +
|
|
80
|
+
"once at startup to enable chart creation, loading, and " +
|
|
81
|
+
"serialisation during `workbook.xlsx.writeFile()`.");
|
|
82
|
+
}
|
|
83
|
+
return installed;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Retrieve installed chart support, or `null` if none is installed.
|
|
87
|
+
*
|
|
88
|
+
* Used by code paths that can gracefully degrade when chart support is
|
|
89
|
+
* missing — e.g. ChartEx loading, which can preserve raw XML verbatim
|
|
90
|
+
* without a full parse when chart support is absent. Note that classic
|
|
91
|
+
* chart loading currently requires chart support to be installed (the
|
|
92
|
+
* reader calls `getChartSupport()` unconditionally for classic charts).
|
|
93
|
+
*/
|
|
94
|
+
function tryGetChartSupport() {
|
|
95
|
+
return installed;
|
|
96
|
+
}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Chartsheet = void 0;
|
|
4
|
+
const chart_host_registry_1 = require("./chart-host-registry.js");
|
|
5
|
+
/**
|
|
6
|
+
* Nominal anchor range for the full-sheet chart in a chartsheet.
|
|
7
|
+
* Chartsheet charts fill the entire sheet viewport; the anchor value is
|
|
8
|
+
* never used for positioning but is required by the Chart constructor to
|
|
9
|
+
* initialise its internal two-cell-anchor model.
|
|
10
|
+
*/
|
|
11
|
+
const CHARTSHEET_ANCHOR_RANGE = "A1:K15";
|
|
12
|
+
/**
|
|
13
|
+
* Minimal `Worksheet`-shaped proxy used exclusively to back the `Chart`
|
|
14
|
+
* instance returned from {@link Chartsheet.chart}.
|
|
15
|
+
*
|
|
16
|
+
* A chartsheet is a top-level sheet that hosts a single chart without a
|
|
17
|
+
* surrounding grid — there are no rows, columns, tables, merges, or
|
|
18
|
+
* drawings underneath it. `Chart`, however, assumes it lives inside a
|
|
19
|
+
* `Worksheet` so it can walk up to the workbook, copy relationship
|
|
20
|
+
* sidecars, and compute anchor geometry.
|
|
21
|
+
*
|
|
22
|
+
* Previous versions fabricated an empty `{ workbook, name } as any` to
|
|
23
|
+
* satisfy that type. That escape hatch was a correctness trap: calling
|
|
24
|
+
* {@link Chart.copyTo} or anything that invoked `worksheet.getRow` on a
|
|
25
|
+
* chartsheet-backed Chart would throw because the underlying object had
|
|
26
|
+
* none of the real methods.
|
|
27
|
+
*
|
|
28
|
+
* `ChartsheetChartHost` replaces the cast with a first-class proxy that:
|
|
29
|
+
* - forwards the `workbook` pointer so `Chart` can reach its model,
|
|
30
|
+
* sidecars, and copyChartSidecars helper;
|
|
31
|
+
* - reports a synthetic `id`/`name` so diagnostics stay sensible;
|
|
32
|
+
* - throws a clear, descriptive error from every grid-centric method so
|
|
33
|
+
* any accidental reach through fails loudly instead of silently
|
|
34
|
+
* corrupting state (`getRow`, `addRow`, `getColumn`, `addTable`, …).
|
|
35
|
+
*
|
|
36
|
+
* Callers should prefer {@link Chartsheet.chartModel} /
|
|
37
|
+
* {@link Chartsheet.chartExModel} to reach the underlying data directly.
|
|
38
|
+
*/
|
|
39
|
+
class ChartsheetChartHost {
|
|
40
|
+
constructor(workbook, chartsheetId, chartsheetName) {
|
|
41
|
+
this.id = chartsheetId;
|
|
42
|
+
this.name = chartsheetName;
|
|
43
|
+
this.workbook = workbook;
|
|
44
|
+
}
|
|
45
|
+
_unsupported(method) {
|
|
46
|
+
throw new Error(`${method}() is not supported on a Chart attached to a chartsheet. ` +
|
|
47
|
+
`Use the Chartsheet APIs (chartsheet.chartModel, chartsheet.replaceChart, …) instead.`);
|
|
48
|
+
}
|
|
49
|
+
// Grid operations — explicitly fail fast rather than silently returning
|
|
50
|
+
// undefined-ish values that could feed bad data into anchor math.
|
|
51
|
+
getRow(_rowNumber) {
|
|
52
|
+
this._unsupported("Worksheet.getRow");
|
|
53
|
+
}
|
|
54
|
+
addRow() {
|
|
55
|
+
this._unsupported("Worksheet.addRow");
|
|
56
|
+
}
|
|
57
|
+
addRows() {
|
|
58
|
+
this._unsupported("Worksheet.addRows");
|
|
59
|
+
}
|
|
60
|
+
getColumn(_colNumber) {
|
|
61
|
+
this._unsupported("Worksheet.getColumn");
|
|
62
|
+
}
|
|
63
|
+
getCell() {
|
|
64
|
+
this._unsupported("Worksheet.getCell");
|
|
65
|
+
}
|
|
66
|
+
addTable() {
|
|
67
|
+
this._unsupported("Worksheet.addTable");
|
|
68
|
+
}
|
|
69
|
+
getTables() {
|
|
70
|
+
this._unsupported("Worksheet.getTables");
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
class Chartsheet {
|
|
74
|
+
constructor(model, workbook) {
|
|
75
|
+
this._model = model;
|
|
76
|
+
this._workbook = workbook;
|
|
77
|
+
}
|
|
78
|
+
get id() {
|
|
79
|
+
return this._model.id;
|
|
80
|
+
}
|
|
81
|
+
get sheetNo() {
|
|
82
|
+
return this._model.sheetNo;
|
|
83
|
+
}
|
|
84
|
+
get name() {
|
|
85
|
+
return this._model.name;
|
|
86
|
+
}
|
|
87
|
+
set name(value) {
|
|
88
|
+
// Go through the workbook's unified validator so a chartsheet can
|
|
89
|
+
// never silently land on a name that collides with a worksheet (or
|
|
90
|
+
// another chartsheet), includes illegal characters, or exceeds
|
|
91
|
+
// Excel's 31-char limit. Previously this setter just wrote
|
|
92
|
+
// `this._model.name = value` verbatim, letting callers corrupt the
|
|
93
|
+
// model into a state Excel would reject on reopen.
|
|
94
|
+
if (this._workbook) {
|
|
95
|
+
this._model.name = this._workbook.validateSheetName(value, this._model);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
this._model.name = value;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
get state() {
|
|
102
|
+
return this._model.state;
|
|
103
|
+
}
|
|
104
|
+
set state(value) {
|
|
105
|
+
this._model.state = value;
|
|
106
|
+
}
|
|
107
|
+
get chartNumber() {
|
|
108
|
+
return this._model.chartNumber;
|
|
109
|
+
}
|
|
110
|
+
get chartExNumber() {
|
|
111
|
+
return this._model.chartExNumber;
|
|
112
|
+
}
|
|
113
|
+
get chartModel() {
|
|
114
|
+
return this._model.chartNumber
|
|
115
|
+
? this._workbook?.getChartEntry(this._model.chartNumber)?.model
|
|
116
|
+
: undefined;
|
|
117
|
+
}
|
|
118
|
+
get chartExModel() {
|
|
119
|
+
return this._model.chartExNumber
|
|
120
|
+
? this._workbook?.getChartExStructuredEntry(this._model.chartExNumber)?.model
|
|
121
|
+
: undefined;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Return the `Chart` wrapper for this chartsheet's single chart.
|
|
125
|
+
*
|
|
126
|
+
* The wrapper's `.worksheet` field is a {@link ChartsheetChartHost}
|
|
127
|
+
* rather than a real `Worksheet` — grid operations on it will throw a
|
|
128
|
+
* descriptive error. For anything grid-related, use the underlying
|
|
129
|
+
* {@link chartModel}/{@link chartExModel} directly or go through the
|
|
130
|
+
* `Chartsheet` methods ({@link replaceChart}, {@link rename}, …).
|
|
131
|
+
*/
|
|
132
|
+
get chart() {
|
|
133
|
+
if (!this._workbook || (!this._model.chartNumber && !this._model.chartExNumber)) {
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
const host = new ChartsheetChartHost(this._workbook, this._model.id, this._model.name);
|
|
137
|
+
// The `Chart` constructor types its first argument as `Worksheet`, but
|
|
138
|
+
// internally it only touches `worksheet.workbook`, `worksheet.id`, and
|
|
139
|
+
// `worksheet.name` from that position (plus anchor helpers that we've
|
|
140
|
+
// stubbed above). Casting is safe here because the host deliberately
|
|
141
|
+
// implements that exact contract and loudly rejects anything else.
|
|
142
|
+
return (0, chart_host_registry_1.getChartSupport)().createChart(host, { chartNumber: this._model.chartNumber, chartExNumber: this._model.chartExNumber }, CHARTSHEET_ANCHOR_RANGE);
|
|
143
|
+
}
|
|
144
|
+
get isChartEx() {
|
|
145
|
+
return !!this._model.chartExNumber;
|
|
146
|
+
}
|
|
147
|
+
get model() {
|
|
148
|
+
return this._model;
|
|
149
|
+
}
|
|
150
|
+
get pageMargins() {
|
|
151
|
+
return this._model.pageMargins;
|
|
152
|
+
}
|
|
153
|
+
set pageMargins(value) {
|
|
154
|
+
this._model.pageMargins = value;
|
|
155
|
+
}
|
|
156
|
+
get pageSetup() {
|
|
157
|
+
return this._model.pageSetup;
|
|
158
|
+
}
|
|
159
|
+
set pageSetup(value) {
|
|
160
|
+
this._model.pageSetup = value;
|
|
161
|
+
}
|
|
162
|
+
get tabSelected() {
|
|
163
|
+
return this._model.tabSelected;
|
|
164
|
+
}
|
|
165
|
+
set tabSelected(value) {
|
|
166
|
+
this._model.tabSelected = value;
|
|
167
|
+
}
|
|
168
|
+
get zoomScale() {
|
|
169
|
+
return this._model.zoomScale;
|
|
170
|
+
}
|
|
171
|
+
set zoomScale(value) {
|
|
172
|
+
this._model.zoomScale = value;
|
|
173
|
+
}
|
|
174
|
+
get workbookViewId() {
|
|
175
|
+
return this._model.workbookViewId;
|
|
176
|
+
}
|
|
177
|
+
set workbookViewId(value) {
|
|
178
|
+
this._model.workbookViewId = value;
|
|
179
|
+
}
|
|
180
|
+
get zoomToFit() {
|
|
181
|
+
return this._model.zoomToFit;
|
|
182
|
+
}
|
|
183
|
+
set zoomToFit(value) {
|
|
184
|
+
this._model.zoomToFit = value;
|
|
185
|
+
}
|
|
186
|
+
rename(name) {
|
|
187
|
+
return this._workbook?.renameChartsheet(this.name, name) ?? false;
|
|
188
|
+
}
|
|
189
|
+
remove() {
|
|
190
|
+
return this._workbook?.removeChartsheet(this.name) ?? false;
|
|
191
|
+
}
|
|
192
|
+
copy(name) {
|
|
193
|
+
return this._workbook?.copyChartsheet(this.name, name);
|
|
194
|
+
}
|
|
195
|
+
replaceChart(chart) {
|
|
196
|
+
return this._workbook?.replaceChartsheetChart(this.name, chart) ?? false;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
exports.Chartsheet = Chartsheet;
|
|
@@ -221,6 +221,7 @@ class DefinedNames {
|
|
|
221
221
|
this.matrixMap = {};
|
|
222
222
|
this.formulaMap = {};
|
|
223
223
|
this.localSheetIdMap = {};
|
|
224
|
+
this.hiddenMap = {};
|
|
224
225
|
this.opaqueMap = {};
|
|
225
226
|
this.nameForKey = {};
|
|
226
227
|
this._explicitProbe = probe ?? null;
|
|
@@ -242,6 +243,29 @@ class DefinedNames {
|
|
|
242
243
|
this.nameForKey[name] = name;
|
|
243
244
|
this.addEx(location, name);
|
|
244
245
|
}
|
|
246
|
+
/**
|
|
247
|
+
* Register a hidden defined name that maps a chartEx `_xlchart.vN.M`
|
|
248
|
+
* pointer to a worksheet range. Excel emits one of these for every
|
|
249
|
+
* data reference in a chartEx chart:
|
|
250
|
+
*
|
|
251
|
+
* <definedName name="_xlchart.v1.0" hidden="1">Sheet1!$A$1:$A$3</definedName>
|
|
252
|
+
*
|
|
253
|
+
* The chartEx then references `_xlchart.v1.0` from its `<cx:f>`
|
|
254
|
+
* element instead of the worksheet range directly. Direct sheet
|
|
255
|
+
* references in `<cx:f>` are rejected by Excel 2016+ with
|
|
256
|
+
* "Removed Part: /xl/drawings/drawingN.xml (Drawing shape)" on
|
|
257
|
+
* load, so chartEx data MUST go through this indirection.
|
|
258
|
+
*
|
|
259
|
+
* Same semantics as `add()` but also marks the name `hidden` so
|
|
260
|
+
* it does not show up in Excel's Name Manager UI.
|
|
261
|
+
*
|
|
262
|
+
* @param locStr - Worksheet reference (e.g. `"Sheet1!$A$1:$A$3"`)
|
|
263
|
+
* @param name - Defined name to register (e.g. `"_xlchart.v1.0"`)
|
|
264
|
+
*/
|
|
265
|
+
addHidden(locStr, name) {
|
|
266
|
+
this.add(locStr, name);
|
|
267
|
+
this.hiddenMap[name] = true;
|
|
268
|
+
}
|
|
245
269
|
addEx(location, name) {
|
|
246
270
|
const matrix = this.getMatrix(name);
|
|
247
271
|
if ("top" in location) {
|
|
@@ -519,10 +543,15 @@ class DefinedNames {
|
|
|
519
543
|
.map(([sKey, matrix]) => {
|
|
520
544
|
const result = this.getRanges(sKey, matrix);
|
|
521
545
|
const localSheetId = this.localSheetIdMap[sKey];
|
|
546
|
+
const hidden = this.hiddenMap[sKey];
|
|
547
|
+
const out = { ...result };
|
|
522
548
|
if (localSheetId !== undefined) {
|
|
523
|
-
|
|
549
|
+
out.localSheetId = localSheetId;
|
|
524
550
|
}
|
|
525
|
-
|
|
551
|
+
if (hidden) {
|
|
552
|
+
out.hidden = true;
|
|
553
|
+
}
|
|
554
|
+
return out;
|
|
526
555
|
})
|
|
527
556
|
.filter((definedName) => definedName.ranges.length);
|
|
528
557
|
// Formula-based names from formulaMap (only include names not already in matrixMap)
|
|
@@ -537,20 +566,27 @@ class DefinedNames {
|
|
|
537
566
|
};
|
|
538
567
|
const localSheetId = this.localSheetIdMap[sKey];
|
|
539
568
|
if (localSheetId !== undefined) {
|
|
540
|
-
|
|
569
|
+
result.localSheetId = localSheetId;
|
|
570
|
+
}
|
|
571
|
+
if (this.hiddenMap[sKey]) {
|
|
572
|
+
result.hidden = true;
|
|
541
573
|
}
|
|
542
574
|
return result;
|
|
543
575
|
});
|
|
544
576
|
// Opaque names — rawText preserved for round-trip
|
|
545
577
|
const opaqueNames = Object.entries(this.opaqueMap).map(([sKey, entry]) => {
|
|
546
578
|
const bareName = this.nameForKey[sKey] ?? sKey;
|
|
547
|
-
|
|
579
|
+
const out = {
|
|
548
580
|
name: bareName,
|
|
549
581
|
ranges: [],
|
|
550
582
|
rawText: entry.rawText,
|
|
551
583
|
localSheetId: entry.localSheetId,
|
|
552
584
|
kind: "opaque"
|
|
553
585
|
};
|
|
586
|
+
if (this.hiddenMap[sKey]) {
|
|
587
|
+
out.hidden = true;
|
|
588
|
+
}
|
|
589
|
+
return out;
|
|
554
590
|
});
|
|
555
591
|
return [...cellNames, ...formulaNames, ...opaqueNames];
|
|
556
592
|
}
|
|
@@ -566,6 +602,7 @@ class DefinedNames {
|
|
|
566
602
|
const matrixMap = (this.matrixMap = {});
|
|
567
603
|
const formulaMap = (this.formulaMap = {});
|
|
568
604
|
const localSheetIdMap = (this.localSheetIdMap = {});
|
|
605
|
+
const hiddenMap = (this.hiddenMap = {});
|
|
569
606
|
const opaqueMap = (this.opaqueMap = {});
|
|
570
607
|
const nameForKeyMap = (this.nameForKey = {});
|
|
571
608
|
// Resolve probe lazily: a caller may have constructed the Workbook
|
|
@@ -580,6 +617,9 @@ class DefinedNames {
|
|
|
580
617
|
if (definedName.localSheetId !== undefined) {
|
|
581
618
|
localSheetIdMap[sKey] = definedName.localSheetId;
|
|
582
619
|
}
|
|
620
|
+
if (definedName.hidden) {
|
|
621
|
+
hiddenMap[sKey] = true;
|
|
622
|
+
}
|
|
583
623
|
// Programmatic API path: formulaExpression already set and no rawText
|
|
584
624
|
if (definedName.formulaExpression && definedName.rawText === undefined) {
|
|
585
625
|
formulaMap[sKey] = definedName.formulaExpression;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* All Excel-related errors extend ExcelError.
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.MaxItemsExceededError = exports.ImageError = exports.TableError = exports.PivotTableError = exports.ExcelDownloadError = exports.ExcelStreamStateError = exports.ExcelFileError = exports.ExcelNotSupportedError = exports.XmlParseError = exports.InvalidValueTypeError = exports.MergeConflictError = exports.RowOutOfBoundsError = exports.ColumnOutOfBoundsError = exports.InvalidAddressError = exports.WorksheetNameError = exports.ExcelError = void 0;
|
|
8
|
+
exports.MaxItemsExceededError = exports.ImageError = exports.TableError = exports.ChartOptionsError = exports.PivotTableError = exports.ExcelDownloadError = exports.ExcelStreamStateError = exports.ExcelFileError = exports.ExcelNotSupportedError = exports.XmlParseError = exports.InvalidValueTypeError = exports.MergeConflictError = exports.RowOutOfBoundsError = exports.ColumnOutOfBoundsError = exports.InvalidAddressError = exports.WorksheetNameError = exports.ExcelError = void 0;
|
|
9
9
|
exports.isExcelError = isExcelError;
|
|
10
10
|
const errors_1 = require("../../utils/errors.js");
|
|
11
11
|
/**
|
|
@@ -162,6 +162,16 @@ class PivotTableError extends ExcelError {
|
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
164
|
exports.PivotTableError = PivotTableError;
|
|
165
|
+
/**
|
|
166
|
+
* Error thrown when chart configuration is invalid.
|
|
167
|
+
*/
|
|
168
|
+
class ChartOptionsError extends ExcelError {
|
|
169
|
+
constructor() {
|
|
170
|
+
super(...arguments);
|
|
171
|
+
this.name = "ChartOptionsError";
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
exports.ChartOptionsError = ChartOptionsError;
|
|
165
175
|
/**
|
|
166
176
|
* Error thrown when table configuration or operation is invalid.
|
|
167
177
|
*/
|