@rowsncolumns/toolkit 24.5.4 → 24.5.5

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.
Files changed (73) hide show
  1. package/dist/cjs/autofilter-condition.js +6 -2
  2. package/dist/cjs/excel-parser/helpers.d.ts +9 -1
  3. package/dist/cjs/excel-parser/helpers.d.ts.map +1 -1
  4. package/dist/cjs/excel-parser/helpers.js +70 -16
  5. package/dist/cjs/excel-parser/interface.d.ts +9 -1
  6. package/dist/cjs/excel-parser/interface.d.ts.map +1 -1
  7. package/dist/cjs/excel-parser/plugins/xlsx/conditional-formatting.d.ts.map +1 -1
  8. package/dist/cjs/excel-parser/plugins/xlsx/conditional-formatting.js +61 -6
  9. package/dist/cjs/excel-parser/plugins/xlsx/data-validations.d.ts.map +1 -1
  10. package/dist/cjs/excel-parser/plugins/xlsx/data-validations.js +13 -2
  11. package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts +8 -1
  12. package/dist/cjs/excel-parser/plugins/xlsx/index.d.ts.map +1 -1
  13. package/dist/cjs/excel-parser/plugins/xlsx/index.js +159 -26
  14. package/dist/cjs/excel-parser/plugins/xlsx/styles.d.ts +17 -2
  15. package/dist/cjs/excel-parser/plugins/xlsx/styles.d.ts.map +1 -1
  16. package/dist/cjs/excel-parser/plugins/xlsx/styles.js +25 -14
  17. package/dist/cjs/excel-parser/types.d.ts +5 -1
  18. package/dist/cjs/excel-parser/types.d.ts.map +1 -1
  19. package/dist/cjs/excel-parser/workbook.d.ts +1 -0
  20. package/dist/cjs/excel-parser/workbook.d.ts.map +1 -1
  21. package/dist/cjs/excel-parser/workbook.js +4 -0
  22. package/dist/cjs/excel-parser/worker.js +3 -0
  23. package/dist/cjs/exporter/xlsx/chart-builder.d.ts.map +1 -1
  24. package/dist/cjs/exporter/xlsx/chart-builder.js +167 -53
  25. package/dist/cjs/exporter/xlsx/future-functions.d.ts +6 -7
  26. package/dist/cjs/exporter/xlsx/future-functions.d.ts.map +1 -1
  27. package/dist/cjs/exporter/xlsx/future-functions.js +5 -261
  28. package/dist/cjs/exporter/xlsx/style-builder.d.ts.map +1 -1
  29. package/dist/cjs/exporter/xlsx/style-builder.js +62 -19
  30. package/dist/cjs/exporter/xlsx/xlsx-export.d.ts +10 -2
  31. package/dist/cjs/exporter/xlsx/xlsx-export.d.ts.map +1 -1
  32. package/dist/cjs/exporter/xlsx/xlsx-export.js +404 -158
  33. package/dist/cjs/helpers/excel-formula-prefixes.d.ts +51 -0
  34. package/dist/cjs/helpers/excel-formula-prefixes.d.ts.map +1 -0
  35. package/dist/cjs/helpers/excel-formula-prefixes.js +548 -0
  36. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  37. package/dist/esm/autofilter-condition.js +6 -2
  38. package/dist/esm/excel-parser/helpers.d.ts +9 -1
  39. package/dist/esm/excel-parser/helpers.d.ts.map +1 -1
  40. package/dist/esm/excel-parser/helpers.js +65 -3
  41. package/dist/esm/excel-parser/interface.d.ts +9 -1
  42. package/dist/esm/excel-parser/interface.d.ts.map +1 -1
  43. package/dist/esm/excel-parser/plugins/xlsx/conditional-formatting.d.ts.map +1 -1
  44. package/dist/esm/excel-parser/plugins/xlsx/conditional-formatting.js +42 -1
  45. package/dist/esm/excel-parser/plugins/xlsx/data-validations.d.ts.map +1 -1
  46. package/dist/esm/excel-parser/plugins/xlsx/data-validations.js +11 -2
  47. package/dist/esm/excel-parser/plugins/xlsx/index.d.ts +8 -1
  48. package/dist/esm/excel-parser/plugins/xlsx/index.d.ts.map +1 -1
  49. package/dist/esm/excel-parser/plugins/xlsx/index.js +109 -4
  50. package/dist/esm/excel-parser/plugins/xlsx/styles.d.ts +17 -2
  51. package/dist/esm/excel-parser/plugins/xlsx/styles.d.ts.map +1 -1
  52. package/dist/esm/excel-parser/plugins/xlsx/styles.js +20 -8
  53. package/dist/esm/excel-parser/types.d.ts +5 -1
  54. package/dist/esm/excel-parser/types.d.ts.map +1 -1
  55. package/dist/esm/excel-parser/workbook.d.ts +1 -0
  56. package/dist/esm/excel-parser/workbook.d.ts.map +1 -1
  57. package/dist/esm/excel-parser/workbook.js +3 -0
  58. package/dist/esm/excel-parser/worker.js +3 -0
  59. package/dist/esm/exporter/xlsx/chart-builder.d.ts.map +1 -1
  60. package/dist/esm/exporter/xlsx/chart-builder.js +80 -0
  61. package/dist/esm/exporter/xlsx/future-functions.d.ts +6 -7
  62. package/dist/esm/exporter/xlsx/future-functions.d.ts.map +1 -1
  63. package/dist/esm/exporter/xlsx/future-functions.js +5 -261
  64. package/dist/esm/exporter/xlsx/style-builder.d.ts.map +1 -1
  65. package/dist/esm/exporter/xlsx/style-builder.js +56 -18
  66. package/dist/esm/exporter/xlsx/xlsx-export.d.ts +10 -2
  67. package/dist/esm/exporter/xlsx/xlsx-export.d.ts.map +1 -1
  68. package/dist/esm/exporter/xlsx/xlsx-export.js +338 -106
  69. package/dist/esm/helpers/excel-formula-prefixes.d.ts +51 -0
  70. package/dist/esm/helpers/excel-formula-prefixes.d.ts.map +1 -0
  71. package/dist/esm/helpers/excel-formula-prefixes.js +531 -0
  72. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  73. package/package.json +4 -4
@@ -1,9 +1,10 @@
1
1
  import { __assign, __asyncDelegator, __asyncGenerator, __asyncValues, __await, __awaiter, __extends, __generator, __read, __spreadArray, __values } from "tslib";
2
2
  import { addressToCell, addressToSelection, alpha2number, checkIfStringIsReference, findMatchingBandProperty, generateSelectionsFromFormula, getCellXfsKey, isAFormula, isBareFormulaExpression, isNil, uuid, } from "@rowsncolumns/utils";
3
+ import { normalizeImportedFormula } from "../../../helpers/excel-formula-prefixes";
3
4
  import { XMLParser } from "fast-xml-parser";
4
5
  import { get } from "lodash-es";
5
6
  import { Parser as HtmlParser } from "htmlparser2";
6
- import { createFilterSpecsFromAutoFilter, excelColumnWidthToPixels, findMax, createSortSpecsFromSortState, getRangeFromAddressRef, hiddenFilterButtonColumns, parseTableColumnTotals, } from "../../helpers";
7
+ import { BLANK_LABEL, createFilterSpecsFromAutoFilter, dateGroupFilterFromAttributes, excelColumnWidthToPixels, findMax, createSortSpecsFromSortState, getRangeFromAddressRef, hiddenFilterButtonColumns, parseTableColumnTotals, } from "../../helpers";
7
8
  import { defaultSpreadsheetTheme } from "../../theme-default";
8
9
  import { Unescape } from "../../utils";
9
10
  import { compactPrintSettings, isBuiltinPrintName, isDefaultPageMargins, parsePrintAreaFormula, parsePrintTitlesFormula, PRINT_AREA_NAME, } from "../../../print-settings";
@@ -907,7 +908,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
907
908
  };
908
909
  parser = new HtmlParser({
909
910
  onopentag: function (tagName, attrs) {
910
- var _a, _b, _c, _d, _e, _f, _g, _h;
911
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
911
912
  var name = normalizeTag(tagName);
912
913
  if (name === "customSheetViews") {
913
914
  inCustomSheetViews = true;
@@ -1129,12 +1130,27 @@ var XlsxPlugin = /** @class */ (function (_super) {
1129
1130
  var colId = parseInt((_f = attrs.colId) !== null && _f !== void 0 ? _f : "0", 10);
1130
1131
  currentFilterColumn = Number.isNaN(colId) ? null : colId;
1131
1132
  }
1133
+ // <filters blank="1"> — Excel writes the checked "(Blanks)" entry
1134
+ // as an attribute, never as a <filter val>.
1135
+ if (name === "filters" && currentFilterColumn !== null) {
1136
+ if (attrs.blank === "1" || attrs.blank === "true") {
1137
+ getOrCreateFilterColumn(currentFilterColumn).showBlanks = true;
1138
+ }
1139
+ }
1132
1140
  if (name === "filter" && currentFilterColumn !== null) {
1133
1141
  var val = attrs.val;
1134
1142
  if (typeof val === "string") {
1135
1143
  getOrCreateFilterColumn(currentFilterColumn).visibleValues.push(val);
1136
1144
  }
1137
1145
  }
1146
+ // <dateGroupItem year month day … dateTimeGrouping/> inside <filters>.
1147
+ if (name === "dateGroupItem" && currentFilterColumn !== null) {
1148
+ var group = dateGroupFilterFromAttributes(attrs);
1149
+ if (group) {
1150
+ var entry = getOrCreateFilterColumn(currentFilterColumn);
1151
+ ((_g = entry.dateGroups) !== null && _g !== void 0 ? _g : (entry.dateGroups = [])).push(group);
1152
+ }
1153
+ }
1138
1154
  if (name === "colorFilter" && currentFilterColumn !== null) {
1139
1155
  var entry = getOrCreateFilterColumn(currentFilterColumn);
1140
1156
  var dxfIdRaw = attrs.dxfId;
@@ -1166,13 +1182,13 @@ var XlsxPlugin = /** @class */ (function (_super) {
1166
1182
  // operator= val=>. Records the AND flag, then each child below.
1167
1183
  if (name === "customFilters" && currentFilterColumn !== null) {
1168
1184
  var entry = getOrCreateFilterColumn(currentFilterColumn);
1169
- entry.customFilters = (_g = entry.customFilters) !== null && _g !== void 0 ? _g : [];
1185
+ entry.customFilters = (_h = entry.customFilters) !== null && _h !== void 0 ? _h : [];
1170
1186
  entry.customFiltersAnd =
1171
1187
  attrs.and === "1" || attrs.and === "true";
1172
1188
  }
1173
1189
  if (name === "customFilter" && currentFilterColumn !== null) {
1174
1190
  var entry = getOrCreateFilterColumn(currentFilterColumn);
1175
- entry.customFilters = (_h = entry.customFilters) !== null && _h !== void 0 ? _h : [];
1191
+ entry.customFilters = (_j = entry.customFilters) !== null && _j !== void 0 ? _j : [];
1176
1192
  entry.customFilters.push({
1177
1193
  operator: attrs.operator,
1178
1194
  val: attrs.val,
@@ -1239,11 +1255,15 @@ var XlsxPlugin = /** @class */ (function (_super) {
1239
1255
  maxColumnIndex = Math.max(maxColumnIndex, dimensionRange.endColumnIndex);
1240
1256
  }
1241
1257
  filterSpecs = Array.from(filterColumns.entries()).map(function (_a) {
1242
- var _b, _c;
1243
- var _d = __read(_a, 2), columnIndex = _d[0], raw = _d[1];
1258
+ var _b, _c, _d;
1259
+ var _e = __read(_a, 2), columnIndex = _e[0], raw = _e[1];
1244
1260
  var criteria = {};
1245
- if (raw.visibleValues.length) {
1246
- criteria.visibleValues = raw.visibleValues;
1261
+ if (raw.visibleValues.length || raw.showBlanks) {
1262
+ criteria.visibleValues = raw.showBlanks
1263
+ ? __spreadArray(__spreadArray([], __read(raw.visibleValues), false), [BLANK_LABEL], false) : raw.visibleValues;
1264
+ }
1265
+ if ((_b = raw.dateGroups) === null || _b === void 0 ? void 0 : _b.length) {
1266
+ criteria.dateGroups = raw.dateGroups;
1247
1267
  }
1248
1268
  if (raw.colorFilterDxfId !== undefined) {
1249
1269
  var color = _this.resolveDxfColor(raw.colorFilterDxfId, raw.colorFilterCellColor !== false);
@@ -1257,10 +1277,10 @@ var XlsxPlugin = /** @class */ (function (_super) {
1257
1277
  if (raw.iconFilterSet) {
1258
1278
  criteria.iconFilter = {
1259
1279
  iconSet: raw.iconFilterSet,
1260
- iconId: (_b = raw.iconFilterId) !== null && _b !== void 0 ? _b : 0,
1280
+ iconId: (_c = raw.iconFilterId) !== null && _c !== void 0 ? _c : 0,
1261
1281
  };
1262
1282
  }
1263
- if ((_c = raw.customFilters) === null || _c === void 0 ? void 0 : _c.length) {
1283
+ if ((_d = raw.customFilters) === null || _d === void 0 ? void 0 : _d.length) {
1264
1284
  var conditions = customFiltersToCriteria(raw.customFilters, raw.customFiltersAnd === true);
1265
1285
  if (conditions)
1266
1286
  Object.assign(criteria, conditions);
@@ -1995,6 +2015,9 @@ var XlsxPlugin = /** @class */ (function (_super) {
1995
2015
  this.workbookPr =
1996
2016
  get(this.workbookXml, "workbook.workbookPr") ||
1997
2017
  get(this.workbookXml, "x:workbook.x:workbookPr");
2018
+ this.workbookProtectionXml =
2019
+ get(this.workbookXml, "workbook.workbookProtection") ||
2020
+ get(this.workbookXml, "x:workbook.x:workbookProtection");
1998
2021
  return [2 /*return*/];
1999
2022
  }
2000
2023
  });
@@ -3828,7 +3851,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
3828
3851
  };
3829
3852
  XlsxPlugin.prototype._getNamedRanges = function () {
3830
3853
  var e_34, _a, e_35, _b;
3831
- var _c, _d;
3854
+ var _c, _d, _e;
3832
3855
  this.printNamesBySheetId.clear();
3833
3856
  var xml = this.workbookXml;
3834
3857
  var sheetIdBySheetName = this._getSheets().reduce(function (acc, element) {
@@ -3848,18 +3871,41 @@ var XlsxPlugin = /** @class */ (function (_super) {
3848
3871
  var defined_names = Array.isArray(definedName)
3849
3872
  ? definedName
3850
3873
  : [definedName];
3874
+ var sheetElements_1 = this._getSheets();
3875
+ // `localSheetId` indexes the `<sheets>` order; the model scopes a name by
3876
+ // the sheet's id (`scopeSheetId`) so renames and reorders don't move it.
3877
+ var scopeOf = function (localSheetId) {
3878
+ var _a, _b;
3879
+ if (localSheetId === undefined || localSheetId === null)
3880
+ return {};
3881
+ var index = parseInt(String(localSheetId), 10);
3882
+ var sheetId = Number((_b = (_a = sheetElements_1[index]) === null || _a === void 0 ? void 0 : _a.a$) === null || _b === void 0 ? void 0 : _b.sheetId);
3883
+ return Number.isFinite(sheetId) ? { scopeSheetId: sheetId } : {};
3884
+ };
3851
3885
  try {
3852
3886
  for (var defined_names_1 = __values(defined_names), defined_names_1_1 = defined_names_1.next(); !defined_names_1_1.done; defined_names_1_1 = defined_names_1.next()) {
3853
3887
  var defined_name = defined_names_1_1.value;
3854
3888
  var name_8 = (_c = defined_name.a$) === null || _c === void 0 ? void 0 : _c.name;
3855
- var expression = defined_name.t$ || "";
3889
+ // Defined names are stored with the same markers as cell formulas
3890
+ // (`_xlfn.LAMBDA(_xlpm.x,_xlpm.x*2)`); keep the displayed spelling.
3891
+ // The XML layer hands a numeric constant (`<definedName>0.2</definedName>`)
3892
+ // over as a number — keep every expression as text so a constant name
3893
+ // exports the way it was read.
3894
+ var rawExpression = defined_name.t$;
3895
+ var expressionText = rawExpression === undefined || rawExpression === null
3896
+ ? ""
3897
+ : String(rawExpression);
3898
+ var expression = expressionText
3899
+ ? normalizeImportedFormula(expressionText)
3900
+ : "";
3856
3901
  var hidden = defined_name.a$.hidden === "1";
3902
+ var scope = scopeOf((_d = defined_name.a$) === null || _d === void 0 ? void 0 : _d.localSheetId);
3857
3903
  // `_xlnm.Print_Area` / `_xlnm.Print_Titles` are sheet-scoped print
3858
3904
  // facets, not user names: they land on `sheet.printSettings` (see
3859
3905
  // `getSheets()`), never in `namedRanges` — a global copy would make
3860
3906
  // Excel repair the file on the next export.
3861
3907
  if (isBuiltinPrintName(name_8)) {
3862
- this.stashBuiltinPrintName(name_8, typeof expression === "string" ? expression : "", (_d = defined_name.a$) === null || _d === void 0 ? void 0 : _d.localSheetId, sheetIdBySheetName);
3908
+ this.stashBuiltinPrintName(name_8, typeof expression === "string" ? expression : "", (_e = defined_name.a$) === null || _e === void 0 ? void 0 : _e.localSheetId, sheetIdBySheetName);
3863
3909
  continue;
3864
3910
  }
3865
3911
  // Empty defined names are noise; nothing useful to round-trip.
@@ -3883,7 +3929,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
3883
3929
  ? sheetIdBySheetName[selection.sheetName]
3884
3930
  : undefined;
3885
3931
  if (!isNil(sheetId)) {
3886
- namedRanges.push(__assign({ namedRangeId: uuid(), name: name_8, range: __assign(__assign({}, selection.range), { sheetId: sheetId }) }, (hidden ? { hidden: true } : {})));
3932
+ namedRanges.push(__assign(__assign({ namedRangeId: uuid(), name: name_8, range: __assign(__assign({}, selection.range), { sheetId: sheetId }) }, (hidden ? { hidden: true } : {})), scope));
3887
3933
  pushedRange = true;
3888
3934
  }
3889
3935
  }
@@ -3902,7 +3948,7 @@ var XlsxPlugin = /** @class */ (function (_super) {
3902
3948
  // Preserve the original expression as value-only so the name
3903
3949
  // survives the round-trip.
3904
3950
  if (!pushedRange) {
3905
- namedRanges.push(__assign({ name: name_8, namedRangeId: uuid(), value: isAFormula(expression) ? "=".concat(expression) : expression }, (hidden ? { hidden: true } : {})));
3951
+ namedRanges.push(__assign(__assign({ name: name_8, namedRangeId: uuid(), value: isAFormula(expression) ? "=".concat(expression) : expression }, (hidden ? { hidden: true } : {})), scope));
3906
3952
  }
3907
3953
  }
3908
3954
  else {
@@ -3911,9 +3957,9 @@ var XlsxPlugin = /** @class */ (function (_super) {
3911
3957
  // formula-shaped expressions (e.g. `OFFSET(...)`) get the
3912
3958
  // "=" prefix the calculator expects; static literals and
3913
3959
  // broken refs are preserved verbatim.
3914
- namedRanges.push(__assign({ name: name_8, namedRangeId: uuid(), value: isAFormula(expression) || isBareFormulaExpression(expression)
3960
+ namedRanges.push(__assign(__assign({ name: name_8, namedRangeId: uuid(), value: isAFormula(expression) || isBareFormulaExpression(expression)
3915
3961
  ? "=".concat(expression)
3916
- : expression }, (hidden ? { hidden: true } : {})));
3962
+ : expression }, (hidden ? { hidden: true } : {})), scope));
3917
3963
  }
3918
3964
  }
3919
3965
  }
@@ -3946,6 +3992,17 @@ var XlsxPlugin = /** @class */ (function (_super) {
3946
3992
  var v = (_b = (_a = this.workbookPr) === null || _a === void 0 ? void 0 : _a.a$) === null || _b === void 0 ? void 0 : _b.date1904;
3947
3993
  return v === "1" || v === "true" || v === true;
3948
3994
  };
3995
+ /**
3996
+ * `<workbookProtection …/>` → `WorkbookProtection`. The element's presence is
3997
+ * what matters (Excel writes it only for a protected workbook); attributes
3998
+ * are kept exactly as present so the exporter replays them verbatim.
3999
+ */
4000
+ XlsxPlugin.prototype.getWorkbookProtection = function () {
4001
+ var _a, _b;
4002
+ if (!this.workbookProtectionXml)
4003
+ return undefined;
4004
+ return readWorkbookProtectionAttrs((_b = (_a = this.workbookProtectionXml) === null || _a === void 0 ? void 0 : _a.a$) !== null && _b !== void 0 ? _b : {});
4005
+ };
3949
4006
  XlsxPlugin.prototype.getIterativeCalculationOptions = function () {
3950
4007
  var _a;
3951
4008
  var attrs = (_a = this.calcPr) === null || _a === void 0 ? void 0 : _a.a$;
@@ -6523,6 +6580,82 @@ var SHEET_PROTECTION_FLAGS = [
6523
6580
  "pivotTables",
6524
6581
  "selectUnlockedCells",
6525
6582
  ];
6583
+ /** `CT_WorkbookProtection` boolean attributes (camelCase = model key). */
6584
+ var WORKBOOK_PROTECTION_FLAGS = [
6585
+ "lockStructure",
6586
+ "lockWindows",
6587
+ "lockRevision",
6588
+ ];
6589
+ /** `CT_WorkbookProtection` string (hash / password) attributes. */
6590
+ var WORKBOOK_PROTECTION_TEXT_ATTRS = [
6591
+ "workbookPassword",
6592
+ "revisionsPassword",
6593
+ "workbookAlgorithmName",
6594
+ "workbookHashValue",
6595
+ "workbookSaltValue",
6596
+ "revisionsAlgorithmName",
6597
+ "revisionsHashValue",
6598
+ "revisionsSaltValue",
6599
+ ];
6600
+ /**
6601
+ * `<workbookProtection …>` attributes → `WorkbookProtection`. Only attributes
6602
+ * present in the source are set (`"1"|"true"` → true, anything else → false),
6603
+ * so the element round-trips without inventing schema defaults; the password
6604
+ * hashes (legacy `workbookPassword` / `revisionsPassword` or the agile
6605
+ * quartets) ride along verbatim. Mirrors `rnc-import`'s `read_workbook_protection`.
6606
+ */
6607
+ var readWorkbookProtectionAttrs = function (attrs) {
6608
+ var e_70, _a, e_71, _b, e_72, _c;
6609
+ var protection = {};
6610
+ try {
6611
+ for (var WORKBOOK_PROTECTION_FLAGS_1 = __values(WORKBOOK_PROTECTION_FLAGS), WORKBOOK_PROTECTION_FLAGS_1_1 = WORKBOOK_PROTECTION_FLAGS_1.next(); !WORKBOOK_PROTECTION_FLAGS_1_1.done; WORKBOOK_PROTECTION_FLAGS_1_1 = WORKBOOK_PROTECTION_FLAGS_1.next()) {
6612
+ var flag = WORKBOOK_PROTECTION_FLAGS_1_1.value;
6613
+ var value = attrs[flag];
6614
+ if (value !== undefined) {
6615
+ protection[flag] = value === "1" || value === "true";
6616
+ }
6617
+ }
6618
+ }
6619
+ catch (e_70_1) { e_70 = { error: e_70_1 }; }
6620
+ finally {
6621
+ try {
6622
+ if (WORKBOOK_PROTECTION_FLAGS_1_1 && !WORKBOOK_PROTECTION_FLAGS_1_1.done && (_a = WORKBOOK_PROTECTION_FLAGS_1.return)) _a.call(WORKBOOK_PROTECTION_FLAGS_1);
6623
+ }
6624
+ finally { if (e_70) throw e_70.error; }
6625
+ }
6626
+ try {
6627
+ for (var WORKBOOK_PROTECTION_TEXT_ATTRS_1 = __values(WORKBOOK_PROTECTION_TEXT_ATTRS), WORKBOOK_PROTECTION_TEXT_ATTRS_1_1 = WORKBOOK_PROTECTION_TEXT_ATTRS_1.next(); !WORKBOOK_PROTECTION_TEXT_ATTRS_1_1.done; WORKBOOK_PROTECTION_TEXT_ATTRS_1_1 = WORKBOOK_PROTECTION_TEXT_ATTRS_1.next()) {
6628
+ var key = WORKBOOK_PROTECTION_TEXT_ATTRS_1_1.value;
6629
+ if (attrs[key])
6630
+ protection[key] = attrs[key];
6631
+ }
6632
+ }
6633
+ catch (e_71_1) { e_71 = { error: e_71_1 }; }
6634
+ finally {
6635
+ try {
6636
+ if (WORKBOOK_PROTECTION_TEXT_ATTRS_1_1 && !WORKBOOK_PROTECTION_TEXT_ATTRS_1_1.done && (_b = WORKBOOK_PROTECTION_TEXT_ATTRS_1.return)) _b.call(WORKBOOK_PROTECTION_TEXT_ATTRS_1);
6637
+ }
6638
+ finally { if (e_71) throw e_71.error; }
6639
+ }
6640
+ try {
6641
+ for (var _d = __values(["workbookSpinCount", "revisionsSpinCount"]), _e = _d.next(); !_e.done; _e = _d.next()) {
6642
+ var key = _e.value;
6643
+ if (attrs[key] !== undefined) {
6644
+ var count = parseInt(attrs[key], 10);
6645
+ if (Number.isFinite(count))
6646
+ protection[key] = count;
6647
+ }
6648
+ }
6649
+ }
6650
+ catch (e_72_1) { e_72 = { error: e_72_1 }; }
6651
+ finally {
6652
+ try {
6653
+ if (_e && !_e.done && (_c = _d.return)) _c.call(_d);
6654
+ }
6655
+ finally { if (e_72) throw e_72.error; }
6656
+ }
6657
+ return protection;
6658
+ };
6526
6659
  /**
6527
6660
  * `<sheetProtection …>` attributes → `Sheet.sheetProtection`. Only attributes
6528
6661
  * present in the source are set (`"1"|"true"` → true, anything else → false),
@@ -6531,7 +6664,7 @@ var SHEET_PROTECTION_FLAGS = [
6531
6664
  * Mirrors `rnc-import`'s `read_sheet_protection`.
6532
6665
  */
6533
6666
  var readSheetProtectionAttrs = function (attrs) {
6534
- var e_70, _a;
6667
+ var e_73, _a;
6535
6668
  var protection = {};
6536
6669
  try {
6537
6670
  for (var SHEET_PROTECTION_FLAGS_1 = __values(SHEET_PROTECTION_FLAGS), SHEET_PROTECTION_FLAGS_1_1 = SHEET_PROTECTION_FLAGS_1.next(); !SHEET_PROTECTION_FLAGS_1_1.done; SHEET_PROTECTION_FLAGS_1_1 = SHEET_PROTECTION_FLAGS_1.next()) {
@@ -6542,12 +6675,12 @@ var readSheetProtectionAttrs = function (attrs) {
6542
6675
  }
6543
6676
  }
6544
6677
  }
6545
- catch (e_70_1) { e_70 = { error: e_70_1 }; }
6678
+ catch (e_73_1) { e_73 = { error: e_73_1 }; }
6546
6679
  finally {
6547
6680
  try {
6548
6681
  if (SHEET_PROTECTION_FLAGS_1_1 && !SHEET_PROTECTION_FLAGS_1_1.done && (_a = SHEET_PROTECTION_FLAGS_1.return)) _a.call(SHEET_PROTECTION_FLAGS_1);
6549
6682
  }
6550
- finally { if (e_70) throw e_70.error; }
6683
+ finally { if (e_73) throw e_73.error; }
6551
6684
  }
6552
6685
  if (attrs.password)
6553
6686
  protection.password = attrs.password;
@@ -6571,7 +6704,7 @@ var readSheetProtectionAttrs = function (attrs) {
6571
6704
  * (Excel writes one per element in practice).
6572
6705
  */
6573
6706
  var protectedRangesFromEntries = function (sheetId, entries) {
6574
- var e_71, _a;
6707
+ var e_74, _a;
6575
6708
  var ranges = [];
6576
6709
  try {
6577
6710
  for (var entries_1 = __values(entries), entries_1_1 = entries_1.next(); !entries_1_1.done; entries_1_1 = entries_1.next()) {
@@ -6591,12 +6724,12 @@ var protectedRangesFromEntries = function (sheetId, entries) {
6591
6724
  ranges.push(protectedRange);
6592
6725
  }
6593
6726
  }
6594
- catch (e_71_1) { e_71 = { error: e_71_1 }; }
6727
+ catch (e_74_1) { e_74 = { error: e_74_1 }; }
6595
6728
  finally {
6596
6729
  try {
6597
6730
  if (entries_1_1 && !entries_1_1.done && (_a = entries_1.return)) _a.call(entries_1);
6598
6731
  }
6599
- finally { if (e_71) throw e_71.error; }
6732
+ finally { if (e_74) throw e_74.error; }
6600
6733
  }
6601
6734
  return ranges;
6602
6735
  };
@@ -6620,7 +6753,7 @@ var xmlFloatOpt = function (value) {
6620
6753
  return Number.isFinite(n) ? n : undefined;
6621
6754
  };
6622
6755
  var stripUndefined = function (value) {
6623
- var e_72, _a;
6756
+ var e_75, _a;
6624
6757
  try {
6625
6758
  for (var _b = __values(Object.keys(value)), _c = _b.next(); !_c.done; _c = _b.next()) {
6626
6759
  var key = _c.value;
@@ -6628,12 +6761,12 @@ var stripUndefined = function (value) {
6628
6761
  delete value[key];
6629
6762
  }
6630
6763
  }
6631
- catch (e_72_1) { e_72 = { error: e_72_1 }; }
6764
+ catch (e_75_1) { e_75 = { error: e_75_1 }; }
6632
6765
  finally {
6633
6766
  try {
6634
6767
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
6635
6768
  }
6636
- finally { if (e_72) throw e_72.error; }
6769
+ finally { if (e_75) throw e_75.error; }
6637
6770
  }
6638
6771
  return value;
6639
6772
  };
@@ -1,5 +1,5 @@
1
- import type { GridRange, NamedCellStyle } from "@rowsncolumns/common-types";
2
- import type { CellData, Color, ExtendedValue, TextFormat } from "@rowsncolumns/spreadsheet";
1
+ import type { GridRange, Maybe, NamedCellStyle } from "@rowsncolumns/common-types";
2
+ import type { BorderStyle, CellData, Color, ExtendedValue, TextFormat } from "@rowsncolumns/spreadsheet";
3
3
  import type { WorkBook } from "../../workbook";
4
4
  import type { WorkbookStyles } from "./index";
5
5
  type MergeCellContext = {
@@ -54,5 +54,20 @@ export declare function fontNodeToTextFormat(font: any, workbookStyles: Workbook
54
54
  * Extract color information
55
55
  */
56
56
  export declare function extractColor(colorObj: any, indexedColors?: Array<string | undefined>): Color | undefined | null;
57
+ /**
58
+ * Map Excel number format ID to our NumberFormatType
59
+ */
60
+ export declare function mapNumberFormatType(numFmtId: number, formatCode: Maybe<string>): "GENERAL" | "NUMBER" | "CURRENCY" | "ACCOUNTING" | "DATE" | "TIME" | "DATE_TIME" | "PERCENT" | "FRACTION" | "SCIENTIFIC" | "TEXT";
61
+ /**
62
+ * Map Excel border style to our BorderStyle. Covers all 13 OOXML
63
+ * styles; the previous reduced set silently collapsed `hair` →
64
+ * `thin` and lost `mediumDashed` / `dashDot` / `dashDotDot` /
65
+ * `slantDashDot` entirely.
66
+ */
67
+ export declare function mapBorderStyle(excelStyle: any): BorderStyle;
68
+ /**
69
+ * Map border width based on style
70
+ */
71
+ export declare function mapBorderWidth(excelStyle: any): 1 | 2 | 3;
57
72
  export {};
58
73
  //# sourceMappingURL=styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAET,cAAc,EACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAGV,QAAQ,EAER,KAAK,EAEL,aAAa,EAIb,UAAU,EACX,MAAM,2BAA2B,CAAC;AAMnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAuD9C,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,SAAS,CAAC;IACjB,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACzC,CAAC;AAEF;;;;;GAKG;AAEH,6DAA6D;AAC7D,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,OACvB,CAAC;AAE1C,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,UAAQ,EAC7B,mBAAmB,UAAQ,EAC3B,eAAe,CAAC,EAAE,MAAM,EACxB,YAAY,CAAC,EAAE,gBAAgB,GAC9B,QAAQ,GAAG,IAAI,CAqKjB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,UAAQ,GAC5B,QAAQ,GAAG,IAAI,CAoBjB;AAED,eAAO,MAAM,gBAAgB,GAAI,UAAU,GAAG,KAAG,aAAa,GAAG,SAShE,CAAC;AA2TF;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,GAAG,EACT,cAAc,EAAE,cAAc,GAC7B;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAUpD;AAgCD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,GAChD,cAAc,EAAE,CAuBlB;AA4ND;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,GAAG,EACT,cAAc,EAAE,cAAc,GAC7B,UAAU,GAAG,IAAI,CAwFnB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,GAAG,EACb,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,GACxC,KAAK,GAAG,SAAS,GAAG,IAAI,CA8C1B"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,KAAK,EACL,cAAc,EACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAEV,WAAW,EACX,QAAQ,EAER,KAAK,EAEL,aAAa,EAIb,UAAU,EACX,MAAM,2BAA2B,CAAC;AAMnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAuD9C,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,SAAS,CAAC;IACjB,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACzC,CAAC;AAEF;;;;;GAKG;AAEH,6DAA6D;AAC7D,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,OACvB,CAAC;AAE1C,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,UAAQ,EAC7B,mBAAmB,UAAQ,EAC3B,eAAe,CAAC,EAAE,MAAM,EACxB,YAAY,CAAC,EAAE,gBAAgB,GAC9B,QAAQ,GAAG,IAAI,CAuKjB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,UAAQ,GAC5B,QAAQ,GAAG,IAAI,CAoBjB;AAED,eAAO,MAAM,gBAAgB,GAAI,UAAU,GAAG,KAAG,aAAa,GAAG,SAShE,CAAC;AAsUF;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,GAAG,EACT,cAAc,EAAE,cAAc,GAC7B;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAUpD;AAgCD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,GAChD,cAAc,EAAE,CAuBlB;AA4ND;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,GAAG,EACT,cAAc,EAAE,cAAc,GAC7B,UAAU,GAAG,IAAI,CAwFnB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,GAAG,EACb,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,GACxC,KAAK,GAAG,SAAS,GAAG,IAAI,CA8C1B;AAiCD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,qIA6K9E;AAmRD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,GAAG,GAAG,WAAW,CA6B3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,GAAG,aAwB7C"}
@@ -2,7 +2,7 @@ import { __assign, __read, __values } from "tslib";
2
2
  import { formulaToRelativeReference } from "@rowsncolumns/calculator";
3
3
  import { IndexedColors } from "@rowsncolumns/utils";
4
4
  import { addressToCell, ssfFormat } from "@rowsncolumns/utils";
5
- import { decodeImplicitIntersection } from "../../../helpers/implicit-intersection";
5
+ import { normalizeImportedFormula } from "../../../helpers/excel-formula-prefixes";
6
6
  import { standardExcelFormatCodeById } from "./numfmt";
7
7
  import { detectValueTypeAndPattern } from "./value-type-detection";
8
8
  var getNode = function (node) {
@@ -95,7 +95,7 @@ export function getCellValueAndFormat(cell, workbook, enableCellXfsRegistry, ena
95
95
  return null;
96
96
  }
97
97
  // Extract raw value
98
- var _d = extractCellValue(cell, workbook, activeSheetName), extractedRawValue = _d.rawValue, formulaValue = _d.formulaValue, sharedStringIndex = _d.sharedStringIndex, isError = _d.isError, arrayFormulaRef = _d.arrayFormulaRef, sharedFormulaSpec = _d.sharedFormulaSpec;
98
+ var _d = extractCellValue(cell, workbook, activeSheetName), extractedRawValue = _d.rawValue, formulaValue = _d.formulaValue, sharedStringIndex = _d.sharedStringIndex, isError = _d.isError, arrayFormulaRef = _d.arrayFormulaRef, legacyArrayFormula = _d.legacyArrayFormula, sharedFormulaSpec = _d.sharedFormulaSpec;
99
99
  var rawValue = extractedRawValue;
100
100
  // Extract cell format
101
101
  var cellFormat = extractCellFormat(cell, workbook.workbookStyles, mergeContext);
@@ -200,7 +200,7 @@ export function getCellValueAndFormat(cell, workbook, enableCellXfsRegistry, ena
200
200
  : typeof rawValue === "string"
201
201
  ? rawValue
202
202
  : ssfFormat(pattern, rawValue);
203
- return __assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (hasFormat ? { uf: ef } : {})), (fv !== undefined ? { fv: fv } : {})), (ue ? { ue: ue } : {})), (ev ? { ev: ev } : {})), (arrayFormulaRef ? { af: arrayFormulaRef } : {})), (sharedFormulaSpec ? { sf: sharedFormulaSpec } : {})), (protection ? { protection: protection } : {}));
203
+ return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (hasFormat ? { uf: ef } : {})), (fv !== undefined ? { fv: fv } : {})), (ue ? { ue: ue } : {})), (ev ? { ev: ev } : {})), (arrayFormulaRef ? { af: arrayFormulaRef } : {})), (arrayFormulaRef && legacyArrayFormula ? { cse: true } : {})), (sharedFormulaSpec ? { sf: sharedFormulaSpec } : {})), (protection ? { protection: protection } : {}));
204
204
  }
205
205
  /**
206
206
  * Build a format-only CellData for a style index that a cell inherits from
@@ -239,7 +239,7 @@ export var getExtendedValue = function (rawValue) {
239
239
  * Extract the raw and formatted value from a cell
240
240
  */
241
241
  function extractCellValue(cell, workbook, activeSheetName) {
242
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
242
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
243
243
  // Handle namespaced properties (x:v and x:f)
244
244
  var cellValueNode = (_a = cell.v) !== null && _a !== void 0 ? _a : cell["x:v"];
245
245
  var cellValueText = getNodeText(cellValueNode);
@@ -261,6 +261,7 @@ function extractCellValue(cell, workbook, activeSheetName) {
261
261
  var sharedStringIndex;
262
262
  var isError = false;
263
263
  var arrayFormulaRef;
264
+ var legacyArrayFormula = false;
264
265
  var sharedFormulaSpec;
265
266
  if (cellFormula) {
266
267
  // Shared formula. Capture provenance so the exporter can re-emit
@@ -289,10 +290,16 @@ function extractCellValue(cell, workbook, activeSheetName) {
289
290
  // carries the `<f>` element; spilled cells in the range have no formula
290
291
  // and therefore never reach this branch. Default to the cell's own
291
292
  // coordinate when `ref` is absent (some writers omit it for single-cell).
293
+ // Excel 365 marks a dynamic-array anchor with `cm="1"` on the `<c>`
294
+ // (an index into `xl/metadata.xml`'s XLDAPR record); the same
295
+ // `<f t="array">` without `cm` is a legacy Ctrl+Shift+Enter array, which
296
+ // Excel keeps showing as `{=…}`. Remember which one it was so the
297
+ // exporter writes the same kind back.
292
298
  if (cellFormula.a$ && cellFormula.a$.t === "array") {
293
299
  var cellRef = (_c = cell.a$) === null || _c === void 0 ? void 0 : _c.r;
294
300
  arrayFormulaRef =
295
301
  (_d = cellFormula.a$.ref) !== null && _d !== void 0 ? _d : (cellRef ? "".concat(cellRef, ":").concat(cellRef) : undefined);
302
+ legacyArrayFormula = ((_e = cell.a$) === null || _e === void 0 ? void 0 : _e.cm) === undefined || ((_f = cell.a$) === null || _f === void 0 ? void 0 : _f.cm) === null;
296
303
  }
297
304
  // Shared-formula followers parse as `{ a$: { t: "shared", si }, t$: "" }` —
298
305
  // the self-closing `<f t="shared" si=".."/>` has no text content but the
@@ -315,9 +322,9 @@ function extractCellValue(cell, workbook, activeSheetName) {
315
322
  // Pass `preserveAbsolutes: true` explicitly — the default shifts
316
323
  // `$A$1` along with relative refs, which corrupts followers.
317
324
  var sharedIndex = cellFormula.a$.si;
318
- var sFormula = (_e = workbook.sharedFormulaMap) === null || _e === void 0 ? void 0 : _e.get(sharedIndex);
325
+ var sFormula = (_g = workbook.sharedFormulaMap) === null || _g === void 0 ? void 0 : _g.get(sharedIndex);
319
326
  if (sFormula) {
320
- var _k = __read(sFormula, 2), sharedFormula = _k[0], sourceCell = _k[1];
327
+ var _m = __read(sFormula, 2), sharedFormula = _m[0], sourceCell = _m[1];
321
328
  var sourceCellInterface = addressToCell(sourceCell);
322
329
  var destinationCell = addressToCell(cell.a$.r);
323
330
  if (sourceCellInterface && destinationCell) {
@@ -331,9 +338,12 @@ function extractCellValue(cell, workbook, activeSheetName) {
331
338
  }
332
339
  }
333
340
  if (formulaValue) {
334
- // Excel 365 persists the implicit-intersection operator `@` as
335
- // `_xlfn.SINGLE(...)`; show it the way Excel does.
336
- formulaValue = decodeImplicitIntersection(normalizeFormulaSheetNames(formulaValue));
341
+ // Sheet XML spells modern formulas with storage markers Excel never
342
+ // shows — `_xlfn.XLOOKUP(`, `_xlfn._xlws.FILTER(`, `_xlpm.` on LET /
343
+ // LAMBDA parameters, `_xlfn.ANCHORARRAY(A1)` for `A1#` and
344
+ // `_xlfn.SINGLE(x)` for `@x`. Store the formula the way Excel displays
345
+ // it; the exporter re-adds the markers.
346
+ formulaValue = normalizeImportedFormula(normalizeFormulaSheetNames(formulaValue));
337
347
  }
338
348
  switch (cellType) {
339
349
  case "s": {
@@ -343,7 +353,7 @@ function extractCellValue(cell, workbook, activeSheetName) {
343
353
  if (!Number.isNaN(stringIndex)) {
344
354
  sharedStringIndex = stringIndex;
345
355
  rawValue =
346
- (_h = (_g = (_f = workbook.sharedStrings) === null || _f === void 0 ? void 0 : _f[stringIndex]) !== null && _g !== void 0 ? _g : cellValueText) !== null && _h !== void 0 ? _h : "";
356
+ (_k = (_j = (_h = workbook.sharedStrings) === null || _h === void 0 ? void 0 : _h[stringIndex]) !== null && _j !== void 0 ? _j : cellValueText) !== null && _k !== void 0 ? _k : "";
347
357
  }
348
358
  else {
349
359
  rawValue = cellValueText !== null && cellValueText !== void 0 ? cellValueText : "";
@@ -368,7 +378,7 @@ function extractCellValue(cell, workbook, activeSheetName) {
368
378
  var styleIndex = parseInt(cell.a$.s);
369
379
  // You'll need a function to get the numFmtId from the style
370
380
  var xf = workbook.workbookStyles.getCellXfs(styleIndex);
371
- var numFmtId = ((_j = xf === null || xf === void 0 ? void 0 : xf.a$) === null || _j === void 0 ? void 0 : _j.numFmtId) ? parseInt(xf.a$.numFmtId) : NaN;
381
+ var numFmtId = ((_l = xf === null || xf === void 0 ? void 0 : xf.a$) === null || _l === void 0 ? void 0 : _l.numFmtId) ? parseInt(xf.a$.numFmtId) : NaN;
372
382
  // Time formats typically have numFmtId values: 18-21 and 45-47
373
383
  // Date formats typically have numFmtId values: 14-17 and 22
374
384
  var isTimeFormat = [18, 19, 20, 21, 45, 46, 47].includes(numFmtId);
@@ -413,6 +423,7 @@ function extractCellValue(cell, workbook, activeSheetName) {
413
423
  sharedStringIndex: sharedStringIndex,
414
424
  isError: isError,
415
425
  arrayFormulaRef: arrayFormulaRef,
426
+ legacyArrayFormula: legacyArrayFormula,
416
427
  sharedFormulaSpec: sharedFormulaSpec,
417
428
  };
418
429
  }
@@ -927,7 +938,7 @@ function extractNumberFormat(xf, workbookStyles) {
927
938
  /**
928
939
  * Map Excel number format ID to our NumberFormatType
929
940
  */
930
- function mapNumberFormatType(numFmtId, formatCode) {
941
+ export function mapNumberFormatType(numFmtId, formatCode) {
931
942
  // Built-in format ids
932
943
  switch (numFmtId) {
933
944
  case 0:
@@ -1342,7 +1353,7 @@ function extractBorders(xf, workbookStyles) {
1342
1353
  * `thin` and lost `mediumDashed` / `dashDot` / `dashDotDot` /
1343
1354
  * `slantDashDot` entirely.
1344
1355
  */
1345
- function mapBorderStyle(excelStyle) {
1356
+ export function mapBorderStyle(excelStyle) {
1346
1357
  switch (excelStyle) {
1347
1358
  case "hair":
1348
1359
  return "hair";
@@ -1375,7 +1386,7 @@ function mapBorderStyle(excelStyle) {
1375
1386
  /**
1376
1387
  * Map border width based on style
1377
1388
  */
1378
- function mapBorderWidth(excelStyle) {
1389
+ export function mapBorderWidth(excelStyle) {
1379
1390
  switch (excelStyle) {
1380
1391
  case "hair":
1381
1392
  // Hair is the lightest border in OOXML — slightly thinner than
@@ -1,4 +1,4 @@
1
- import type { CellData, ConditionalFormatRule, DataValidationRuleRecord, EmbeddedChart, NamedRange, ProtectedRange, Slicer, SpreadsheetTheme, TableView } from "@rowsncolumns/spreadsheet";
1
+ import type { CellData, ConditionalFormatRule, DataValidationRuleRecord, EmbeddedChart, NamedRange, ProtectedRange, Slicer, SpreadsheetTheme, TableView, WorkbookProtection } from "@rowsncolumns/spreadsheet";
2
2
  import type { CommentThread, IterativeCalculationOptions, NamedCellStyle } from "@rowsncolumns/common-types";
3
3
  import type { CustomTableStyle, EmbeddedObject } from "@rowsncolumns/spreadsheet";
4
4
  import { type Sheet } from "@rowsncolumns/spreadsheet";
@@ -217,6 +217,8 @@ export type WorkerResponse = {
217
217
  error?: string;
218
218
  requiresRecalc?: boolean;
219
219
  iterativeCalculationOptions?: IterativeCalculationOptions;
220
+ /** `<workbookProtection>` — Excel's "Protect Workbook" state, when present. */
221
+ workbookProtection?: WorkbookProtection;
220
222
  /**
221
223
  * The source workbook declared the 1904 date system. The emitted cell
222
224
  * data is already converted to the 1900 system (date-formatted
@@ -349,6 +351,8 @@ export type WorkerResponse = {
349
351
  namedRanges: NamedRange[];
350
352
  requiresRecalc?: boolean;
351
353
  iterativeCalculationOptions?: IterativeCalculationOptions;
354
+ /** `<workbookProtection>` — Excel's "Protect Workbook" state, when present. */
355
+ workbookProtection?: WorkbookProtection;
352
356
  /** Source workbook was 1904-system; chunk data is 1900-system (see `PARSE_EXCEL_SUCCESS`). */
353
357
  use1904?: boolean;
354
358
  } | ({
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../excel-parser/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../excel-parser/types.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ export declare class WorkBook implements IWorkbookPlugin {
31
31
  get sharedFormulaMap(): Map<string, [string, string]> | undefined;
32
32
  requiresRecalc(): boolean;
33
33
  getIterativeCalculationOptions(): import("@rowsncolumns/common-types").IterativeCalculationOptions | undefined;
34
+ getWorkbookProtection(): import("@rowsncolumns/spreadsheet").WorkbookProtection | undefined;
34
35
  getUse1904Epoch(): boolean;
35
36
  getSharedStrings(): string[];
36
37
  processSheetData(chunkSize?: number, enableCellXfsRegistry?: boolean, enableSharedStrings?: boolean, onPhase?: (phase: string, sheetTitle?: string) => void): AsyncGenerator<import("./types").ProcessSheetDataResult, void, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"workbook.d.ts","sourceRoot":"","sources":["../../../excel-parser/workbook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,2BAA2B,IAAI,4BAA4B,EAC3D,cAAc,EACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,+BAA+B,EAC/B,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAsBjB,qBAAa,QAAS,YAAW,eAAe;IAC9C,OAAO,CAAC,MAAM,CAAmB;;IAI3B,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAqB3E,OAAO;IAIP,aAAa;IAIb,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;IAIvD;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAe/C,QAAQ,CACZ,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAehC,QAAQ;IAIR,6EAA6E;IAC7E,kBAAkB;IAGlB,oBAAoB;IAIpB,0EAA0E;IAC1E,cAAc;IAId,QAAQ;IAIR,UAAU;IAIV,SAAS;IAIT,IAAI,cAAc,QAEjB;IAED,IAAI,aAAa,yBAEhB;IAED,IAAI,oBAAoB,kFAEvB;IAED,IAAI,gBAAgB,8CAEnB;IAED,cAAc;IAId,8BAA8B;IAI9B,eAAe;IAIf,gBAAgB;IAIhB,gBAAgB,CACd,SAAS,CAAC,EAAE,MAAM,EAClB,qBAAqB,CAAC,EAAE,OAAO,EAC/B,mBAAmB,CAAC,EAAE,OAAO,EAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI;IAUxD,wBAAwB,CAAC,OAAO,EAAE,+BAA+B;IAmBjE,kBAAkB,CAAC,OAAO,EAAE,MAAM;IAIlC,WAAW;IAIX,SAAS;IAIT,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM;IAgBzC,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM;IAgBnC,cAAc;IAId,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM;IAInC,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM;IAIlC,UAAU;IAIV,cAAc;IAId,aAAa;IAIb,gBAAgB;IAIV,aAAa;IAInB,cAAc,CAAC,MAAM,EAAE,GAAG;CAM3B;AAED,eAAO,MAAM,2BAA2B,qCAA+B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"workbook.d.ts","sourceRoot":"","sources":["../../../excel-parser/workbook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,2BAA2B,IAAI,4BAA4B,EAC3D,cAAc,EACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,+BAA+B,EAC/B,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAsBjB,qBAAa,QAAS,YAAW,eAAe;IAC9C,OAAO,CAAC,MAAM,CAAmB;;IAI3B,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAqB3E,OAAO;IAIP,aAAa;IAIb,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;IAIvD;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAe/C,QAAQ,CACZ,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAehC,QAAQ;IAIR,6EAA6E;IAC7E,kBAAkB;IAGlB,oBAAoB;IAIpB,0EAA0E;IAC1E,cAAc;IAId,QAAQ;IAIR,UAAU;IAIV,SAAS;IAIT,IAAI,cAAc,QAEjB;IAED,IAAI,aAAa,yBAEhB;IAED,IAAI,oBAAoB,kFAEvB;IAED,IAAI,gBAAgB,8CAEnB;IAED,cAAc;IAId,8BAA8B;IAI9B,qBAAqB;IAIrB,eAAe;IAIf,gBAAgB;IAIhB,gBAAgB,CACd,SAAS,CAAC,EAAE,MAAM,EAClB,qBAAqB,CAAC,EAAE,OAAO,EAC/B,mBAAmB,CAAC,EAAE,OAAO,EAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI;IAUxD,wBAAwB,CAAC,OAAO,EAAE,+BAA+B;IAmBjE,kBAAkB,CAAC,OAAO,EAAE,MAAM;IAIlC,WAAW;IAIX,SAAS;IAIT,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM;IAgBzC,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM;IAgBnC,cAAc;IAId,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM;IAInC,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM;IAIlC,UAAU;IAIV,cAAc;IAId,aAAa;IAIb,gBAAgB;IAIV,aAAa;IAInB,cAAc,CAAC,MAAM,EAAE,GAAG;CAM3B;AAED,eAAO,MAAM,2BAA2B,qCAA+B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,CAAC"}