@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,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reader/writer for Office 365 "threaded comments" (`<ThreadedComments>`
|
|
3
|
+
* XML root) and the workbook-level person directory (`<personList>`).
|
|
4
|
+
*
|
|
5
|
+
* Threaded comments live in a separate part tree from classic VML
|
|
6
|
+
* comments:
|
|
7
|
+
*
|
|
8
|
+
* - `xl/threadedComments/threadedComment{N}.xml` — one per sheet
|
|
9
|
+
* that has threaded comments; referenced from the sheet rels
|
|
10
|
+
* - `xl/persons/person.xml` — workbook-level person directory;
|
|
11
|
+
* referenced from the workbook rels
|
|
12
|
+
*
|
|
13
|
+
* The schema lives in Microsoft's extension namespace
|
|
14
|
+
* `http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments`
|
|
15
|
+
* (for comments) and the older `…/2018/threadedcomments` for persons
|
|
16
|
+
* (identical URI tag-shared).
|
|
17
|
+
*
|
|
18
|
+
* This module is intentionally free of runtime xform plumbing —
|
|
19
|
+
* threaded comments are a discrete part with only text content, so
|
|
20
|
+
* two small render/parse functions suffice and plug directly into
|
|
21
|
+
* `xlsx.browser.ts` and `workbook.browser.ts`.
|
|
22
|
+
*/
|
|
23
|
+
import type { ThreadedComment, ThreadedCommentPerson } from "../../../types.js";
|
|
24
|
+
/**
|
|
25
|
+
* Render the threaded-comment part for a single worksheet.
|
|
26
|
+
*
|
|
27
|
+
* Input is a list of `(cellRef, comment)` pairs — the cell ref is
|
|
28
|
+
* stored as the `ref` attribute on each `<threadedComment>`, not on
|
|
29
|
+
* the public {@link ThreadedComment} type (which doesn't carry it so
|
|
30
|
+
* the same structure can be shared between the public API and the
|
|
31
|
+
* XForm).
|
|
32
|
+
*
|
|
33
|
+
* Input order is preserved — Excel relies on parent-child ordering
|
|
34
|
+
* when rendering conversation threads, so callers must keep replies
|
|
35
|
+
* after their parents.
|
|
36
|
+
*/
|
|
37
|
+
export declare function renderThreadedComments(entries: Array<{
|
|
38
|
+
ref: string;
|
|
39
|
+
comment: ThreadedComment;
|
|
40
|
+
}>): string;
|
|
41
|
+
/**
|
|
42
|
+
* Parse a `xl/threadedComments/threadedComment{N}.xml` payload into
|
|
43
|
+
* structured per-cell entries. Returns an empty array on malformed
|
|
44
|
+
* input — the caller can silently drop threaded comments rather than
|
|
45
|
+
* failing the entire workbook load.
|
|
46
|
+
*/
|
|
47
|
+
export declare function parseThreadedComments(rawXml: string): Array<{
|
|
48
|
+
ref: string;
|
|
49
|
+
comment: ThreadedComment;
|
|
50
|
+
}>;
|
|
51
|
+
/**
|
|
52
|
+
* Render the workbook-level `xl/persons/person.xml` part.
|
|
53
|
+
*/
|
|
54
|
+
export declare function renderPersonList(persons: ThreadedCommentPerson[]): string;
|
|
55
|
+
/**
|
|
56
|
+
* Parse `xl/persons/person.xml` into a {@link ThreadedCommentPerson}
|
|
57
|
+
* list. Missing ids are auto-generated so downstream parts that
|
|
58
|
+
* reference the list don't accidentally collide.
|
|
59
|
+
*/
|
|
60
|
+
export declare function parsePersonList(rawXml: string): ThreadedCommentPerson[];
|
|
@@ -7,6 +7,14 @@ declare class DrawingXform extends BaseXform<DrawingModel> {
|
|
|
7
7
|
[key: string]: any;
|
|
8
8
|
};
|
|
9
9
|
parser: any;
|
|
10
|
+
private _inAlternateContent;
|
|
11
|
+
private _acDepth;
|
|
12
|
+
private _inChoice;
|
|
13
|
+
private _inFallback;
|
|
14
|
+
private _fallbackDepth;
|
|
15
|
+
private _choiceRequires;
|
|
16
|
+
/** Number of anchors before entering mc:AlternateContent — used to tag new anchors */
|
|
17
|
+
private _anchorCountBeforeAC;
|
|
10
18
|
constructor();
|
|
11
19
|
prepare(model: DrawingModel): void;
|
|
12
20
|
get tag(): string;
|
|
@@ -19,5 +27,27 @@ declare class DrawingXform extends BaseXform<DrawingModel> {
|
|
|
19
27
|
"xmlns:xdr": string;
|
|
20
28
|
"xmlns:a": string;
|
|
21
29
|
};
|
|
30
|
+
/**
|
|
31
|
+
* Extended namespace set used when the drawing contains anchors
|
|
32
|
+
* wrapped in `<mc:AlternateContent>` — the ChartEx case. Excel's
|
|
33
|
+
* strict loader requires the `mc`, `r`, `c`, and `cx` prefixes at
|
|
34
|
+
* the root of `<xdr:wsDr>` before it will parse `<mc:Choice>` /
|
|
35
|
+
* `<cx:chart>` descendants. Declaring them only inside the inner
|
|
36
|
+
* `<mc:AlternateContent>` element (as earlier versions did) made
|
|
37
|
+
* Excel reject the drawing and report "Removed Part:
|
|
38
|
+
* /xl/drawings/drawingN.xml (Drawing shape)".
|
|
39
|
+
*
|
|
40
|
+
* Mirrors what Excel itself emits when it writes a drawing that
|
|
41
|
+
* hosts a ChartEx chart — see `__tests__/data/workbook-roundtrip-
|
|
42
|
+
* chartex.xlsx` (fixtures authored by Excel 2016+).
|
|
43
|
+
*/
|
|
44
|
+
static DRAWING_ATTRIBUTES_WITH_MC: {
|
|
45
|
+
"xmlns:xdr": string;
|
|
46
|
+
"xmlns:a": string;
|
|
47
|
+
"xmlns:r": string;
|
|
48
|
+
"xmlns:c": string;
|
|
49
|
+
"xmlns:mc": string;
|
|
50
|
+
"xmlns:cx": string;
|
|
51
|
+
};
|
|
22
52
|
}
|
|
23
53
|
export { DrawingXform };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GraphicFrameXform — handles `xdr:graphicFrame` elements in drawing XML.
|
|
3
|
+
*
|
|
4
|
+
* A graphicFrame is the container for embedded objects such as charts.
|
|
5
|
+
* The OOXML structure:
|
|
6
|
+
*
|
|
7
|
+
* <xdr:graphicFrame macro="">
|
|
8
|
+
* <xdr:nvGraphicFramePr>
|
|
9
|
+
* <xdr:cNvPr id="2" name="Chart 1"/>
|
|
10
|
+
* <xdr:cNvGraphicFramePr/>
|
|
11
|
+
* </xdr:nvGraphicFramePr>
|
|
12
|
+
* <xdr:xfrm>
|
|
13
|
+
* <a:off x="0" y="0"/>
|
|
14
|
+
* <a:ext cx="0" cy="0"/>
|
|
15
|
+
* </xdr:xfrm>
|
|
16
|
+
* <a:graphic>
|
|
17
|
+
* <a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/chart">
|
|
18
|
+
* <c:chart xmlns:c="..." xmlns:r="..." r:id="rId1"/>
|
|
19
|
+
* </a:graphicData>
|
|
20
|
+
* </a:graphic>
|
|
21
|
+
* </xdr:graphicFrame>
|
|
22
|
+
*/
|
|
23
|
+
import { BaseXform } from "../base-xform.js";
|
|
24
|
+
export interface GraphicFrameModel {
|
|
25
|
+
/** Drawing object index (1-based unique id within the drawing part) */
|
|
26
|
+
index?: number;
|
|
27
|
+
/** Display name (e.g. "Chart 1") */
|
|
28
|
+
name?: string;
|
|
29
|
+
/** Relationship ID referencing the chart part */
|
|
30
|
+
rId?: string;
|
|
31
|
+
/** The graphic data URI — defaults to chart URI */
|
|
32
|
+
graphicDataUri?: string;
|
|
33
|
+
/** Raw XML for a:extLst inside xdr:cNvPr (round-trip preservation) */
|
|
34
|
+
cNvPrExtLst?: string;
|
|
35
|
+
/** True when the graphic frame references a cx:chart (Office 2016+ extended chart) */
|
|
36
|
+
isChartEx?: boolean;
|
|
37
|
+
}
|
|
38
|
+
declare class GraphicFrameXform extends BaseXform {
|
|
39
|
+
model: GraphicFrameModel;
|
|
40
|
+
parser: any;
|
|
41
|
+
private _inNvPr;
|
|
42
|
+
private _inGraphicData;
|
|
43
|
+
/** Raw XML capture for a:extLst inside xdr:cNvPr */
|
|
44
|
+
private _extLstCapture;
|
|
45
|
+
get tag(): string;
|
|
46
|
+
prepare(model: GraphicFrameModel, options: {
|
|
47
|
+
index: number;
|
|
48
|
+
}): void;
|
|
49
|
+
render(xmlStream: any, model: GraphicFrameModel): void;
|
|
50
|
+
parseOpen(node: any): boolean;
|
|
51
|
+
parseText(text: string): void;
|
|
52
|
+
parseClose(name: string): boolean;
|
|
53
|
+
}
|
|
54
|
+
export { GraphicFrameXform };
|
|
@@ -5,7 +5,9 @@ interface OneCellModel {
|
|
|
5
5
|
tl: any;
|
|
6
6
|
ext: any;
|
|
7
7
|
};
|
|
8
|
-
picture
|
|
8
|
+
picture?: any;
|
|
9
|
+
/** Graphic frame model (for charts and other embedded objects) */
|
|
10
|
+
graphicFrame?: any;
|
|
9
11
|
}
|
|
10
12
|
declare class OneCellAnchorXform extends BaseCellAnchorXform {
|
|
11
13
|
constructor();
|
|
@@ -7,18 +7,64 @@ interface TwoCellModel {
|
|
|
7
7
|
};
|
|
8
8
|
picture?: any;
|
|
9
9
|
shape?: any;
|
|
10
|
+
/** Graphic frame model (for charts and other embedded objects) */
|
|
11
|
+
graphicFrame?: any;
|
|
10
12
|
/** Wrap the anchor in mc:AlternateContent for modern drawing clients */
|
|
11
13
|
alternateContent?: {
|
|
12
14
|
requires: string;
|
|
13
15
|
};
|
|
14
16
|
}
|
|
15
17
|
declare class TwoCellAnchorXform extends BaseCellAnchorXform {
|
|
18
|
+
private _acDepth;
|
|
19
|
+
private _inFallback;
|
|
20
|
+
private _fallbackDepth;
|
|
21
|
+
private _choiceRequires;
|
|
16
22
|
constructor();
|
|
17
23
|
get tag(): string;
|
|
18
24
|
prepare(model: TwoCellModel, options: {
|
|
19
25
|
index: number;
|
|
20
26
|
}): void;
|
|
21
27
|
render(xmlStream: any, model: TwoCellModel): void;
|
|
28
|
+
/**
|
|
29
|
+
* Emit the ChartEx `<mc:AlternateContent>` block that occupies the
|
|
30
|
+
* shape slot inside a `<xdr:twoCellAnchor>` — between `<xdr:to>`
|
|
31
|
+
* and `<xdr:clientData>`.
|
|
32
|
+
*
|
|
33
|
+
* Structure mirrors Microsoft Excel's own output:
|
|
34
|
+
*
|
|
35
|
+
* <mc:AlternateContent>
|
|
36
|
+
* <mc:Choice Requires="cx1" xmlns:cx1="…/2015/9/8/chartex">
|
|
37
|
+
* <xdr:graphicFrame>…<cx:chart/>…</xdr:graphicFrame>
|
|
38
|
+
* </mc:Choice>
|
|
39
|
+
* <mc:Fallback>
|
|
40
|
+
* <xdr:sp>…placeholder shape…</xdr:sp>
|
|
41
|
+
* </mc:Fallback>
|
|
42
|
+
* </mc:AlternateContent>
|
|
43
|
+
*
|
|
44
|
+
* Both the Choice graphicFrame and the Fallback shape inherit
|
|
45
|
+
* sizing from the outer `<xdr:from>`/`<xdr:to>` cell range — they
|
|
46
|
+
* do NOT each re-declare the anchor; there is only one anchor.
|
|
47
|
+
*/
|
|
48
|
+
private renderChartExAlternateContent;
|
|
49
|
+
/**
|
|
50
|
+
* Emit the placeholder `<xdr:sp>` that lives inside the
|
|
51
|
+
* `<mc:Fallback>` of a ChartEx anchor. Legacy Excel (2010/2013)
|
|
52
|
+
* and non-Microsoft loaders that don't understand the `cx1`
|
|
53
|
+
* namespace render this in place of the `cx:chart`.
|
|
54
|
+
*
|
|
55
|
+
* Matches Microsoft Excel's convention: cNvPr id=0 / empty name
|
|
56
|
+
* (a deliberate placeholder, not a real drawing object), a white
|
|
57
|
+
* rectangle sized to the anchor's cell range, and the localizable
|
|
58
|
+
* "This chart isn't available" message. The shape's own xfrm
|
|
59
|
+
* carries concrete EMU values rather than zeros because the
|
|
60
|
+
* Fallback expansion is meant to be rendered standalone — a
|
|
61
|
+
* zero-size shape would collapse and Excel 2016+ flags that as
|
|
62
|
+
* "drawing shape" validation failure even though the outer
|
|
63
|
+
* twoCellAnchor provides sizing.
|
|
64
|
+
*/
|
|
65
|
+
private renderChartExFallbackShape;
|
|
66
|
+
parseOpen(node: any): boolean;
|
|
67
|
+
parseText(text: string): void;
|
|
22
68
|
parseClose(name: string): boolean;
|
|
23
69
|
reconcile(model: any, options: any): void;
|
|
24
70
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CacheField, DataField, PivotTableSubtotal } from "../../../pivot-table.js";
|
|
1
|
+
import type { CacheField, DataField, PivotTableChartFormat, PivotTableSubtotal } from "../../../pivot-table.js";
|
|
2
2
|
import { BaseXform } from "../base-xform.js";
|
|
3
3
|
import type { XmlSink } from "../../../../xml/types.js";
|
|
4
4
|
/**
|
|
@@ -16,6 +16,17 @@ interface PivotTableRenderModel {
|
|
|
16
16
|
cacheId: string | number;
|
|
17
17
|
tableNumber: number;
|
|
18
18
|
applyWidthHeightFormats: "0" | "1";
|
|
19
|
+
/**
|
|
20
|
+
* Optional top-left anchor (e.g. `"A3"`) for the pivot's displayed block.
|
|
21
|
+
* When set, the rendered `<location>` ref is computed from this anchor
|
|
22
|
+
* instead of the default `A{3 + pageOffset}`. The anchor represents the
|
|
23
|
+
* pivot's display origin — page filters (if any) occupy rows downward from
|
|
24
|
+
* the anchor, followed by a blank separator row and then the pivot body.
|
|
25
|
+
*/
|
|
26
|
+
ref?: string;
|
|
27
|
+
name?: string;
|
|
28
|
+
chartFormat?: number;
|
|
29
|
+
chartFormats?: PivotTableChartFormat[];
|
|
19
30
|
}
|
|
20
31
|
/**
|
|
21
32
|
* A single <item> element inside a pivotField's <items> collection.
|
|
@@ -151,7 +162,7 @@ interface RowColItem {
|
|
|
151
162
|
/**
|
|
152
163
|
* Chart format item for pivot charts
|
|
153
164
|
*/
|
|
154
|
-
interface ChartFormatItem {
|
|
165
|
+
interface ChartFormatItem extends PivotTableChartFormat {
|
|
155
166
|
chart: number;
|
|
156
167
|
format: number;
|
|
157
168
|
series?: boolean;
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChartsheetXform — parse and render OOXML chartsheet XML.
|
|
3
|
+
*
|
|
4
|
+
* A chartsheet is a simple sheet type that contains only a chart.
|
|
5
|
+
* Structure (ECMA-376 `CT_Chartsheet`):
|
|
6
|
+
* ```xml
|
|
7
|
+
* <chartsheet xmlns="...">
|
|
8
|
+
* <sheetPr/>?
|
|
9
|
+
* <sheetViews><sheetView .../></sheetViews>
|
|
10
|
+
* <sheetProtection/>?
|
|
11
|
+
* <customSheetViews/>?
|
|
12
|
+
* <pageMargins .../>?
|
|
13
|
+
* <pageSetup .../>? CT_CsPageSetup — NOT CT_PageSetup
|
|
14
|
+
* <headerFooter/>?
|
|
15
|
+
* <drawing r:id="rId1"/>
|
|
16
|
+
* <legacyDrawing/>? legacyDrawingHF? drawingHF? picture? webPublishItems? extLst?
|
|
17
|
+
* </chartsheet>
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* Note that chartsheets do NOT support `printOptions`, `pageBreaks`,
|
|
21
|
+
* `rowBreaks`, or `colBreaks` — those are worksheet-only elements
|
|
22
|
+
* per ECMA-376 `CT_Chartsheet`. Likewise `<c:pageSetup>` on a
|
|
23
|
+
* chartsheet is `CT_CsPageSetup`, which has a reduced attribute set
|
|
24
|
+
* compared to the worksheet's `CT_PageSetup` (no `scale`,
|
|
25
|
+
* `fitToWidth`, `fitToHeight`, `pageOrder`, `cellComments`, or
|
|
26
|
+
* `errors`).
|
|
27
|
+
*/
|
|
28
|
+
import { BaseXform } from "../base-xform.js";
|
|
29
|
+
import type { XmlSink } from "../../../../xml/types.js";
|
|
30
|
+
export interface ChartsheetModel {
|
|
31
|
+
/** Sheet number (positional index in the XLSX archive) */
|
|
32
|
+
sheetNo: number;
|
|
33
|
+
/** Sheet name (from workbook.xml) */
|
|
34
|
+
name: string;
|
|
35
|
+
/** Sheet ID (from workbook.xml) */
|
|
36
|
+
id: number;
|
|
37
|
+
/**
|
|
38
|
+
* Tab order index — the 0-based position in the workbook's
|
|
39
|
+
* `<sheets>` list, shared between worksheets and chartsheets so a
|
|
40
|
+
* combined sort preserves the author's interleaved layout. Assigned
|
|
41
|
+
* at add time (monotonic across both add paths) and at load time
|
|
42
|
+
* (from the workbook.xml `<sheet>` ordinal).
|
|
43
|
+
*/
|
|
44
|
+
orderNo?: number;
|
|
45
|
+
/** Relationship ID linking to this chartsheet from workbook.xml.rels */
|
|
46
|
+
rId?: string;
|
|
47
|
+
/** Sheet visibility state */
|
|
48
|
+
state?: "visible" | "hidden" | "veryHidden";
|
|
49
|
+
/** Tab selected */
|
|
50
|
+
tabSelected?: boolean;
|
|
51
|
+
/** Zoom scale */
|
|
52
|
+
zoomScale?: number;
|
|
53
|
+
/**
|
|
54
|
+
* `CT_ChartsheetViewBase/@workbookViewId` — 0-based index into the
|
|
55
|
+
* workbook's `<bookViews>` list that this chartsheet view is bound
|
|
56
|
+
* to. Defaults to 0 per OOXML schema; round-tripped verbatim so
|
|
57
|
+
* multi-view workbooks don't get their view hierarchy rewritten.
|
|
58
|
+
*/
|
|
59
|
+
workbookViewId?: number;
|
|
60
|
+
/**
|
|
61
|
+
* `CT_ChartsheetViewBase/@zoomToFit` — when true the chartsheet
|
|
62
|
+
* scales its content to fill the window. Schema default is false;
|
|
63
|
+
* captured/written only when explicitly set to preserve round-trip.
|
|
64
|
+
*/
|
|
65
|
+
zoomToFit?: boolean;
|
|
66
|
+
/** Page margins */
|
|
67
|
+
pageMargins?: {
|
|
68
|
+
l?: number;
|
|
69
|
+
r?: number;
|
|
70
|
+
t?: number;
|
|
71
|
+
b?: number;
|
|
72
|
+
left?: number;
|
|
73
|
+
right?: number;
|
|
74
|
+
top?: number;
|
|
75
|
+
bottom?: number;
|
|
76
|
+
header?: number;
|
|
77
|
+
footer?: number;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Chartsheet page setup — `CT_CsPageSetup`.
|
|
81
|
+
*
|
|
82
|
+
* Note the attribute set differs from the worksheet `CT_PageSetup`:
|
|
83
|
+
* - **Supported**: paperSize, firstPageNumber, orientation,
|
|
84
|
+
* usePrinterDefaults, blackAndWhite, draft, useFirstPageNumber,
|
|
85
|
+
* horizontalDpi, verticalDpi, copies, paperHeight, paperWidth
|
|
86
|
+
* - **Not supported on chartsheets** (worksheet-only, will be
|
|
87
|
+
* silently ignored on write): scale, fitToWidth, fitToHeight,
|
|
88
|
+
* pageOrder, cellComments, errors
|
|
89
|
+
*/
|
|
90
|
+
pageSetup?: {
|
|
91
|
+
paperSize?: number;
|
|
92
|
+
firstPageNumber?: number;
|
|
93
|
+
orientation?: "default" | "portrait" | "landscape";
|
|
94
|
+
usePrinterDefaults?: boolean;
|
|
95
|
+
blackAndWhite?: boolean;
|
|
96
|
+
draft?: boolean;
|
|
97
|
+
useFirstPageNumber?: boolean;
|
|
98
|
+
horizontalDpi?: number;
|
|
99
|
+
verticalDpi?: number;
|
|
100
|
+
copies?: number;
|
|
101
|
+
/** Paper height in a unit-of-measure string (e.g. "11in", "297mm"). */
|
|
102
|
+
paperHeight?: string;
|
|
103
|
+
/** Paper width in a unit-of-measure string (e.g. "8.5in", "210mm"). */
|
|
104
|
+
paperWidth?: string;
|
|
105
|
+
/**
|
|
106
|
+
* Relationship id referencing a `printerSettings` part. Preserved
|
|
107
|
+
* verbatim through round-trip so an already-authored
|
|
108
|
+
* `xl/printerSettings/…` rel target keeps its XML reference from
|
|
109
|
+
* the chartsheet. Previously this attribute was dropped by the
|
|
110
|
+
* parser and never emitted by the writer, leaving the printer-
|
|
111
|
+
* settings part accessible via the chartsheet's `.rels` but
|
|
112
|
+
* unreferenced from the chartsheet XML — a dangling-rel-reverse
|
|
113
|
+
* that strict validators flag.
|
|
114
|
+
*/
|
|
115
|
+
rId?: string;
|
|
116
|
+
};
|
|
117
|
+
/** Drawing relationship reference */
|
|
118
|
+
drawing?: {
|
|
119
|
+
rId: string;
|
|
120
|
+
};
|
|
121
|
+
/** Relationships parsed from the chartsheet .rels file */
|
|
122
|
+
relationships?: any[];
|
|
123
|
+
/** Drawing part name without extension (e.g. drawing2) */
|
|
124
|
+
drawingName?: string;
|
|
125
|
+
/** Classic chart number displayed by this chartsheet */
|
|
126
|
+
chartNumber?: number;
|
|
127
|
+
/** ChartEx number displayed by this chartsheet */
|
|
128
|
+
chartExNumber?: number;
|
|
129
|
+
/**
|
|
130
|
+
* Raw XML captured for elements the structured parser doesn't model
|
|
131
|
+
* (`sheetPr`, `sheetProtection`, `customSheetViews`, `headerFooter`,
|
|
132
|
+
* `legacyDrawing`, `legacyDrawingHF`, `drawingHF`, `picture`,
|
|
133
|
+
* `webPublishItems`, `extLst`). The writer emits these verbatim at
|
|
134
|
+
* the correct schema position so a round-trip through a workbook
|
|
135
|
+
* that uses chartsheet-specific features (e.g. password-protected
|
|
136
|
+
* chartsheets, printer-defined header/footer blocks) doesn't lose
|
|
137
|
+
* them.
|
|
138
|
+
*
|
|
139
|
+
* Keys are the element local name (e.g. `"sheetPr"`); values are the
|
|
140
|
+
* full `<tag …>…</tag>` serialised bytes.
|
|
141
|
+
*
|
|
142
|
+
* Note: `rowBreaks`, `colBreaks`, and `pageBreaks` are NOT captured —
|
|
143
|
+
* per ECMA-376 `CT_Chartsheet` they are worksheet-only elements.
|
|
144
|
+
* Similarly `printOptions` is worksheet-only. Legacy on-disk
|
|
145
|
+
* chartsheets that erroneously contained them are silently
|
|
146
|
+
* discarded on load to produce schema-valid output on save.
|
|
147
|
+
*/
|
|
148
|
+
rawChildren?: Record<string, string>;
|
|
149
|
+
}
|
|
150
|
+
declare class ChartsheetXform extends BaseXform<ChartsheetModel> {
|
|
151
|
+
private inSheetView;
|
|
152
|
+
/**
|
|
153
|
+
* Raw-capture state for elements the structured parser doesn't model.
|
|
154
|
+
* When `parseOpen` sees one of the names in {@link RAW_CAPTURE_TAGS}
|
|
155
|
+
* at depth-1 of `<chartsheet>`, it starts recording the full
|
|
156
|
+
* serialised XML (open tags, text, nested children, close tags) into
|
|
157
|
+
* `captureParts`. The recording ends when `parseClose` fires with
|
|
158
|
+
* the matching root name; the assembled string is stored under
|
|
159
|
+
* `model.rawChildren[rootName]` for verbatim re-emission by
|
|
160
|
+
* {@link render}.
|
|
161
|
+
*
|
|
162
|
+
* Without this, elements like `<sheetProtection>` (password-protected
|
|
163
|
+
* chartsheets) and `<headerFooter>` silently disappeared on
|
|
164
|
+
* round-trip, breaking the author's layout / security configuration.
|
|
165
|
+
*
|
|
166
|
+
* `sheetDepth` tracks nesting depth inside `<chartsheet>`: the root
|
|
167
|
+
* itself sits at depth 1, its direct children at depth 2. Capture
|
|
168
|
+
* only ever starts at depth 2 so a nested element whose local name
|
|
169
|
+
* happens to overlap with one in {@link RAW_CAPTURE_TAGS} (e.g. an
|
|
170
|
+
* `<extLst>` inside `<customSheetViews>` as a leaf of that subtree)
|
|
171
|
+
* stays part of the outer capture rather than being promoted to a
|
|
172
|
+
* sibling root child.
|
|
173
|
+
*/
|
|
174
|
+
private captureRoot;
|
|
175
|
+
private captureDepth;
|
|
176
|
+
private captureParts;
|
|
177
|
+
private skipNextCaptureClose;
|
|
178
|
+
private sheetDepth;
|
|
179
|
+
get tag(): string;
|
|
180
|
+
render(xmlStream: XmlSink, model?: ChartsheetModel): void;
|
|
181
|
+
parseOpen(node: any): boolean;
|
|
182
|
+
parseText(text: string): void;
|
|
183
|
+
parseClose(name: string): boolean;
|
|
184
|
+
}
|
|
185
|
+
export { ChartsheetXform };
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared parsers for OOXML / XSD-typed attribute values.
|
|
3
|
+
*
|
|
4
|
+
* These helpers are the single source of truth for attribute parsing
|
|
5
|
+
* across every xform. Multiple xforms used to carry private copies
|
|
6
|
+
* that drifted on edge cases:
|
|
7
|
+
* - chartsheet-xform read `tabSelected="true"` as `false` because it
|
|
8
|
+
* only accepted `"1"` (spec permits `"true"` per `xsd:boolean`);
|
|
9
|
+
* - some older code accepted `NaN` from `parseFloat` and serialised
|
|
10
|
+
* it back as the literal `"NaN"` attribute — an XML Schema
|
|
11
|
+
* violation that Excel's strict reader rejects.
|
|
12
|
+
*
|
|
13
|
+
* All parsers return `undefined` for missing / unparseable input so
|
|
14
|
+
* callers distinguish "absent" from "present but invalid" and can
|
|
15
|
+
* pipe through `?? default` to apply the spec's default value at the
|
|
16
|
+
* call site (element-specific, so the parser shouldn't bake one in).
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Parse an OOXML boolean attribute (`xsd:boolean`).
|
|
20
|
+
*
|
|
21
|
+
* Accepts the four canonical forms — `"1"`, `"0"`, `"true"`, `"false"` —
|
|
22
|
+
* per the XSD 1.1 spec. Leading / trailing whitespace is stripped
|
|
23
|
+
* first because XML 1.0 §3.3.3 attribute-value normalisation isn't
|
|
24
|
+
* guaranteed by every parser, and third-party writers legitimately
|
|
25
|
+
* emit `" 1 "` / `"0\n"` / etc. Without the trim, those values would
|
|
26
|
+
* silently downgrade to the schema default (typically `false`),
|
|
27
|
+
* losing state on round-trip.
|
|
28
|
+
*
|
|
29
|
+
* Returns `undefined` for any other value so call sites can
|
|
30
|
+
* distinguish "attribute absent / unrecognised" from "explicit false"
|
|
31
|
+
* and apply the element's schema default via `?? true` / `?? false`.
|
|
32
|
+
*/
|
|
33
|
+
export declare function parseXsdBoolean(value: string | undefined): boolean | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Parse an OOXML integer attribute (`xsd:int`, bounded at ±2^31-1 per
|
|
36
|
+
* ECMA-376 / W3C XSD).
|
|
37
|
+
*
|
|
38
|
+
* Rejects trailing garbage — `parseInt("100%", 10)` silently returns
|
|
39
|
+
* `100`, which round-trips back to the wire as a valid-looking
|
|
40
|
+
* attribute even though the source was corrupt. Gate on a strict
|
|
41
|
+
* regex so only the lexical space defined by XSD is accepted; the
|
|
42
|
+
* surrounding trim handles the same third-party-writer whitespace
|
|
43
|
+
* cases {@link parseXsdBoolean} does.
|
|
44
|
+
*
|
|
45
|
+
* Returns `undefined` for missing / empty / non-numeric input rather
|
|
46
|
+
* than producing `NaN` (which would propagate through the model and
|
|
47
|
+
* surface as `"NaN"` in the round-trip XML — rejected by strict
|
|
48
|
+
* readers). Values outside `xsd:int` range are also rejected; callers
|
|
49
|
+
* that genuinely need 64-bit integers should use a `BigInt` path.
|
|
50
|
+
*/
|
|
51
|
+
export declare function parseXsdInt(value: string | undefined): number | undefined;
|
|
52
|
+
/**
|
|
53
|
+
* Parse an OOXML floating-point attribute (`xsd:double` / `xsd:float`).
|
|
54
|
+
* See {@link parseXsdInt} for the rationale — returns `undefined`
|
|
55
|
+
* instead of `NaN` / `Infinity` so the value never escapes back into
|
|
56
|
+
* the wire as a schema-invalid attribute.
|
|
57
|
+
*
|
|
58
|
+
* Strict lexical-space regex matches `xsd:double` production:
|
|
59
|
+
* optional sign, integer / decimal, optional exponent. Rejects
|
|
60
|
+
* trailing garbage for the same reason as {@link parseXsdInt}
|
|
61
|
+
* (corrupt-source preservation is worse than loud rejection).
|
|
62
|
+
*/
|
|
63
|
+
export declare function parseXsdFloat(value: string | undefined): number | undefined;
|