ooxml-core 1.19.2 → 1.21.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/README.md +47 -1
- package/dist/{PptxHandler-6TNIQ7S5.cjs → PptxHandler-DNSXWTQV.cjs} +3 -3
- package/dist/{PptxHandler-2V4PQL6O.mjs → PptxHandler-FSKKPZZC.mjs} +3 -3
- package/dist/PptxHandler-H7MEWJJJ.mjs +4 -0
- package/dist/{PresentationBuilder-G7MPEGXJ.mjs → PresentationBuilder-7TSENZTX.mjs} +2 -2
- package/dist/{PresentationBuilder-RM52LCVN.cjs → PresentationBuilder-A5NI35VN.cjs} +5 -5
- package/dist/{PresentationBuilder-HQ6C7L4V.mjs → PresentationBuilder-RIJWQSEU.mjs} +3 -3
- package/dist/automation/docx-forms.d.ts +26 -0
- package/dist/automation/docx-forms.d.ts.map +1 -0
- package/dist/automation/index.cjs +6280 -2506
- package/dist/automation/index.d.ts +1 -0
- package/dist/automation/index.d.ts.map +1 -1
- package/dist/automation/index.mjs +6277 -2507
- package/dist/automation/xlsx-read.d.ts +56 -0
- package/dist/automation/xlsx-read.d.ts.map +1 -0
- package/dist/automation/xlsx.d.ts +105 -4
- package/dist/automation/xlsx.d.ts.map +1 -1
- package/dist/chart/axis-range.d.ts.map +1 -1
- package/dist/chart/bubble-radius.d.ts +0 -5
- package/dist/chart/bubble-radius.d.ts.map +1 -1
- package/dist/chart/extent.d.ts +9 -0
- package/dist/chart/extent.d.ts.map +1 -0
- package/dist/chart/histogram-binning.d.ts.map +1 -1
- package/dist/chart/index.cjs +56 -18
- package/dist/chart/index.mjs +56 -18
- package/dist/chart/render/chart-svg-cartesian.d.ts.map +1 -1
- package/dist/chart/render/chart-svg-legend.d.ts.map +1 -1
- package/dist/chart/render/chart-view-ex.d.ts.map +1 -1
- package/dist/chart/render/chart-view.d.ts.map +1 -1
- package/dist/chart/trendline-fit.d.ts.map +1 -1
- package/dist/{chunk-NYTR4UZ5.cjs → chunk-4LZIUJI3.cjs} +52 -12
- package/dist/{chunk-SLNQNVQM.mjs → chunk-4QPOJCJG.mjs} +45 -8
- package/dist/{chunk-XTSHZGSM.mjs → chunk-6IIMI5RS.mjs} +52 -12
- package/dist/{chunk-TJPUAUWL.mjs → chunk-BA7Z6ATM.mjs} +9 -195
- package/dist/{chunk-JUABSM7C.mjs → chunk-DLFMCZZT.mjs} +1 -1
- package/dist/{chunk-M4XLF4R7.mjs → chunk-GBKBR4CX.mjs} +20 -8
- package/dist/{chunk-R5FIHHGB.cjs → chunk-HL3FBJ6X.cjs} +1648 -1205
- package/dist/{chunk-ZJ2OKIJN.mjs → chunk-LF5E5ZOH.mjs} +642 -199
- package/dist/{chunk-4FTUAD2B.mjs → chunk-Q5PKBQXH.mjs} +766 -202
- package/dist/{chunk-M6GDBVQ7.mjs → chunk-VQF6HQEE.mjs} +1 -1
- package/dist/collab/embedding.d.ts +103 -0
- package/dist/collab/embedding.d.ts.map +1 -0
- package/dist/collab/index.cjs +450 -342
- package/dist/collab/index.d.ts +1 -0
- package/dist/collab/index.d.ts.map +1 -1
- package/dist/collab/index.mjs +443 -343
- package/dist/color/theme-palette.d.ts +5 -1
- package/dist/color/theme-palette.d.ts.map +1 -1
- package/dist/crypto/index.cjs +27 -2
- package/dist/crypto/index.mjs +27 -2
- package/dist/diagram/index.cjs +31 -3
- package/dist/diagram/index.mjs +31 -3
- package/dist/docx/block-parser.d.ts.map +1 -1
- package/dist/docx/cell-blocks.d.ts +7 -1
- package/dist/docx/cell-blocks.d.ts.map +1 -1
- package/dist/docx/content-control-edit.d.ts +14 -0
- package/dist/docx/content-control-edit.d.ts.map +1 -1
- package/dist/docx/content-control-model.d.ts +8 -0
- package/dist/docx/content-control-model.d.ts.map +1 -1
- package/dist/docx/content-control-values.d.ts +20 -0
- package/dist/docx/content-control-values.d.ts.map +1 -0
- package/dist/docx/content-control.d.ts +7 -1
- package/dist/docx/content-control.d.ts.map +1 -1
- package/dist/docx/element-order.d.ts +10 -5
- package/dist/docx/element-order.d.ts.map +1 -1
- package/dist/docx/embedded.cjs +3861 -1379
- package/dist/docx/embedded.mjs +3861 -1379
- package/dist/docx/field-instruction.d.ts +22 -0
- package/dist/docx/field-instruction.d.ts.map +1 -0
- package/dist/docx/form-field-model.d.ts +48 -0
- package/dist/docx/form-field-model.d.ts.map +1 -0
- package/dist/docx/form-fields.d.ts +31 -0
- package/dist/docx/form-fields.d.ts.map +1 -0
- package/dist/docx/form-fill-fields.d.ts +61 -0
- package/dist/docx/form-fill-fields.d.ts.map +1 -0
- package/dist/docx/form-fill-labels.d.ts +8 -0
- package/dist/docx/form-fill-labels.d.ts.map +1 -0
- package/dist/docx/form-fill-sites.d.ts +59 -0
- package/dist/docx/form-fill-sites.d.ts.map +1 -0
- package/dist/docx/form-fill-values.d.ts +28 -0
- package/dist/docx/form-fill-values.d.ts.map +1 -0
- package/dist/docx/form-fill-write.d.ts +26 -0
- package/dist/docx/form-fill-write.d.ts.map +1 -0
- package/dist/docx/glossary.d.ts +15 -0
- package/dist/docx/glossary.d.ts.map +1 -0
- package/dist/docx/index.cjs +5929 -3153
- package/dist/docx/index.d.ts +7 -0
- package/dist/docx/index.d.ts.map +1 -1
- package/dist/docx/index.mjs +5913 -3154
- package/dist/docx/inline-annotations.d.ts +21 -0
- package/dist/docx/inline-annotations.d.ts.map +1 -0
- package/dist/docx/inline-container-markers.d.ts +14 -0
- package/dist/docx/inline-container-markers.d.ts.map +1 -0
- package/dist/docx/inline-containers.d.ts +54 -0
- package/dist/docx/inline-containers.d.ts.map +1 -0
- package/dist/docx/inline-form-field-bookmarks.d.ts +15 -0
- package/dist/docx/inline-form-field-bookmarks.d.ts.map +1 -0
- package/dist/docx/inline-marker-positions.d.ts +15 -0
- package/dist/docx/inline-marker-positions.d.ts.map +1 -0
- package/dist/docx/inline-markers.d.ts +63 -0
- package/dist/docx/inline-markers.d.ts.map +1 -0
- package/dist/docx/inline-slots.d.ts +24 -0
- package/dist/docx/inline-slots.d.ts.map +1 -0
- package/dist/docx/layout/adapter.d.ts.map +1 -1
- package/dist/docx/layout/index.cjs +1176 -563
- package/dist/docx/layout/index.d.ts +2 -1
- package/dist/docx/layout/index.d.ts.map +1 -1
- package/dist/docx/layout/index.mjs +1175 -564
- package/dist/docx/layout/input.d.ts +5 -1
- package/dist/docx/layout/input.d.ts.map +1 -1
- package/dist/docx/layout/page-style-refs.d.ts +21 -0
- package/dist/docx/layout/page-style-refs.d.ts.map +1 -0
- package/dist/docx/layout/paragraph-fragments.d.ts.map +1 -1
- package/dist/docx/layout/result.d.ts +1 -0
- package/dist/docx/layout/result.d.ts.map +1 -1
- package/dist/docx/layout/tab-stops.d.ts +8 -1
- package/dist/docx/layout/tab-stops.d.ts.map +1 -1
- package/dist/docx/load/index.cjs +3969 -1487
- package/dist/docx/load/index.mjs +3969 -1487
- package/dist/docx/model-run.d.ts +24 -2
- package/dist/docx/model-run.d.ts.map +1 -1
- package/dist/docx/model.d.ts +5 -0
- package/dist/docx/model.d.ts.map +1 -1
- package/dist/docx/numbering-format.d.ts.map +1 -1
- package/dist/docx/parse-warnings.d.ts.map +1 -1
- package/dist/docx/parse.d.ts.map +1 -1
- package/dist/docx/run-segmentation.d.ts +11 -0
- package/dist/docx/run-segmentation.d.ts.map +1 -0
- package/dist/docx/save.d.ts.map +1 -1
- package/dist/docx/section-model.d.ts +5 -0
- package/dist/docx/section-model.d.ts.map +1 -1
- package/dist/docx/sections.d.ts +4 -2
- package/dist/docx/sections.d.ts.map +1 -1
- package/dist/docx/settings.d.ts +9 -0
- package/dist/docx/settings.d.ts.map +1 -1
- package/dist/docx/special-characters.d.ts +34 -0
- package/dist/docx/special-characters.d.ts.map +1 -0
- package/dist/docx/style-ref-fields.d.ts +40 -0
- package/dist/docx/style-ref-fields.d.ts.map +1 -0
- package/dist/docx/style-ref.d.ts +85 -0
- package/dist/docx/style-ref.d.ts.map +1 -0
- package/dist/docx/table-model.d.ts +2 -2
- package/dist/docx/table-model.d.ts.map +1 -1
- package/dist/docx/ui/break-note-schema.d.ts.map +1 -1
- package/dist/docx/ui/content-control-commands.d.ts +20 -8
- package/dist/docx/ui/content-control-commands.d.ts.map +1 -1
- package/dist/docx/ui/content-control-guard.d.ts +4 -1
- package/dist/docx/ui/content-control-guard.d.ts.map +1 -1
- package/dist/docx/ui/content-control-paste.d.ts +23 -0
- package/dist/docx/ui/content-control-paste.d.ts.map +1 -0
- package/dist/docx/ui/content-control-rows.d.ts +15 -0
- package/dist/docx/ui/content-control-rows.d.ts.map +1 -0
- package/dist/docx/ui/content-control-sources.d.ts +12 -0
- package/dist/docx/ui/content-control-sources.d.ts.map +1 -0
- package/dist/docx/ui/content-control-spans.d.ts +29 -6
- package/dist/docx/ui/content-control-spans.d.ts.map +1 -1
- package/dist/docx/ui/content-control-temporary.d.ts +10 -0
- package/dist/docx/ui/content-control-temporary.d.ts.map +1 -0
- package/dist/docx/ui/form-field-commands.d.ts +41 -0
- package/dist/docx/ui/form-field-commands.d.ts.map +1 -0
- package/dist/docx/ui/form-field-guard.d.ts +24 -0
- package/dist/docx/ui/form-field-guard.d.ts.map +1 -0
- package/dist/docx/ui/form-text-blank.d.ts +18 -0
- package/dist/docx/ui/form-text-blank.d.ts.map +1 -0
- package/dist/docx/ui/index.cjs +9276 -7132
- package/dist/docx/ui/index.d.ts +5 -0
- package/dist/docx/ui/index.d.ts.map +1 -1
- package/dist/docx/ui/index.mjs +9259 -7137
- package/dist/docx/ui/positional-tab-input.d.ts +7 -0
- package/dist/docx/ui/positional-tab-input.d.ts.map +1 -0
- package/dist/docx/ui/run-compare.d.ts.map +1 -1
- package/dist/docx/ui/run-extra-mark.d.ts +1 -1
- package/dist/docx/ui/run-extra-mark.d.ts.map +1 -1
- package/dist/docx/ui/schema-marks.d.ts +1 -1
- package/dist/docx/ui/schema-marks.d.ts.map +1 -1
- package/dist/docx/ui/symbol-font.d.ts +4 -0
- package/dist/docx/ui/symbol-font.d.ts.map +1 -0
- package/dist/docx/ui/yjs-collaboration.d.ts +12 -1
- package/dist/docx/ui/yjs-collaboration.d.ts.map +1 -1
- package/dist/docx/write-block-placement.d.ts +7 -0
- package/dist/docx/write-block-placement.d.ts.map +1 -1
- package/dist/docx/write-content-control.d.ts +6 -0
- package/dist/docx/write-content-control.d.ts.map +1 -1
- package/dist/docx/write-header-footer.d.ts +6 -2
- package/dist/docx/write-header-footer.d.ts.map +1 -1
- package/dist/docx/write-inline.d.ts +12 -16
- package/dist/docx/write-inline.d.ts.map +1 -1
- package/dist/docx/write-paragraph.d.ts.map +1 -1
- package/dist/docx/write-revisions.d.ts.map +1 -1
- package/dist/docx/write-run.d.ts.map +1 -1
- package/dist/docx/write-section-properties.d.ts +5 -0
- package/dist/docx/write-section-properties.d.ts.map +1 -0
- package/dist/docx/write-sections.d.ts.map +1 -1
- package/dist/docx/write-table-controls.d.ts +15 -0
- package/dist/docx/write-table-controls.d.ts.map +1 -0
- package/dist/docx/write-table-properties.d.ts.map +1 -1
- package/dist/docx/write-table.d.ts.map +1 -1
- package/dist/docx/write.d.ts.map +1 -1
- package/dist/docx/xml.d.ts +6 -0
- package/dist/docx/xml.d.ts.map +1 -1
- package/dist/drawingml/index.cjs +31 -3
- package/dist/drawingml/index.mjs +31 -3
- package/dist/index.cjs +102 -26
- package/dist/index.mjs +102 -26
- package/dist/math/index.cjs +27 -2
- package/dist/math/index.mjs +27 -2
- package/dist/opc/index.cjs +51 -11
- package/dist/opc/index.mjs +51 -11
- package/dist/opc/zip-folders.d.ts +11 -0
- package/dist/opc/zip-folders.d.ts.map +1 -0
- package/dist/opc/zip-limits.d.ts +9 -0
- package/dist/opc/zip-limits.d.ts.map +1 -1
- package/dist/pptx/automation/index.cjs +995 -462
- package/dist/pptx/automation/index.d.ts +2 -2
- package/dist/pptx/automation/index.mjs +6 -6
- package/dist/pptx/chunks/{index-Bqm-jFG-.d.ts → index-CPhsd7Df.d.ts} +7580 -7507
- package/dist/pptx/chunks/index-CPhsd7Df.d.ts.map +1 -0
- package/dist/pptx/chunks/{index-B9x557hr.d.ts → index-Q5mM8kIR.d.ts} +2 -2
- package/dist/pptx/chunks/{index-B9x557hr.d.ts.map → index-Q5mM8kIR.d.ts.map} +1 -1
- package/dist/pptx/cli/index.cjs +770 -238
- package/dist/pptx/cli/index.mjs +5 -5
- package/dist/pptx/converter/index.cjs +12 -3
- package/dist/pptx/converter/index.d.ts +1 -1
- package/dist/pptx/converter/index.mjs +3 -3
- package/dist/pptx/editor/render/find-replace.cjs +14 -14
- package/dist/pptx/editor/render/find-replace.d.ts +1 -1
- package/dist/pptx/editor/render/find-replace.mjs +1 -1
- package/dist/pptx/editor/render/slide-operations.cjs +8 -8
- package/dist/pptx/editor/render/slide-operations.mjs +2 -2
- package/dist/pptx/index.cjs +1099 -628
- package/dist/pptx/index.d.ts +3 -3
- package/dist/pptx/index.mjs +6 -6
- package/dist/pptx/signature-node/index.cjs +20 -8
- package/dist/pptx/signature-node/index.mjs +2 -2
- package/dist/teams/index.cjs +105 -70
- package/dist/teams/index.mjs +105 -70
- package/dist/text/text-diff.d.ts +15 -0
- package/dist/text/text-diff.d.ts.map +1 -0
- package/dist/visio/index.cjs +220 -46
- package/dist/visio/index.mjs +220 -46
- package/dist/visio/ui/contract.d.ts +8 -2
- package/dist/visio/ui/contract.d.ts.map +1 -1
- package/dist/visio/ui/index.cjs +227 -50
- package/dist/visio/ui/index.mjs +227 -50
- package/dist/xlsx/collab/index.cjs +8 -3
- package/dist/xlsx/collab/index.mjs +8 -3
- package/dist/xlsx/compare/cells.d.ts +22 -0
- package/dist/xlsx/compare/cells.d.ts.map +1 -0
- package/dist/xlsx/compare/compare.d.ts +12 -0
- package/dist/xlsx/compare/compare.d.ts.map +1 -0
- package/dist/xlsx/compare/conditional.d.ts +7 -0
- package/dist/xlsx/compare/conditional.d.ts.map +1 -0
- package/dist/xlsx/compare/format-key.d.ts +34 -0
- package/dist/xlsx/compare/format-key.d.ts.map +1 -0
- package/dist/xlsx/compare/group.d.ts +8 -0
- package/dist/xlsx/compare/group.d.ts.map +1 -0
- package/dist/xlsx/compare/index.d.ts +5 -0
- package/dist/xlsx/compare/index.d.ts.map +1 -0
- package/dist/xlsx/compare/rich-text.d.ts +7 -0
- package/dist/xlsx/compare/rich-text.d.ts.map +1 -0
- package/dist/xlsx/compare/sheets.d.ts +22 -0
- package/dist/xlsx/compare/sheets.d.ts.map +1 -0
- package/dist/xlsx/compare/structure.d.ts +11 -0
- package/dist/xlsx/compare/structure.d.ts.map +1 -0
- package/dist/xlsx/compare/text.d.ts +8 -0
- package/dist/xlsx/compare/text.d.ts.map +1 -0
- package/dist/xlsx/compare/types.d.ts +173 -0
- package/dist/xlsx/compare/types.d.ts.map +1 -0
- package/dist/xlsx/edit/cell-values.d.ts.map +1 -1
- package/dist/xlsx/edit/clipboard-html.d.ts.map +1 -1
- package/dist/xlsx/edit/clipboard-text.d.ts.map +1 -1
- package/dist/xlsx/edit/clipboard.d.ts.map +1 -1
- package/dist/xlsx/edit/clone-cell.d.ts +9 -0
- package/dist/xlsx/edit/clone-cell.d.ts.map +1 -0
- package/dist/xlsx/edit/dimensions.d.ts.map +1 -1
- package/dist/xlsx/edit/history-rows.d.ts +7 -0
- package/dist/xlsx/edit/history-rows.d.ts.map +1 -0
- package/dist/xlsx/edit/history.d.ts +19 -4
- package/dist/xlsx/edit/history.d.ts.map +1 -1
- package/dist/xlsx/edit/outline.d.ts.map +1 -1
- package/dist/xlsx/edit/row-autofit.d.ts.map +1 -1
- package/dist/xlsx/edit/timelines.d.ts.map +1 -1
- package/dist/xlsx/formula/change-areas.d.ts +9 -0
- package/dist/xlsx/formula/change-areas.d.ts.map +1 -0
- package/dist/xlsx/formula/engine-prepare.d.ts +8 -0
- package/dist/xlsx/formula/engine-prepare.d.ts.map +1 -1
- package/dist/xlsx/formula/engine.d.ts.map +1 -1
- package/dist/xlsx/formula/spill.d.ts +5 -1
- package/dist/xlsx/formula/spill.d.ts.map +1 -1
- package/dist/xlsx/index.cjs +2551 -1208
- package/dist/xlsx/index.d.ts +1 -0
- package/dist/xlsx/index.d.ts.map +1 -1
- package/dist/xlsx/index.mjs +2544 -1209
- package/dist/xlsx/layout/cell-view.d.ts.map +1 -1
- package/dist/xlsx/layout/navigate.d.ts.map +1 -1
- package/dist/xlsx/layout/style-view.d.ts +5 -0
- package/dist/xlsx/layout/style-view.d.ts.map +1 -1
- package/dist/xlsx/load/csv-dates.d.ts +22 -0
- package/dist/xlsx/load/csv-dates.d.ts.map +1 -0
- package/dist/xlsx/load/csv-import.d.ts +64 -0
- package/dist/xlsx/load/csv-import.d.ts.map +1 -0
- package/dist/xlsx/load/csv-separators.d.ts +13 -0
- package/dist/xlsx/load/csv-separators.d.ts.map +1 -0
- package/dist/xlsx/load/csv-traits.d.ts +20 -0
- package/dist/xlsx/load/csv-traits.d.ts.map +1 -0
- package/dist/xlsx/load/csv.d.ts +8 -4
- package/dist/xlsx/load/csv.d.ts.map +1 -1
- package/dist/xlsx/load/detect.d.ts +13 -0
- package/dist/xlsx/load/detect.d.ts.map +1 -1
- package/dist/xlsx/load/errors.d.ts +1 -0
- package/dist/xlsx/load/errors.d.ts.map +1 -1
- package/dist/xlsx/load/index.cjs +598 -98
- package/dist/xlsx/load/index.d.ts +3 -1
- package/dist/xlsx/load/index.d.ts.map +1 -1
- package/dist/xlsx/load/index.mjs +597 -99
- package/dist/xlsx/numfmt/format.d.ts +8 -0
- package/dist/xlsx/numfmt/format.d.ts.map +1 -1
- package/dist/xlsx/numfmt/input-date.d.ts +2 -0
- package/dist/xlsx/numfmt/input-date.d.ts.map +1 -1
- package/dist/xlsx/pivot/cache-xml.d.ts.map +1 -1
- package/dist/xlsx/pivot/groups.d.ts.map +1 -1
- package/dist/xlsx/read/index.d.ts +2 -1
- package/dist/xlsx/read/index.d.ts.map +1 -1
- package/dist/xlsx/read/limits.d.ts +50 -0
- package/dist/xlsx/read/limits.d.ts.map +1 -0
- package/dist/xlsx/read/load.d.ts +11 -1
- package/dist/xlsx/read/load.d.ts.map +1 -1
- package/dist/xlsx/read/package.d.ts +5 -23
- package/dist/xlsx/read/package.d.ts.map +1 -1
- package/dist/xlsx/read/shared-strings.d.ts +2 -2
- package/dist/xlsx/read/shared-strings.d.ts.map +1 -1
- package/dist/xlsx/read/sheet-data-source.d.ts.map +1 -1
- package/dist/xlsx/read/worksheet.d.ts +2 -0
- package/dist/xlsx/read/worksheet.d.ts.map +1 -1
- package/dist/xlsx/stable-key.d.ts +3 -0
- package/dist/xlsx/stable-key.d.ts.map +1 -0
- package/dist/xlsx/styles.d.ts.map +1 -1
- package/dist/xlsx/ui/index.cjs +795 -388
- package/dist/xlsx/ui/index.d.ts +1 -0
- package/dist/xlsx/ui/index.d.ts.map +1 -1
- package/dist/xlsx/ui/index.mjs +795 -389
- package/dist/xlsx/ui/selection-format.d.ts +13 -0
- package/dist/xlsx/ui/selection-format.d.ts.map +1 -0
- package/dist/xlsx/write/sheet-props.d.ts.map +1 -1
- package/dist/xml/index.cjs +57 -3
- package/dist/xml/index.mjs +57 -4
- package/dist/xml/lite.d.ts.map +1 -1
- package/dist/xml/xml.d.ts +11 -1
- package/dist/xml/xml.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/PptxHandler-HSPKEP5E.mjs +0 -4
- package/dist/pptx/chunks/index-Bqm-jFG-.d.ts.map +0 -1
package/dist/visio/ui/index.mjs
CHANGED
|
@@ -3,11 +3,13 @@ import JSZip from 'jszip';
|
|
|
3
3
|
|
|
4
4
|
// visio/ui/contract.ts
|
|
5
5
|
var propertyKeys = [
|
|
6
|
+
"canEdit",
|
|
6
7
|
"document",
|
|
7
8
|
"pageIndex",
|
|
8
9
|
"zoom",
|
|
9
10
|
"showToolbar",
|
|
10
|
-
"ribbonAddIns"
|
|
11
|
+
"ribbonAddIns",
|
|
12
|
+
"collaboration"
|
|
11
13
|
];
|
|
12
14
|
var eventKeys = [
|
|
13
15
|
"document-load",
|
|
@@ -17,7 +19,8 @@ var eventKeys = [
|
|
|
17
19
|
"zoom-change",
|
|
18
20
|
"shape-select",
|
|
19
21
|
"selection-change",
|
|
20
|
-
"office-ribbon-add-in"
|
|
22
|
+
"office-ribbon-add-in",
|
|
23
|
+
"collaboration-change"
|
|
21
24
|
];
|
|
22
25
|
|
|
23
26
|
// visio/ui/demo-document.ts
|
|
@@ -1089,6 +1092,19 @@ var DEFAULT_XML_LIMITS = {
|
|
|
1089
1092
|
maxDepth: 512,
|
|
1090
1093
|
maxNodes: 5e6
|
|
1091
1094
|
};
|
|
1095
|
+
var XmlLimitError = class extends Error {
|
|
1096
|
+
code = "xml-limit";
|
|
1097
|
+
/** The limit that was exceeded. */
|
|
1098
|
+
limit;
|
|
1099
|
+
/** Its value: the largest depth or element count allowed. */
|
|
1100
|
+
maximum;
|
|
1101
|
+
constructor(message, limit2, maximum) {
|
|
1102
|
+
super(message);
|
|
1103
|
+
this.name = "XmlLimitError";
|
|
1104
|
+
this.limit = limit2;
|
|
1105
|
+
this.maximum = maximum;
|
|
1106
|
+
}
|
|
1107
|
+
};
|
|
1092
1108
|
var TAG_RE = /<(\/?)([^\s\/><]+)(?:\s+[^\s=\/><]+\s*=\s*(?:"[^"<]*"|'[^'<]*'))*\s*(\/?)>/y;
|
|
1093
1109
|
var MARKUP_SKIPS = [
|
|
1094
1110
|
["<!--", "-->"],
|
|
@@ -1122,11 +1138,22 @@ function checkXmlLimits(xml, label2, limits = {}) {
|
|
|
1122
1138
|
continue;
|
|
1123
1139
|
}
|
|
1124
1140
|
nodes++;
|
|
1125
|
-
if (nodes > maxNodes)
|
|
1141
|
+
if (nodes > maxNodes)
|
|
1142
|
+
throw new XmlLimitError(
|
|
1143
|
+
`${label2} XML exceeds the limit of ${maxNodes} elements`,
|
|
1144
|
+
"maxNodes",
|
|
1145
|
+
maxNodes
|
|
1146
|
+
);
|
|
1126
1147
|
if (!selfClosing && ++depth > maxDepth)
|
|
1127
|
-
throw new
|
|
1148
|
+
throw new XmlLimitError(
|
|
1149
|
+
`${label2} XML exceeds the nesting depth limit of ${maxDepth}`,
|
|
1150
|
+
"maxDepth",
|
|
1151
|
+
maxDepth
|
|
1152
|
+
);
|
|
1128
1153
|
}
|
|
1129
1154
|
}
|
|
1155
|
+
var CRLF_DECLARATION = /^<\?xml[^>]*\?>\r\n/;
|
|
1156
|
+
var crlfDeclarations = /* @__PURE__ */ new WeakSet();
|
|
1130
1157
|
function parseXml(xml, options2 = {}) {
|
|
1131
1158
|
const label2 = options2.label ?? "OOXML";
|
|
1132
1159
|
if (/<!DOCTYPE|<!ENTITY/i.test(xml))
|
|
@@ -1148,9 +1175,13 @@ function parseXml(xml, options2 = {}) {
|
|
|
1148
1175
|
}
|
|
1149
1176
|
if (parseError || !parsed.documentElement)
|
|
1150
1177
|
throw new Error(`Invalid ${label2} XML: ${parseError || "missing root element"}`);
|
|
1178
|
+
if (CRLF_DECLARATION.test(xml)) crlfDeclarations.add(parsed);
|
|
1151
1179
|
return parsed;
|
|
1152
1180
|
}
|
|
1153
|
-
var buildXml = (node3) =>
|
|
1181
|
+
var buildXml = (node3) => {
|
|
1182
|
+
const xml = new XMLSerializer().serializeToString(node3);
|
|
1183
|
+
return crlfDeclarations.has(node3) ? xml.replace(/^(<\?xml[^>]*\?>)\n/, "$1\r\n") : xml;
|
|
1184
|
+
};
|
|
1154
1185
|
var isElement = (node3) => node3.nodeType === 1;
|
|
1155
1186
|
var elements = (parent) => Array.from(parent.childNodes).filter(isElement);
|
|
1156
1187
|
function named(element2, local, ns, lenient = true) {
|
|
@@ -1249,6 +1280,12 @@ function parseLiteFragment(xml, container, namespaces) {
|
|
|
1249
1280
|
}
|
|
1250
1281
|
if (lt < 0) break;
|
|
1251
1282
|
const next = source.charCodeAt(lt + 1);
|
|
1283
|
+
if (next === 33) {
|
|
1284
|
+
const after = skipCommentOrCdata(source, lt, top);
|
|
1285
|
+
if (after < 0) return void 0;
|
|
1286
|
+
pos = after;
|
|
1287
|
+
continue;
|
|
1288
|
+
}
|
|
1252
1289
|
if (next === 47) {
|
|
1253
1290
|
const gt = source.indexOf(">", lt);
|
|
1254
1291
|
if (gt < 0 || stack.length < 2 || source.slice(lt + 2, gt).trimEnd() !== top.tagName)
|
|
@@ -1269,6 +1306,25 @@ function parseLiteFragment(xml, container, namespaces) {
|
|
|
1269
1306
|
}
|
|
1270
1307
|
return stack.length === 1 ? root2 : void 0;
|
|
1271
1308
|
}
|
|
1309
|
+
var DECLARATIONS = /<!DOCTYPE|<!ENTITY/i;
|
|
1310
|
+
function skipCommentOrCdata(source, lt, parent) {
|
|
1311
|
+
if (source.startsWith("<!--", lt)) {
|
|
1312
|
+
const end = source.indexOf("-->", lt + 4);
|
|
1313
|
+
if (end < 0) return -1;
|
|
1314
|
+
const body = source.slice(lt + 4, end);
|
|
1315
|
+
if (body.includes("--") || body.endsWith("-") || DECLARATIONS.test(body)) return -1;
|
|
1316
|
+
return end + 3;
|
|
1317
|
+
}
|
|
1318
|
+
if (source.startsWith("<![CDATA[", lt)) {
|
|
1319
|
+
const end = source.indexOf("]]>", lt + 9);
|
|
1320
|
+
if (end < 0) return -1;
|
|
1321
|
+
const text8 = source.slice(lt + 9, end);
|
|
1322
|
+
if (DECLARATIONS.test(text8)) return -1;
|
|
1323
|
+
parent.childNodes.push(text8);
|
|
1324
|
+
return end + 3;
|
|
1325
|
+
}
|
|
1326
|
+
return -1;
|
|
1327
|
+
}
|
|
1272
1328
|
function startTag(source, from, namespaces) {
|
|
1273
1329
|
const n = source.length;
|
|
1274
1330
|
let i = from;
|
|
@@ -10703,9 +10759,9 @@ function createWorksheet(name3, sheetId5) {
|
|
|
10703
10759
|
};
|
|
10704
10760
|
}
|
|
10705
10761
|
|
|
10706
|
-
// xlsx/
|
|
10707
|
-
function
|
|
10708
|
-
return JSON.stringify(sortKeys(
|
|
10762
|
+
// xlsx/stable-key.ts
|
|
10763
|
+
function stableKey(value3) {
|
|
10764
|
+
return JSON.stringify(sortKeys(value3));
|
|
10709
10765
|
}
|
|
10710
10766
|
function sortKeys(value3) {
|
|
10711
10767
|
if (Array.isArray(value3)) return value3.map(sortKeys);
|
|
@@ -10719,6 +10775,11 @@ function sortKeys(value3) {
|
|
|
10719
10775
|
}
|
|
10720
10776
|
return value3;
|
|
10721
10777
|
}
|
|
10778
|
+
|
|
10779
|
+
// xlsx/styles.ts
|
|
10780
|
+
function styleKey(style2) {
|
|
10781
|
+
return stableKey(style2);
|
|
10782
|
+
}
|
|
10722
10783
|
function styleAt(workbook, styleId) {
|
|
10723
10784
|
const style2 = workbook.styles[styleId ?? 0] ?? workbook.styles[0];
|
|
10724
10785
|
if (!style2) throw new Error("Workbook has no default cell style");
|
|
@@ -13328,10 +13389,13 @@ var DEFAULT_ZIP_LIMITS = {
|
|
|
13328
13389
|
var ZipLimitError = class extends Error {
|
|
13329
13390
|
code = "ZIP_BOMB";
|
|
13330
13391
|
limit;
|
|
13392
|
+
/** The check that failed (absent when the error was built without one). */
|
|
13393
|
+
kind;
|
|
13331
13394
|
constructor(message, details) {
|
|
13332
13395
|
super(message);
|
|
13333
13396
|
this.name = "ZipLimitError";
|
|
13334
13397
|
this.limit = details.limit;
|
|
13398
|
+
this.kind = details.kind;
|
|
13335
13399
|
}
|
|
13336
13400
|
};
|
|
13337
13401
|
var mib = (bytes) => Math.round(bytes / 1048576);
|
|
@@ -13354,7 +13418,7 @@ function resolveLimits(limits) {
|
|
|
13354
13418
|
maxEntryBytes: limits.maxEntryBytes ?? DEFAULT_ZIP_LIMITS.maxEntryBytes,
|
|
13355
13419
|
maxTotalBytes: limits.maxTotalBytes ?? DEFAULT_ZIP_LIMITS.maxTotalBytes,
|
|
13356
13420
|
label: limits.label ?? "ZIP",
|
|
13357
|
-
fail: (message, limit2) => create2 ? create2(message, { limit: limit2 }) : new ZipLimitError(message, { limit: limit2 })
|
|
13421
|
+
fail: (message, limit2, kind) => create2 ? create2(message, { limit: limit2, kind }) : new ZipLimitError(message, { limit: limit2, kind })
|
|
13358
13422
|
};
|
|
13359
13423
|
}
|
|
13360
13424
|
function inflateEntryGuarded(entry3, alreadyRead, limits) {
|
|
@@ -13377,13 +13441,18 @@ function inflateEntryGuarded(entry3, alreadyRead, limits) {
|
|
|
13377
13441
|
size3 += chunk.byteLength;
|
|
13378
13442
|
if (size3 > declared || size3 > r.maxEntryBytes)
|
|
13379
13443
|
return abort(
|
|
13380
|
-
r.fail(
|
|
13444
|
+
r.fail(
|
|
13445
|
+
`${r.label} part ${entry3.name} inflates past its declared size`,
|
|
13446
|
+
r.maxEntryBytes,
|
|
13447
|
+
size3 > declared ? "declaredSize" : "maxEntryBytes"
|
|
13448
|
+
)
|
|
13381
13449
|
);
|
|
13382
13450
|
if (alreadyRead + size3 > r.maxTotalBytes)
|
|
13383
13451
|
return abort(
|
|
13384
13452
|
r.fail(
|
|
13385
13453
|
`${r.label} package exceeds the ${mib(r.maxTotalBytes)} MiB uncompressed content limit`,
|
|
13386
|
-
r.maxTotalBytes
|
|
13454
|
+
r.maxTotalBytes,
|
|
13455
|
+
"maxTotalBytes"
|
|
13387
13456
|
)
|
|
13388
13457
|
);
|
|
13389
13458
|
chunks.push(chunk);
|
|
@@ -13416,26 +13485,29 @@ function guardZip(zip, limits = {}) {
|
|
|
13416
13485
|
if (entries.length > r.maxEntries)
|
|
13417
13486
|
throw r.fail(
|
|
13418
13487
|
`${r.label} package exceeds the ${r.maxEntries.toLocaleString("en-US")} part limit`,
|
|
13419
|
-
r.maxEntries
|
|
13488
|
+
r.maxEntries,
|
|
13489
|
+
"maxEntries"
|
|
13420
13490
|
);
|
|
13421
13491
|
let declared = 0;
|
|
13422
13492
|
for (const entry3 of entries) {
|
|
13423
13493
|
const original = entry3.unsafeOriginalName;
|
|
13424
13494
|
if (!isSafePartName(entry3.name) || original !== void 0 && !isSafePartName(original))
|
|
13425
|
-
throw r.fail(`${r.label} package has an unsafe part name`, r.maxEntries);
|
|
13495
|
+
throw r.fail(`${r.label} package has an unsafe part name`, r.maxEntries, "partName");
|
|
13426
13496
|
if (entry3.dir) continue;
|
|
13427
13497
|
const size3 = declaredEntrySize(entry3);
|
|
13428
13498
|
if (size3 > r.maxEntryBytes)
|
|
13429
13499
|
throw r.fail(
|
|
13430
13500
|
`${r.label} part ${entry3.name} exceeds the uncompressed part size limit`,
|
|
13431
|
-
r.maxEntryBytes
|
|
13501
|
+
r.maxEntryBytes,
|
|
13502
|
+
"maxEntryBytes"
|
|
13432
13503
|
);
|
|
13433
13504
|
declared += size3;
|
|
13434
13505
|
}
|
|
13435
13506
|
if (declared > r.maxTotalBytes)
|
|
13436
13507
|
throw r.fail(
|
|
13437
13508
|
`${r.label} package exceeds the ${mib(r.maxTotalBytes)} MiB uncompressed content limit`,
|
|
13438
|
-
r.maxTotalBytes
|
|
13509
|
+
r.maxTotalBytes,
|
|
13510
|
+
"maxTotalBytes"
|
|
13439
13511
|
);
|
|
13440
13512
|
const produced = /* @__PURE__ */ new Map();
|
|
13441
13513
|
let total = 0;
|
|
@@ -15304,10 +15376,69 @@ function mergeComments(legacy, threaded) {
|
|
|
15304
15376
|
(a2, b) => a2.address.row - b.address.row || a2.address.col - b.address.col
|
|
15305
15377
|
);
|
|
15306
15378
|
}
|
|
15307
|
-
|
|
15308
|
-
|
|
15309
|
-
var
|
|
15310
|
-
|
|
15379
|
+
|
|
15380
|
+
// xlsx/read/limits.ts
|
|
15381
|
+
var DEFAULT_XLSX_LOAD_LIMITS = {
|
|
15382
|
+
maxInputBytes: 50 * 1024 * 1024,
|
|
15383
|
+
maxParts: 1e4,
|
|
15384
|
+
maxPartBytes: 200 * 1024 * 1024,
|
|
15385
|
+
maxTotalBytes: 300 * 1024 * 1024,
|
|
15386
|
+
maxXmlElements: 5e6
|
|
15387
|
+
};
|
|
15388
|
+
var WorkbookTooLargeError = class extends Error {
|
|
15389
|
+
code = "workbook-too-large";
|
|
15390
|
+
/** The limit that was exceeded, as named in {@link XlsxLoadLimits}. */
|
|
15391
|
+
limit;
|
|
15392
|
+
/** The value of that limit when the load failed. */
|
|
15393
|
+
maximum;
|
|
15394
|
+
constructor(message, limit2, maximum, options2) {
|
|
15395
|
+
super(message, options2);
|
|
15396
|
+
this.name = "WorkbookTooLargeError";
|
|
15397
|
+
this.limit = limit2;
|
|
15398
|
+
this.maximum = maximum;
|
|
15399
|
+
}
|
|
15400
|
+
};
|
|
15401
|
+
function resolveLoadLimits(limits = {}) {
|
|
15402
|
+
const resolved = { ...DEFAULT_XLSX_LOAD_LIMITS };
|
|
15403
|
+
for (const name3 of Object.keys(resolved)) {
|
|
15404
|
+
const value3 = limits[name3];
|
|
15405
|
+
if (value3 === void 0) continue;
|
|
15406
|
+
if (!Number.isFinite(value3) || value3 <= 0)
|
|
15407
|
+
throw new RangeError(`limits.${name3} must be a positive finite number`);
|
|
15408
|
+
resolved[name3] = value3;
|
|
15409
|
+
}
|
|
15410
|
+
return resolved;
|
|
15411
|
+
}
|
|
15412
|
+
var ZIP_LIMIT_NAMES = {
|
|
15413
|
+
maxInputBytes: "maxInputBytes",
|
|
15414
|
+
maxEntries: "maxParts",
|
|
15415
|
+
maxEntryBytes: "maxPartBytes",
|
|
15416
|
+
maxTotalBytes: "maxTotalBytes"
|
|
15417
|
+
};
|
|
15418
|
+
function zipLimitsFor(limits) {
|
|
15419
|
+
return {
|
|
15420
|
+
maxInputBytes: limits.maxInputBytes,
|
|
15421
|
+
maxEntries: limits.maxParts,
|
|
15422
|
+
maxEntryBytes: limits.maxPartBytes,
|
|
15423
|
+
maxTotalBytes: limits.maxTotalBytes,
|
|
15424
|
+
label: "XLSX",
|
|
15425
|
+
createError: (message, { limit: limit2, kind }) => {
|
|
15426
|
+
const name3 = ZIP_LIMIT_NAMES[kind];
|
|
15427
|
+
return name3 ? new WorkbookTooLargeError(message, name3, limit2) : new ZipLimitError(message, { limit: limit2, kind });
|
|
15428
|
+
}
|
|
15429
|
+
};
|
|
15430
|
+
}
|
|
15431
|
+
function parseDataXml(xml, label2, maxXmlElements = DEFAULT_XLSX_LOAD_LIMITS.maxXmlElements) {
|
|
15432
|
+
try {
|
|
15433
|
+
return parseXml(xml, { label: label2, limits: { maxNodes: maxXmlElements } });
|
|
15434
|
+
} catch (error) {
|
|
15435
|
+
if (error instanceof XmlLimitError && error.limit === "maxNodes")
|
|
15436
|
+
throw new WorkbookTooLargeError(error.message, "maxXmlElements", error.maximum, {
|
|
15437
|
+
cause: error
|
|
15438
|
+
});
|
|
15439
|
+
throw error;
|
|
15440
|
+
}
|
|
15441
|
+
}
|
|
15311
15442
|
var CONTENT_TYPES = {
|
|
15312
15443
|
workbook: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",
|
|
15313
15444
|
workbookMacro: "application/vnd.ms-excel.sheet.macroEnabled.main+xml",
|
|
@@ -15378,16 +15509,15 @@ var SourceIndex = class {
|
|
|
15378
15509
|
};
|
|
15379
15510
|
var mib2 = (bytes) => Math.round(bytes / 1048576);
|
|
15380
15511
|
async function readZipParts(input, limits = {}) {
|
|
15381
|
-
const
|
|
15382
|
-
const
|
|
15383
|
-
maxEntries: limits.maxParts ?? MAX_PARTS,
|
|
15384
|
-
maxEntryBytes: limits.maxPartBytes ?? MAX_PART_BYTES,
|
|
15385
|
-
maxTotalBytes: limits.maxTotalBytes ?? MAX_UNCOMPRESSED_BYTES,
|
|
15386
|
-
label: "XLSX"
|
|
15387
|
-
};
|
|
15512
|
+
const resolved = resolveLoadLimits(limits);
|
|
15513
|
+
const maxInput = resolved.maxInputBytes;
|
|
15388
15514
|
const bytes = input instanceof Uint8Array ? input : new Uint8Array(input);
|
|
15389
15515
|
if (bytes.byteLength > maxInput)
|
|
15390
|
-
throw new
|
|
15516
|
+
throw new WorkbookTooLargeError(
|
|
15517
|
+
`XLSX package exceeds the ${mib2(maxInput)} MiB compressed input limit`,
|
|
15518
|
+
"maxInputBytes",
|
|
15519
|
+
maxInput
|
|
15520
|
+
);
|
|
15391
15521
|
let loaded;
|
|
15392
15522
|
try {
|
|
15393
15523
|
loaded = await JSZip.loadAsync(bytes);
|
|
@@ -15397,7 +15527,7 @@ async function readZipParts(input, limits = {}) {
|
|
|
15397
15527
|
{ cause: error }
|
|
15398
15528
|
);
|
|
15399
15529
|
}
|
|
15400
|
-
const zip = guardZip(loaded,
|
|
15530
|
+
const zip = guardZip(loaded, zipLimitsFor(resolved));
|
|
15401
15531
|
const parts = /* @__PURE__ */ new Map();
|
|
15402
15532
|
for (const entry3 of Object.values(zip.files)) {
|
|
15403
15533
|
if (entry3.dir) continue;
|
|
@@ -15604,9 +15734,9 @@ function parseRichString(element2, palette) {
|
|
|
15604
15734
|
const text8 = parsed.map((run) => run.text).join("");
|
|
15605
15735
|
return { text: text8, runs: parsed };
|
|
15606
15736
|
}
|
|
15607
|
-
function parseSharedStrings(xml, palette) {
|
|
15737
|
+
function parseSharedStrings(xml, palette, maxXmlElements) {
|
|
15608
15738
|
if (!xml) return [];
|
|
15609
|
-
const root2 =
|
|
15739
|
+
const root2 = parseDataXml(xml, "XLSX shared strings", maxXmlElements).documentElement;
|
|
15610
15740
|
return xChildren(root2, "si").map((si) => parseRichString(si, palette));
|
|
15611
15741
|
}
|
|
15612
15742
|
|
|
@@ -20475,21 +20605,50 @@ function rootNamespaces(xml) {
|
|
|
20475
20605
|
for (const match of (root2[2] ?? "").matchAll(DECLARATION2)) out[match[1] ?? ""] = match[3] ?? "";
|
|
20476
20606
|
return out;
|
|
20477
20607
|
}
|
|
20608
|
+
var SPECIAL = /<[!?]/g;
|
|
20609
|
+
var SECTIONS = [
|
|
20610
|
+
["<!--", "-->"],
|
|
20611
|
+
["<![CDATA[", "]]>"],
|
|
20612
|
+
["<?", "?>"]
|
|
20613
|
+
];
|
|
20614
|
+
function blankComments(xml) {
|
|
20615
|
+
if (!xml.includes("<!--") && !xml.includes("<![CDATA[")) return xml;
|
|
20616
|
+
const pieces = [];
|
|
20617
|
+
let copied = 0;
|
|
20618
|
+
SPECIAL.lastIndex = 0;
|
|
20619
|
+
for (let match = SPECIAL.exec(xml); match; match = SPECIAL.exec(xml)) {
|
|
20620
|
+
const at2 = match.index;
|
|
20621
|
+
const section3 = SECTIONS.find(([open2]) => xml.startsWith(open2, at2));
|
|
20622
|
+
if (!section3) return void 0;
|
|
20623
|
+
const [open, close4] = section3;
|
|
20624
|
+
const end = xml.indexOf(close4, at2 + open.length);
|
|
20625
|
+
if (end < 0) return void 0;
|
|
20626
|
+
const after = end + close4.length;
|
|
20627
|
+
if (open !== "<?") {
|
|
20628
|
+
pieces.push(xml.slice(copied, at2), " ".repeat(after - at2));
|
|
20629
|
+
copied = after;
|
|
20630
|
+
}
|
|
20631
|
+
SPECIAL.lastIndex = after;
|
|
20632
|
+
}
|
|
20633
|
+
pieces.push(xml.slice(copied));
|
|
20634
|
+
return pieces.join("");
|
|
20635
|
+
}
|
|
20478
20636
|
function splitSheetData(xml) {
|
|
20479
|
-
|
|
20480
|
-
|
|
20481
|
-
const
|
|
20637
|
+
const plain4 = blankComments(xml);
|
|
20638
|
+
if (plain4 === void 0) return void 0;
|
|
20639
|
+
const namespaces = rootNamespaces(plain4);
|
|
20640
|
+
const open = OPEN.exec(plain4);
|
|
20482
20641
|
if (!namespaces || !open) return void 0;
|
|
20483
20642
|
const prefix2 = (open[1] ?? "").slice(0, -1);
|
|
20484
20643
|
const ns = namespaces[prefix2];
|
|
20485
20644
|
if (prefix2 && ns === void 0) return void 0;
|
|
20486
20645
|
const tagName2 = `${open[1] ?? ""}sheetData`;
|
|
20487
|
-
const openEnd =
|
|
20646
|
+
const openEnd = plain4.indexOf(">", open.index);
|
|
20488
20647
|
if (openEnd < 0) return void 0;
|
|
20489
|
-
const attributes =
|
|
20648
|
+
const attributes = plain4.slice(open.index + tagName2.length + 1, openEnd);
|
|
20490
20649
|
if (attributes.trimEnd().endsWith("/") || attributes.includes("xmlns")) return void 0;
|
|
20491
|
-
const close4 =
|
|
20492
|
-
if (close4 < 0 || OPEN.test(
|
|
20650
|
+
const close4 = plain4.indexOf(`</${tagName2}`, openEnd);
|
|
20651
|
+
if (close4 < 0 || OPEN.test(plain4.slice(openEnd))) return void 0;
|
|
20493
20652
|
const container = new LiteElement(tagName2, "sheetData", ns || null);
|
|
20494
20653
|
const data = parseLiteFragment(xml.slice(openEnd + 1, close4), container, namespaces);
|
|
20495
20654
|
if (!data) return void 0;
|
|
@@ -20689,7 +20848,11 @@ function parseWorksheet(ctx, partName, name3, sheetId5) {
|
|
|
20689
20848
|
return sheet;
|
|
20690
20849
|
}
|
|
20691
20850
|
const split = splitSheetData(xml);
|
|
20692
|
-
const root2 =
|
|
20851
|
+
const root2 = parseDataXml(
|
|
20852
|
+
split?.xml ?? xml,
|
|
20853
|
+
"XLSX worksheet",
|
|
20854
|
+
ctx.maxXmlElements
|
|
20855
|
+
).documentElement;
|
|
20693
20856
|
const byName = /* @__PURE__ */ new Map();
|
|
20694
20857
|
const cfBlocks = [];
|
|
20695
20858
|
for (const node3 of elements(root2)) {
|
|
@@ -20763,8 +20926,9 @@ function liftPrintAreas(workbook) {
|
|
|
20763
20926
|
return false;
|
|
20764
20927
|
});
|
|
20765
20928
|
}
|
|
20766
|
-
async function loadXlsx(input) {
|
|
20767
|
-
const
|
|
20929
|
+
async function loadXlsx(input, options2 = {}) {
|
|
20930
|
+
const limits = resolveLoadLimits(options2.limits);
|
|
20931
|
+
const parts = await readZipParts(input, limits);
|
|
20768
20932
|
const source = new SourceIndex(parts);
|
|
20769
20933
|
const workbookPart = source.workbookPart();
|
|
20770
20934
|
if (!workbookPart) throw new Error("XLSX package has no workbook part (xl/workbook.xml)");
|
|
@@ -20785,7 +20949,8 @@ async function loadXlsx(input) {
|
|
|
20785
20949
|
source,
|
|
20786
20950
|
sharedStrings: parseSharedStrings(
|
|
20787
20951
|
stringsPart ? source.text(stringsPart) : void 0,
|
|
20788
|
-
styles.palette
|
|
20952
|
+
styles.palette,
|
|
20953
|
+
limits.maxXmlElements
|
|
20789
20954
|
),
|
|
20790
20955
|
xfMap: styles.xfMap,
|
|
20791
20956
|
date1904: book.date1904,
|
|
@@ -20793,7 +20958,8 @@ async function loadXlsx(input) {
|
|
|
20793
20958
|
dxfs: styles.dxfs,
|
|
20794
20959
|
persons: parsePersons(personsPart ? source.text(personsPart) : void 0),
|
|
20795
20960
|
dynamicCells: parseDynamicArrayMetadata(metadataPart ? source.text(metadataPart) : void 0),
|
|
20796
|
-
warn
|
|
20961
|
+
warn,
|
|
20962
|
+
maxXmlElements: limits.maxXmlElements
|
|
20797
20963
|
};
|
|
20798
20964
|
const rels = source.rels(workbookPart);
|
|
20799
20965
|
const sheets = book.sheets.map((entry3) => {
|
|
@@ -21276,14 +21442,24 @@ function formatAxisValue(value3, percent = false) {
|
|
|
21276
21442
|
return `${v < 0 ? "-" : ""}${grouped}${frac ? `.${frac}` : ""}`;
|
|
21277
21443
|
}
|
|
21278
21444
|
|
|
21445
|
+
// chart/extent.ts
|
|
21446
|
+
function extentOf(values) {
|
|
21447
|
+
let min = Infinity;
|
|
21448
|
+
let max = -Infinity;
|
|
21449
|
+
for (const value3 of values) {
|
|
21450
|
+
min = Math.min(min, value3);
|
|
21451
|
+
max = Math.max(max, value3);
|
|
21452
|
+
}
|
|
21453
|
+
return { min, max };
|
|
21454
|
+
}
|
|
21455
|
+
|
|
21279
21456
|
// chart/axis-range.ts
|
|
21280
21457
|
function computeLogValueRange(series, logBase) {
|
|
21281
21458
|
const allValues = series.flatMap((item) => item.values).filter((value3) => value3 !== null && Number.isFinite(value3) && value3 > 0);
|
|
21282
21459
|
if (allValues.length === 0) {
|
|
21283
21460
|
return { min: 1, max: logBase, span: 1, logScale: true, logBase };
|
|
21284
21461
|
}
|
|
21285
|
-
const dataMin =
|
|
21286
|
-
const dataMax = Math.max(...allValues);
|
|
21462
|
+
const { min: dataMin, max: dataMax } = extentOf(allValues);
|
|
21287
21463
|
const logMin = Math.floor(Math.log(dataMin) / Math.log(logBase));
|
|
21288
21464
|
const logMax = Math.ceil(Math.log(dataMax) / Math.log(logBase));
|
|
21289
21465
|
const min = logBase ** logMin;
|
|
@@ -22011,8 +22187,7 @@ function computeHistogramBins(values, options2, format5 = String) {
|
|
|
22011
22187
|
});
|
|
22012
22188
|
}
|
|
22013
22189
|
if (regular.length > 0) {
|
|
22014
|
-
const min =
|
|
22015
|
-
const max = Math.max(...regular.map((item) => item.value));
|
|
22190
|
+
const { min, max } = extentOf(regular.map((item) => item.value));
|
|
22016
22191
|
const requestedSize = options2.binSize && options2.binSize > 0 ? options2.binSize : void 0;
|
|
22017
22192
|
const requestedCount = options2.binCount && options2.binCount > 0 ? options2.binCount : void 0;
|
|
22018
22193
|
const start = requestedSize ? Math.floor(min / requestedSize) * requestedSize : min;
|
|
@@ -22140,8 +22315,9 @@ function waterfallView(chart, model, ctx) {
|
|
|
22140
22315
|
colors: { increase: role(0), decrease: role(1), total: role(2) }
|
|
22141
22316
|
};
|
|
22142
22317
|
const ends = steps.flatMap((step3) => [step3.startValue, step3.endValue]);
|
|
22318
|
+
const range2 = extentOf(ends);
|
|
22143
22319
|
model.valueAxis = {
|
|
22144
|
-
...ends.length ? niceScale(
|
|
22320
|
+
...ends.length ? niceScale(range2.min, range2.max) : niceScale(0, 1),
|
|
22145
22321
|
percent: false
|
|
22146
22322
|
};
|
|
22147
22323
|
const labels = model.categories;
|
|
@@ -22257,7 +22433,8 @@ function chartSummaryView(chart, theme2, options2 = {}) {
|
|
|
22257
22433
|
s.xValues = s.values.map((_, k) => numeric4 ? toNumber(cats[k] ?? null) : k + 1);
|
|
22258
22434
|
});
|
|
22259
22435
|
const xs = series.flatMap((s) => s.xValues ?? []).filter((x) => x !== null);
|
|
22260
|
-
|
|
22436
|
+
const range2 = extentOf(xs);
|
|
22437
|
+
model.xAxis = xs.length ? niceScale(range2.min, range2.max) : niceScale(0, 1);
|
|
22261
22438
|
}
|
|
22262
22439
|
if (type === "stock") model.stock = stockView(chart.stock, ctx);
|
|
22263
22440
|
if (type === "bubble") bubbleView(chart, model, ctx.evaluateRef);
|
|
@@ -39914,7 +40091,7 @@ function assertTextFields(text8) {
|
|
|
39914
40091
|
}
|
|
39915
40092
|
|
|
39916
40093
|
// visio/ui/scene-validation.ts
|
|
39917
|
-
var
|
|
40094
|
+
var MAX_INPUT_BYTES = 32 * 1024 * 1024;
|
|
39918
40095
|
var MAX_DIMENSION = 1e4;
|
|
39919
40096
|
var MAX_SHAPES = 25e3;
|
|
39920
40097
|
function finite4(value3, label2, min = -MAX_DIMENSION, max = MAX_DIMENSION) {
|
|
@@ -44948,4 +45125,4 @@ async function createSampleVsdx() {
|
|
|
44948
45125
|
return (await editVsdx(pages.bytes, PAGES.flatMap(shapeEdits))).bytes;
|
|
44949
45126
|
}
|
|
44950
45127
|
|
|
44951
|
-
export { DocumentHistory, EDIT_HISTORY_LIMITS, EMPTY_EDIT_STATE, EMPTY_SELECTION, EMPTY_TEXT_SEARCH, FOREIGN_VECTOR_SCENE_LIMITS, ForeignVectorBudget,
|
|
45128
|
+
export { DocumentHistory, EDIT_HISTORY_LIMITS, EMPTY_EDIT_STATE, EMPTY_SELECTION, EMPTY_TEXT_SEARCH, FOREIGN_VECTOR_SCENE_LIMITS, ForeignVectorBudget, MAX_INPUT_BYTES, TEXT_SEARCH_LIMITS, VISIO_AUTO_CONNECT_DIRECTIONS, VISIO_AUTO_CONNECT_GAP, VISIO_AUTO_CONNECT_REACH, VISIO_BULLET_STYLES, VISIO_CHART_OBJECT_SIZE, VISIO_DATA_GRAPHIC_FILL_ROW, VISIO_DATA_GRAPHIC_ICONS, VISIO_DATA_GRAPHIC_ROW, VISIO_DIAGRAM_RULE_SETS, VISIO_FIELD_CATEGORIES, VISIO_FORMAT_PAINTER_LIMITS, VISIO_GRID_DENSITY_CHOICES, IDENTITY_AFFINE as VISIO_IDENTITY_TRANSFORM, VISIO_LAYOUT_LABELS, VISIO_LAYOUT_STYLES, VISIO_PAGE_SIZE_PRESETS, VISIO_PAPER_SIZES, VISIO_PASTE_TEXT_LIMIT, VISIO_PATH_CLOSE_DISTANCE, VISIO_PATH_TOLERANCE, VISIO_PICTURE_DPI, VISIO_RESIZE_HANDLES, VISIO_RULER_DENSITY_CHOICES, VISIO_SELECT_TYPES, VISIO_SELECT_TYPE_LABELS, VISIO_SUBPROCESS_SHAPE, VISIO_TEXT_BLOCK_HANDLES, VISIO_TEXT_LANGUAGES, VISIO_TEXT_REPLACE_LIMITS, VisioTextDraftError, assertShapeDetails, assertViewableDocument, checkVisioDiagram, clampHistoryEntries, compatibilityNotes, compatibilityText, composeAffine as composeVisioTransform, copySnapshotScene, createSampleVsdx, demoDocument, editErrorMessage, eventKeys, excelSerialToIso, hasVisibleShapeContent, indexDocumentText, inspectForeignVectorResource, isEditCancellation, isVisioPathTool, normalizeVisioHyperlinkAddress, propertyKeys, sameSelection, searchDocumentText, selectionKey, snapshotEdits, snapshotSelection, textSearchStatus, validateSearchQuery, visioAddConnectionPointCommand, visioArrangeCommands, visioAutoAlignCommands, visioAutoConnectArrows, visioAutoConnectNeighbor, visioAutoConnectPlacement, visioAutoConnectPlan, visioAutoConnectShape, visioAutoConnectSidePoint, visioBoxCreationCommand, visioCalloutCommand, visioChangeCaseCommand, visioChangeCaseShape, visioChangeMasterCommand, visioChangeMasterTargets, visioChangeShapeCommand, visioChangeShapeRefusal, visioChartObjectInsertCommand, visioClipboardShape, visioColorRules, visioConnectableShape, visioConnectorCreationCommand, visioConnectorEdges, visioConnectorEndHandles, visioConnectorMovePreviews, visioConnectorPreviewPath, visioConnectorRouteOf, visioContainerCommand, visioCopyableShape, visioDataGraphicEdits, visioDataGraphicFields, visioDataGraphicMarker, visioDataGraphicParts, visioDataTable, visioDrawBounds, visioDrawIsLargeEnough, visioDrawPlan, visioDrawingPoint, visioDuplicateCommand, visioFileMasterDropCommand, visioFillPatternTransform, visioFitToDrawingEdits, visioFollowTarget, visioFontFamilies, visioFormatPainterEdits, visioFormatPainterSnapshot, visioFormatTargetShape, visioFormattingShape, visioGlowKey, visioGlueableShape, visioGradientInstances, visioGridSteps, visioGroupCommand, visioGuideCreateCommand, visioGuideMoveCommand, visioKeepAutoSize, visioLayerAssignCommand, visioLayerAssignCommands, visioLayerAssignState, visioLegendEdits, visioLineCreationCommand, visioLineDashLengths, visioLocalFormattingShape, visioLocalRotationShape, visioMarqueeBox, visioMarqueeSelection, visioMasterDropCommand, visioMasterDropRefusal, visioMasterDropSize, visioMasterPreviewBox, visioMatchingPaperSize, visioMovableGroup, visioMoveCommands, visioMovePreviewTransform, visioMoveTargets, visioMovementShape, visioNearestConnectionPoint, visioNewLayerNames, visioNewPageId, visioNextShapeId, visioNudgeCommands, visioOrderingShape, visioOrientationEdits, visioPageBreaks, visioPageConnectionPoints, visioPageDecorationState, visioPageDragDelta, visioPageEditToDrawing, visioPageGuides, visioPageInsertCommand, visioPageMasters, visioPageOrientationCommand, visioPageSizeCommand, visioPageSizePresetCommand, visioPageSizePresetEdits, visioPageSizeState, visioPaperSize, visioParseRange, visioPasteCommand, visioPasteTextCommand, visioPasteTextValue, visioPathDrawPlan, visioPathPreview, visioPictureInsertCommand, visioPrintTile, visioQuarterTurnCommand, visioReLayoutCommands, visioReflectionKey, visioRemoveDataGraphicEdits, visioRenderedGradientStopCount, visioRenderedGradientStops, visioResizeDrag, visioResizeFrame, visioResizeShape, visioRotationPreviewTransform, visioRotationShape, visioRulerDensityFactor, visioRulerGridEdits, visioRulerGridValues, visioSceneToLocal, visioSelectByType, visioSelectionIsOnPage, visioShadowPreset, visioShapeDataNumber, visioShapeDataRow, visioShapeDataText, visioShapeEffectValues, visioShapeFormattingState, visioShapeLocalPoint, visioShapePageBox, visioShapeReport, visioShapeReportCsv, visioShapeReportTable, visioShapeReportText, visioShapeSelectType, visioShapeSnapBox, visioSizePositionCommand, visioSizePositionState, visioSnapMoveDelta, visioStencilDropCommand, visioStencilInstanceShape, visioStencilShape, visioStencilSubShape, visioStraightLineHandles, visioStrokeGradient, visioStyleFormattingShape, visioSubprocessCommand, visioSvgStrokeStyle, visioTextAppendEdit, visioTextBlockDrag, visioTextBlockEdit, visioTextBlockFrame, visioTextBlockMatrix, visioTextBlockShape, visioTextDialogPatch, visioTextDialogValues, visioTextDraftEdit, visioTextFontStepCommand, visioTextFormattingState, visioTextIndentCommand, visioTextOccurrenceSelection, visioTextReplaceCommands, visioTextReplaceFindNext, visioTextReplaceOccurrences, visioTextReplacePlan, visioTextShape, visioTextSource, visioUngroupCommand, visioWithCalloutLeaders, visioWithContainerMembers, visioWithDataGraphics, visioWorkbookGrid };
|
|
@@ -653,9 +653,9 @@ function reorder(current) {
|
|
|
653
653
|
return out;
|
|
654
654
|
}
|
|
655
655
|
|
|
656
|
-
// xlsx/
|
|
657
|
-
function
|
|
658
|
-
return JSON.stringify(sortKeys(
|
|
656
|
+
// xlsx/stable-key.ts
|
|
657
|
+
function stableKey(value) {
|
|
658
|
+
return JSON.stringify(sortKeys(value));
|
|
659
659
|
}
|
|
660
660
|
function sortKeys(value) {
|
|
661
661
|
if (Array.isArray(value)) return value.map(sortKeys);
|
|
@@ -669,6 +669,11 @@ function sortKeys(value) {
|
|
|
669
669
|
}
|
|
670
670
|
return value;
|
|
671
671
|
}
|
|
672
|
+
|
|
673
|
+
// xlsx/styles.ts
|
|
674
|
+
function styleKey(style) {
|
|
675
|
+
return stableKey(style);
|
|
676
|
+
}
|
|
672
677
|
function internStyle(workbook, style) {
|
|
673
678
|
const key = styleKey(style);
|
|
674
679
|
const cache = styleCache(workbook);
|
|
@@ -631,9 +631,9 @@ function reorder(current) {
|
|
|
631
631
|
return out;
|
|
632
632
|
}
|
|
633
633
|
|
|
634
|
-
// xlsx/
|
|
635
|
-
function
|
|
636
|
-
return JSON.stringify(sortKeys(
|
|
634
|
+
// xlsx/stable-key.ts
|
|
635
|
+
function stableKey(value) {
|
|
636
|
+
return JSON.stringify(sortKeys(value));
|
|
637
637
|
}
|
|
638
638
|
function sortKeys(value) {
|
|
639
639
|
if (Array.isArray(value)) return value.map(sortKeys);
|
|
@@ -647,6 +647,11 @@ function sortKeys(value) {
|
|
|
647
647
|
}
|
|
648
648
|
return value;
|
|
649
649
|
}
|
|
650
|
+
|
|
651
|
+
// xlsx/styles.ts
|
|
652
|
+
function styleKey(style) {
|
|
653
|
+
return stableKey(style);
|
|
654
|
+
}
|
|
650
655
|
function internStyle(workbook, style) {
|
|
651
656
|
const key = styleKey(style);
|
|
652
657
|
const cache = styleCache(workbook);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type Workbook, type Worksheet } from '../model.js';
|
|
2
|
+
import { FormatIndex } from './format-key.js';
|
|
3
|
+
import type { CellDifference, CompareCategory } from './types.js';
|
|
4
|
+
/** Counts reported differences against `maxDifferences`. */
|
|
5
|
+
export declare class Budget {
|
|
6
|
+
private readonly max;
|
|
7
|
+
count: number;
|
|
8
|
+
truncated: boolean;
|
|
9
|
+
constructor(max: number);
|
|
10
|
+
/** Takes room for one difference; false (and `truncated`) once the cap is reached. */
|
|
11
|
+
take(): boolean;
|
|
12
|
+
/** The leading items that fit. */
|
|
13
|
+
admit<T>(items: T[]): T[];
|
|
14
|
+
}
|
|
15
|
+
export interface CellCompareContext {
|
|
16
|
+
categories: ReadonlySet<CompareCategory>;
|
|
17
|
+
formats: FormatIndex;
|
|
18
|
+
budget: Budget;
|
|
19
|
+
}
|
|
20
|
+
/** Differences between two sheets matched by address. */
|
|
21
|
+
export declare function compareSheetCells(ctx: CellCompareContext, beforeBook: Workbook, beforeSheet: Worksheet, afterBook: Workbook, afterSheet: Worksheet): CellDifference[];
|
|
22
|
+
//# sourceMappingURL=cells.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cells.d.ts","sourceRoot":"","sources":["../../../xlsx/compare/cells.ts"],"names":[],"mappings":"AASA,OAAO,EAA0C,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AACjG,OAAO,EAAE,WAAW,EAAgB,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAY,eAAe,EAAmB,MAAM,SAAS,CAAC;AAE1F,4DAA4D;AAC5D,qBAAa,MAAM;IAGN,OAAO,CAAC,QAAQ,CAAC,GAAG;IAFhC,KAAK,SAAK;IACV,SAAS,UAAS;IAClB,YAA6B,GAAG,EAAE,MAAM,EAAI;IAE5C,sFAAsF;IACtF,IAAI,IAAI,OAAO,CAOd;IAED,kCAAkC;IAClC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CASxB;CACD;AAED,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IACzC,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CACf;AAgGD,yDAAyD;AACzD,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,kBAAkB,EACvB,UAAU,EAAE,QAAQ,EACpB,WAAW,EAAE,SAAS,EACtB,SAAS,EAAE,QAAQ,EACnB,UAAU,EAAE,SAAS,GACnB,cAAc,EAAE,CAsElB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Workbook } from '../model.js';
|
|
2
|
+
import { type CompareOptions, type WorkbookComparison } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* What changed from `before` to `after`: sheets, defined names, the structure of each sheet pair
|
|
5
|
+
* and its cells in Spreadsheet Compare's categories (entered values, formulas, calculated values
|
|
6
|
+
* and effective formats). Cells are matched by address, so an inserted row reports every cell
|
|
7
|
+
* below it. Neither workbook is modified. Each stored cell of the two workbooks is visited once
|
|
8
|
+
* (row and column numbers are sorted per sheet and row; no dense grid is built); the result lists
|
|
9
|
+
* `notCompared` parts so a report can say what it did not check.
|
|
10
|
+
*/
|
|
11
|
+
export declare function compareWorkbooks(before: Workbook, after: Workbook, options?: CompareOptions): WorkbookComparison;
|
|
12
|
+
//# sourceMappingURL=compare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../xlsx/compare/compare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMzC,OAAO,EAGN,KAAK,cAAc,EAEnB,KAAK,kBAAkB,EACvB,MAAM,SAAS,CAAC;AAEjB;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,QAAQ,EACf,OAAO,GAAE,cAAmB,GAC1B,kBAAkB,CAsCpB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ConditionalFormat } from '../model.js';
|
|
2
|
+
import type { SheetDifference } from './types.js';
|
|
3
|
+
/** Rule settings that are off unless a file turns them on. */
|
|
4
|
+
export declare const OFF_BY_DEFAULT: string[];
|
|
5
|
+
/** Conditional format rules removed, added and reordered between two sheets. */
|
|
6
|
+
export declare function conditionalFormatDifferences(before: readonly ConditionalFormat[], after: readonly ConditionalFormat[]): SheetDifference[];
|
|
7
|
+
//# sourceMappingURL=conditional.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conditional.d.ts","sourceRoot":"","sources":["../../../xlsx/compare/conditional.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAiB,iBAAiB,EAAmB,MAAM,UAAU,CAAC;AAIlF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAS/C,8DAA8D;AAC9D,eAAO,MAAM,cAAc,UAO1B,CAAC;AA6GF,gFAAgF;AAChF,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,SAAS,iBAAiB,EAAE,EACpC,KAAK,EAAE,SAAS,iBAAiB,EAAE,GACjC,eAAe,EAAE,CAWnB"}
|