xls-codec 4.4.0 → 4.6.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.
Files changed (42) hide show
  1. package/README.md +5 -3
  2. package/dist/biff/record-types.cjs +9 -0
  3. package/dist/biff/record-types.d.cts +7 -1
  4. package/dist/biff/record-types.d.ts +7 -1
  5. package/dist/biff/record-types.js +7 -1
  6. package/dist/biff/substreams.cjs +8 -0
  7. package/dist/biff/substreams.js +8 -0
  8. package/dist/biff/xf-colors.cjs +61 -0
  9. package/dist/biff/xf-colors.d.cts +2 -2
  10. package/dist/biff/xf-colors.d.ts +2 -2
  11. package/dist/biff/xf-colors.js +61 -1
  12. package/dist/biff/xf-writer.d.cts +1 -1
  13. package/dist/biff/xf-writer.d.ts +1 -1
  14. package/dist/conditional-format-12-DPNiYLVp.d.cts +76 -0
  15. package/dist/conditional-format-12-DyqonR1G.d.ts +76 -0
  16. package/dist/{conditional-format-BV2313jL.d.ts → conditional-format-CWlz0Ty6.d.ts} +2 -1
  17. package/dist/{conditional-format-DUQuOrNW.d.cts → conditional-format-S9NaPjhr.d.cts} +2 -1
  18. package/dist/content.cjs +103 -1
  19. package/dist/content.js +104 -2
  20. package/dist/index.cjs +3 -0
  21. package/dist/index.d.cts +2 -2
  22. package/dist/index.d.ts +2 -2
  23. package/dist/index.js +2 -2
  24. package/dist/workbook/conditional-format-12.cjs +331 -0
  25. package/dist/workbook/conditional-format-12.d.cts +2 -0
  26. package/dist/workbook/conditional-format-12.d.ts +2 -0
  27. package/dist/workbook/conditional-format-12.js +330 -0
  28. package/dist/workbook/conditional-format.cjs +1 -0
  29. package/dist/workbook/conditional-format.d.cts +2 -2
  30. package/dist/workbook/conditional-format.d.ts +2 -2
  31. package/dist/workbook/conditional-format.js +1 -1
  32. package/dist/workbook/globals-writer.d.cts +1 -1
  33. package/dist/workbook/globals-writer.d.ts +1 -1
  34. package/dist/workbook/globals.d.cts +1 -1
  35. package/dist/workbook/globals.d.ts +1 -1
  36. package/dist/workbook/sheet.cjs +11 -1
  37. package/dist/workbook/sheet.d.cts +3 -1
  38. package/dist/workbook/sheet.d.ts +3 -1
  39. package/dist/workbook/sheet.js +11 -1
  40. package/dist/{xf-colors--5oxSeI1.d.ts → xf-colors-d3OvRw76.d.ts} +7 -1
  41. package/dist/{xf-colors-BB5MKq6R.d.cts → xf-colors-mqerVt2O.d.cts} +7 -1
  42. package/package.json +1 -1
package/dist/content.cjs CHANGED
@@ -116,6 +116,7 @@ function readSheet(entry, sheetIndex, substreams, globals) {
116
116
  merges: [],
117
117
  dataValidations: [],
118
118
  conditionalFormats: [],
119
+ conditionalFormats12: [],
119
120
  print: {
120
121
  marginsPt: {},
121
122
  rowBreaks: [],
@@ -129,7 +130,7 @@ function readSheet(entry, sheetIndex, substreams, globals) {
129
130
  const cells = mapCells(raw, globals);
130
131
  applyCellComments(comments, cells);
131
132
  const dataValidations = mapDataValidations(raw.dataValidations);
132
- const conditionalFormats = mapConditionalFormats(raw.conditionalFormats, globals.palette);
133
+ const conditionalFormats = [...mapConditionalFormats(raw.conditionalFormats, globals.palette), ...mapConditionalFormats12(raw.conditionalFormats12, globals.palette)];
133
134
  return {
134
135
  name: entry.name,
135
136
  cells,
@@ -154,6 +155,107 @@ function mapConditionalFormats(raw, palette) {
154
155
  };
155
156
  });
156
157
  }
158
+ function mapConditionalFormats12(raw, palette) {
159
+ const results = [];
160
+ for (const format of raw) {
161
+ const common = {
162
+ ranges: format.ranges,
163
+ priority: format.priority,
164
+ ...format.stopIfTrue ? { stopIfTrue: true } : {}
165
+ };
166
+ if (format.kind === "colorScale") {
167
+ const stops = mapColorScaleStops(format.stops, palette);
168
+ if (stops === void 0) continue;
169
+ results.push({
170
+ type: "colorScale",
171
+ stops,
172
+ ...common
173
+ });
174
+ continue;
175
+ }
176
+ if (format.kind === "dataBar") {
177
+ const color = mapCfColor(format.color, palette);
178
+ if (color === void 0) continue;
179
+ results.push({
180
+ type: "dataBar",
181
+ min: format.min,
182
+ max: format.max,
183
+ color,
184
+ ...format.showValue ? {} : { showValue: false },
185
+ ...common
186
+ });
187
+ continue;
188
+ }
189
+ if (format.kind === "iconSet") {
190
+ results.push({
191
+ type: "iconSet",
192
+ iconSetType: format.iconSetType,
193
+ thresholds: [...format.thresholds],
194
+ ...format.reverse ? { reverse: true } : {},
195
+ ...format.showValue ? {} : { showValue: false },
196
+ ...common
197
+ });
198
+ continue;
199
+ }
200
+ if (format.kind === "top10") {
201
+ const style = mapConditionalFormatStyle(format.style, palette);
202
+ results.push({
203
+ type: "top10",
204
+ rank: format.rank,
205
+ ...format.percent ? { percent: true } : {},
206
+ ...format.bottom ? { bottom: true } : {},
207
+ ...style !== void 0 ? { style } : {},
208
+ ...common
209
+ });
210
+ continue;
211
+ }
212
+ if (format.kind === "aboveAverage") {
213
+ const style = mapConditionalFormatStyle(format.style, palette);
214
+ results.push({
215
+ type: "aboveAverage",
216
+ ...format.aboveAverage ? {} : { aboveAverage: false },
217
+ ...format.equalAverage ? { equalAverage: true } : {},
218
+ ...format.stdDev !== void 0 ? { stdDev: format.stdDev } : {},
219
+ ...style !== void 0 ? { style } : {},
220
+ ...common
221
+ });
222
+ continue;
223
+ }
224
+ if (format.kind === "timePeriod") {
225
+ const style = mapConditionalFormatStyle(format.style, palette);
226
+ results.push({
227
+ type: "timePeriod",
228
+ timePeriod: format.timePeriod,
229
+ ...style !== void 0 ? { style } : {},
230
+ ...common
231
+ });
232
+ continue;
233
+ }
234
+ const style = mapConditionalFormatStyle(format.style, palette);
235
+ results.push({
236
+ type: format.kind,
237
+ ...style !== void 0 ? { style } : {},
238
+ ...common
239
+ });
240
+ }
241
+ return results;
242
+ }
243
+ function mapCfColor(raw, palette) {
244
+ const base = raw.kind === "rgb" ? raw.color : require_biff_xf_colors.resolveIcvColor(raw.icv, palette);
245
+ return base === void 0 ? void 0 : require_biff_xf_colors.applyTint(base, raw.tint);
246
+ }
247
+ function mapColorScaleStops(stops, palette) {
248
+ const mapped = [];
249
+ for (const stop of stops) {
250
+ const color = mapCfColor(stop.color, palette);
251
+ if (color === void 0) return;
252
+ mapped.push({
253
+ value: stop.value,
254
+ color
255
+ });
256
+ }
257
+ return mapped;
258
+ }
157
259
  function mapConditionalFormatStyle(raw, palette) {
158
260
  if (raw === void 0) return;
159
261
  const textColor = raw.fontColorIcv === void 0 ? void 0 : require_biff_xf_colors.resolveIcvColor(raw.fontColorIcv, palette);
package/dist/content.js CHANGED
@@ -4,7 +4,7 @@ import { readWorkbookStreams } from "./container.js";
4
4
  import { inchesToPoints } from "./units.js";
5
5
  import { pageSizeFromSetup } from "./biff/print-setup.js";
6
6
  import { groupRecords, splitSubstreams } from "./biff/substreams.js";
7
- import { resolveBorderEdge, resolveFillBackground, resolveIcvColor } from "./biff/xf-colors.js";
7
+ import { applyTint, resolveBorderEdge, resolveFillBackground, resolveIcvColor } from "./biff/xf-colors.js";
8
8
  import { readSheetComments } from "./workbook/comments.js";
9
9
  import { serialToIsoDate, serialToIsoDateTime, serialToIsoTime } from "./serial.js";
10
10
  import { formatCodeOf, readWorkbookGlobals } from "./workbook/globals.js";
@@ -115,6 +115,7 @@ function readSheet(entry, sheetIndex, substreams, globals) {
115
115
  merges: [],
116
116
  dataValidations: [],
117
117
  conditionalFormats: [],
118
+ conditionalFormats12: [],
118
119
  print: {
119
120
  marginsPt: {},
120
121
  rowBreaks: [],
@@ -128,7 +129,7 @@ function readSheet(entry, sheetIndex, substreams, globals) {
128
129
  const cells = mapCells(raw, globals);
129
130
  applyCellComments(comments, cells);
130
131
  const dataValidations = mapDataValidations(raw.dataValidations);
131
- const conditionalFormats = mapConditionalFormats(raw.conditionalFormats, globals.palette);
132
+ const conditionalFormats = [...mapConditionalFormats(raw.conditionalFormats, globals.palette), ...mapConditionalFormats12(raw.conditionalFormats12, globals.palette)];
132
133
  return {
133
134
  name: entry.name,
134
135
  cells,
@@ -153,6 +154,107 @@ function mapConditionalFormats(raw, palette) {
153
154
  };
154
155
  });
155
156
  }
157
+ function mapConditionalFormats12(raw, palette) {
158
+ const results = [];
159
+ for (const format of raw) {
160
+ const common = {
161
+ ranges: format.ranges,
162
+ priority: format.priority,
163
+ ...format.stopIfTrue ? { stopIfTrue: true } : {}
164
+ };
165
+ if (format.kind === "colorScale") {
166
+ const stops = mapColorScaleStops(format.stops, palette);
167
+ if (stops === void 0) continue;
168
+ results.push({
169
+ type: "colorScale",
170
+ stops,
171
+ ...common
172
+ });
173
+ continue;
174
+ }
175
+ if (format.kind === "dataBar") {
176
+ const color = mapCfColor(format.color, palette);
177
+ if (color === void 0) continue;
178
+ results.push({
179
+ type: "dataBar",
180
+ min: format.min,
181
+ max: format.max,
182
+ color,
183
+ ...format.showValue ? {} : { showValue: false },
184
+ ...common
185
+ });
186
+ continue;
187
+ }
188
+ if (format.kind === "iconSet") {
189
+ results.push({
190
+ type: "iconSet",
191
+ iconSetType: format.iconSetType,
192
+ thresholds: [...format.thresholds],
193
+ ...format.reverse ? { reverse: true } : {},
194
+ ...format.showValue ? {} : { showValue: false },
195
+ ...common
196
+ });
197
+ continue;
198
+ }
199
+ if (format.kind === "top10") {
200
+ const style = mapConditionalFormatStyle(format.style, palette);
201
+ results.push({
202
+ type: "top10",
203
+ rank: format.rank,
204
+ ...format.percent ? { percent: true } : {},
205
+ ...format.bottom ? { bottom: true } : {},
206
+ ...style !== void 0 ? { style } : {},
207
+ ...common
208
+ });
209
+ continue;
210
+ }
211
+ if (format.kind === "aboveAverage") {
212
+ const style = mapConditionalFormatStyle(format.style, palette);
213
+ results.push({
214
+ type: "aboveAverage",
215
+ ...format.aboveAverage ? {} : { aboveAverage: false },
216
+ ...format.equalAverage ? { equalAverage: true } : {},
217
+ ...format.stdDev !== void 0 ? { stdDev: format.stdDev } : {},
218
+ ...style !== void 0 ? { style } : {},
219
+ ...common
220
+ });
221
+ continue;
222
+ }
223
+ if (format.kind === "timePeriod") {
224
+ const style = mapConditionalFormatStyle(format.style, palette);
225
+ results.push({
226
+ type: "timePeriod",
227
+ timePeriod: format.timePeriod,
228
+ ...style !== void 0 ? { style } : {},
229
+ ...common
230
+ });
231
+ continue;
232
+ }
233
+ const style = mapConditionalFormatStyle(format.style, palette);
234
+ results.push({
235
+ type: format.kind,
236
+ ...style !== void 0 ? { style } : {},
237
+ ...common
238
+ });
239
+ }
240
+ return results;
241
+ }
242
+ function mapCfColor(raw, palette) {
243
+ const base = raw.kind === "rgb" ? raw.color : resolveIcvColor(raw.icv, palette);
244
+ return base === void 0 ? void 0 : applyTint(base, raw.tint);
245
+ }
246
+ function mapColorScaleStops(stops, palette) {
247
+ const mapped = [];
248
+ for (const stop of stops) {
249
+ const color = mapCfColor(stop.color, palette);
250
+ if (color === void 0) return;
251
+ mapped.push({
252
+ value: stop.value,
253
+ color
254
+ });
255
+ }
256
+ return mapped;
257
+ }
156
258
  function mapConditionalFormatStyle(raw, palette) {
157
259
  if (raw === void 0) return;
158
260
  const textColor = raw.fontColorIcv === void 0 ? void 0 : resolveIcvColor(raw.fontColorIcv, palette);
package/dist/index.cjs CHANGED
@@ -44,9 +44,12 @@ exports.RECORD_CALCITER = require_biff_record_types.RECORD_CALCITER;
44
44
  exports.RECORD_CALCREFMODE = require_biff_record_types.RECORD_CALCREFMODE;
45
45
  exports.RECORD_CALCSAVERECALC = require_biff_record_types.RECORD_CALCSAVERECALC;
46
46
  exports.RECORD_CF = require_biff_record_types.RECORD_CF;
47
+ exports.RECORD_CF12 = require_biff_record_types.RECORD_CF12;
47
48
  exports.RECORD_COLINFO = require_biff_record_types.RECORD_COLINFO;
48
49
  exports.RECORD_CONDFMT = require_biff_record_types.RECORD_CONDFMT;
50
+ exports.RECORD_CONDFMT12 = require_biff_record_types.RECORD_CONDFMT12;
49
51
  exports.RECORD_CONTINUE = require_biff_record_types.RECORD_CONTINUE;
52
+ exports.RECORD_CONTINUEFRT12 = require_biff_record_types.RECORD_CONTINUEFRT12;
50
53
  exports.RECORD_DATE1904 = require_biff_record_types.RECORD_DATE1904;
51
54
  exports.RECORD_DEFAULTROWHEIGHT = require_biff_record_types.RECORD_DEFAULTROWHEIGHT;
52
55
  exports.RECORD_DEFCOLWIDTH = require_biff_record_types.RECORD_DEFCOLWIDTH;
package/dist/index.d.cts CHANGED
@@ -2,7 +2,7 @@ import { writeBofData } from "./biff/bof-writer.cjs";
2
2
  import { RecordBuilder } from "./biff/builder.cjs";
3
3
  import { t as BlockCursor } from "./cursor-VMtw9uVP.cjs";
4
4
  import { errorCodeOf, errorTextOf } from "./biff/errors.cjs";
5
- import { BIFF8_VERSION, BOF_TYPE_CHART, BOF_TYPE_MACRO, BOF_TYPE_WORKBOOK, BOF_TYPE_WORKSHEET, MAX_RECORD_DATA_SIZE, RECORD_ARRAY, RECORD_BLANK, RECORD_BOF, RECORD_BOOLERR, RECORD_BOTTOMMARGIN, RECORD_BOUNDSHEET8, RECORD_CALCCOUNT, RECORD_CALCDELTA, RECORD_CALCITER, RECORD_CALCREFMODE, RECORD_CALCSAVERECALC, RECORD_CF, RECORD_COLINFO, RECORD_CONDFMT, RECORD_CONTINUE, RECORD_DATE1904, RECORD_DEFAULTROWHEIGHT, RECORD_DEFCOLWIDTH, RECORD_DIMENSIONS, RECORD_DV, RECORD_DVAL, RECORD_EOF, RECORD_EXTERNSHEET, RECORD_FILEPASS, RECORD_FONT, RECORD_FORMAT, RECORD_FORMULA, RECORD_HORIZONTALPAGEBREAKS, RECORD_LABEL, RECORD_LABELSST, RECORD_LBL, RECORD_LEFTMARGIN, RECORD_MERGECELLS, RECORD_MULBLANK, RECORD_MULRK, RECORD_NOTE, RECORD_NUMBER, RECORD_OBJ, RECORD_PALETTE, RECORD_PRINTGRID, RECORD_PRINTROWCOL, RECORD_RIGHTMARGIN, RECORD_RK, RECORD_ROW, RECORD_SETUP, RECORD_SHRFMLA, RECORD_SST, RECORD_STRING, RECORD_STYLE, RECORD_SUPBOOK, RECORD_TABLE, RECORD_TOPMARGIN, RECORD_TXO, RECORD_VERTICALPAGEBREAKS, RECORD_WSBOOL, RECORD_XF } from "./biff/record-types.cjs";
5
+ import { BIFF8_VERSION, BOF_TYPE_CHART, BOF_TYPE_MACRO, BOF_TYPE_WORKBOOK, BOF_TYPE_WORKSHEET, MAX_RECORD_DATA_SIZE, RECORD_ARRAY, RECORD_BLANK, RECORD_BOF, RECORD_BOOLERR, RECORD_BOTTOMMARGIN, RECORD_BOUNDSHEET8, RECORD_CALCCOUNT, RECORD_CALCDELTA, RECORD_CALCITER, RECORD_CALCREFMODE, RECORD_CALCSAVERECALC, RECORD_CF, RECORD_CF12, RECORD_COLINFO, RECORD_CONDFMT, RECORD_CONDFMT12, RECORD_CONTINUE, RECORD_CONTINUEFRT12, RECORD_DATE1904, RECORD_DEFAULTROWHEIGHT, RECORD_DEFCOLWIDTH, RECORD_DIMENSIONS, RECORD_DV, RECORD_DVAL, RECORD_EOF, RECORD_EXTERNSHEET, RECORD_FILEPASS, RECORD_FONT, RECORD_FORMAT, RECORD_FORMULA, RECORD_HORIZONTALPAGEBREAKS, RECORD_LABEL, RECORD_LABELSST, RECORD_LBL, RECORD_LEFTMARGIN, RECORD_MERGECELLS, RECORD_MULBLANK, RECORD_MULRK, RECORD_NOTE, RECORD_NUMBER, RECORD_OBJ, RECORD_PALETTE, RECORD_PRINTGRID, RECORD_PRINTROWCOL, RECORD_RIGHTMARGIN, RECORD_RK, RECORD_ROW, RECORD_SETUP, RECORD_SHRFMLA, RECORD_SST, RECORD_STRING, RECORD_STYLE, RECORD_SUPBOOK, RECORD_TABLE, RECORD_TOPMARGIN, RECORD_TXO, RECORD_VERTICALPAGEBREAKS, RECORD_WSBOOL, RECORD_XF } from "./biff/record-types.cjs";
6
6
  import { concatRecords, writeRecord } from "./biff/record-writer.cjs";
7
7
  import { n as BiffRecord, r as readRecords, t as BiffFormatError } from "./records-DVIqXFKk.cjs";
8
8
  import { decodeRkNumber } from "./biff/rk.cjs";
@@ -22,4 +22,4 @@ import { RawCell, RawCellValue, RawColumn, RawPrintSettings, RawRange, RawRow, R
22
22
  import { SheetWriteContext, buildWorksheetSubstream } from "./workbook/sheet-writer.cjs";
23
23
  import { writeXls, writeXlsContent } from "./write.cjs";
24
24
  export * from "excel-number-format";
25
- export { BIFF8_VERSION, BOF_TYPE_CHART, BOF_TYPE_MACRO, BOF_TYPE_WORKBOOK, BOF_TYPE_WORKSHEET, BiffFormatError, BiffRecord, BiffWriteError, BlockCursor, CellFormat, CellXfPlanEntry, GENERAL_CELL_XF_INDEX, MAX_RECORD_DATA_SIZE, RECORD_ARRAY, RECORD_BLANK, RECORD_BOF, RECORD_BOOLERR, RECORD_BOTTOMMARGIN, RECORD_BOUNDSHEET8, RECORD_CALCCOUNT, RECORD_CALCDELTA, RECORD_CALCITER, RECORD_CALCREFMODE, RECORD_CALCSAVERECALC, RECORD_CF, RECORD_COLINFO, RECORD_CONDFMT, RECORD_CONTINUE, RECORD_DATE1904, RECORD_DEFAULTROWHEIGHT, RECORD_DEFCOLWIDTH, RECORD_DIMENSIONS, RECORD_DV, RECORD_DVAL, RECORD_EOF, RECORD_EXTERNSHEET, RECORD_FILEPASS, RECORD_FONT, RECORD_FORMAT, RECORD_FORMULA, RECORD_HORIZONTALPAGEBREAKS, RECORD_LABEL, RECORD_LABELSST, RECORD_LBL, RECORD_LEFTMARGIN, RECORD_MERGECELLS, RECORD_MULBLANK, RECORD_MULRK, RECORD_NOTE, RECORD_NUMBER, RECORD_OBJ, RECORD_PALETTE, RECORD_PRINTGRID, RECORD_PRINTROWCOL, RECORD_RIGHTMARGIN, RECORD_RK, RECORD_ROW, RECORD_SETUP, RECORD_SHRFMLA, RECORD_SST, RECORD_STRING, RECORD_STYLE, RECORD_SUPBOOK, RECORD_TABLE, RECORD_TOPMARGIN, RECORD_TXO, RECORD_VERTICALPAGEBREAKS, RECORD_WSBOOL, RECORD_XF, RawCell, RawCellValue, RawColumn, RawPrintSettings, RawRange, RawRow, RawSheet, RecordBuilder, RecordGroup, SUMMARY_INFORMATION_STREAM, SheetEntry, SheetWriteContext, Substream, WorkbookGlobals, WorkbookGlobalsBuild, WorkbookGlobalsPlan, WorkbookStreams, XlsContentDocument, buildWorkbookGlobals, buildWorksheetSubstream, columnWidthToPoints, concatRecords, decodeRkNumber, errorCodeOf, errorTextOf, formatCodeOf, groupRecords, inchesToPoints, isXlsFile, isoDateTimeToSerial, isoDateToSerial, isoTimeToSerial, layoutMetadataToSummaryInformation, millimetresToPoints, pointsToColumnWidth, pointsToInches, pointsToTwips, readRecords, readRichExtendedString, readSheetRecords, readShortXLUnicodeString, readWorkbookGlobals, readWorkbookStreams, readXLUnicodeString, readXLUnicodeStringNoCch, readXls, readXlsContent, recordByteLength, serialToIsoDate, serialToIsoDateTime, serialToIsoTime, splitSubstreams, twipsToPoints, writeBofData, writeCellXfRecord, writeFontRecord, writeFormatRecord, writePaletteRecord, writeRecord, writeRichExtendedString, writeShortXLUnicodeString, writeStyleRecord, writeStyleXfRecord, writeXLUnicodeString, writeXls, writeXlsContent };
25
+ export { BIFF8_VERSION, BOF_TYPE_CHART, BOF_TYPE_MACRO, BOF_TYPE_WORKBOOK, BOF_TYPE_WORKSHEET, BiffFormatError, BiffRecord, BiffWriteError, BlockCursor, CellFormat, CellXfPlanEntry, GENERAL_CELL_XF_INDEX, MAX_RECORD_DATA_SIZE, RECORD_ARRAY, RECORD_BLANK, RECORD_BOF, RECORD_BOOLERR, RECORD_BOTTOMMARGIN, RECORD_BOUNDSHEET8, RECORD_CALCCOUNT, RECORD_CALCDELTA, RECORD_CALCITER, RECORD_CALCREFMODE, RECORD_CALCSAVERECALC, RECORD_CF, RECORD_CF12, RECORD_COLINFO, RECORD_CONDFMT, RECORD_CONDFMT12, RECORD_CONTINUE, RECORD_CONTINUEFRT12, RECORD_DATE1904, RECORD_DEFAULTROWHEIGHT, RECORD_DEFCOLWIDTH, RECORD_DIMENSIONS, RECORD_DV, RECORD_DVAL, RECORD_EOF, RECORD_EXTERNSHEET, RECORD_FILEPASS, RECORD_FONT, RECORD_FORMAT, RECORD_FORMULA, RECORD_HORIZONTALPAGEBREAKS, RECORD_LABEL, RECORD_LABELSST, RECORD_LBL, RECORD_LEFTMARGIN, RECORD_MERGECELLS, RECORD_MULBLANK, RECORD_MULRK, RECORD_NOTE, RECORD_NUMBER, RECORD_OBJ, RECORD_PALETTE, RECORD_PRINTGRID, RECORD_PRINTROWCOL, RECORD_RIGHTMARGIN, RECORD_RK, RECORD_ROW, RECORD_SETUP, RECORD_SHRFMLA, RECORD_SST, RECORD_STRING, RECORD_STYLE, RECORD_SUPBOOK, RECORD_TABLE, RECORD_TOPMARGIN, RECORD_TXO, RECORD_VERTICALPAGEBREAKS, RECORD_WSBOOL, RECORD_XF, RawCell, RawCellValue, RawColumn, RawPrintSettings, RawRange, RawRow, RawSheet, RecordBuilder, RecordGroup, SUMMARY_INFORMATION_STREAM, SheetEntry, SheetWriteContext, Substream, WorkbookGlobals, WorkbookGlobalsBuild, WorkbookGlobalsPlan, WorkbookStreams, XlsContentDocument, buildWorkbookGlobals, buildWorksheetSubstream, columnWidthToPoints, concatRecords, decodeRkNumber, errorCodeOf, errorTextOf, formatCodeOf, groupRecords, inchesToPoints, isXlsFile, isoDateTimeToSerial, isoDateToSerial, isoTimeToSerial, layoutMetadataToSummaryInformation, millimetresToPoints, pointsToColumnWidth, pointsToInches, pointsToTwips, readRecords, readRichExtendedString, readSheetRecords, readShortXLUnicodeString, readWorkbookGlobals, readWorkbookStreams, readXLUnicodeString, readXLUnicodeStringNoCch, readXls, readXlsContent, recordByteLength, serialToIsoDate, serialToIsoDateTime, serialToIsoTime, splitSubstreams, twipsToPoints, writeBofData, writeCellXfRecord, writeFontRecord, writeFormatRecord, writePaletteRecord, writeRecord, writeRichExtendedString, writeShortXLUnicodeString, writeStyleRecord, writeStyleXfRecord, writeXLUnicodeString, writeXls, writeXlsContent };
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import { writeBofData } from "./biff/bof-writer.js";
2
2
  import { RecordBuilder } from "./biff/builder.js";
3
3
  import { t as BlockCursor } from "./cursor-VMtw9uVP.js";
4
4
  import { errorCodeOf, errorTextOf } from "./biff/errors.js";
5
- import { BIFF8_VERSION, BOF_TYPE_CHART, BOF_TYPE_MACRO, BOF_TYPE_WORKBOOK, BOF_TYPE_WORKSHEET, MAX_RECORD_DATA_SIZE, RECORD_ARRAY, RECORD_BLANK, RECORD_BOF, RECORD_BOOLERR, RECORD_BOTTOMMARGIN, RECORD_BOUNDSHEET8, RECORD_CALCCOUNT, RECORD_CALCDELTA, RECORD_CALCITER, RECORD_CALCREFMODE, RECORD_CALCSAVERECALC, RECORD_CF, RECORD_COLINFO, RECORD_CONDFMT, RECORD_CONTINUE, RECORD_DATE1904, RECORD_DEFAULTROWHEIGHT, RECORD_DEFCOLWIDTH, RECORD_DIMENSIONS, RECORD_DV, RECORD_DVAL, RECORD_EOF, RECORD_EXTERNSHEET, RECORD_FILEPASS, RECORD_FONT, RECORD_FORMAT, RECORD_FORMULA, RECORD_HORIZONTALPAGEBREAKS, RECORD_LABEL, RECORD_LABELSST, RECORD_LBL, RECORD_LEFTMARGIN, RECORD_MERGECELLS, RECORD_MULBLANK, RECORD_MULRK, RECORD_NOTE, RECORD_NUMBER, RECORD_OBJ, RECORD_PALETTE, RECORD_PRINTGRID, RECORD_PRINTROWCOL, RECORD_RIGHTMARGIN, RECORD_RK, RECORD_ROW, RECORD_SETUP, RECORD_SHRFMLA, RECORD_SST, RECORD_STRING, RECORD_STYLE, RECORD_SUPBOOK, RECORD_TABLE, RECORD_TOPMARGIN, RECORD_TXO, RECORD_VERTICALPAGEBREAKS, RECORD_WSBOOL, RECORD_XF } from "./biff/record-types.js";
5
+ import { BIFF8_VERSION, BOF_TYPE_CHART, BOF_TYPE_MACRO, BOF_TYPE_WORKBOOK, BOF_TYPE_WORKSHEET, MAX_RECORD_DATA_SIZE, RECORD_ARRAY, RECORD_BLANK, RECORD_BOF, RECORD_BOOLERR, RECORD_BOTTOMMARGIN, RECORD_BOUNDSHEET8, RECORD_CALCCOUNT, RECORD_CALCDELTA, RECORD_CALCITER, RECORD_CALCREFMODE, RECORD_CALCSAVERECALC, RECORD_CF, RECORD_CF12, RECORD_COLINFO, RECORD_CONDFMT, RECORD_CONDFMT12, RECORD_CONTINUE, RECORD_CONTINUEFRT12, RECORD_DATE1904, RECORD_DEFAULTROWHEIGHT, RECORD_DEFCOLWIDTH, RECORD_DIMENSIONS, RECORD_DV, RECORD_DVAL, RECORD_EOF, RECORD_EXTERNSHEET, RECORD_FILEPASS, RECORD_FONT, RECORD_FORMAT, RECORD_FORMULA, RECORD_HORIZONTALPAGEBREAKS, RECORD_LABEL, RECORD_LABELSST, RECORD_LBL, RECORD_LEFTMARGIN, RECORD_MERGECELLS, RECORD_MULBLANK, RECORD_MULRK, RECORD_NOTE, RECORD_NUMBER, RECORD_OBJ, RECORD_PALETTE, RECORD_PRINTGRID, RECORD_PRINTROWCOL, RECORD_RIGHTMARGIN, RECORD_RK, RECORD_ROW, RECORD_SETUP, RECORD_SHRFMLA, RECORD_SST, RECORD_STRING, RECORD_STYLE, RECORD_SUPBOOK, RECORD_TABLE, RECORD_TOPMARGIN, RECORD_TXO, RECORD_VERTICALPAGEBREAKS, RECORD_WSBOOL, RECORD_XF } from "./biff/record-types.js";
6
6
  import { concatRecords, writeRecord } from "./biff/record-writer.js";
7
7
  import { n as BiffRecord, r as readRecords, t as BiffFormatError } from "./records-DVIqXFKk.js";
8
8
  import { decodeRkNumber } from "./biff/rk.js";
@@ -22,4 +22,4 @@ import { RawCell, RawCellValue, RawColumn, RawPrintSettings, RawRange, RawRow, R
22
22
  import { SheetWriteContext, buildWorksheetSubstream } from "./workbook/sheet-writer.js";
23
23
  import { writeXls, writeXlsContent } from "./write.js";
24
24
  export * from "excel-number-format";
25
- export { BIFF8_VERSION, BOF_TYPE_CHART, BOF_TYPE_MACRO, BOF_TYPE_WORKBOOK, BOF_TYPE_WORKSHEET, BiffFormatError, BiffRecord, BiffWriteError, BlockCursor, CellFormat, CellXfPlanEntry, GENERAL_CELL_XF_INDEX, MAX_RECORD_DATA_SIZE, RECORD_ARRAY, RECORD_BLANK, RECORD_BOF, RECORD_BOOLERR, RECORD_BOTTOMMARGIN, RECORD_BOUNDSHEET8, RECORD_CALCCOUNT, RECORD_CALCDELTA, RECORD_CALCITER, RECORD_CALCREFMODE, RECORD_CALCSAVERECALC, RECORD_CF, RECORD_COLINFO, RECORD_CONDFMT, RECORD_CONTINUE, RECORD_DATE1904, RECORD_DEFAULTROWHEIGHT, RECORD_DEFCOLWIDTH, RECORD_DIMENSIONS, RECORD_DV, RECORD_DVAL, RECORD_EOF, RECORD_EXTERNSHEET, RECORD_FILEPASS, RECORD_FONT, RECORD_FORMAT, RECORD_FORMULA, RECORD_HORIZONTALPAGEBREAKS, RECORD_LABEL, RECORD_LABELSST, RECORD_LBL, RECORD_LEFTMARGIN, RECORD_MERGECELLS, RECORD_MULBLANK, RECORD_MULRK, RECORD_NOTE, RECORD_NUMBER, RECORD_OBJ, RECORD_PALETTE, RECORD_PRINTGRID, RECORD_PRINTROWCOL, RECORD_RIGHTMARGIN, RECORD_RK, RECORD_ROW, RECORD_SETUP, RECORD_SHRFMLA, RECORD_SST, RECORD_STRING, RECORD_STYLE, RECORD_SUPBOOK, RECORD_TABLE, RECORD_TOPMARGIN, RECORD_TXO, RECORD_VERTICALPAGEBREAKS, RECORD_WSBOOL, RECORD_XF, RawCell, RawCellValue, RawColumn, RawPrintSettings, RawRange, RawRow, RawSheet, RecordBuilder, RecordGroup, SUMMARY_INFORMATION_STREAM, SheetEntry, SheetWriteContext, Substream, WorkbookGlobals, WorkbookGlobalsBuild, WorkbookGlobalsPlan, WorkbookStreams, XlsContentDocument, buildWorkbookGlobals, buildWorksheetSubstream, columnWidthToPoints, concatRecords, decodeRkNumber, errorCodeOf, errorTextOf, formatCodeOf, groupRecords, inchesToPoints, isXlsFile, isoDateTimeToSerial, isoDateToSerial, isoTimeToSerial, layoutMetadataToSummaryInformation, millimetresToPoints, pointsToColumnWidth, pointsToInches, pointsToTwips, readRecords, readRichExtendedString, readSheetRecords, readShortXLUnicodeString, readWorkbookGlobals, readWorkbookStreams, readXLUnicodeString, readXLUnicodeStringNoCch, readXls, readXlsContent, recordByteLength, serialToIsoDate, serialToIsoDateTime, serialToIsoTime, splitSubstreams, twipsToPoints, writeBofData, writeCellXfRecord, writeFontRecord, writeFormatRecord, writePaletteRecord, writeRecord, writeRichExtendedString, writeShortXLUnicodeString, writeStyleRecord, writeStyleXfRecord, writeXLUnicodeString, writeXls, writeXlsContent };
25
+ export { BIFF8_VERSION, BOF_TYPE_CHART, BOF_TYPE_MACRO, BOF_TYPE_WORKBOOK, BOF_TYPE_WORKSHEET, BiffFormatError, BiffRecord, BiffWriteError, BlockCursor, CellFormat, CellXfPlanEntry, GENERAL_CELL_XF_INDEX, MAX_RECORD_DATA_SIZE, RECORD_ARRAY, RECORD_BLANK, RECORD_BOF, RECORD_BOOLERR, RECORD_BOTTOMMARGIN, RECORD_BOUNDSHEET8, RECORD_CALCCOUNT, RECORD_CALCDELTA, RECORD_CALCITER, RECORD_CALCREFMODE, RECORD_CALCSAVERECALC, RECORD_CF, RECORD_CF12, RECORD_COLINFO, RECORD_CONDFMT, RECORD_CONDFMT12, RECORD_CONTINUE, RECORD_CONTINUEFRT12, RECORD_DATE1904, RECORD_DEFAULTROWHEIGHT, RECORD_DEFCOLWIDTH, RECORD_DIMENSIONS, RECORD_DV, RECORD_DVAL, RECORD_EOF, RECORD_EXTERNSHEET, RECORD_FILEPASS, RECORD_FONT, RECORD_FORMAT, RECORD_FORMULA, RECORD_HORIZONTALPAGEBREAKS, RECORD_LABEL, RECORD_LABELSST, RECORD_LBL, RECORD_LEFTMARGIN, RECORD_MERGECELLS, RECORD_MULBLANK, RECORD_MULRK, RECORD_NOTE, RECORD_NUMBER, RECORD_OBJ, RECORD_PALETTE, RECORD_PRINTGRID, RECORD_PRINTROWCOL, RECORD_RIGHTMARGIN, RECORD_RK, RECORD_ROW, RECORD_SETUP, RECORD_SHRFMLA, RECORD_SST, RECORD_STRING, RECORD_STYLE, RECORD_SUPBOOK, RECORD_TABLE, RECORD_TOPMARGIN, RECORD_TXO, RECORD_VERTICALPAGEBREAKS, RECORD_WSBOOL, RECORD_XF, RawCell, RawCellValue, RawColumn, RawPrintSettings, RawRange, RawRow, RawSheet, RecordBuilder, RecordGroup, SUMMARY_INFORMATION_STREAM, SheetEntry, SheetWriteContext, Substream, WorkbookGlobals, WorkbookGlobalsBuild, WorkbookGlobalsPlan, WorkbookStreams, XlsContentDocument, buildWorkbookGlobals, buildWorksheetSubstream, columnWidthToPoints, concatRecords, decodeRkNumber, errorCodeOf, errorTextOf, formatCodeOf, groupRecords, inchesToPoints, isXlsFile, isoDateTimeToSerial, isoDateToSerial, isoTimeToSerial, layoutMetadataToSummaryInformation, millimetresToPoints, pointsToColumnWidth, pointsToInches, pointsToTwips, readRecords, readRichExtendedString, readSheetRecords, readShortXLUnicodeString, readWorkbookGlobals, readWorkbookStreams, readXLUnicodeString, readXLUnicodeStringNoCch, readXls, readXlsContent, recordByteLength, serialToIsoDate, serialToIsoDateTime, serialToIsoTime, splitSubstreams, twipsToPoints, writeBofData, writeCellXfRecord, writeFontRecord, writeFormatRecord, writePaletteRecord, writeRecord, writeRichExtendedString, writeShortXLUnicodeString, writeStyleRecord, writeStyleXfRecord, writeXLUnicodeString, writeXls, writeXlsContent };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { BIFF8_VERSION, BOF_TYPE_CHART, BOF_TYPE_MACRO, BOF_TYPE_WORKBOOK, BOF_TYPE_WORKSHEET, MAX_RECORD_DATA_SIZE, RECORD_ARRAY, RECORD_BLANK, RECORD_BOF, RECORD_BOOLERR, RECORD_BOTTOMMARGIN, RECORD_BOUNDSHEET8, RECORD_CALCCOUNT, RECORD_CALCDELTA, RECORD_CALCITER, RECORD_CALCREFMODE, RECORD_CALCSAVERECALC, RECORD_CF, RECORD_COLINFO, RECORD_CONDFMT, RECORD_CONTINUE, RECORD_DATE1904, RECORD_DEFAULTROWHEIGHT, RECORD_DEFCOLWIDTH, RECORD_DIMENSIONS, RECORD_DV, RECORD_DVAL, RECORD_EOF, RECORD_EXTERNSHEET, RECORD_FILEPASS, RECORD_FONT, RECORD_FORMAT, RECORD_FORMULA, RECORD_HORIZONTALPAGEBREAKS, RECORD_LABEL, RECORD_LABELSST, RECORD_LBL, RECORD_LEFTMARGIN, RECORD_MERGECELLS, RECORD_MULBLANK, RECORD_MULRK, RECORD_NOTE, RECORD_NUMBER, RECORD_OBJ, RECORD_PALETTE, RECORD_PRINTGRID, RECORD_PRINTROWCOL, RECORD_RIGHTMARGIN, RECORD_RK, RECORD_ROW, RECORD_SETUP, RECORD_SHRFMLA, RECORD_SST, RECORD_STRING, RECORD_STYLE, RECORD_SUPBOOK, RECORD_TABLE, RECORD_TOPMARGIN, RECORD_TXO, RECORD_VERTICALPAGEBREAKS, RECORD_WSBOOL, RECORD_XF } from "./biff/record-types.js";
1
+ import { BIFF8_VERSION, BOF_TYPE_CHART, BOF_TYPE_MACRO, BOF_TYPE_WORKBOOK, BOF_TYPE_WORKSHEET, MAX_RECORD_DATA_SIZE, RECORD_ARRAY, RECORD_BLANK, RECORD_BOF, RECORD_BOOLERR, RECORD_BOTTOMMARGIN, RECORD_BOUNDSHEET8, RECORD_CALCCOUNT, RECORD_CALCDELTA, RECORD_CALCITER, RECORD_CALCREFMODE, RECORD_CALCSAVERECALC, RECORD_CF, RECORD_CF12, RECORD_COLINFO, RECORD_CONDFMT, RECORD_CONDFMT12, RECORD_CONTINUE, RECORD_CONTINUEFRT12, RECORD_DATE1904, RECORD_DEFAULTROWHEIGHT, RECORD_DEFCOLWIDTH, RECORD_DIMENSIONS, RECORD_DV, RECORD_DVAL, RECORD_EOF, RECORD_EXTERNSHEET, RECORD_FILEPASS, RECORD_FONT, RECORD_FORMAT, RECORD_FORMULA, RECORD_HORIZONTALPAGEBREAKS, RECORD_LABEL, RECORD_LABELSST, RECORD_LBL, RECORD_LEFTMARGIN, RECORD_MERGECELLS, RECORD_MULBLANK, RECORD_MULRK, RECORD_NOTE, RECORD_NUMBER, RECORD_OBJ, RECORD_PALETTE, RECORD_PRINTGRID, RECORD_PRINTROWCOL, RECORD_RIGHTMARGIN, RECORD_RK, RECORD_ROW, RECORD_SETUP, RECORD_SHRFMLA, RECORD_SST, RECORD_STRING, RECORD_STYLE, RECORD_SUPBOOK, RECORD_TABLE, RECORD_TOPMARGIN, RECORD_TXO, RECORD_VERTICALPAGEBREAKS, RECORD_WSBOOL, RECORD_XF } from "./biff/record-types.js";
2
2
  import { BiffFormatError, readRecords } from "./biff/records.js";
3
3
  import { SUMMARY_INFORMATION_STREAM, isXlsFile, readWorkbookStreams } from "./container.js";
4
4
  import { columnWidthToPoints, inchesToPoints, millimetresToPoints, pointsToColumnWidth, pointsToInches, pointsToTwips, twipsToPoints } from "./units.js";
@@ -22,4 +22,4 @@ import { GENERAL_CELL_XF_INDEX, buildWorkbookGlobals } from "./workbook/globals-
22
22
  import { buildWorksheetSubstream } from "./workbook/sheet-writer.js";
23
23
  import { writeXls, writeXlsContent } from "./write.js";
24
24
  export * from "excel-number-format";
25
- export { BIFF8_VERSION, BOF_TYPE_CHART, BOF_TYPE_MACRO, BOF_TYPE_WORKBOOK, BOF_TYPE_WORKSHEET, BiffFormatError, BiffWriteError, BlockCursor, GENERAL_CELL_XF_INDEX, MAX_RECORD_DATA_SIZE, RECORD_ARRAY, RECORD_BLANK, RECORD_BOF, RECORD_BOOLERR, RECORD_BOTTOMMARGIN, RECORD_BOUNDSHEET8, RECORD_CALCCOUNT, RECORD_CALCDELTA, RECORD_CALCITER, RECORD_CALCREFMODE, RECORD_CALCSAVERECALC, RECORD_CF, RECORD_COLINFO, RECORD_CONDFMT, RECORD_CONTINUE, RECORD_DATE1904, RECORD_DEFAULTROWHEIGHT, RECORD_DEFCOLWIDTH, RECORD_DIMENSIONS, RECORD_DV, RECORD_DVAL, RECORD_EOF, RECORD_EXTERNSHEET, RECORD_FILEPASS, RECORD_FONT, RECORD_FORMAT, RECORD_FORMULA, RECORD_HORIZONTALPAGEBREAKS, RECORD_LABEL, RECORD_LABELSST, RECORD_LBL, RECORD_LEFTMARGIN, RECORD_MERGECELLS, RECORD_MULBLANK, RECORD_MULRK, RECORD_NOTE, RECORD_NUMBER, RECORD_OBJ, RECORD_PALETTE, RECORD_PRINTGRID, RECORD_PRINTROWCOL, RECORD_RIGHTMARGIN, RECORD_RK, RECORD_ROW, RECORD_SETUP, RECORD_SHRFMLA, RECORD_SST, RECORD_STRING, RECORD_STYLE, RECORD_SUPBOOK, RECORD_TABLE, RECORD_TOPMARGIN, RECORD_TXO, RECORD_VERTICALPAGEBREAKS, RECORD_WSBOOL, RECORD_XF, RecordBuilder, SUMMARY_INFORMATION_STREAM, buildWorkbookGlobals, buildWorksheetSubstream, columnWidthToPoints, concatRecords, decodeRkNumber, errorCodeOf, errorTextOf, formatCodeOf, groupRecords, inchesToPoints, isXlsFile, isoDateTimeToSerial, isoDateToSerial, isoTimeToSerial, layoutMetadataToSummaryInformation, millimetresToPoints, pointsToColumnWidth, pointsToInches, pointsToTwips, readRecords, readRichExtendedString, readSheetRecords, readShortXLUnicodeString, readWorkbookGlobals, readWorkbookStreams, readXLUnicodeString, readXLUnicodeStringNoCch, readXls, readXlsContent, recordByteLength, serialToIsoDate, serialToIsoDateTime, serialToIsoTime, splitSubstreams, twipsToPoints, writeBofData, writeCellXfRecord, writeFontRecord, writeFormatRecord, writePaletteRecord, writeRecord, writeRichExtendedString, writeShortXLUnicodeString, writeStyleRecord, writeStyleXfRecord, writeXLUnicodeString, writeXls, writeXlsContent };
25
+ export { BIFF8_VERSION, BOF_TYPE_CHART, BOF_TYPE_MACRO, BOF_TYPE_WORKBOOK, BOF_TYPE_WORKSHEET, BiffFormatError, BiffWriteError, BlockCursor, GENERAL_CELL_XF_INDEX, MAX_RECORD_DATA_SIZE, RECORD_ARRAY, RECORD_BLANK, RECORD_BOF, RECORD_BOOLERR, RECORD_BOTTOMMARGIN, RECORD_BOUNDSHEET8, RECORD_CALCCOUNT, RECORD_CALCDELTA, RECORD_CALCITER, RECORD_CALCREFMODE, RECORD_CALCSAVERECALC, RECORD_CF, RECORD_CF12, RECORD_COLINFO, RECORD_CONDFMT, RECORD_CONDFMT12, RECORD_CONTINUE, RECORD_CONTINUEFRT12, RECORD_DATE1904, RECORD_DEFAULTROWHEIGHT, RECORD_DEFCOLWIDTH, RECORD_DIMENSIONS, RECORD_DV, RECORD_DVAL, RECORD_EOF, RECORD_EXTERNSHEET, RECORD_FILEPASS, RECORD_FONT, RECORD_FORMAT, RECORD_FORMULA, RECORD_HORIZONTALPAGEBREAKS, RECORD_LABEL, RECORD_LABELSST, RECORD_LBL, RECORD_LEFTMARGIN, RECORD_MERGECELLS, RECORD_MULBLANK, RECORD_MULRK, RECORD_NOTE, RECORD_NUMBER, RECORD_OBJ, RECORD_PALETTE, RECORD_PRINTGRID, RECORD_PRINTROWCOL, RECORD_RIGHTMARGIN, RECORD_RK, RECORD_ROW, RECORD_SETUP, RECORD_SHRFMLA, RECORD_SST, RECORD_STRING, RECORD_STYLE, RECORD_SUPBOOK, RECORD_TABLE, RECORD_TOPMARGIN, RECORD_TXO, RECORD_VERTICALPAGEBREAKS, RECORD_WSBOOL, RECORD_XF, RecordBuilder, SUMMARY_INFORMATION_STREAM, buildWorkbookGlobals, buildWorksheetSubstream, columnWidthToPoints, concatRecords, decodeRkNumber, errorCodeOf, errorTextOf, formatCodeOf, groupRecords, inchesToPoints, isXlsFile, isoDateTimeToSerial, isoDateToSerial, isoTimeToSerial, layoutMetadataToSummaryInformation, millimetresToPoints, pointsToColumnWidth, pointsToInches, pointsToTwips, readRecords, readRichExtendedString, readSheetRecords, readShortXLUnicodeString, readWorkbookGlobals, readWorkbookStreams, readXLUnicodeString, readXLUnicodeStringNoCch, readXls, readXlsContent, recordByteLength, serialToIsoDate, serialToIsoDateTime, serialToIsoTime, splitSubstreams, twipsToPoints, writeBofData, writeCellXfRecord, writeFontRecord, writeFormatRecord, writePaletteRecord, writeRecord, writeRichExtendedString, writeShortXLUnicodeString, writeStyleRecord, writeStyleXfRecord, writeXLUnicodeString, writeXls, writeXlsContent };
@@ -0,0 +1,331 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ require("../biff/record-types.cjs");
3
+ const require_biff_records = require("../biff/records.cjs");
4
+ const require_biff_cursor = require("../biff/cursor.cjs");
5
+ const require_biff_ptg = require("../biff/ptg.cjs");
6
+ const require_workbook_conditional_format = require("./conditional-format.cjs");
7
+ //#region src/workbook/conditional-format-12.ts
8
+ const CFVO_TYPE_TO_VALUE_TYPE = /* @__PURE__ */ new Map([
9
+ [1, "num"],
10
+ [2, "min"],
11
+ [3, "max"],
12
+ [4, "percent"],
13
+ [5, "percentile"],
14
+ [7, "formula"]
15
+ ]);
16
+ function readCfvo(cursor, formulaSheets) {
17
+ const cfvoType = cursor.u8();
18
+ const type = CFVO_TYPE_TO_VALUE_TYPE.get(cfvoType);
19
+ const cce = cursor.u16();
20
+ const rgce = cursor.take(cce);
21
+ const hasFormula = cce > 0;
22
+ const numValue = !hasFormula && type !== "min" && type !== "max" ? cursor.f64() : void 0;
23
+ if (type === void 0) return;
24
+ if (type === "min" || type === "max") return { type };
25
+ const value = hasFormula ? require_biff_ptg.parseFormulaText(rgce, formulaSheets) : numValue?.toString() ?? void 0;
26
+ if (value === void 0) return;
27
+ return {
28
+ type,
29
+ value
30
+ };
31
+ }
32
+ const XCLR_INDEXED = 1;
33
+ const XCLR_RGB = 2;
34
+ function readCfColor(cursor) {
35
+ const xclrType = cursor.u32();
36
+ if (xclrType === XCLR_INDEXED) return {
37
+ kind: "icv",
38
+ icv: cursor.u32(),
39
+ tint: cursor.f64()
40
+ };
41
+ if (xclrType === XCLR_RGB) {
42
+ const red = cursor.u8();
43
+ const green = cursor.u8();
44
+ const blue = cursor.u8();
45
+ cursor.skip(1);
46
+ const tint = cursor.f64();
47
+ return {
48
+ kind: "rgb",
49
+ color: {
50
+ r: red / 255,
51
+ g: green / 255,
52
+ b: blue / 255
53
+ },
54
+ tint
55
+ };
56
+ }
57
+ cursor.skip(12);
58
+ }
59
+ function readCfGradient(cursor, formulaSheets) {
60
+ cursor.skip(2);
61
+ cursor.skip(1);
62
+ const cInterpCurve = cursor.u8();
63
+ const cGradientCurve = cursor.u8();
64
+ cursor.skip(1);
65
+ if (cInterpCurve !== cGradientCurve || cInterpCurve < 2 || cInterpCurve > 3) return;
66
+ const values = [];
67
+ for (let index = 0; index < cInterpCurve; index += 1) {
68
+ const value = readCfvo(cursor, formulaSheets);
69
+ cursor.f64();
70
+ if (value === void 0) return;
71
+ values.push(value);
72
+ }
73
+ const colors = [];
74
+ for (let index = 0; index < cGradientCurve; index += 1) {
75
+ cursor.f64();
76
+ const color = readCfColor(cursor);
77
+ if (color === void 0) return;
78
+ colors.push(color);
79
+ }
80
+ const stops = [];
81
+ for (let index = 0; index < values.length; index += 1) {
82
+ const value = values[index];
83
+ const color = colors[index];
84
+ if (value === void 0 || color === void 0) return;
85
+ stops.push({
86
+ value,
87
+ color
88
+ });
89
+ }
90
+ return stops;
91
+ }
92
+ function readCfDatabar(cursor, formulaSheets) {
93
+ cursor.skip(2);
94
+ cursor.skip(1);
95
+ const showValue = (cursor.u8() >>> 1 & 1) !== 0;
96
+ cursor.skip(1);
97
+ cursor.skip(1);
98
+ const color = readCfColor(cursor);
99
+ const min = readCfvo(cursor, formulaSheets);
100
+ const max = readCfvo(cursor, formulaSheets);
101
+ if (color === void 0 || min === void 0 || max === void 0) return;
102
+ return {
103
+ min,
104
+ max,
105
+ color,
106
+ showValue
107
+ };
108
+ }
109
+ const ICON_SET_TYPE_NAMES = [
110
+ "3Arrows",
111
+ "3ArrowsGray",
112
+ "3Flags",
113
+ "3TrafficLights1",
114
+ "3TrafficLights2",
115
+ "3Signs",
116
+ "3Symbols",
117
+ "3Symbols2",
118
+ "4Arrows",
119
+ "4ArrowsGray",
120
+ "4RedToBlack",
121
+ "4Rating",
122
+ "4TrafficLights",
123
+ "5Arrows",
124
+ "5ArrowsGray",
125
+ "5Rating",
126
+ "5Quarters"
127
+ ];
128
+ function readCfMultistate(cursor, formulaSheets) {
129
+ cursor.skip(2);
130
+ cursor.skip(1);
131
+ const cStates = cursor.u8();
132
+ const iIconSet = cursor.u8();
133
+ const flags = cursor.u8();
134
+ const showValue = (flags & 1) === 0;
135
+ const reverse = (flags >>> 2 & 1) !== 0;
136
+ const iconSetType = ICON_SET_TYPE_NAMES[iIconSet];
137
+ if (iconSetType === void 0) return;
138
+ const thresholds = [];
139
+ for (let index = 0; index < cStates; index += 1) {
140
+ const value = readCfvo(cursor, formulaSheets);
141
+ cursor.skip(1);
142
+ cursor.skip(4);
143
+ if (value === void 0) return;
144
+ thresholds.push(value);
145
+ }
146
+ return {
147
+ iconSetType,
148
+ thresholds,
149
+ reverse,
150
+ showValue
151
+ };
152
+ }
153
+ const ICF_TEMPLATE_TOP10 = 5;
154
+ const ICF_TEMPLATE_UNIQUE_VALUES = 7;
155
+ const ICF_TEMPLATE_CONTAINS_BLANKS = 9;
156
+ const ICF_TEMPLATE_CONTAINS_NO_BLANKS = 10;
157
+ const ICF_TEMPLATE_CONTAINS_ERRORS = 11;
158
+ const ICF_TEMPLATE_CONTAINS_NO_ERRORS = 12;
159
+ const ICF_TEMPLATE_ABOVE_AVERAGE = 25;
160
+ const ICF_TEMPLATE_BELOW_AVERAGE = 26;
161
+ const ICF_TEMPLATE_DUPLICATE_VALUES = 27;
162
+ const ICF_TEMPLATE_ABOVE_OR_EQUAL_AVERAGE = 29;
163
+ const ICF_TEMPLATE_BELOW_OR_EQUAL_AVERAGE = 30;
164
+ const ICF_TEMPLATE_TO_TIME_PERIOD = /* @__PURE__ */ new Map([
165
+ [15, "today"],
166
+ [16, "tomorrow"],
167
+ [17, "yesterday"],
168
+ [18, "last7Days"],
169
+ [19, "lastMonth"],
170
+ [20, "nextMonth"],
171
+ [21, "thisWeek"],
172
+ [22, "nextWeek"],
173
+ [23, "lastWeek"],
174
+ [24, "thisMonth"]
175
+ ]);
176
+ const SIMPLE_ICF_TEMPLATE_KIND = /* @__PURE__ */ new Map([
177
+ [ICF_TEMPLATE_UNIQUE_VALUES, "uniqueValues"],
178
+ [ICF_TEMPLATE_CONTAINS_BLANKS, "containsBlanks"],
179
+ [ICF_TEMPLATE_CONTAINS_NO_BLANKS, "notContainsBlanks"],
180
+ [ICF_TEMPLATE_CONTAINS_ERRORS, "containsErrors"],
181
+ [ICF_TEMPLATE_CONTAINS_NO_ERRORS, "notContainsErrors"],
182
+ [ICF_TEMPLATE_DUPLICATE_VALUES, "duplicateValues"]
183
+ ]);
184
+ function readCfFilterRule(icfTemplate, templateParams) {
185
+ if (icfTemplate === ICF_TEMPLATE_TOP10) {
186
+ const cursor = new require_biff_cursor.BlockCursor([templateParams]);
187
+ const flags = cursor.u8();
188
+ const top = (flags & 1) !== 0;
189
+ const percent = (flags >>> 1 & 1) !== 0;
190
+ const rank = cursor.u16();
191
+ if (rank <= 0) return;
192
+ return {
193
+ kind: "top10",
194
+ rank,
195
+ percent,
196
+ bottom: !top
197
+ };
198
+ }
199
+ if (icfTemplate === ICF_TEMPLATE_ABOVE_AVERAGE || icfTemplate === ICF_TEMPLATE_BELOW_AVERAGE || icfTemplate === ICF_TEMPLATE_ABOVE_OR_EQUAL_AVERAGE || icfTemplate === ICF_TEMPLATE_BELOW_OR_EQUAL_AVERAGE) {
200
+ const iParam = new require_biff_cursor.BlockCursor([templateParams]).u16();
201
+ return {
202
+ kind: "aboveAverage",
203
+ aboveAverage: icfTemplate === ICF_TEMPLATE_ABOVE_AVERAGE || icfTemplate === ICF_TEMPLATE_ABOVE_OR_EQUAL_AVERAGE,
204
+ equalAverage: icfTemplate === ICF_TEMPLATE_ABOVE_OR_EQUAL_AVERAGE || icfTemplate === ICF_TEMPLATE_BELOW_OR_EQUAL_AVERAGE,
205
+ stdDev: iParam > 0 ? iParam : void 0
206
+ };
207
+ }
208
+ const timePeriod = ICF_TEMPLATE_TO_TIME_PERIOD.get(icfTemplate);
209
+ if (timePeriod !== void 0) return {
210
+ kind: "timePeriod",
211
+ timePeriod
212
+ };
213
+ const simpleKind = SIMPLE_ICF_TEMPLATE_KIND.get(icfTemplate);
214
+ if (simpleKind !== void 0) return { kind: simpleKind };
215
+ }
216
+ function readCf12(record, ranges, formulaSheets) {
217
+ try {
218
+ const cursor = new require_biff_cursor.BlockCursor(record.blocks);
219
+ cursor.skip(12);
220
+ const ct = cursor.u8();
221
+ cursor.skip(1);
222
+ const cce1 = cursor.u16();
223
+ const cce2 = cursor.u16();
224
+ const cbDxf = cursor.u32();
225
+ const dxfBytes = cursor.take(cbDxf);
226
+ cursor.skip(cce1);
227
+ cursor.skip(cce2);
228
+ const cceActive = cursor.u16();
229
+ cursor.skip(cceActive);
230
+ const stopIfTrue = (cursor.u8() & 2) !== 0;
231
+ const priority = cursor.u16();
232
+ const icfTemplate = cursor.u16();
233
+ cursor.skip(1);
234
+ const templateParams = cursor.take(16);
235
+ const common = {
236
+ priority,
237
+ stopIfTrue,
238
+ ranges
239
+ };
240
+ if (ct === 3) {
241
+ const stops = readCfGradient(cursor, formulaSheets);
242
+ return stops === void 0 ? void 0 : {
243
+ kind: "colorScale",
244
+ stops,
245
+ ...common
246
+ };
247
+ }
248
+ if (ct === 4) {
249
+ const databar = readCfDatabar(cursor, formulaSheets);
250
+ return databar === void 0 ? void 0 : {
251
+ kind: "dataBar",
252
+ ...databar,
253
+ ...common
254
+ };
255
+ }
256
+ if (ct === 6) {
257
+ const iconSet = readCfMultistate(cursor, formulaSheets);
258
+ return iconSet === void 0 ? void 0 : {
259
+ kind: "iconSet",
260
+ ...iconSet,
261
+ ...common
262
+ };
263
+ }
264
+ if (ct === 5) {
265
+ const rule = readCfFilterRule(icfTemplate, templateParams);
266
+ const cbFilter = cursor.u16();
267
+ cursor.skip(cbFilter);
268
+ if (rule === void 0) return;
269
+ const style = require_workbook_conditional_format.parseDxfStyle(dxfBytes);
270
+ return {
271
+ ...rule,
272
+ ...common,
273
+ style
274
+ };
275
+ }
276
+ return;
277
+ } catch (err) {
278
+ if (!(err instanceof require_biff_records.BiffFormatError)) throw err;
279
+ return;
280
+ }
281
+ }
282
+ function readCondFmt12Group(records, startIndex, formulaSheets) {
283
+ const condFmt12 = records[startIndex];
284
+ if (condFmt12 === void 0) return {
285
+ formats: [],
286
+ recordsConsumed: 1
287
+ };
288
+ try {
289
+ const cursor = new require_biff_cursor.BlockCursor(condFmt12.blocks);
290
+ cursor.skip(12);
291
+ const ccf = cursor.u16();
292
+ cursor.skip(2);
293
+ cursor.skip(8);
294
+ const crefCount = cursor.u16();
295
+ const ranges = [];
296
+ for (let index = 0; index < crefCount; index += 1) {
297
+ const startRow = cursor.u16();
298
+ const endRow = cursor.u16();
299
+ const startColumn = cursor.u16();
300
+ const endColumn = cursor.u16();
301
+ ranges.push({
302
+ startRow,
303
+ startColumn,
304
+ endRow,
305
+ endColumn
306
+ });
307
+ }
308
+ const formats = [];
309
+ for (let offset = 1; offset <= ccf; offset += 1) {
310
+ const cf12Record = records[startIndex + offset];
311
+ if (cf12Record?.type !== 2170) return {
312
+ formats: [],
313
+ recordsConsumed: 1
314
+ };
315
+ const format = readCf12(cf12Record, ranges, formulaSheets);
316
+ if (format !== void 0) formats.push(format);
317
+ }
318
+ return {
319
+ formats,
320
+ recordsConsumed: 1 + ccf
321
+ };
322
+ } catch (err) {
323
+ if (!(err instanceof require_biff_records.BiffFormatError)) throw err;
324
+ return {
325
+ formats: [],
326
+ recordsConsumed: 1
327
+ };
328
+ }
329
+ }
330
+ //#endregion
331
+ exports.readCondFmt12Group = readCondFmt12Group;
@@ -0,0 +1,2 @@
1
+ import { a as RawConditionalFormat12, c as RawSimpleFilterFormat, d as RawTop10Format, f as readCondFmt12Group, i as RawColorScaleFormat, l as RawTimePeriod, n as RawAboveAverageFormat, o as RawDataBarFormat, r as RawCfColor, s as RawIconSetFormat, t as CondFmt12GroupResult, u as RawTimePeriodFormat } from "../conditional-format-12-DPNiYLVp.cjs";
2
+ export { CondFmt12GroupResult, RawAboveAverageFormat, RawCfColor, RawColorScaleFormat, RawConditionalFormat12, RawDataBarFormat, RawIconSetFormat, RawSimpleFilterFormat, RawTimePeriod, RawTimePeriodFormat, RawTop10Format, readCondFmt12Group };