ooxml-core 0.18.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/automation/index.cjs +195 -193
- package/dist/automation/index.mjs +195 -193
- package/dist/diagram/index.cjs +2 -1
- package/dist/diagram/index.mjs +2 -1
- package/dist/docx/attr-units.d.ts +11 -0
- package/dist/docx/attr-units.d.ts.map +1 -0
- package/dist/docx/block-parser.d.ts.map +1 -1
- package/dist/docx/case-transform.d.ts +9 -0
- package/dist/docx/case-transform.d.ts.map +1 -0
- package/dist/docx/column-settings.d.ts +16 -0
- package/dist/docx/column-settings.d.ts.map +1 -0
- package/dist/docx/embedded.cjs +2 -1
- package/dist/docx/embedded.mjs +2 -1
- package/dist/docx/index.cjs +461 -3
- package/dist/docx/index.d.ts +8 -0
- package/dist/docx/index.d.ts.map +1 -1
- package/dist/docx/index.mjs +426 -4
- package/dist/docx/layout/adapter.d.ts.map +1 -1
- package/dist/docx/layout/table-layout.d.ts.map +1 -1
- package/dist/docx/line-spacing.d.ts +9 -0
- package/dist/docx/line-spacing.d.ts.map +1 -0
- package/dist/docx/load/index.cjs +2 -1
- package/dist/docx/load/index.mjs +2 -1
- package/dist/docx/page-setup-model.d.ts +29 -0
- package/dist/docx/page-setup-model.d.ts.map +1 -0
- package/dist/docx/page-size.d.ts +11 -0
- package/dist/docx/page-size.d.ts.map +1 -0
- package/dist/docx/parse.d.ts.map +1 -1
- package/dist/docx/section-edit.d.ts +19 -0
- package/dist/docx/section-edit.d.ts.map +1 -0
- package/dist/docx/section-layout.d.ts +14 -0
- package/dist/docx/section-layout.d.ts.map +1 -0
- package/dist/docx/tab-stops.d.ts.map +1 -1
- package/dist/docx/ui/backstage-focus.d.ts +6 -0
- package/dist/docx/ui/backstage-focus.d.ts.map +1 -0
- package/dist/docx/ui/break-note-schema.d.ts +11 -0
- package/dist/docx/ui/break-note-schema.d.ts.map +1 -0
- package/dist/docx/ui/collaboration-authority.d.ts +31 -0
- package/dist/docx/ui/collaboration-authority.d.ts.map +1 -0
- package/dist/docx/ui/collaboration-identity.d.ts +8 -0
- package/dist/docx/ui/collaboration-identity.d.ts.map +1 -0
- package/dist/docx/ui/collaboration-protocol.d.ts +25 -0
- package/dist/docx/ui/collaboration-protocol.d.ts.map +1 -0
- package/dist/docx/ui/collaboration.d.ts +30 -0
- package/dist/docx/ui/collaboration.d.ts.map +1 -0
- package/dist/docx/ui/defined.d.ts +3 -0
- package/dist/docx/ui/defined.d.ts.map +1 -0
- package/dist/docx/ui/dirty-state.d.ts +9 -0
- package/dist/docx/ui/dirty-state.d.ts.map +1 -0
- package/dist/docx/ui/field-guard.d.ts +21 -0
- package/dist/docx/ui/field-guard.d.ts.map +1 -0
- package/dist/docx/ui/header-footer-history.d.ts +15 -0
- package/dist/docx/ui/header-footer-history.d.ts.map +1 -0
- package/dist/docx/ui/index.cjs +2380 -0
- package/dist/docx/ui/index.d.ts +30 -0
- package/dist/docx/ui/index.d.ts.map +1 -0
- package/dist/docx/ui/index.mjs +2317 -0
- package/dist/docx/ui/inline-content-schema.d.ts +15 -0
- package/dist/docx/ui/inline-content-schema.d.ts.map +1 -0
- package/dist/docx/ui/ligature-style.d.ts +4 -0
- package/dist/docx/ui/ligature-style.d.ts.map +1 -0
- package/dist/docx/ui/node-numbering.d.ts +8 -0
- package/dist/docx/ui/node-numbering.d.ts.map +1 -0
- package/dist/docx/ui/review-schema.d.ts +90 -0
- package/dist/docx/ui/review-schema.d.ts.map +1 -0
- package/dist/docx/ui/ribbon-action-ids.d.ts +26 -0
- package/dist/docx/ui/ribbon-action-ids.d.ts.map +1 -0
- package/dist/docx/ui/ribbon-colors.d.ts +3 -0
- package/dist/docx/ui/ribbon-colors.d.ts.map +1 -0
- package/dist/docx/ui/ribbon-legacy-labels.d.ts +6 -0
- package/dist/docx/ui/ribbon-legacy-labels.d.ts.map +1 -0
- package/dist/docx/ui/run-compare.d.ts +5 -0
- package/dist/docx/ui/run-compare.d.ts.map +1 -0
- package/dist/docx/ui/run-extra-mark.d.ts +17 -0
- package/dist/docx/ui/run-extra-mark.d.ts.map +1 -0
- package/dist/docx/ui/schema-marks.d.ts +273 -0
- package/dist/docx/ui/schema-marks.d.ts.map +1 -0
- package/dist/docx/ui/smartart-theme.d.ts +21 -0
- package/dist/docx/ui/smartart-theme.d.ts.map +1 -0
- package/dist/docx/ui/table-render.d.ts +24 -0
- package/dist/docx/ui/table-render.d.ts.map +1 -0
- package/dist/docx/ui/table-visuals.d.ts +3 -0
- package/dist/docx/ui/table-visuals.d.ts.map +1 -0
- package/dist/docx/ui/theme/css-vars.d.ts +6 -0
- package/dist/docx/ui/theme/css-vars.d.ts.map +1 -0
- package/dist/docx/ui/theme/defaults.d.ts +12 -0
- package/dist/docx/ui/theme/defaults.d.ts.map +1 -0
- package/dist/docx/ui/theme/element.d.ts +9 -0
- package/dist/docx/ui/theme/element.d.ts.map +1 -0
- package/dist/docx/ui/theme/index.d.ts +5 -0
- package/dist/docx/ui/theme/index.d.ts.map +1 -0
- package/dist/docx/ui/theme/types.d.ts +42 -0
- package/dist/docx/ui/theme/types.d.ts.map +1 -0
- package/dist/docx/ui/word-count.d.ts +3 -0
- package/dist/docx/ui/word-count.d.ts.map +1 -0
- package/dist/docx/ui/zoom-fit.d.ts +16 -0
- package/dist/docx/ui/zoom-fit.d.ts.map +1 -0
- package/dist/docx/validate-paragraph.d.ts.map +1 -1
- package/dist/index.cjs +2 -1
- package/dist/index.mjs +2 -1
- package/dist/math/index.cjs +2 -1
- package/dist/math/index.mjs +2 -1
- package/dist/opc/index.cjs +2 -1
- package/dist/opc/index.mjs +2 -1
- package/dist/visio/index.cjs +2 -1
- package/dist/visio/index.mjs +2 -1
- package/dist/visio/ui/contract.d.ts +33 -0
- package/dist/visio/ui/contract.d.ts.map +1 -0
- package/dist/visio/ui/demo-document.d.ts +4 -0
- package/dist/visio/ui/demo-document.d.ts.map +1 -0
- package/dist/visio/ui/diagnostics.d.ts +10 -0
- package/dist/visio/ui/diagnostics.d.ts.map +1 -0
- package/dist/visio/ui/document-history.d.ts +43 -0
- package/dist/visio/ui/document-history.d.ts.map +1 -0
- package/dist/visio/ui/document-text-search.d.ts +45 -0
- package/dist/visio/ui/document-text-search.d.ts.map +1 -0
- package/dist/visio/ui/edit-commands.d.ts +4 -0
- package/dist/visio/ui/edit-commands.d.ts.map +1 -0
- package/dist/visio/ui/edit-error.d.ts +5 -0
- package/dist/visio/ui/edit-error.d.ts.map +1 -0
- package/dist/visio/ui/foreign-vector-budget.d.ts +25 -0
- package/dist/visio/ui/foreign-vector-budget.d.ts.map +1 -0
- package/dist/visio/ui/index.cjs +1523 -0
- package/dist/visio/ui/index.d.ts +12 -0
- package/dist/visio/ui/index.d.ts.map +1 -0
- package/dist/visio/ui/index.mjs +1498 -0
- package/dist/visio/ui/scene-details.d.ts +8 -0
- package/dist/visio/ui/scene-details.d.ts.map +1 -0
- package/dist/visio/ui/scene-validation.d.ts +5 -0
- package/dist/visio/ui/scene-validation.d.ts.map +1 -0
- package/dist/visio/ui/snapshot-scene.d.ts +9 -0
- package/dist/visio/ui/snapshot-scene.d.ts.map +1 -0
- package/dist/xlsx/index.cjs +100 -98
- package/dist/xlsx/index.mjs +100 -98
- package/dist/xlsx/load/index.cjs +68 -66
- package/dist/xlsx/load/index.mjs +68 -66
- package/dist/xlsx/ui/backstage/templates.d.ts +16 -0
- package/dist/xlsx/ui/backstage/templates.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/alignment.d.ts +4 -0
- package/dist/xlsx/ui/commands/alignment.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/cells.d.ts +3 -0
- package/dist/xlsx/ui/commands/cells.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/cf-presets.d.ts +15 -0
- package/dist/xlsx/ui/commands/cf-presets.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/clipboard.d.ts +22 -0
- package/dist/xlsx/ui/commands/clipboard.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/contextual.d.ts +13 -0
- package/dist/xlsx/ui/commands/contextual.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/data.d.ts +3 -0
- package/dist/xlsx/ui/commands/data.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/editing.d.ts +13 -0
- package/dist/xlsx/ui/commands/editing.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/font.d.ts +21 -0
- package/dist/xlsx/ui/commands/font.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/formulas.d.ts +15 -0
- package/dist/xlsx/ui/commands/formulas.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/core-features.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/core-features.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/format-cells.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/format-cells.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/index.d.ts +4 -0
- package/dist/xlsx/ui/commands/i18n/index.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/messages.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/messages.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/navigation.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/navigation.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/ribbon-home.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/ribbon-home.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/ribbon-tabs.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/ribbon-tabs.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/rules.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/rules.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/tools.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/tools.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/types.d.ts +5 -0
- package/dist/xlsx/ui/commands/i18n/types.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/icons.d.ts +4 -0
- package/dist/xlsx/ui/commands/icons.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/number.d.ts +11 -0
- package/dist/xlsx/ui/commands/number.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/page-layout.d.ts +10 -0
- package/dist/xlsx/ui/commands/page-layout.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/select-special.d.ts +12 -0
- package/dist/xlsx/ui/commands/select-special.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/sort-filter.d.ts +3 -0
- package/dist/xlsx/ui/commands/sort-filter.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/style-presets.d.ts +21 -0
- package/dist/xlsx/ui/commands/style-presets.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/util.d.ts +59 -0
- package/dist/xlsx/ui/commands/util.d.ts.map +1 -0
- package/dist/xlsx/ui/commands.d.ts +36 -0
- package/dist/xlsx/ui/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/context-menu/items.d.ts +36 -0
- package/dist/xlsx/ui/context-menu/items.d.ts.map +1 -0
- package/dist/xlsx/ui/context.d.ts +65 -0
- package/dist/xlsx/ui/context.d.ts.map +1 -0
- package/dist/xlsx/ui/dialogs/format-cells/number-categories.d.ts +28 -0
- package/dist/xlsx/ui/dialogs/format-cells/number-categories.d.ts.map +1 -0
- package/dist/xlsx/ui/dialogs/format-cells/types.d.ts +40 -0
- package/dist/xlsx/ui/dialogs/format-cells/types.d.ts.map +1 -0
- package/dist/xlsx/ui/dialogs/insert-chart-model.d.ts +9 -0
- package/dist/xlsx/ui/dialogs/insert-chart-model.d.ts.map +1 -0
- package/dist/xlsx/ui/dialogs.d.ts +9 -0
- package/dist/xlsx/ui/dialogs.d.ts.map +1 -0
- package/dist/xlsx/ui/dirty-state.d.ts +9 -0
- package/dist/xlsx/ui/dirty-state.d.ts.map +1 -0
- package/dist/xlsx/ui/formula-bar/name-resolve.d.ts +23 -0
- package/dist/xlsx/ui/formula-bar/name-resolve.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/cell-items.d.ts +42 -0
- package/dist/xlsx/ui/grid/cell-items.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/cell-paint.d.ts +26 -0
- package/dist/xlsx/ui/grid/cell-paint.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/edit-bridge.d.ts +47 -0
- package/dist/xlsx/ui/grid/edit-bridge.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/geometry.d.ts +76 -0
- package/dist/xlsx/ui/grid/geometry.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/icon-sets.d.ts +3 -0
- package/dist/xlsx/ui/grid/icon-sets.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/number-fit.d.ts +3 -0
- package/dist/xlsx/ui/grid/number-fit.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/selection-ops.d.ts +32 -0
- package/dist/xlsx/ui/grid/selection-ops.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/view-cache.d.ts +15 -0
- package/dist/xlsx/ui/grid/view-cache.d.ts.map +1 -0
- package/dist/xlsx/ui/index.cjs +28484 -0
- package/dist/xlsx/ui/index.d.ts +56 -0
- package/dist/xlsx/ui/index.d.ts.map +1 -0
- package/dist/xlsx/ui/index.mjs +28290 -0
- package/dist/xlsx/ui/locales/de/commands.d.ts +2 -0
- package/dist/xlsx/ui/locales/de/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/de/grid.d.ts +2 -0
- package/dist/xlsx/ui/locales/de/grid.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/de/index.d.ts +2 -0
- package/dist/xlsx/ui/locales/de/index.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/de/shell.d.ts +2 -0
- package/dist/xlsx/ui/locales/de/shell.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/en/commands.d.ts +2 -0
- package/dist/xlsx/ui/locales/en/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/en/grid.d.ts +2 -0
- package/dist/xlsx/ui/locales/en/grid.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/en/index.d.ts +2 -0
- package/dist/xlsx/ui/locales/en/index.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/en/shell.d.ts +2 -0
- package/dist/xlsx/ui/locales/en/shell.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/es/commands.d.ts +2 -0
- package/dist/xlsx/ui/locales/es/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/es/grid.d.ts +2 -0
- package/dist/xlsx/ui/locales/es/grid.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/es/index.d.ts +2 -0
- package/dist/xlsx/ui/locales/es/index.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/es/shell.d.ts +2 -0
- package/dist/xlsx/ui/locales/es/shell.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/fr/commands.d.ts +2 -0
- package/dist/xlsx/ui/locales/fr/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/fr/grid.d.ts +2 -0
- package/dist/xlsx/ui/locales/fr/grid.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/fr/index.d.ts +2 -0
- package/dist/xlsx/ui/locales/fr/index.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/fr/shell.d.ts +2 -0
- package/dist/xlsx/ui/locales/fr/shell.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/merge.d.ts +7 -0
- package/dist/xlsx/ui/locales/merge.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/zh-CN/commands.d.ts +2 -0
- package/dist/xlsx/ui/locales/zh-CN/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/zh-CN/grid.d.ts +2 -0
- package/dist/xlsx/ui/locales/zh-CN/grid.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/zh-CN/index.d.ts +2 -0
- package/dist/xlsx/ui/locales/zh-CN/index.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/zh-CN/shell.d.ts +2 -0
- package/dist/xlsx/ui/locales/zh-CN/shell.d.ts.map +1 -0
- package/dist/xlsx/ui/localization.d.ts +23 -0
- package/dist/xlsx/ui/localization.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/icon-paths.d.ts +9 -0
- package/dist/xlsx/ui/ribbon/icon-paths.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/parts.d.ts +88 -0
- package/dist/xlsx/ui/ribbon/parts.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/tab-api.d.ts +21 -0
- package/dist/xlsx/ui/ribbon/tab-api.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/tabs/review-view.d.ts +5 -0
- package/dist/xlsx/ui/ribbon/tabs/review-view.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/tabs/theme-palette.d.ts +8 -0
- package/dist/xlsx/ui/ribbon/tabs/theme-palette.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/tell-me.d.ts +16 -0
- package/dist/xlsx/ui/ribbon/tell-me.d.ts.map +1 -0
- package/dist/xlsx/ui/selection.d.ts +34 -0
- package/dist/xlsx/ui/selection.d.ts.map +1 -0
- package/dist/xlsx/ui/theme/css-vars.d.ts +6 -0
- package/dist/xlsx/ui/theme/css-vars.d.ts.map +1 -0
- package/dist/xlsx/ui/theme/defaults.d.ts +6 -0
- package/dist/xlsx/ui/theme/defaults.d.ts.map +1 -0
- package/dist/xlsx/ui/theme/element.d.ts +9 -0
- package/dist/xlsx/ui/theme/element.d.ts.map +1 -0
- package/dist/xlsx/ui/theme/types.d.ts +54 -0
- package/dist/xlsx/ui/theme/types.d.ts.map +1 -0
- package/dist/xml/index.cjs +2 -1
- package/dist/xml/index.mjs +2 -1
- package/package.json +30 -3
package/dist/xlsx/load/index.cjs
CHANGED
|
@@ -1949,7 +1949,8 @@ function parseXml(xml, options = {}) {
|
|
|
1949
1949
|
}).parseFromString(xml, "application/xml");
|
|
1950
1950
|
} catch (error) {
|
|
1951
1951
|
throw new Error(
|
|
1952
|
-
`Invalid ${label2} XML: ${error instanceof Error ? error.message : String(error)}
|
|
1952
|
+
`Invalid ${label2} XML: ${error instanceof Error ? error.message : String(error)}`,
|
|
1953
|
+
{ cause: error }
|
|
1953
1954
|
);
|
|
1954
1955
|
}
|
|
1955
1956
|
if (parseError || !parsed.documentElement)
|
|
@@ -2740,7 +2741,8 @@ async function readZipParts(input, limits = {}) {
|
|
|
2740
2741
|
zip = await JSZip__default.default.loadAsync(bytes);
|
|
2741
2742
|
} catch (error) {
|
|
2742
2743
|
throw new Error(
|
|
2743
|
-
`Not a valid XLSX package: ${error instanceof Error ? error.message : String(error)}
|
|
2744
|
+
`Not a valid XLSX package: ${error instanceof Error ? error.message : String(error)}`,
|
|
2745
|
+
{ cause: error }
|
|
2744
2746
|
);
|
|
2745
2747
|
}
|
|
2746
2748
|
const entries = Object.values(zip.files).filter((entry) => !entry.dir);
|
|
@@ -3707,24 +3709,24 @@ function mergeSpacedAreas(tokens2) {
|
|
|
3707
3709
|
const out = [];
|
|
3708
3710
|
const plainCell = (t) => t?.kind === "ref" && t.ref?.kind === "cell" && !t.spill;
|
|
3709
3711
|
for (let i = 0; i < tokens2.length; i++) {
|
|
3710
|
-
const
|
|
3712
|
+
const first2 = tokens2[i];
|
|
3711
3713
|
let j = i + 1;
|
|
3712
3714
|
while (tokens2[j]?.kind === "ws") j++;
|
|
3713
3715
|
let k = j + 1;
|
|
3714
3716
|
while (tokens2[k]?.kind === "ws") k++;
|
|
3715
3717
|
const colon = tokens2[j];
|
|
3716
3718
|
const last = tokens2[k];
|
|
3717
|
-
if (plainCell(
|
|
3719
|
+
if (plainCell(first2) && colon?.kind === "op" && colon.text === ":" && plainCell(last) && !last?.prefix && k > i + 2 && first2.ref && last?.ref) {
|
|
3718
3720
|
const text = tokens2.slice(i, k + 1).map((t) => t.text).join("");
|
|
3719
3721
|
out.push({
|
|
3720
|
-
...
|
|
3722
|
+
...first2,
|
|
3721
3723
|
text,
|
|
3722
|
-
ref: { kind: "area", start:
|
|
3724
|
+
ref: { kind: "area", start: first2.ref.start, end: last.ref.start }
|
|
3723
3725
|
});
|
|
3724
3726
|
i = k;
|
|
3725
3727
|
continue;
|
|
3726
3728
|
}
|
|
3727
|
-
out.push(
|
|
3729
|
+
out.push(first2);
|
|
3728
3730
|
}
|
|
3729
3731
|
return out;
|
|
3730
3732
|
}
|
|
@@ -3776,10 +3778,10 @@ function renameSheetInFormula(formula, oldName, newName) {
|
|
|
3776
3778
|
for (const token of tokens2) {
|
|
3777
3779
|
const prefix = token.prefix;
|
|
3778
3780
|
if (!prefix || prefix.book !== void 0) continue;
|
|
3779
|
-
const
|
|
3781
|
+
const first2 = prefix.sheet.toLowerCase() === lower2;
|
|
3780
3782
|
const second = prefix.sheet2?.toLowerCase() === lower2;
|
|
3781
|
-
if (!
|
|
3782
|
-
const renamed = { ...prefix, sheet:
|
|
3783
|
+
if (!first2 && !second) continue;
|
|
3784
|
+
const renamed = { ...prefix, sheet: first2 ? newName : prefix.sheet };
|
|
3783
3785
|
if (prefix.sheet2 !== void 0) renamed.sheet2 = second ? newName : prefix.sheet2;
|
|
3784
3786
|
const text = prefixText(renamed);
|
|
3785
3787
|
token.text = text + token.text.slice(prefix.text.length);
|
|
@@ -6451,9 +6453,9 @@ function seriesXml(chart, series, index2) {
|
|
|
6451
6453
|
var axes = (horizontal, scatter) => {
|
|
6452
6454
|
const common = '<c:scaling><c:orientation val="minMax"/></c:scaling><c:delete val="0"/>';
|
|
6453
6455
|
const ticks = '<c:numFmt formatCode="General" sourceLinked="1"/><c:majorTickMark val="out"/><c:minorTickMark val="none"/><c:tickLblPos val="nextTo"/>';
|
|
6454
|
-
const
|
|
6456
|
+
const first2 = scatter ? `<c:valAx><c:axId val="500000001"/>${common}<c:axPos val="b"/>${ticks}<c:crossAx val="500000002"/><c:crosses val="autoZero"/><c:crossBetween val="midCat"/></c:valAx>` : `<c:catAx><c:axId val="500000001"/>${common}<c:axPos val="${horizontal ? "l" : "b"}"/>${ticks}<c:crossAx val="500000002"/><c:crosses val="autoZero"/><c:auto val="1"/><c:lblAlgn val="ctr"/><c:lblOffset val="100"/><c:noMultiLvlLbl val="0"/></c:catAx>`;
|
|
6455
6457
|
const second = `<c:valAx><c:axId val="500000002"/>${common}<c:axPos val="${horizontal ? "b" : "l"}"/><c:majorGridlines/>${ticks}<c:crossAx val="500000001"/><c:crosses val="autoZero"/><c:crossBetween val="${scatter ? "midCat" : "between"}"/></c:valAx>`;
|
|
6456
|
-
return
|
|
6458
|
+
return first2 + second;
|
|
6457
6459
|
};
|
|
6458
6460
|
var AX_IDS = '<c:axId val="500000001"/><c:axId val="500000002"/>';
|
|
6459
6461
|
function plotXml(chart) {
|
|
@@ -7649,8 +7651,8 @@ function fitNumber(value, format, options) {
|
|
|
7649
7651
|
const date1904 = options.date1904 ?? false;
|
|
7650
7652
|
const width = options.width ?? 0;
|
|
7651
7653
|
const fits = (text) => (options.measure ? options.measure(text) : text.length) <= width;
|
|
7652
|
-
const
|
|
7653
|
-
if (fits(
|
|
7654
|
+
const first2 = formatNumber(value, format, date1904);
|
|
7655
|
+
if (fits(first2.text) || first2.text === OVERFLOW_TEXT) return first2;
|
|
7654
7656
|
const choice = chooseSection(compileFormat(format), value);
|
|
7655
7657
|
const general = choice && !choice.section.number && !choice.section.fraction && choice.section.tokens.some((t) => t.t === "general");
|
|
7656
7658
|
if (general) {
|
|
@@ -7660,7 +7662,7 @@ function fitNumber(value, format, options) {
|
|
|
7660
7662
|
}
|
|
7661
7663
|
}
|
|
7662
7664
|
const fill2 = hashFill(options);
|
|
7663
|
-
return
|
|
7665
|
+
return first2.color ? { text: fill2, color: first2.color } : { text: fill2 };
|
|
7664
7666
|
}
|
|
7665
7667
|
function formatNumber(value, format, date1904, generalWidth) {
|
|
7666
7668
|
if (!Number.isFinite(value)) return { text: "#NUM!" };
|
|
@@ -8262,9 +8264,9 @@ function serialToYmd(serial, date1904 = date1904Mode) {
|
|
|
8262
8264
|
return { year: d.getUTCFullYear(), month: d.getUTCMonth() + 1, day: d.getUTCDate() };
|
|
8263
8265
|
}
|
|
8264
8266
|
function monthStartSerial(year, month0, date1904) {
|
|
8265
|
-
const
|
|
8266
|
-
|
|
8267
|
-
const days = Math.round((
|
|
8267
|
+
const first2 = /* @__PURE__ */ new Date(0);
|
|
8268
|
+
first2.setUTCFullYear(year, month0, 1);
|
|
8269
|
+
const days = Math.round((first2.getTime() - (date1904 ? EPOCH_19042 : EPOCH_19003)) / DAY_MS2);
|
|
8268
8270
|
return !date1904 && days < 61 ? days - 1 : days;
|
|
8269
8271
|
}
|
|
8270
8272
|
function ymdToSerial(year, month, day, date1904 = date1904Mode) {
|
|
@@ -9332,9 +9334,9 @@ function percentRank(values2, x, digits2, exclusive) {
|
|
|
9332
9334
|
const s = sorted(values2);
|
|
9333
9335
|
const n = s.length;
|
|
9334
9336
|
if (n === 0 || digits2 < 1) fail(ERR.NUM);
|
|
9335
|
-
const
|
|
9337
|
+
const first2 = s[0];
|
|
9336
9338
|
const last = s[n - 1];
|
|
9337
|
-
if (x <
|
|
9339
|
+
if (x < first2 || x > last) fail(ERR.NA);
|
|
9338
9340
|
let rank3;
|
|
9339
9341
|
const lower2 = s.filter((v) => v < x).length;
|
|
9340
9342
|
const exact = s.includes(x);
|
|
@@ -9534,8 +9536,8 @@ function weekendDays(value) {
|
|
|
9534
9536
|
}
|
|
9535
9537
|
const code = Math.trunc(num2(v));
|
|
9536
9538
|
if (code >= 1 && code <= 7) {
|
|
9537
|
-
const
|
|
9538
|
-
return /* @__PURE__ */ new Set([
|
|
9539
|
+
const first2 = (code + 5) % 7;
|
|
9540
|
+
return /* @__PURE__ */ new Set([first2, (first2 + 1) % 7]);
|
|
9539
9541
|
}
|
|
9540
9542
|
if (code >= 11 && code <= 17) return /* @__PURE__ */ new Set([code - 11]);
|
|
9541
9543
|
return fail(ERR.NUM);
|
|
@@ -10779,16 +10781,16 @@ function quasiPeriods(anchor, from, to, frequency2, ctx) {
|
|
|
10779
10781
|
}
|
|
10780
10782
|
function accruedInterest(args, ctx) {
|
|
10781
10783
|
const issue = serialArg(args[0]);
|
|
10782
|
-
const
|
|
10784
|
+
const first2 = serialArg(args[1]);
|
|
10783
10785
|
const settlement = serialArg(args[2]);
|
|
10784
10786
|
const [rate, par] = [num2(args[3]), optNum(args, 4, 1e3)];
|
|
10785
10787
|
const frequency2 = int3(args[5]);
|
|
10786
10788
|
const basis = basisOf(args, 6);
|
|
10787
10789
|
const fromIssue = args.length > 7 && args[7] !== null ? bool(args[7]) : true;
|
|
10788
10790
|
if (rate <= 0 || par <= 0 || ![1, 2, 4].includes(frequency2) || issue >= settlement) fail(ERR.NUM);
|
|
10789
|
-
const start = fromIssue ? issue : Math.max(issue,
|
|
10791
|
+
const start = fromIssue ? issue : Math.max(issue, first2);
|
|
10790
10792
|
if (start >= settlement) return 0;
|
|
10791
|
-
const dates = quasiPeriods(
|
|
10793
|
+
const dates = quasiPeriods(first2, start, settlement, frequency2, ctx);
|
|
10792
10794
|
const count2 = (a, b) => basis === 0 || basis === 4 ? days360(a, b, basis === 4, ctx) : b - a;
|
|
10793
10795
|
let sum2 = 0;
|
|
10794
10796
|
for (let i = 0; i + 1 < dates.length; i++) {
|
|
@@ -11247,8 +11249,8 @@ function datedFlows(ctx, args) {
|
|
|
11247
11249
|
const values2 = collectNumbers(ctx, [args[0] ?? null]);
|
|
11248
11250
|
const dates = collectNumbers(ctx, [args[1] ?? null]).map(Math.floor);
|
|
11249
11251
|
if (values2.length !== dates.length || values2.length === 0) fail(ERR.NUM);
|
|
11250
|
-
const
|
|
11251
|
-
if (dates.some((d) => d <
|
|
11252
|
+
const first2 = dates[0];
|
|
11253
|
+
if (dates.some((d) => d < first2)) fail(ERR.NUM);
|
|
11252
11254
|
return { values: values2, dates };
|
|
11253
11255
|
}
|
|
11254
11256
|
var xnpv = (rate, values2, dates) => values2.reduce(
|
|
@@ -12719,7 +12721,7 @@ function matchingCells(ctx, pairs, target, sameShape) {
|
|
|
12719
12721
|
const tests = pairs.map((p) => makeCriteria(scalar(p.criteria)));
|
|
12720
12722
|
const values2 = matrices[matrices.length - 1];
|
|
12721
12723
|
const out = [];
|
|
12722
|
-
const
|
|
12724
|
+
const first2 = matrices[0];
|
|
12723
12725
|
const holds = (r, c2) => {
|
|
12724
12726
|
for (let i = 0; i < tests.length; i++) {
|
|
12725
12727
|
if (!tests[i](matrices[i].get(r, c2))) return false;
|
|
@@ -12729,23 +12731,23 @@ function matchingCells(ctx, pairs, target, sameShape) {
|
|
|
12729
12731
|
const candidates = indexedCandidates(pairs, matrices);
|
|
12730
12732
|
if (candidates) {
|
|
12731
12733
|
for (const at of candidates) {
|
|
12732
|
-
const r = Math.floor(at /
|
|
12733
|
-
const c2 = at - r *
|
|
12734
|
+
const r = Math.floor(at / first2.cols);
|
|
12735
|
+
const c2 = at - r * first2.cols;
|
|
12734
12736
|
if (holds(r, c2)) out.push(values2.get(r, c2));
|
|
12735
12737
|
}
|
|
12736
12738
|
} else {
|
|
12737
|
-
for (let r = 0; r <
|
|
12738
|
-
for (let c2 = 0; c2 <
|
|
12739
|
+
for (let r = 0; r < first2.rows; r++) {
|
|
12740
|
+
for (let c2 = 0; c2 < first2.cols; c2++) if (holds(r, c2)) out.push(values2.get(r, c2));
|
|
12739
12741
|
}
|
|
12740
12742
|
}
|
|
12741
12743
|
const blankTail = total2 > block && tests.every((test) => test(null)) ? total2 - block : 0;
|
|
12742
12744
|
return { values: out, blankTail };
|
|
12743
12745
|
}
|
|
12744
12746
|
function indexedCandidates(pairs, matrices) {
|
|
12745
|
-
const
|
|
12747
|
+
const first2 = matrices[0];
|
|
12746
12748
|
for (let i = 0; i < pairs.length; i++) {
|
|
12747
12749
|
const m = matrices[i];
|
|
12748
|
-
if (!(pairs[i]?.range instanceof RefValue) || m.cols !==
|
|
12750
|
+
if (!(pairs[i]?.range instanceof RefValue) || m.cols !== first2.cols) continue;
|
|
12749
12751
|
const key = equalityKey(scalar(pairs[i]?.criteria));
|
|
12750
12752
|
if (key === void 0) continue;
|
|
12751
12753
|
const found = positionsOf(m, key);
|
|
@@ -12802,12 +12804,12 @@ var C18 = "Math & Trig";
|
|
|
12802
12804
|
var numbersOf = (values2) => values2.filter((v) => typeof v === "number");
|
|
12803
12805
|
function sumProduct(ctx, args) {
|
|
12804
12806
|
const matrices = args.map((a) => ctx.toMatrix(a));
|
|
12805
|
-
const
|
|
12806
|
-
if (!
|
|
12807
|
-
for (const m of matrices) if (m.rows !==
|
|
12807
|
+
const first2 = matrices[0];
|
|
12808
|
+
if (!first2) fail(ERR.VALUE);
|
|
12809
|
+
for (const m of matrices) if (m.rows !== first2.rows || m.cols !== first2.cols) fail(ERR.VALUE);
|
|
12808
12810
|
let total2 = 0;
|
|
12809
|
-
for (let r = 0; r <
|
|
12810
|
-
for (let c2 = 0; c2 <
|
|
12811
|
+
for (let r = 0; r < first2.rows; r++) {
|
|
12812
|
+
for (let c2 = 0; c2 < first2.cols; c2++) {
|
|
12811
12813
|
let product = 1;
|
|
12812
12814
|
for (const m of matrices) {
|
|
12813
12815
|
const v = m.get(r, c2);
|
|
@@ -17440,8 +17442,8 @@ function ruleXml(rule, styles, anchor) {
|
|
|
17440
17442
|
}
|
|
17441
17443
|
function conditionalFormatsXml(formats, styles) {
|
|
17442
17444
|
return formats.filter((format) => format.ranges.length && format.rules.length).map((format) => {
|
|
17443
|
-
const
|
|
17444
|
-
const anchor =
|
|
17445
|
+
const first2 = format.ranges[0];
|
|
17446
|
+
const anchor = first2 ? formatAddress(first2.start) : "A1";
|
|
17445
17447
|
const rules = format.rules.map((rule) => ruleXml(rule, styles, anchor)).join("");
|
|
17446
17448
|
return `<conditionalFormatting sqref="${format.ranges.map((r) => formatRange(r)).join(" ")}">${rules}</conditionalFormatting>`;
|
|
17447
17449
|
}).join("");
|
|
@@ -18148,10 +18150,10 @@ function dimensionXml(sheet) {
|
|
|
18148
18150
|
function sheetViewsXml(sheet, tabSelected) {
|
|
18149
18151
|
const source2 = snapshotElement(sheet, "sheetViews");
|
|
18150
18152
|
if (source2 && sameModel(readSheetView(source2), sheet.view)) {
|
|
18151
|
-
const
|
|
18152
|
-
if (
|
|
18153
|
-
if (tabSelected)
|
|
18154
|
-
else
|
|
18153
|
+
const first2 = elements(source2).find((node) => node.localName === "sheetView");
|
|
18154
|
+
if (first2) {
|
|
18155
|
+
if (tabSelected) first2.setAttribute("tabSelected", "1");
|
|
18156
|
+
else first2.removeAttribute("tabSelected");
|
|
18155
18157
|
}
|
|
18156
18158
|
return outerXml(source2);
|
|
18157
18159
|
}
|
|
@@ -19152,12 +19154,12 @@ function stringLiteral(text) {
|
|
|
19152
19154
|
function cellText(loc) {
|
|
19153
19155
|
return `${loc.colRel ? "" : "$"}${columnName(loc.col)}${loc.rowRel ? "" : "$"}${loc.row + 1}`;
|
|
19154
19156
|
}
|
|
19155
|
-
function areaText(
|
|
19156
|
-
if (
|
|
19157
|
-
return `${
|
|
19158
|
-
if (
|
|
19159
|
-
return `${
|
|
19160
|
-
return `${cellText(
|
|
19157
|
+
function areaText(first2, last) {
|
|
19158
|
+
if (first2.row === 0 && last.row === 65535)
|
|
19159
|
+
return `${first2.colRel ? "" : "$"}${columnName(first2.col)}:${last.colRel ? "" : "$"}${columnName(last.col)}`;
|
|
19160
|
+
if (first2.col === 0 && last.col >= 255)
|
|
19161
|
+
return `${first2.rowRel ? "" : "$"}${first2.row + 1}:${last.rowRel ? "" : "$"}${last.row + 1}`;
|
|
19162
|
+
return `${cellText(first2)}:${cellText(last)}`;
|
|
19161
19163
|
}
|
|
19162
19164
|
function readLoc(row2, colField, relative, base) {
|
|
19163
19165
|
const rowRel = (colField & 32768) !== 0;
|
|
@@ -19397,10 +19399,10 @@ function decode(rgce, extra, context, options) {
|
|
|
19397
19399
|
args.unshift(pop());
|
|
19398
19400
|
let fn = name;
|
|
19399
19401
|
if (name === "") {
|
|
19400
|
-
const
|
|
19401
|
-
if (
|
|
19402
|
+
const first2 = args.shift();
|
|
19403
|
+
if (first2 === void 0)
|
|
19402
19404
|
throw new Unsupported();
|
|
19403
|
-
fn =
|
|
19405
|
+
fn = first2.trim().replace(/^_xlfn\./, "");
|
|
19404
19406
|
}
|
|
19405
19407
|
push(`${fn}(${args.join(",")}${closeSpace})`);
|
|
19406
19408
|
closeSpace = "";
|
|
@@ -19967,17 +19969,17 @@ function parseSupBook(data) {
|
|
|
19967
19969
|
const path = rawPath.split(/[\u0001-\u0008\\/]/).pop() ?? rawPath;
|
|
19968
19970
|
return { kind: "external", sheets, path, externNames: [] };
|
|
19969
19971
|
}
|
|
19970
|
-
function sheetRange(
|
|
19971
|
-
if (
|
|
19972
|
-
return quoteSheetName2(
|
|
19973
|
-
const plain2 = quoteSheetName2(
|
|
19974
|
-
return plain2 ? `${
|
|
19972
|
+
function sheetRange(first2, last) {
|
|
19973
|
+
if (first2 === last)
|
|
19974
|
+
return quoteSheetName2(first2);
|
|
19975
|
+
const plain2 = quoteSheetName2(first2) === first2 && quoteSheetName2(last) === last;
|
|
19976
|
+
return plain2 ? `${first2}:${last}` : `'${`${first2}:${last}`.replace(/'/g, "''")}'`;
|
|
19975
19977
|
}
|
|
19976
19978
|
function parseGlobals(records) {
|
|
19977
|
-
const
|
|
19978
|
-
if (!
|
|
19979
|
+
const first2 = records[0];
|
|
19980
|
+
if (!first2 || first2.opcode !== RT.BOF)
|
|
19979
19981
|
throw new XlsReadError("corrupt", "Missing BOF record.");
|
|
19980
|
-
const version =
|
|
19982
|
+
const version = first2.data[0] | first2.data[1] << 8;
|
|
19981
19983
|
if (version !== 1536)
|
|
19982
19984
|
throw new XlsReadError("unsupported-version", "Only Excel 97-2003 (BIFF8) workbooks are supported; this file uses an older Excel format.");
|
|
19983
19985
|
const end = records.findIndex((record) => record.opcode === RT.EOF);
|
|
@@ -20465,11 +20467,11 @@ function parseSheet(bound, records, start, globals) {
|
|
|
20465
20467
|
break;
|
|
20466
20468
|
case 189: {
|
|
20467
20469
|
const row2 = r.u16();
|
|
20468
|
-
const
|
|
20470
|
+
const first2 = r.u16();
|
|
20469
20471
|
const count2 = Math.floor((data.length - 6) / 6);
|
|
20470
20472
|
for (let i = 0; i < count2; i++) {
|
|
20471
20473
|
const xf = r.u16();
|
|
20472
|
-
sheet.cells.push({ row: row2, col:
|
|
20474
|
+
sheet.cells.push({ row: row2, col: first2 + i, xf, value: decodeRk(r.u32()) });
|
|
20473
20475
|
}
|
|
20474
20476
|
break;
|
|
20475
20477
|
}
|
|
@@ -20478,10 +20480,10 @@ function parseSheet(bound, records, start, globals) {
|
|
|
20478
20480
|
break;
|
|
20479
20481
|
case 190: {
|
|
20480
20482
|
const row2 = r.u16();
|
|
20481
|
-
const
|
|
20483
|
+
const first2 = r.u16();
|
|
20482
20484
|
const count2 = Math.floor((data.length - 6) / 2);
|
|
20483
20485
|
for (let i = 0; i < count2; i++)
|
|
20484
|
-
sheet.cells.push({ row: row2, col:
|
|
20486
|
+
sheet.cells.push({ row: row2, col: first2 + i, xf: r.u16(), value: null });
|
|
20485
20487
|
break;
|
|
20486
20488
|
}
|
|
20487
20489
|
case 253: {
|