ooxml-core 0.3.0 → 0.4.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 +15 -14
- package/dist/docx/load/index.cjs +11 -11
- package/dist/docx/load/index.mjs +11 -11
- package/dist/index.cjs +34 -1
- package/dist/index.mjs +34 -1
- package/dist/opc/index.cjs +18 -1
- package/dist/opc/index.mjs +18 -1
- package/dist/opc/relationship-types.d.ts +17 -0
- package/dist/opc/relationship-types.d.ts.map +1 -1
- package/dist/pptx/cli/index.cjs +122 -105
- package/dist/pptx/cli/index.mjs +122 -105
- package/dist/pptx/index.cjs +144 -127
- package/dist/pptx/index.d.ts +8 -8
- package/dist/pptx/index.d.ts.map +1 -1
- package/dist/pptx/index.mjs +144 -127
- package/dist/visio/geometry.d.ts.map +1 -1
- package/dist/visio/index.cjs +66 -6
- package/dist/visio/index.mjs +66 -6
- package/dist/visio/rounded-geometry.d.ts +9 -0
- package/dist/visio/rounded-geometry.d.ts.map +1 -1
- package/dist/xlsx/address.d.ts +42 -0
- package/dist/xlsx/address.d.ts.map +1 -0
- package/dist/xlsx/cell-styles.d.ts +25 -0
- package/dist/xlsx/cell-styles.d.ts.map +1 -0
- package/dist/xlsx/cells.d.ts +25 -0
- package/dist/xlsx/cells.d.ts.map +1 -0
- package/dist/xlsx/edit/annotations.d.ts +17 -0
- package/dist/xlsx/edit/annotations.d.ts.map +1 -0
- package/dist/xlsx/edit/band-formulas.d.ts +9 -0
- package/dist/xlsx/edit/band-formulas.d.ts.map +1 -0
- package/dist/xlsx/edit/borders.d.ts +8 -0
- package/dist/xlsx/edit/borders.d.ts.map +1 -0
- package/dist/xlsx/edit/calc-mode.d.ts +11 -0
- package/dist/xlsx/edit/calc-mode.d.ts.map +1 -0
- package/dist/xlsx/edit/cell-shift.d.ts +11 -0
- package/dist/xlsx/edit/cell-shift.d.ts.map +1 -0
- package/dist/xlsx/edit/cell-style.d.ts +9 -0
- package/dist/xlsx/edit/cell-style.d.ts.map +1 -0
- package/dist/xlsx/edit/cell-values.d.ts +21 -0
- package/dist/xlsx/edit/cell-values.d.ts.map +1 -0
- package/dist/xlsx/edit/charts.d.ts +22 -0
- package/dist/xlsx/edit/charts.d.ts.map +1 -0
- package/dist/xlsx/edit/clipboard-html-parse.d.ts +12 -0
- package/dist/xlsx/edit/clipboard-html-parse.d.ts.map +1 -0
- package/dist/xlsx/edit/clipboard-html.d.ts +8 -0
- package/dist/xlsx/edit/clipboard-html.d.ts.map +1 -0
- package/dist/xlsx/edit/clipboard-text.d.ts +8 -0
- package/dist/xlsx/edit/clipboard-text.d.ts.map +1 -0
- package/dist/xlsx/edit/clipboard.d.ts +16 -0
- package/dist/xlsx/edit/clipboard.d.ts.map +1 -0
- package/dist/xlsx/edit/columns.d.ts +11 -0
- package/dist/xlsx/edit/columns.d.ts.map +1 -0
- package/dist/xlsx/edit/conditional-formats.d.ts +17 -0
- package/dist/xlsx/edit/conditional-formats.d.ts.map +1 -0
- package/dist/xlsx/edit/context.d.ts +42 -0
- package/dist/xlsx/edit/context.d.ts.map +1 -0
- package/dist/xlsx/edit/deps.d.ts +4 -0
- package/dist/xlsx/edit/deps.d.ts.map +1 -0
- package/dist/xlsx/edit/dimensions.d.ts +13 -0
- package/dist/xlsx/edit/dimensions.d.ts.map +1 -0
- package/dist/xlsx/edit/drawings.d.ts +10 -0
- package/dist/xlsx/edit/drawings.d.ts.map +1 -0
- package/dist/xlsx/edit/duplicates.d.ts +17 -0
- package/dist/xlsx/edit/duplicates.d.ts.map +1 -0
- package/dist/xlsx/edit/fill-series.d.ts +16 -0
- package/dist/xlsx/edit/fill-series.d.ts.map +1 -0
- package/dist/xlsx/edit/fill.d.ts +14 -0
- package/dist/xlsx/edit/fill.d.ts.map +1 -0
- package/dist/xlsx/edit/filter.d.ts +17 -0
- package/dist/xlsx/edit/filter.d.ts.map +1 -0
- package/dist/xlsx/edit/find.d.ts +17 -0
- package/dist/xlsx/edit/find.d.ts.map +1 -0
- package/dist/xlsx/edit/format.d.ts +13 -0
- package/dist/xlsx/edit/format.d.ts.map +1 -0
- package/dist/xlsx/edit/history.d.ts +75 -0
- package/dist/xlsx/edit/history.d.ts.map +1 -0
- package/dist/xlsx/edit/index.d.ts +23 -0
- package/dist/xlsx/edit/index.d.ts.map +1 -0
- package/dist/xlsx/edit/merge.d.ts +11 -0
- package/dist/xlsx/edit/merge.d.ts.map +1 -0
- package/dist/xlsx/edit/outline.d.ts +14 -0
- package/dist/xlsx/edit/outline.d.ts.map +1 -0
- package/dist/xlsx/edit/page.d.ts +11 -0
- package/dist/xlsx/edit/page.d.ts.map +1 -0
- package/dist/xlsx/edit/protection.d.ts +26 -0
- package/dist/xlsx/edit/protection.d.ts.map +1 -0
- package/dist/xlsx/edit/range-math.d.ts +33 -0
- package/dist/xlsx/edit/range-math.d.ts.map +1 -0
- package/dist/xlsx/edit/row-autofit.d.ts +17 -0
- package/dist/xlsx/edit/row-autofit.d.ts.map +1 -0
- package/dist/xlsx/edit/session-calc.d.ts +24 -0
- package/dist/xlsx/edit/session-calc.d.ts.map +1 -0
- package/dist/xlsx/edit/session.d.ts +5 -0
- package/dist/xlsx/edit/session.d.ts.map +1 -0
- package/dist/xlsx/edit/sheets.d.ts +19 -0
- package/dist/xlsx/edit/sheets.d.ts.map +1 -0
- package/dist/xlsx/edit/shift-formulas.d.ts +14 -0
- package/dist/xlsx/edit/shift-formulas.d.ts.map +1 -0
- package/dist/xlsx/edit/shift-sheet.d.ts +15 -0
- package/dist/xlsx/edit/shift-sheet.d.ts.map +1 -0
- package/dist/xlsx/edit/sort.d.ts +17 -0
- package/dist/xlsx/edit/sort.d.ts.map +1 -0
- package/dist/xlsx/edit/structure.d.ts +10 -0
- package/dist/xlsx/edit/structure.d.ts.map +1 -0
- package/dist/xlsx/edit/table-edits.d.ts +25 -0
- package/dist/xlsx/edit/table-edits.d.ts.map +1 -0
- package/dist/xlsx/edit/table-rows.d.ts +11 -0
- package/dist/xlsx/edit/table-rows.d.ts.map +1 -0
- package/dist/xlsx/edit/tables.d.ts +11 -0
- package/dist/xlsx/edit/tables.d.ts.map +1 -0
- package/dist/xlsx/edit/test-context.d.ts +15 -0
- package/dist/xlsx/edit/test-context.d.ts.map +1 -0
- package/dist/xlsx/edit/types-clipboard.d.ts +66 -0
- package/dist/xlsx/edit/types-clipboard.d.ts.map +1 -0
- package/dist/xlsx/edit/types.d.ts +188 -0
- package/dist/xlsx/edit/types.d.ts.map +1 -0
- package/dist/xlsx/edit/validation.d.ts +21 -0
- package/dist/xlsx/edit/validation.d.ts.map +1 -0
- package/dist/xlsx/edit/view.d.ts +12 -0
- package/dist/xlsx/edit/view.d.ts.map +1 -0
- package/dist/xlsx/formula/array-context.d.ts +7 -0
- package/dist/xlsx/formula/array-context.d.ts.map +1 -0
- package/dist/xlsx/formula/ast.d.ts +108 -0
- package/dist/xlsx/formula/ast.d.ts.map +1 -0
- package/dist/xlsx/formula/call.d.ts +13 -0
- package/dist/xlsx/formula/call.d.ts.map +1 -0
- package/dist/xlsx/formula/coerce.d.ts +22 -0
- package/dist/xlsx/formula/coerce.d.ts.map +1 -0
- package/dist/xlsx/formula/context.d.ts +74 -0
- package/dist/xlsx/formula/context.d.ts.map +1 -0
- package/dist/xlsx/formula/date-serial.d.ts +26 -0
- package/dist/xlsx/formula/date-serial.d.ts.map +1 -0
- package/dist/xlsx/formula/engine-core.d.ts +19 -0
- package/dist/xlsx/formula/engine-core.d.ts.map +1 -0
- package/dist/xlsx/formula/engine-host.d.ts +51 -0
- package/dist/xlsx/formula/engine-host.d.ts.map +1 -0
- package/dist/xlsx/formula/engine-types.d.ts +31 -0
- package/dist/xlsx/formula/engine-types.d.ts.map +1 -0
- package/dist/xlsx/formula/engine-util.d.ts +10 -0
- package/dist/xlsx/formula/engine-util.d.ts.map +1 -0
- package/dist/xlsx/formula/engine.d.ts +6 -0
- package/dist/xlsx/formula/engine.d.ts.map +1 -0
- package/dist/xlsx/formula/evaluator.d.ts +17 -0
- package/dist/xlsx/formula/evaluator.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/array-shape.d.ts +3 -0
- package/dist/xlsx/formula/functions/array-shape.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/array.d.ts +6 -0
- package/dist/xlsx/formula/functions/array.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/criteria.d.ts +22 -0
- package/dist/xlsx/formula/functions/criteria.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/date-calc.d.ts +14 -0
- package/dist/xlsx/formula/functions/date-calc.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/datetime.d.ts +3 -0
- package/dist/xlsx/formula/functions/datetime.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/depreciation.d.ts +4 -0
- package/dist/xlsx/formula/functions/depreciation.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/dist-core.d.ts +22 -0
- package/dist/xlsx/formula/functions/dist-core.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/distributions-more.d.ts +4 -0
- package/dist/xlsx/formula/functions/distributions-more.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/distributions.d.ts +3 -0
- package/dist/xlsx/formula/functions/distributions.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/engineering.d.ts +3 -0
- package/dist/xlsx/formula/functions/engineering.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/financial-core.d.ts +8 -0
- package/dist/xlsx/formula/functions/financial-core.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/financial.d.ts +3 -0
- package/dist/xlsx/formula/functions/financial.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/helpers.d.ts +44 -0
- package/dist/xlsx/formula/functions/helpers.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/info.d.ts +3 -0
- package/dist/xlsx/formula/functions/info.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/lambda.d.ts +3 -0
- package/dist/xlsx/formula/functions/lambda.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/logical.d.ts +7 -0
- package/dist/xlsx/formula/functions/logical.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/lookup-core.d.ts +32 -0
- package/dist/xlsx/formula/functions/lookup-core.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/lookup.d.ts +8 -0
- package/dist/xlsx/formula/functions/lookup.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/math-combin.d.ts +5 -0
- package/dist/xlsx/formula/functions/math-combin.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/math-more.d.ts +4 -0
- package/dist/xlsx/formula/functions/math-more.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/math-sum.d.ts +6 -0
- package/dist/xlsx/formula/functions/math-sum.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/math.d.ts +7 -0
- package/dist/xlsx/formula/functions/math.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/matrix.d.ts +3 -0
- package/dist/xlsx/formula/functions/matrix.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/reference.d.ts +3 -0
- package/dist/xlsx/formula/functions/reference.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/registry.d.ts +8 -0
- package/dist/xlsx/formula/functions/registry.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/statistical-count.d.ts +3 -0
- package/dist/xlsx/formula/functions/statistical-count.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/statistical-more.d.ts +10 -0
- package/dist/xlsx/formula/functions/statistical-more.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/statistical-shape.d.ts +4 -0
- package/dist/xlsx/formula/functions/statistical-shape.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/statistical-spread.d.ts +4 -0
- package/dist/xlsx/formula/functions/statistical-spread.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/statistical.d.ts +3 -0
- package/dist/xlsx/formula/functions/statistical.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/stats-core.d.ts +30 -0
- package/dist/xlsx/formula/functions/stats-core.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/text-convert.d.ts +4 -0
- package/dist/xlsx/formula/functions/text-convert.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/text-extra.d.ts +3 -0
- package/dist/xlsx/formula/functions/text-extra.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/text.d.ts +3 -0
- package/dist/xlsx/formula/functions/text.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/types.d.ts +30 -0
- package/dist/xlsx/formula/functions/types.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/workdays.d.ts +3 -0
- package/dist/xlsx/formula/functions/workdays.d.ts.map +1 -0
- package/dist/xlsx/formula/graph.d.ts +50 -0
- package/dist/xlsx/formula/graph.d.ts.map +1 -0
- package/dist/xlsx/formula/index.d.ts +14 -0
- package/dist/xlsx/formula/index.d.ts.map +1 -0
- package/dist/xlsx/formula/lexemes.d.ts +41 -0
- package/dist/xlsx/formula/lexemes.d.ts.map +1 -0
- package/dist/xlsx/formula/move.d.ts +23 -0
- package/dist/xlsx/formula/move.d.ts.map +1 -0
- package/dist/xlsx/formula/operators.d.ts +15 -0
- package/dist/xlsx/formula/operators.d.ts.map +1 -0
- package/dist/xlsx/formula/parser.d.ts +4 -0
- package/dist/xlsx/formula/parser.d.ts.map +1 -0
- package/dist/xlsx/formula/references.d.ts +36 -0
- package/dist/xlsx/formula/references.d.ts.map +1 -0
- package/dist/xlsx/formula/scc.d.ts +6 -0
- package/dist/xlsx/formula/scc.d.ts.map +1 -0
- package/dist/xlsx/formula/sheet-scan.d.ts +10 -0
- package/dist/xlsx/formula/sheet-scan.d.ts.map +1 -0
- package/dist/xlsx/formula/spill.d.ts +32 -0
- package/dist/xlsx/formula/spill.d.ts.map +1 -0
- package/dist/xlsx/formula/store.d.ts +10 -0
- package/dist/xlsx/formula/store.d.ts.map +1 -0
- package/dist/xlsx/formula/structured-to-a1.d.ts +18 -0
- package/dist/xlsx/formula/structured-to-a1.d.ts.map +1 -0
- package/dist/xlsx/formula/structured.d.ts +4 -0
- package/dist/xlsx/formula/structured.d.ts.map +1 -0
- package/dist/xlsx/formula/table-refs.d.ts +7 -0
- package/dist/xlsx/formula/table-refs.d.ts.map +1 -0
- package/dist/xlsx/formula/test-helpers.d.ts +32 -0
- package/dist/xlsx/formula/test-helpers.d.ts.map +1 -0
- package/dist/xlsx/formula/text-number.d.ts +11 -0
- package/dist/xlsx/formula/text-number.d.ts.map +1 -0
- package/dist/xlsx/formula/tokenizer.d.ts +21 -0
- package/dist/xlsx/formula/tokenizer.d.ts.map +1 -0
- package/dist/xlsx/formula/transform.d.ts +49 -0
- package/dist/xlsx/formula/transform.d.ts.map +1 -0
- package/dist/xlsx/formula/values.d.ts +63 -0
- package/dist/xlsx/formula/values.d.ts.map +1 -0
- package/dist/xlsx/index.cjs +20579 -0
- package/dist/xlsx/index.d.ts +14 -0
- package/dist/xlsx/index.d.ts.map +1 -0
- package/dist/xlsx/index.mjs +20396 -0
- package/dist/xlsx/layout/autofit.d.ts +12 -0
- package/dist/xlsx/layout/autofit.d.ts.map +1 -0
- package/dist/xlsx/layout/axis-metrics.d.ts +39 -0
- package/dist/xlsx/layout/axis-metrics.d.ts.map +1 -0
- package/dist/xlsx/layout/cell-view.d.ts +21 -0
- package/dist/xlsx/layout/cell-view.d.ts.map +1 -0
- package/dist/xlsx/layout/cf-evaluator.d.ts +26 -0
- package/dist/xlsx/layout/cf-evaluator.d.ts.map +1 -0
- package/dist/xlsx/layout/cf-helpers.d.ts +8 -0
- package/dist/xlsx/layout/cf-helpers.d.ts.map +1 -0
- package/dist/xlsx/layout/cf-values.d.ts +25 -0
- package/dist/xlsx/layout/cf-values.d.ts.map +1 -0
- package/dist/xlsx/layout/chart-colors.d.ts +6 -0
- package/dist/xlsx/layout/chart-colors.d.ts.map +1 -0
- package/dist/xlsx/layout/chart-scale.d.ts +25 -0
- package/dist/xlsx/layout/chart-scale.d.ts.map +1 -0
- package/dist/xlsx/layout/chart-svg-cartesian.d.ts +5 -0
- package/dist/xlsx/layout/chart-svg-cartesian.d.ts.map +1 -0
- package/dist/xlsx/layout/chart-svg-radial.d.ts +7 -0
- package/dist/xlsx/layout/chart-svg-radial.d.ts.map +1 -0
- package/dist/xlsx/layout/chart-svg-util.d.ts +29 -0
- package/dist/xlsx/layout/chart-svg-util.d.ts.map +1 -0
- package/dist/xlsx/layout/chart-svg.d.ts +7 -0
- package/dist/xlsx/layout/chart-svg.d.ts.map +1 -0
- package/dist/xlsx/layout/chart-view.d.ts +42 -0
- package/dist/xlsx/layout/chart-view.d.ts.map +1 -0
- package/dist/xlsx/layout/colors.d.ts +20 -0
- package/dist/xlsx/layout/colors.d.ts.map +1 -0
- package/dist/xlsx/layout/index.d.ts +21 -0
- package/dist/xlsx/layout/index.d.ts.map +1 -0
- package/dist/xlsx/layout/metrics.d.ts +41 -0
- package/dist/xlsx/layout/metrics.d.ts.map +1 -0
- package/dist/xlsx/layout/navigate.d.ts +6 -0
- package/dist/xlsx/layout/navigate.d.ts.map +1 -0
- package/dist/xlsx/layout/ref-evaluator.d.ts +16 -0
- package/dist/xlsx/layout/ref-evaluator.d.ts.map +1 -0
- package/dist/xlsx/layout/row-autofit.d.ts +17 -0
- package/dist/xlsx/layout/row-autofit.d.ts.map +1 -0
- package/dist/xlsx/layout/sheet-queries.d.ts +37 -0
- package/dist/xlsx/layout/sheet-queries.d.ts.map +1 -0
- package/dist/xlsx/layout/style-view.d.ts +18 -0
- package/dist/xlsx/layout/style-view.d.ts.map +1 -0
- package/dist/xlsx/layout/tint.d.ts +26 -0
- package/dist/xlsx/layout/tint.d.ts.map +1 -0
- package/dist/xlsx/layout/types.d.ts +106 -0
- package/dist/xlsx/layout/types.d.ts.map +1 -0
- package/dist/xlsx/layout/units.d.ts +37 -0
- package/dist/xlsx/layout/units.d.ts.map +1 -0
- package/dist/xlsx/layout/viewport.d.ts +27 -0
- package/dist/xlsx/layout/viewport.d.ts.map +1 -0
- package/dist/xlsx/load/csv.d.ts +29 -0
- package/dist/xlsx/load/csv.d.ts.map +1 -0
- package/dist/xlsx/load/detect.d.ts +22 -0
- package/dist/xlsx/load/detect.d.ts.map +1 -0
- package/dist/xlsx/load/index.cjs +15619 -0
- package/dist/xlsx/load/index.d.ts +4 -0
- package/dist/xlsx/load/index.d.ts.map +1 -0
- package/dist/xlsx/load/index.mjs +15603 -0
- package/dist/xlsx/load/legacy-xls-sheet.d.ts +14 -0
- package/dist/xlsx/load/legacy-xls-sheet.d.ts.map +1 -0
- package/dist/xlsx/load/legacy-xls-styles.d.ts +9 -0
- package/dist/xlsx/load/legacy-xls-styles.d.ts.map +1 -0
- package/dist/xlsx/load/legacy-xls.d.ts +10 -0
- package/dist/xlsx/load/legacy-xls.d.ts.map +1 -0
- package/dist/xlsx/model.d.ts +535 -0
- package/dist/xlsx/model.d.ts.map +1 -0
- package/dist/xlsx/numfmt/builtins.d.ts +15 -0
- package/dist/xlsx/numfmt/builtins.d.ts.map +1 -0
- package/dist/xlsx/numfmt/compile.d.ts +26 -0
- package/dist/xlsx/numfmt/compile.d.ts.map +1 -0
- package/dist/xlsx/numfmt/date.d.ts +34 -0
- package/dist/xlsx/numfmt/date.d.ts.map +1 -0
- package/dist/xlsx/numfmt/decimal.d.ts +27 -0
- package/dist/xlsx/numfmt/decimal.d.ts.map +1 -0
- package/dist/xlsx/numfmt/decimals.d.ts +10 -0
- package/dist/xlsx/numfmt/decimals.d.ts.map +1 -0
- package/dist/xlsx/numfmt/format.d.ts +13 -0
- package/dist/xlsx/numfmt/format.d.ts.map +1 -0
- package/dist/xlsx/numfmt/fraction.d.ts +38 -0
- package/dist/xlsx/numfmt/fraction.d.ts.map +1 -0
- package/dist/xlsx/numfmt/general.d.ts +8 -0
- package/dist/xlsx/numfmt/general.d.ts.map +1 -0
- package/dist/xlsx/numfmt/index.d.ts +8 -0
- package/dist/xlsx/numfmt/index.d.ts.map +1 -0
- package/dist/xlsx/numfmt/input-date.d.ts +16 -0
- package/dist/xlsx/numfmt/input-date.d.ts.map +1 -0
- package/dist/xlsx/numfmt/input.d.ts +23 -0
- package/dist/xlsx/numfmt/input.d.ts.map +1 -0
- package/dist/xlsx/numfmt/number.d.ts +38 -0
- package/dist/xlsx/numfmt/number.d.ts.map +1 -0
- package/dist/xlsx/numfmt/tokenizer.d.ts +6 -0
- package/dist/xlsx/numfmt/tokenizer.d.ts.map +1 -0
- package/dist/xlsx/numfmt/types.d.ts +87 -0
- package/dist/xlsx/numfmt/types.d.ts.map +1 -0
- package/dist/xlsx/read/builtin-formats.d.ts +10 -0
- package/dist/xlsx/read/builtin-formats.d.ts.map +1 -0
- package/dist/xlsx/read/chart.d.ts +7 -0
- package/dist/xlsx/read/chart.d.ts.map +1 -0
- package/dist/xlsx/read/comments.d.ts +10 -0
- package/dist/xlsx/read/comments.d.ts.map +1 -0
- package/dist/xlsx/read/conditional.d.ts +6 -0
- package/dist/xlsx/read/conditional.d.ts.map +1 -0
- package/dist/xlsx/read/dates.d.ts +6 -0
- package/dist/xlsx/read/dates.d.ts.map +1 -0
- package/dist/xlsx/read/drawing.d.ts +10 -0
- package/dist/xlsx/read/drawing.d.ts.map +1 -0
- package/dist/xlsx/read/formula-storage.d.ts +5 -0
- package/dist/xlsx/read/formula-storage.d.ts.map +1 -0
- package/dist/xlsx/read/formula-text.d.ts +15 -0
- package/dist/xlsx/read/formula-text.d.ts.map +1 -0
- package/dist/xlsx/read/index.d.ts +3 -0
- package/dist/xlsx/read/index.d.ts.map +1 -0
- package/dist/xlsx/read/load.d.ts +7 -0
- package/dist/xlsx/read/load.d.ts.map +1 -0
- package/dist/xlsx/read/metadata.d.ts +8 -0
- package/dist/xlsx/read/metadata.d.ts.map +1 -0
- package/dist/xlsx/read/package.d.ts +60 -0
- package/dist/xlsx/read/package.d.ts.map +1 -0
- package/dist/xlsx/read/print-options.d.ts +7 -0
- package/dist/xlsx/read/print-options.d.ts.map +1 -0
- package/dist/xlsx/read/shared-strings.d.ts +13 -0
- package/dist/xlsx/read/shared-strings.d.ts.map +1 -0
- package/dist/xlsx/read/sheet-data.d.ts +15 -0
- package/dist/xlsx/read/sheet-data.d.ts.map +1 -0
- package/dist/xlsx/read/sheet-props.d.ts +21 -0
- package/dist/xlsx/read/sheet-props.d.ts.map +1 -0
- package/dist/xlsx/read/style-parts.d.ts +20 -0
- package/dist/xlsx/read/style-parts.d.ts.map +1 -0
- package/dist/xlsx/read/styles.d.ts +17 -0
- package/dist/xlsx/read/styles.d.ts.map +1 -0
- package/dist/xlsx/read/tables.d.ts +4 -0
- package/dist/xlsx/read/tables.d.ts.map +1 -0
- package/dist/xlsx/read/theme.d.ts +11 -0
- package/dist/xlsx/read/theme.d.ts.map +1 -0
- package/dist/xlsx/read/workbook-part.d.ts +23 -0
- package/dist/xlsx/read/workbook-part.d.ts.map +1 -0
- package/dist/xlsx/read/worksheet.d.ts +18 -0
- package/dist/xlsx/read/worksheet.d.ts.map +1 -0
- package/dist/xlsx/read/xml-util.d.ts +28 -0
- package/dist/xlsx/read/xml-util.d.ts.map +1 -0
- package/dist/xlsx/styles.d.ts +27 -0
- package/dist/xlsx/styles.d.ts.map +1 -0
- package/dist/xlsx/time-period.d.ts +9 -0
- package/dist/xlsx/time-period.d.ts.map +1 -0
- package/dist/xlsx/workbook.d.ts +26 -0
- package/dist/xlsx/workbook.d.ts.map +1 -0
- package/dist/xlsx/write/chart-patch.d.ts +9 -0
- package/dist/xlsx/write/chart-patch.d.ts.map +1 -0
- package/dist/xlsx/write/chart.d.ts +9 -0
- package/dist/xlsx/write/chart.d.ts.map +1 -0
- package/dist/xlsx/write/comments.d.ts +23 -0
- package/dist/xlsx/write/comments.d.ts.map +1 -0
- package/dist/xlsx/write/conditional.d.ts +5 -0
- package/dist/xlsx/write/conditional.d.ts.map +1 -0
- package/dist/xlsx/write/drawing.d.ts +10 -0
- package/dist/xlsx/write/drawing.d.ts.map +1 -0
- package/dist/xlsx/write/dynamic-array.d.ts +16 -0
- package/dist/xlsx/write/dynamic-array.d.ts.map +1 -0
- package/dist/xlsx/write/index.d.ts +2 -0
- package/dist/xlsx/write/index.d.ts.map +1 -0
- package/dist/xlsx/write/package-writer.d.ts +31 -0
- package/dist/xlsx/write/package-writer.d.ts.map +1 -0
- package/dist/xlsx/write/save.d.ts +8 -0
- package/dist/xlsx/write/save.d.ts.map +1 -0
- package/dist/xlsx/write/shared-strings.d.ts +13 -0
- package/dist/xlsx/write/shared-strings.d.ts.map +1 -0
- package/dist/xlsx/write/sheet-data.d.ts +19 -0
- package/dist/xlsx/write/sheet-data.d.ts.map +1 -0
- package/dist/xlsx/write/sheet-parts.d.ts +34 -0
- package/dist/xlsx/write/sheet-parts.d.ts.map +1 -0
- package/dist/xlsx/write/sheet-props.d.ts +16 -0
- package/dist/xlsx/write/sheet-props.d.ts.map +1 -0
- package/dist/xlsx/write/snapshot.d.ts +9 -0
- package/dist/xlsx/write/snapshot.d.ts.map +1 -0
- package/dist/xlsx/write/style-xml.d.ts +13 -0
- package/dist/xlsx/write/style-xml.d.ts.map +1 -0
- package/dist/xlsx/write/styles.d.ts +24 -0
- package/dist/xlsx/write/styles.d.ts.map +1 -0
- package/dist/xlsx/write/tables.d.ts +18 -0
- package/dist/xlsx/write/tables.d.ts.map +1 -0
- package/dist/xlsx/write/theme.d.ts +9 -0
- package/dist/xlsx/write/theme.d.ts.map +1 -0
- package/dist/xlsx/write/workbook-part.d.ts +16 -0
- package/dist/xlsx/write/workbook-part.d.ts.map +1 -0
- package/dist/xlsx/write/worksheet.d.ts +6 -0
- package/dist/xlsx/write/worksheet.d.ts.map +1 -0
- package/dist/xlsx/write/xml-out.d.ts +25 -0
- package/dist/xlsx/write/xml-out.d.ts.map +1 -0
- package/dist/xml/index.cjs +16 -0
- package/dist/xml/index.mjs +16 -0
- package/dist/xml/namespaces.d.ts +16 -0
- package/dist/xml/namespaces.d.ts.map +1 -1
- package/package.json +16 -3
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type CellRange } from '../address.js';
|
|
2
|
+
import type { CellValue, Worksheet } from '../model.js';
|
|
3
|
+
import { type EditContext } from './context.js';
|
|
4
|
+
export interface SortKey {
|
|
5
|
+
col: number;
|
|
6
|
+
descending?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Compares two cell values as Excel's sort does. Blanks always sort last, whatever the direction;
|
|
10
|
+
* text compares case-insensitively.
|
|
11
|
+
*/
|
|
12
|
+
export declare function compareCellValues(a: CellValue, b: CellValue, descending?: boolean): number;
|
|
13
|
+
/** Sorts rows of a range in place (no undo step). Exported for the auto-filter sort. */
|
|
14
|
+
export declare function sortRows(sheet: Worksheet, range: CellRange, keys: SortKey[], hasHeader: boolean): void;
|
|
15
|
+
/** Sorts the rows of `range` by `keys` (absolute column indices), stable, header kept in place. */
|
|
16
|
+
export declare function sortRange(ctx: EditContext, s: number, range: CellRange, keys: SortKey[], hasHeader: boolean): void;
|
|
17
|
+
//# sourceMappingURL=sort.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/sort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAmC,MAAM,eAAe,CAAC;AAEhF,OAAO,KAAK,EAAQ,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,KAAK,WAAW,EAAW,MAAM,cAAc,CAAC;AAIzD,MAAM,WAAW,OAAO;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAeD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,UAAQ,GAAG,MAAM,CAaxF;AAED,wFAAwF;AACxF,wBAAgB,QAAQ,CACvB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,OAAO,EAAE,EACf,SAAS,EAAE,OAAO,GAChB,IAAI,CAiDN;AAsBD,mGAAmG;AACnG,wBAAgB,SAAS,CACxB,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,OAAO,EAAE,EACf,SAAS,EAAE,OAAO,GAChB,IAAI,CAUN"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Worksheet } from '../model.js';
|
|
2
|
+
import { type EditContext } from './context.js';
|
|
3
|
+
import type { AxisShift } from './range-math.js';
|
|
4
|
+
/** Applies an axis shift to a sheet and every formula in the workbook (no undo step). */
|
|
5
|
+
export declare function applyAxisShift(ctx: EditContext, sheet: Worksheet, shift: AxisShift): void;
|
|
6
|
+
export declare const insertRows: (ctx: EditContext, s: number, at: number, count: number) => void;
|
|
7
|
+
export declare const deleteRows: (ctx: EditContext, s: number, at: number, count: number) => void;
|
|
8
|
+
export declare const insertColumns: (ctx: EditContext, s: number, at: number, count: number) => void;
|
|
9
|
+
export declare const deleteColumns: (ctx: EditContext, s: number, at: number, count: number) => void;
|
|
10
|
+
//# sourceMappingURL=structure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/structure.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,WAAW,EAAW,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAQ,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAUvD,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAMzF;AA+CD,eAAO,MAAM,UAAU,GAAI,KAAK,WAAW,EAAE,GAAG,MAAM,EAAE,IAAI,MAAM,EAAE,OAAO,MAAM,KAAG,IAC1C,CAAC;AAC3C,eAAO,MAAM,UAAU,GAAI,KAAK,WAAW,EAAE,GAAG,MAAM,EAAE,IAAI,MAAM,EAAE,OAAO,MAAM,KAAG,IACzC,CAAC;AAC5C,eAAO,MAAM,aAAa,GAAI,KAAK,WAAW,EAAE,GAAG,MAAM,EAAE,IAAI,MAAM,EAAE,OAAO,MAAM,KAAG,IAC7C,CAAC;AAC3C,eAAO,MAAM,aAAa,GAAI,KAAK,WAAW,EAAE,GAAG,MAAM,EAAE,IAAI,MAAM,EAAE,OAAO,MAAM,KAAG,IAC5C,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type CellRange } from '../address.js';
|
|
2
|
+
import type { Table, Workbook, Worksheet } from '../model.js';
|
|
3
|
+
import { type EditContext } from './context.js';
|
|
4
|
+
/** A table by index in `sheet.tables` or by name (case-insensitive). */
|
|
5
|
+
export type TableRef = number | string;
|
|
6
|
+
/** What `updateTable` may change. */
|
|
7
|
+
export type TablePatch = Partial<Omit<Table, 'id' | 'partName'>>;
|
|
8
|
+
export declare function tableIndex(sheet: Worksheet, ref: TableRef): number;
|
|
9
|
+
/** Why `name` cannot name a table in this workbook (ignoring `self`), or undefined. */
|
|
10
|
+
export declare function validateTableName(workbook: Workbook, name: string, self?: Table): string | undefined;
|
|
11
|
+
/** Renames a table and every structured reference to it (no undo step). */
|
|
12
|
+
export declare function renameTableIn(workbook: Workbook, table: Table, name: string): void;
|
|
13
|
+
/**
|
|
14
|
+
* Updates a table: style and stripe options, name (structured references follow), header and
|
|
15
|
+
* totals rows (cells are added or cleared like Excel), columns and range.
|
|
16
|
+
*/
|
|
17
|
+
export declare function updateTable(ctx: EditContext, s: number, ref: TableRef, patch: TablePatch): void;
|
|
18
|
+
/** Resizes a table to `range` (Table Design > Resize Table). */
|
|
19
|
+
export declare function resizeTable(ctx: EditContext, s: number, ref: TableRef, range: CellRange): void;
|
|
20
|
+
/**
|
|
21
|
+
* Turns a table back into a plain range: its cells stay, structured references to it become
|
|
22
|
+
* absolute A1 references everywhere, and the table (with its auto-filter) goes.
|
|
23
|
+
*/
|
|
24
|
+
export declare function convertTableToRange(ctx: EditContext, s: number, ref: TableRef): void;
|
|
25
|
+
//# sourceMappingURL=table-edits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-edits.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/table-edits.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAmC,MAAM,eAAe,CAAC;AAIhF,OAAO,KAAK,EAAE,KAAK,EAAe,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG3E,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,cAAc,CAAC;AAOtE,wEAAwE;AACxE,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC,qCAAqC;AACrC,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC;AAEjE,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CAOlE;AAID,uFAAuF;AACvF,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,KAAK,GACV,MAAM,GAAG,SAAS,CAWpB;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAYlF;AAwHD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAsC/F;AAED,gEAAgE;AAChE,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAU9F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAyCpF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Table, Worksheet } from '../model.js';
|
|
2
|
+
/** Whether a row holds no values or formulas between two columns. */
|
|
3
|
+
export declare function rowIsEmpty(sheet: Worksheet, row: number, lo: number, hi: number): boolean;
|
|
4
|
+
/** Clears the contents of a row between two columns (formats stay). */
|
|
5
|
+
export declare function clearRow(sheet: Worksheet, row: number, lo: number, hi: number): void;
|
|
6
|
+
/**
|
|
7
|
+
* Fills the totals row from the columns' `totalsRowLabel` / `totalsRowFunction`. When no column
|
|
8
|
+
* has either yet, Excel's default applies: `Total` in the first column and a sum in the last.
|
|
9
|
+
*/
|
|
10
|
+
export declare function applyTotalsRow(sheet: Worksheet, table: Table): void;
|
|
11
|
+
//# sourceMappingURL=table-rows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-rows.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/table-rows.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIpD,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAWzF;AAED,uEAAuE;AACvE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAOpF;AAeD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAmBnE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type CellRange } from '../address.js';
|
|
2
|
+
import type { Table } from '../model.js';
|
|
3
|
+
import { type EditContext } from './context.js';
|
|
4
|
+
/** Unique header names: blanks become `ColumnN`, repeats get a number suffix (`Name2`). */
|
|
5
|
+
export declare function uniqueHeaders(texts: string[]): string[];
|
|
6
|
+
/**
|
|
7
|
+
* Turns a range into a table (a single cell expands to its current region). Without a header
|
|
8
|
+
* row, cells are shifted down one row and a `Column1`, `Column2`, ... header is inserted.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createTable(ctx: EditContext, s: number, range: CellRange, hasHeader: boolean, styleName?: string): Table;
|
|
11
|
+
//# sourceMappingURL=tables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAmC,MAAM,eAAe,CAAC;AAEhF,OAAO,KAAK,EAAE,KAAK,EAAyB,MAAM,aAAa,CAAC;AAEhE,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,cAAc,CAAC;AAYtE,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAiBvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAC1B,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,OAAO,EAClB,SAAS,SAAsB,GAC7B,KAAK,CAyDP"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Workbook } from '../model.js';
|
|
2
|
+
import type { EditContext } from './context.js';
|
|
3
|
+
import { type HistoryEntry } from './history.js';
|
|
4
|
+
import type { WorkbookChangeKind } from './types.js';
|
|
5
|
+
export interface TestContext extends EditContext {
|
|
6
|
+
readonly steps: {
|
|
7
|
+
label: string;
|
|
8
|
+
kind: WorkbookChangeKind;
|
|
9
|
+
entries: HistoryEntry[];
|
|
10
|
+
}[];
|
|
11
|
+
/** Restores the last step's snapshots. */
|
|
12
|
+
undo(): void;
|
|
13
|
+
}
|
|
14
|
+
export declare function testContext(workbook: Workbook): TestContext;
|
|
15
|
+
//# sourceMappingURL=test-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-context.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/test-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAgB,KAAK,YAAY,EAAmB,MAAM,cAAc,CAAC;AAChF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,QAAQ,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,kBAAkB,CAAC;QAAC,OAAO,EAAE,YAAY,EAAE,CAAA;KAAE,EAAE,CAAC;IACvF,0CAA0C;IAC1C,IAAI,IAAI,IAAI,CAAC;CACb;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAyB3D"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { CellRange } from '../address.js';
|
|
2
|
+
import type { CellStyle, CellValue, RichTextRun } from '../model.js';
|
|
3
|
+
/** One copied cell, self-contained so it can be pasted into another workbook. */
|
|
4
|
+
export interface ClipboardCell {
|
|
5
|
+
value: CellValue;
|
|
6
|
+
formula?: string;
|
|
7
|
+
/** The resolved format (not an index), so it survives a paste into another workbook. */
|
|
8
|
+
style?: CellStyle;
|
|
9
|
+
richText?: RichTextRun[];
|
|
10
|
+
/** Number format implied by pasted text (`15%`), applied when the target is `General`. */
|
|
11
|
+
numFmt?: string;
|
|
12
|
+
/** Display text as the grid shows it. */
|
|
13
|
+
text: string;
|
|
14
|
+
/** The formula uses pre-dynamic-array semantics (see `Cell.legacyFormula`). */
|
|
15
|
+
legacyFormula?: true;
|
|
16
|
+
/**
|
|
17
|
+
* A dynamic-array result whose anchor formula is part of the same copy: pasting formulas
|
|
18
|
+
* recreates it from the anchor, so only `values` pastes write it.
|
|
19
|
+
*/
|
|
20
|
+
spilled?: true;
|
|
21
|
+
}
|
|
22
|
+
export interface ClipboardCells {
|
|
23
|
+
rows: number;
|
|
24
|
+
cols: number;
|
|
25
|
+
/** `data[r][c]`; `null` for an empty cell. */
|
|
26
|
+
data: (ClipboardCell | null)[][];
|
|
27
|
+
/** Merged areas, relative to the top-left of the copied block. */
|
|
28
|
+
merges: CellRange[];
|
|
29
|
+
/** Where the cells were copied from, when they came from a session. */
|
|
30
|
+
source?: {
|
|
31
|
+
sheet: number;
|
|
32
|
+
range: CellRange;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/** What `copy` returns: text for the system clipboard plus the cells for an internal paste. */
|
|
36
|
+
export interface ClipboardPayload {
|
|
37
|
+
tsv: string;
|
|
38
|
+
html: string;
|
|
39
|
+
cells: ClipboardCells;
|
|
40
|
+
/** Set by `cut`; the first paste clears the source and then resets this flag. */
|
|
41
|
+
cut?: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface FindQuery {
|
|
44
|
+
text: string;
|
|
45
|
+
/** Sheet to search; all sheets when absent. */
|
|
46
|
+
sheet?: number;
|
|
47
|
+
/** Limit the search to a range (only with `sheet`). */
|
|
48
|
+
range?: CellRange;
|
|
49
|
+
matchCase?: boolean;
|
|
50
|
+
/** The whole cell content must match. */
|
|
51
|
+
wholeCell?: boolean;
|
|
52
|
+
/** `formulas` searches what was typed (formula text, raw constants); `values` the display text. */
|
|
53
|
+
lookIn?: 'formulas' | 'values' | 'comments';
|
|
54
|
+
/** Excel wildcards: `*` any run, `?` one character, `~` escapes. Default true. */
|
|
55
|
+
wildcards?: boolean;
|
|
56
|
+
/** Search order; rows by default. */
|
|
57
|
+
order?: 'rows' | 'columns';
|
|
58
|
+
}
|
|
59
|
+
export interface FindMatch {
|
|
60
|
+
sheet: number;
|
|
61
|
+
row: number;
|
|
62
|
+
col: number;
|
|
63
|
+
/** The text that was searched in this cell. */
|
|
64
|
+
text: string;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=types-clipboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-clipboard.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/types-clipboard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAErE,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,IAAI,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACjC,kEAAkE;IAClE,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,uEAAuE;IACvE,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;CAC7C;AAED,+FAA+F;AAC/F,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,cAAc,CAAC;IACtB,iFAAiF;IACjF,GAAG,CAAC,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yCAAyC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mGAAmG;IACnG,MAAM,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC5C,kFAAkF;IAClF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;CACb"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import type { CellAddress, CellRange } from '../address.js';
|
|
2
|
+
import type { BorderEdge, CellStyle, CellValue, ChartObject, Color, ConditionalFormat, ImageObject, DataValidation, DefinedName, DrawingAnchor, FreezePane, Hyperlink, PageSetup, PrintOptions, SheetProtection, SheetState, SheetView, Table, Workbook } from '../model.js';
|
|
3
|
+
import type { FontView } from '../layout/types.js';
|
|
4
|
+
import type { StylePatch } from '../styles.js';
|
|
5
|
+
import type { CalcEngine } from './deps.js';
|
|
6
|
+
import type { ChartPatch } from './charts.js';
|
|
7
|
+
import type { TablePatch, TableRef } from './table-edits.js';
|
|
8
|
+
/** Border presets of the ribbon's border drop-down. */
|
|
9
|
+
export type BorderPreset = 'all' | 'outside' | 'thickOutside' | 'none' | 'top' | 'bottom' | 'left' | 'right' | 'inside' | 'insideH' | 'insideV' | 'thickBottom' | 'doubleBottom' | 'topAndBottom';
|
|
10
|
+
/** What `clearRange` removes. */
|
|
11
|
+
export type ClearWhat = 'all' | 'contents' | 'formats' | 'comments' | 'hyperlinks';
|
|
12
|
+
export type PasteMode = 'all' | 'values' | 'formats' | 'formulas' | 'transpose';
|
|
13
|
+
export type MergeMode = 'merge' | 'center' | 'across';
|
|
14
|
+
export type { ClipboardCell, ClipboardCells, ClipboardPayload, FindMatch, FindQuery, } from './types-clipboard.js';
|
|
15
|
+
import type { ClipboardPayload, FindMatch, FindQuery } from './types-clipboard.js';
|
|
16
|
+
export type WorkbookChangeKind = 'cells' | 'format' | 'structure' | 'sheets' | 'annotations' | 'view' | 'names' | 'batch' | 'undo' | 'redo';
|
|
17
|
+
export interface WorkbookChange {
|
|
18
|
+
kind: WorkbookChangeKind;
|
|
19
|
+
/** Undo label of the edit. */
|
|
20
|
+
label: string;
|
|
21
|
+
/** The sheet the edit touched, when it touched one. */
|
|
22
|
+
sheet?: number;
|
|
23
|
+
ranges?: CellRange[];
|
|
24
|
+
/** Rows, columns or sheets moved: views must rebuild metrics, not only repaint cells. */
|
|
25
|
+
structural: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface ValidationFailure {
|
|
28
|
+
ok: false;
|
|
29
|
+
style: 'stop' | 'warning' | 'information';
|
|
30
|
+
title?: string;
|
|
31
|
+
message: string;
|
|
32
|
+
}
|
|
33
|
+
export type ValidationResult = {
|
|
34
|
+
ok: true;
|
|
35
|
+
} | ValidationFailure;
|
|
36
|
+
export interface EditSessionOptions {
|
|
37
|
+
/** Recalculate formulas after every edit (default true). */
|
|
38
|
+
recalc?: boolean;
|
|
39
|
+
/** Undo depth (default 100). */
|
|
40
|
+
historyLimit?: number;
|
|
41
|
+
/** Base of new sheet names (`Sheet` gives `Sheet2`, ...), for localized UIs. */
|
|
42
|
+
defaultSheetBase?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Re-fit rows without a custom height after edits that change cell text or formats, as Excel
|
|
45
|
+
* grows and shrinks such rows (default true). The re-fit undoes together with the edit.
|
|
46
|
+
*/
|
|
47
|
+
autoRowHeight?: boolean;
|
|
48
|
+
/** Text measurement for the row re-fit, in CSS px (default: an estimate from the font size). */
|
|
49
|
+
measureText?: (text: string, font: FontView) => number;
|
|
50
|
+
}
|
|
51
|
+
/** The editing API every UI drives. Each method is one undo step; `batch` groups several. */
|
|
52
|
+
export interface EditSession {
|
|
53
|
+
readonly workbook: Workbook;
|
|
54
|
+
readonly calc: CalcEngine;
|
|
55
|
+
setCellInput(sheet: number, row: number, col: number, text: string): void;
|
|
56
|
+
setCellValue(sheet: number, row: number, col: number, value: CellValue): void;
|
|
57
|
+
setRangeValues(sheet: number, at: CellAddress, values: CellValue[][]): void;
|
|
58
|
+
clearRange(sheet: number, range: CellRange, what: ClearWhat): void;
|
|
59
|
+
applyStyle(sheet: number, ranges: CellRange[], patch: StylePatch): void;
|
|
60
|
+
setBorders(sheet: number, range: CellRange, preset: BorderPreset, edge?: BorderEdge): void;
|
|
61
|
+
insertRows(sheet: number, at: number, count: number): void;
|
|
62
|
+
deleteRows(sheet: number, at: number, count: number): void;
|
|
63
|
+
insertColumns(sheet: number, at: number, count: number): void;
|
|
64
|
+
deleteColumns(sheet: number, at: number, count: number): void;
|
|
65
|
+
insertCellsShift(sheet: number, range: CellRange, direction: 'down' | 'right'): void;
|
|
66
|
+
deleteCellsShift(sheet: number, range: CellRange, direction: 'up' | 'left'): void;
|
|
67
|
+
setColumnWidth(sheet: number, cols: number[], width: number | 'auto', measure?: (text: string, style: CellStyle) => number): void;
|
|
68
|
+
setRowHeight(sheet: number, rows: number[], height: number | 'auto'): void;
|
|
69
|
+
setHidden(sheet: number, axis: 'row' | 'col', indices: number[], hidden: boolean): void;
|
|
70
|
+
merge(sheet: number, range: CellRange, mode: MergeMode): void;
|
|
71
|
+
unmerge(sheet: number, range: CellRange): void;
|
|
72
|
+
sort(sheet: number, range: CellRange, keys: {
|
|
73
|
+
col: number;
|
|
74
|
+
descending?: boolean;
|
|
75
|
+
}[], hasHeader: boolean): void;
|
|
76
|
+
fill(sheet: number, source: CellRange, target: CellRange): void;
|
|
77
|
+
copy(sheet: number, range: CellRange): ClipboardPayload;
|
|
78
|
+
cut(sheet: number, range: CellRange): ClipboardPayload;
|
|
79
|
+
paste(sheet: number, at: CellAddress, payload: ClipboardPayload | string, mode?: PasteMode): CellRange;
|
|
80
|
+
findAll(query: FindQuery): FindMatch[];
|
|
81
|
+
replaceAll(query: FindQuery, replacement: string): number;
|
|
82
|
+
/** Replaces the query in one matched cell; false when the cell no longer matches. */
|
|
83
|
+
replaceOne(query: FindQuery, replacement: string, at: FindMatch): boolean;
|
|
84
|
+
addSheet(name?: string, at?: number): number;
|
|
85
|
+
deleteSheet(index: number): void;
|
|
86
|
+
renameSheet(index: number, name: string): void;
|
|
87
|
+
moveSheet(from: number, to: number): void;
|
|
88
|
+
duplicateSheet(index: number): number;
|
|
89
|
+
setSheetState(index: number, state: SheetState): void;
|
|
90
|
+
setTabColor(index: number, color?: Color): void;
|
|
91
|
+
setFreeze(sheet: number, freeze: FreezePane | undefined): void;
|
|
92
|
+
setComment(sheet: number, at: CellAddress, text: string | undefined, author: string): void;
|
|
93
|
+
setHyperlink(sheet: number, range: CellRange, link: Omit<Hyperlink, 'range'> | undefined): void;
|
|
94
|
+
addConditionalFormat(sheet: number, format: ConditionalFormat): void;
|
|
95
|
+
clearConditionalFormats(sheet: number, range?: CellRange): void;
|
|
96
|
+
setDataValidation(sheet: number, validation: DataValidation | undefined, range: CellRange): void;
|
|
97
|
+
setAutoFilter(sheet: number, range: CellRange | undefined): void;
|
|
98
|
+
/** Filters an auto-filter column to display texts in `values` (`''` keeps blanks); undefined clears. */
|
|
99
|
+
filterColumn(sheet: number, col: number, values: string[] | undefined): void;
|
|
100
|
+
/** Sorts the auto-filter (or table) containing `col` by that column, keeping the header. */
|
|
101
|
+
sortByColumn(sheet: number, col: number, descending?: boolean): void;
|
|
102
|
+
createTable(sheet: number, range: CellRange, hasHeader: boolean, styleName?: string): Table;
|
|
103
|
+
setSheetView(sheet: number, patch: Partial<SheetView>): void;
|
|
104
|
+
setDefinedName(name: DefinedName): void;
|
|
105
|
+
deleteDefinedName(name: string, localSheet?: number): void;
|
|
106
|
+
/** Moves or resizes the picture, chart or shape at `index` of the sheet's drawings. */
|
|
107
|
+
setDrawingAnchor(sheet: number, index: number, anchor: DrawingAnchor): void;
|
|
108
|
+
/** Deletes the picture, chart or shape at `index` of the sheet's drawings. */
|
|
109
|
+
deleteDrawing(sheet: number, index: number): void;
|
|
110
|
+
/** Adds a chart drawn from the model; returns its index in the sheet's drawings. */
|
|
111
|
+
addChart(sheet: number, chart: Omit<ChartObject, 'kind'>): number;
|
|
112
|
+
/** Edits the chart at `index` of the sheet's drawings (a loaded chart part is patched on save). */
|
|
113
|
+
updateChart(sheet: number, index: number, patch: ChartPatch): void;
|
|
114
|
+
/** Inserts a picture (bytes stored as a new media part) and returns it. */
|
|
115
|
+
addImage(sheet: number, bytes: Uint8Array, contentType: string, anchor: DrawingAnchor, name?: string): ImageObject;
|
|
116
|
+
/** Replaces the conditional format at `index` (Rules Manager > Edit Rule). */
|
|
117
|
+
replaceConditionalFormat(sheet: number, index: number, format: ConditionalFormat): void;
|
|
118
|
+
/** Removes the conditional format at `index` (Rules Manager > Delete Rule). */
|
|
119
|
+
removeConditionalFormat(sheet: number, index: number): void;
|
|
120
|
+
/** Gives a rule a new priority (1 is evaluated first); every rule is renumbered 1..n. */
|
|
121
|
+
setConditionalRulePriority(sheet: number, formatIndex: number, ruleIndex: number, priority: number): void;
|
|
122
|
+
/** Moves a rule one step up or down in the evaluation order. */
|
|
123
|
+
moveConditionalRule(sheet: number, formatIndex: number, ruleIndex: number, direction: 'up' | 'down'): void;
|
|
124
|
+
/**
|
|
125
|
+
* Updates a table (by index in `sheet.tables` or by name): style options, name (structured
|
|
126
|
+
* references follow), header and totals rows, columns and range.
|
|
127
|
+
*/
|
|
128
|
+
updateTable(sheet: number, table: TableRef, patch: TablePatch): void;
|
|
129
|
+
/** Resizes a table; its header row must stay on the same row. */
|
|
130
|
+
resizeTable(sheet: number, table: TableRef, range: CellRange): void;
|
|
131
|
+
/** Converts a table to a plain range; structured references become absolute A1 references. */
|
|
132
|
+
convertTableToRange(sheet: number, table: TableRef): void;
|
|
133
|
+
/** Applies a named cell style (built-in such as `Good`, or one the workbook defines). */
|
|
134
|
+
applyCellStyle(sheet: number, ranges: CellRange[], name: string): void;
|
|
135
|
+
/** Patches the page setup; `undefined` entries clear a setting. */
|
|
136
|
+
setPageSetup(sheet: number, patch: {
|
|
137
|
+
[K in keyof PageSetup]?: PageSetup[K] | undefined;
|
|
138
|
+
}): void;
|
|
139
|
+
/** Patches the print options (gridlines, headings, centring); false clears one. */
|
|
140
|
+
setPrintOptions(sheet: number, patch: Partial<PrintOptions>): void;
|
|
141
|
+
/**
|
|
142
|
+
* Protects a sheet (`undefined` unprotects). A non-empty `password` stores its legacy hash,
|
|
143
|
+
* `''` removes it; unprotecting with a wrong password throws.
|
|
144
|
+
*/
|
|
145
|
+
setSheetProtection(sheet: number, protection: SheetProtection | undefined, password?: string): void;
|
|
146
|
+
/** Locks or unlocks the workbook structure, optionally with a password (checked on unlock). */
|
|
147
|
+
setWorkbookProtection(locked: boolean, password?: string): void;
|
|
148
|
+
/** Raises the outline level of rows `from`..`to` (inclusive). */
|
|
149
|
+
groupRows(sheet: number, from: number, to: number): void;
|
|
150
|
+
ungroupRows(sheet: number, from: number, to: number): void;
|
|
151
|
+
/** Raises the outline level of columns `from`..`to` (inclusive). */
|
|
152
|
+
groupColumns(sheet: number, from: number, to: number): void;
|
|
153
|
+
ungroupColumns(sheet: number, from: number, to: number): void;
|
|
154
|
+
/** The sheet's standard column width in characters; undefined restores Excel's default. */
|
|
155
|
+
setDefaultColumnWidth(sheet: number, width: number | undefined): void;
|
|
156
|
+
/** Removes rows whose `columns` (absolute; empty = all) repeat an earlier row's display text. */
|
|
157
|
+
removeDuplicates(sheet: number, range: CellRange, columns: number[], hasHeader: boolean): {
|
|
158
|
+
removed: number;
|
|
159
|
+
remaining: number;
|
|
160
|
+
};
|
|
161
|
+
/** Automatic or manual calculation (saved with the workbook). */
|
|
162
|
+
setCalcMode(mode: 'auto' | 'manual'): void;
|
|
163
|
+
/** `setCalcMode(enabled ? 'auto' : 'manual')`. */
|
|
164
|
+
setAutoRecalc(enabled: boolean): void;
|
|
165
|
+
/**
|
|
166
|
+
* Whether edits recalculate: false when the session was created with `recalc: false` (which
|
|
167
|
+
* always wins) or the workbook is in manual calculation mode.
|
|
168
|
+
*/
|
|
169
|
+
autoRecalc(): boolean;
|
|
170
|
+
/** Recalculates every formula (F9); not an undo step. */
|
|
171
|
+
calculateNow(): void;
|
|
172
|
+
/**
|
|
173
|
+
* Recalculates the formulas of one sheet and their dependents (Shift+F9). After structural
|
|
174
|
+
* edits made in manual mode the whole workbook is recalculated instead.
|
|
175
|
+
*/
|
|
176
|
+
calculateSheet(sheet: number): void;
|
|
177
|
+
/** Validates `value` against the cell's data validation, using this session's calc engine. */
|
|
178
|
+
validate(sheet: number, row: number, col: number, value: CellValue): ValidationResult;
|
|
179
|
+
batch(label: string, fn: () => void): void;
|
|
180
|
+
undo(): boolean;
|
|
181
|
+
redo(): boolean;
|
|
182
|
+
canUndo(): boolean;
|
|
183
|
+
canRedo(): boolean;
|
|
184
|
+
undoLabel(): string | undefined;
|
|
185
|
+
redoLabel(): string | undefined;
|
|
186
|
+
onChange(listener: (change: WorkbookChange) => void): () => void;
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { CellValue, DataValidation, Workbook } from '../model.js';
|
|
2
|
+
import type { ValidationResult } from './types.js';
|
|
3
|
+
export interface ValidationOptions {
|
|
4
|
+
/** Evaluates a validation formula at the cell (the session passes its calc engine). */
|
|
5
|
+
evaluate?: (formula: string, at: {
|
|
6
|
+
sheet: number;
|
|
7
|
+
row: number;
|
|
8
|
+
col: number;
|
|
9
|
+
}) => CellValue;
|
|
10
|
+
}
|
|
11
|
+
export declare const DEFAULT_VALIDATION_MESSAGE = "This value doesn't match the data validation restrictions defined for this cell.";
|
|
12
|
+
/** The validation rule covering a cell, if any. */
|
|
13
|
+
export declare function validationAt(workbook: Workbook, sheet: number, row: number, col: number): DataValidation | undefined;
|
|
14
|
+
/** The drop-down entries of a list validation on a cell, or undefined when it has none. */
|
|
15
|
+
export declare function listValidationOptions(workbook: Workbook, sheet: number, row: number, col: number, options?: ValidationOptions): string[] | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Checks a value against the data validation of a cell. Blank values pass unless `allowBlank`
|
|
18
|
+
* is explicitly false; rules whose error alert is turned off never reject.
|
|
19
|
+
*/
|
|
20
|
+
export declare function validateCellInput(workbook: Workbook, sheet: number, row: number, col: number, value: CellValue, options?: ValidationOptions): ValidationResult;
|
|
21
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/validation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAuB,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAK5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IACjC,uFAAuF;IACvF,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,KAAK,SAAS,CAAC;CAC3F;AAED,eAAO,MAAM,0BAA0B,qFAC4C,CAAC;AAcpF,mDAAmD;AACnD,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACT,cAAc,GAAG,SAAS,CAI5B;AAkGD,2FAA2F;AAC3F,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,iBAAsB,GAC7B,MAAM,EAAE,GAAG,SAAS,CAStB;AAgCD;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE,iBAAsB,GAC7B,gBAAgB,CAMlB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { DefinedName, FreezePane, SheetView } from '../model.js';
|
|
2
|
+
import { type EditContext } from './context.js';
|
|
3
|
+
/** Freezes the top `rows` and left `cols` (both zero, or undefined, unfreezes). */
|
|
4
|
+
export declare function setFreeze(ctx: EditContext, s: number, freeze: FreezePane | undefined): void;
|
|
5
|
+
/** Patches the sheet view (zoom, gridlines, headers, selection, ...). */
|
|
6
|
+
export declare function setSheetView(ctx: EditContext, s: number, patch: Partial<SheetView>): void;
|
|
7
|
+
/** Why a defined name is not acceptable, or undefined when it is. */
|
|
8
|
+
export declare function validateDefinedName(name: string): string | undefined;
|
|
9
|
+
/** Adds or replaces a defined name (matched by name, case-insensitively, and scope). */
|
|
10
|
+
export declare function setDefinedName(ctx: EditContext, name: DefinedName): void;
|
|
11
|
+
export declare function deleteDefinedName(ctx: EditContext, name: string, localSheet?: number): void;
|
|
12
|
+
//# sourceMappingURL=view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/xlsx/edit/view.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,KAAK,WAAW,EAAW,MAAM,cAAc,CAAC;AAEzD,mFAAmF;AACnF,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAgB3F;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAezF;AAID,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOpE;AAKD,wFAAwF;AACxF,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAYxE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAM3F"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether a formula needs dynamic-array evaluation to keep its meaning: it returns several
|
|
3
|
+
* values, or applies an operator or a single-value parameter to a range or array outside the
|
|
4
|
+
* functions that take arrays natively (`SUM(A1:A3*B1:B3)`). Unparsable formulas report false.
|
|
5
|
+
*/
|
|
6
|
+
export declare function needsArrayEvaluation(formula: string): boolean;
|
|
7
|
+
//# sourceMappingURL=array-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-context.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/array-context.ts"],"names":[],"mappings":"AA8DA;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAU7D"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { ErrorCode } from '../model.js';
|
|
2
|
+
/** Thrown by {@link parseFormula} (and the tokenizer) for malformed formulas. */
|
|
3
|
+
export declare class FormulaError extends Error {
|
|
4
|
+
/** Character offset in the formula where the problem was found. */
|
|
5
|
+
readonly position: number;
|
|
6
|
+
constructor(message: string,
|
|
7
|
+
/** Character offset in the formula where the problem was found. */
|
|
8
|
+
position?: number);
|
|
9
|
+
}
|
|
10
|
+
/** One end of a reference. Whole-column refs have no row, whole-row refs no column. */
|
|
11
|
+
export interface RefCorner {
|
|
12
|
+
row: number;
|
|
13
|
+
col: number;
|
|
14
|
+
rowAbs: boolean;
|
|
15
|
+
colAbs: boolean;
|
|
16
|
+
}
|
|
17
|
+
/** A parsed A1-style reference without its sheet prefix. */
|
|
18
|
+
export interface RefSpec {
|
|
19
|
+
kind: 'cell' | 'area' | 'cols' | 'rows';
|
|
20
|
+
start: RefCorner;
|
|
21
|
+
/** Same as `start` for a single cell. */
|
|
22
|
+
end: RefCorner;
|
|
23
|
+
}
|
|
24
|
+
/** The sheet part of a reference: `Sheet1!`, `'My Sheet'!`, `Sheet1:Sheet3!`, `[1]Sheet1!`. */
|
|
25
|
+
export interface SheetPrefix {
|
|
26
|
+
/** Raw prefix text including the trailing `!`, preserved when formulas are rewritten. */
|
|
27
|
+
text: string;
|
|
28
|
+
sheet: string;
|
|
29
|
+
/** Last sheet of a 3D reference. */
|
|
30
|
+
sheet2?: string;
|
|
31
|
+
/** External workbook index or name (`[1]`). */
|
|
32
|
+
book?: string;
|
|
33
|
+
}
|
|
34
|
+
export type StructuredSpecial = '#All' | '#Data' | '#Headers' | '#Totals' | '#This Row';
|
|
35
|
+
/** A structured (table) reference such as `Table1[[#This Row],[Amount]]`. */
|
|
36
|
+
export interface StructuredRef {
|
|
37
|
+
table?: string;
|
|
38
|
+
specials: StructuredSpecial[];
|
|
39
|
+
/** First (and last, for `[A]:[B]`) column name; absent means every column. */
|
|
40
|
+
column?: string;
|
|
41
|
+
column2?: string;
|
|
42
|
+
}
|
|
43
|
+
export type BinaryOperator = '+' | '-' | '*' | '/' | '^' | '&' | '=' | '<>' | '<' | '>' | '<=' | '>=' | ':' | ' ' | ',';
|
|
44
|
+
/** The formula syntax tree produced by {@link parseFormula}. */
|
|
45
|
+
export type FormulaAst = {
|
|
46
|
+
type: 'number';
|
|
47
|
+
value: number;
|
|
48
|
+
} | {
|
|
49
|
+
type: 'string';
|
|
50
|
+
value: string;
|
|
51
|
+
} | {
|
|
52
|
+
type: 'boolean';
|
|
53
|
+
value: boolean;
|
|
54
|
+
} | {
|
|
55
|
+
type: 'error';
|
|
56
|
+
code: ErrorCode;
|
|
57
|
+
} | {
|
|
58
|
+
type: 'ref';
|
|
59
|
+
prefix?: SheetPrefix;
|
|
60
|
+
/** Absent for `#REF!` (optionally sheet-qualified). */
|
|
61
|
+
ref?: RefSpec;
|
|
62
|
+
/** `A1#` spill reference. */
|
|
63
|
+
spill?: boolean;
|
|
64
|
+
} | {
|
|
65
|
+
type: 'name';
|
|
66
|
+
prefix?: SheetPrefix;
|
|
67
|
+
name: string;
|
|
68
|
+
} | {
|
|
69
|
+
type: 'structured';
|
|
70
|
+
ref: StructuredRef;
|
|
71
|
+
text: string;
|
|
72
|
+
} | {
|
|
73
|
+
type: 'array';
|
|
74
|
+
rows: ArrayConstant[][];
|
|
75
|
+
} | {
|
|
76
|
+
type: 'unary';
|
|
77
|
+
op: '-' | '+' | '@';
|
|
78
|
+
operand: FormulaAst;
|
|
79
|
+
} | {
|
|
80
|
+
type: 'percent';
|
|
81
|
+
operand: FormulaAst;
|
|
82
|
+
} | {
|
|
83
|
+
type: 'binary';
|
|
84
|
+
op: BinaryOperator;
|
|
85
|
+
left: FormulaAst;
|
|
86
|
+
right: FormulaAst;
|
|
87
|
+
} | {
|
|
88
|
+
type: 'call';
|
|
89
|
+
/** Upper case, without `_xlfn.` / `_xlws.` prefixes. */
|
|
90
|
+
name: string;
|
|
91
|
+
/** As written. */
|
|
92
|
+
rawName: string;
|
|
93
|
+
args: FormulaAst[];
|
|
94
|
+
} | {
|
|
95
|
+
type: 'invoke';
|
|
96
|
+
callee: FormulaAst;
|
|
97
|
+
args: FormulaAst[];
|
|
98
|
+
} | {
|
|
99
|
+
type: 'missing';
|
|
100
|
+
};
|
|
101
|
+
export type ArrayConstant = number | string | boolean | {
|
|
102
|
+
error: ErrorCode;
|
|
103
|
+
};
|
|
104
|
+
/** Strips the storage prefixes Excel writes for newer functions (`_xlfn.`, `_xlws.`, `_xludf.`). */
|
|
105
|
+
export declare function normalizeFunctionName(name: string): string;
|
|
106
|
+
/** Strips the `_xlpm.` prefix Excel writes for LET and LAMBDA parameter names. */
|
|
107
|
+
export declare function normalizeLocalName(name: string): string;
|
|
108
|
+
//# sourceMappingURL=ast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/ast.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type FormulaAst } from './ast.js';
|
|
2
|
+
import type { CallContext, Frame } from './context.js';
|
|
3
|
+
import { type FunctionSpec } from './functions/types.js';
|
|
4
|
+
import { type Value } from './values.js';
|
|
5
|
+
/** Evaluates a function call node. */
|
|
6
|
+
export declare function callFunction(node: Extract<FormulaAst, {
|
|
7
|
+
type: 'call';
|
|
8
|
+
}>, frame: Frame): Value;
|
|
9
|
+
/** Calls a function implementation, lifting it over arrays passed to `value` parameters. */
|
|
10
|
+
export declare function applyFunction(spec: FunctionSpec, args: Value[], ctx: CallContext): Value;
|
|
11
|
+
/** Builds the context passed to function implementations. */
|
|
12
|
+
export declare function createContext(frame: Frame): CallContext;
|
|
13
|
+
//# sourceMappingURL=call.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/call.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,UAAU,EAAsB,MAAM,UAAU,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAW,MAAM,cAAc,CAAC;AAIhE,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,sBAAsB,CAAC;AAIpE,OAAO,EAQN,KAAK,KAAK,EACV,MAAM,aAAa,CAAC;AAWrB,sCAAsC;AACtC,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAoC7F;AAED,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,WAAW,GAAG,KAAK,CA2CxF;AASD,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,CA8CvD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { CellError } from '../model.js';
|
|
2
|
+
import { type Scalar } from './values.js';
|
|
3
|
+
/** A number as arithmetic sees it: blank is 0, TRUE is 1, numeric text converts. Throws on errors. */
|
|
4
|
+
export declare function toNumber(value: Scalar): number;
|
|
5
|
+
/** Text as `&` sees it: blank is empty, numbers use General formatting. Throws on errors. */
|
|
6
|
+
export declare function toText(value: Scalar): string;
|
|
7
|
+
/** A logical as IF sees it: numbers are non-zero, text must be TRUE or FALSE. Throws on errors. */
|
|
8
|
+
export declare function toBool(value: Scalar): boolean;
|
|
9
|
+
/** Throws when `value` is an error. */
|
|
10
|
+
export declare function check(value: Scalar): Exclude<Scalar, CellError>;
|
|
11
|
+
/** Compares numbers at Excel's 15-significant-digit precision. */
|
|
12
|
+
export declare function compareNumbers(a: number, b: number): number;
|
|
13
|
+
/** Case-insensitive text comparison. */
|
|
14
|
+
export declare function compareText(a: string, b: string): number;
|
|
15
|
+
/**
|
|
16
|
+
* Compares two non-error scalars like Excel's comparison operators: numbers sort before text,
|
|
17
|
+
* text before logicals; blank takes the other side's type (0, "", FALSE).
|
|
18
|
+
*/
|
|
19
|
+
export declare function compareScalars(a: Exclude<Scalar, CellError>, b: Exclude<Scalar, CellError>): number;
|
|
20
|
+
/** A finite result, or `#NUM!`. */
|
|
21
|
+
export declare function finite(value: number): number;
|
|
22
|
+
//# sourceMappingURL=coerce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coerce.d.ts","sourceRoot":"","sources":["../../../src/xlsx/formula/coerce.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAA6B,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAErE,sGAAsG;AACtG,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAU9C;AAED,6FAA6F;AAC7F,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM5C;AAED,mGAAmG;AACnG,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAW7C;AAED,uCAAuC;AACvC,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAG/D;AAKD,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED,wCAAwC;AACxC,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC7B,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,EAC7B,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,GAC3B,MAAM,CAUR;AASD,mCAAmC;AACnC,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG5C"}
|