@rowsncolumns/toolkit 24.5.5 → 24.5.7
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/cjs/excel-parser/plugins/xlsx/value-type-detection.d.ts.map +1 -1
- package/dist/cjs/excel-parser/plugins/xlsx/value-type-detection.js +19 -15
- package/dist/cjs/exporter/ods/ods-export.d.ts.map +1 -1
- package/dist/cjs/exporter/ods/ods-export.js +2 -2
- package/dist/cjs/exporter/xlsx/chart-builder.d.ts.map +1 -1
- package/dist/cjs/exporter/xlsx/chart-builder.js +3 -3
- package/dist/esm/excel-parser/plugins/xlsx/value-type-detection.d.ts.map +1 -1
- package/dist/esm/excel-parser/plugins/xlsx/value-type-detection.js +13 -9
- package/dist/esm/exporter/ods/ods-export.d.ts.map +1 -1
- package/dist/esm/exporter/ods/ods-export.js +2 -2
- package/dist/esm/exporter/xlsx/chart-builder.d.ts.map +1 -1
- package/dist/esm/exporter/xlsx/chart-builder.js +3 -3
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value-type-detection.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/value-type-detection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"value-type-detection.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/value-type-detection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __read } from "tslib";
|
|
2
2
|
import { parse } from "@rowsncolumns/date-parser";
|
|
3
|
-
import { isAFormula, isNil, toDate,
|
|
3
|
+
import { isAFormula, isNil, toDate, toSerialFromParts, } from "@rowsncolumns/utils";
|
|
4
4
|
export var pattern_percent = "0%";
|
|
5
5
|
export var pattern_percent_decimal = "0.00%";
|
|
6
6
|
export var pattern_currency = '"$"#,##0';
|
|
@@ -81,18 +81,18 @@ export var createNumberValue = function (value, numFormatType, locale) {
|
|
|
81
81
|
var isDate = numFormatType === "DATE";
|
|
82
82
|
var isDateTime = numFormatType === "DATE_TIME";
|
|
83
83
|
if (typeof value !== "boolean" && (isDate || isDateTime)) {
|
|
84
|
+
// A number is already a serial — the Date type only changes its format;
|
|
85
|
+
// a `toDate`/`toSerial` round trip moved Excel's phantom 1900-02-29 (60)
|
|
86
|
+
// onto the 28th (rowsncolumns/spreadsheet#1026).
|
|
84
87
|
if (typeof value === "number") {
|
|
85
|
-
|
|
86
|
-
if (!isNil(dateValue_1) && dateValue_1 instanceof Date) {
|
|
87
|
-
return toSerial(dateValue_1);
|
|
88
|
-
}
|
|
88
|
+
return value;
|
|
89
89
|
}
|
|
90
90
|
var dateValue = isDate
|
|
91
91
|
? validateDate(value, locale)
|
|
92
92
|
: validateDateTime(value);
|
|
93
93
|
if (dateValue) {
|
|
94
94
|
var _a = dateValue.parts, year = _a.year, month = _a.month, day = _a.day, hour = _a.hour, minute = _a.minute, second = _a.second;
|
|
95
|
-
return
|
|
95
|
+
return toSerialFromParts(year, month, day, hour, minute, second);
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
return convertToNumber(value);
|
|
@@ -178,17 +178,17 @@ export var validateDate = function (value, locale) {
|
|
|
178
178
|
var _a = __read(match, 4), yearStr = _a[1], monthStr = _a[2], dayStr = _a[3];
|
|
179
179
|
var year = Number(yearStr);
|
|
180
180
|
var month = Number(monthStr) - 1;
|
|
181
|
-
var
|
|
182
|
-
var
|
|
183
|
-
if (
|
|
184
|
-
|
|
185
|
-
|
|
181
|
+
var day_1 = Number(dayStr);
|
|
182
|
+
var dateValue_1 = new Date(year, month, day_1);
|
|
183
|
+
if (dateValue_1.getFullYear() === year &&
|
|
184
|
+
dateValue_1.getMonth() === month &&
|
|
185
|
+
dateValue_1.getDate() === Number(dayStr)) {
|
|
186
186
|
return {
|
|
187
187
|
format: "yyyy-mm-dd",
|
|
188
188
|
parts: {
|
|
189
189
|
year: year,
|
|
190
190
|
month: month,
|
|
191
|
-
day:
|
|
191
|
+
day: day_1,
|
|
192
192
|
hour: 0,
|
|
193
193
|
minute: 0,
|
|
194
194
|
second: 0,
|
|
@@ -203,12 +203,16 @@ export var validateDate = function (value, locale) {
|
|
|
203
203
|
if (!result)
|
|
204
204
|
return undefined;
|
|
205
205
|
var dateValue = result.dateValue;
|
|
206
|
+
// Excel's phantom 1900-02-29: the parser's stand-in `Date` sits on the 28th
|
|
207
|
+
// with `excelLeapDay` set; report the typed day so the serial lands on 60
|
|
208
|
+
// (rowsncolumns/spreadsheet#1026).
|
|
209
|
+
var day = "excelLeapDay" in result && result.excelLeapDay ? 29 : dateValue.getDate();
|
|
206
210
|
return {
|
|
207
211
|
format: result.pattern,
|
|
208
212
|
parts: {
|
|
209
213
|
year: dateValue.getFullYear(),
|
|
210
214
|
month: dateValue.getMonth(),
|
|
211
|
-
day:
|
|
215
|
+
day: day,
|
|
212
216
|
hour: dateValue.getHours(),
|
|
213
217
|
minute: dateValue.getMinutes(),
|
|
214
218
|
second: dateValue.getSeconds(),
|
|
@@ -382,13 +386,13 @@ export var detectValueTypeAndPattern = function (value, locale) {
|
|
|
382
386
|
var dateValue = validateDate(value, locale);
|
|
383
387
|
if (dateValue) {
|
|
384
388
|
var _a = dateValue.parts, year = _a.year, month = _a.month, day = _a.day, hour = _a.hour, minute = _a.minute, second = _a.second;
|
|
385
|
-
var numberValue =
|
|
389
|
+
var numberValue = toSerialFromParts(year, month, day, hour, minute, second);
|
|
386
390
|
return ["numberValue", "DATE", numberValue, dateValue.format];
|
|
387
391
|
}
|
|
388
392
|
var dateTimeValue = validateDateTime(value);
|
|
389
393
|
if (dateTimeValue) {
|
|
390
394
|
var _b = dateTimeValue.parts, year = _b.year, month = _b.month, day = _b.day, hour = _b.hour, minute = _b.minute, second = _b.second;
|
|
391
|
-
var numberValue =
|
|
395
|
+
var numberValue = toSerialFromParts(year, month, day, hour, minute, second);
|
|
392
396
|
return ["numberValue", "DATE_TIME", numberValue, dateTimeValue.format];
|
|
393
397
|
}
|
|
394
398
|
return ["stringValue"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ods-export.d.ts","sourceRoot":"","sources":["../../../../exporter/ods/ods-export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,wBAAwB,EAMxB,SAAS,EAET,2BAA2B,EAC3B,QAAQ,EACT,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAGV,qBAAqB,EAErB,aAAa,EACb,cAAc,EAGd,UAAU,EAEV,KAAK,EAGL,gBAAgB,EAChB,SAAS,EAGV,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ods-export.d.ts","sourceRoot":"","sources":["../../../../exporter/ods/ods-export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,wBAAwB,EAMxB,SAAS,EAET,2BAA2B,EAC3B,QAAQ,EACT,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAGV,qBAAqB,EAErB,aAAa,EACb,cAAc,EAGd,UAAU,EAEV,KAAK,EAGL,gBAAgB,EAChB,SAAS,EAGV,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,4BAA4B,CAAC;AAgIzE,MAAM,MAAM,cAAc,CACxB,CAAC,SAAS,KAAK,EACf,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,QAAQ,IAChB;IACF,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC7C,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC7C,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAC1D,qBAAqB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1C,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAiYF,eAAO,MAAM,aAAa,GACxB,CAAC,SAAS,KAAK,EACf,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,QAAQ,EAClB,qRAgBC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,yBA6JzB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __assign, __awaiter, __generator, __read, __spreadArray, __values } from "tslib";
|
|
2
2
|
import { tokenize as defaultTokenizer } from "@rowsncolumns/calculator";
|
|
3
3
|
import { CellXfsRegistry, deriveEffectiveNumberFormatFromFormula, } from "@rowsncolumns/spreadsheet-state";
|
|
4
|
-
import { cellRangeToAddress, cellToAddress, getCellEffectiveFormat, getCellEffectiveValue, getCellFormattedValue, getCellUserEnteredFormat, getCellUserEnteredValue, getExtendedValueBool, getExtendedValueError, getExtendedValueFormula, getExtendedValueNumber, getExtendedValueString, escapeCharacters, isNil, sortSheetsByIndex, addressToSelection, } from "@rowsncolumns/utils";
|
|
4
|
+
import { cellRangeToAddress, cellToAddress, chartPaletteColorAt, getCellEffectiveFormat, getCellEffectiveValue, getCellFormattedValue, getCellUserEnteredFormat, getCellUserEnteredValue, getExtendedValueBool, getExtendedValueError, getExtendedValueFormula, getExtendedValueNumber, getExtendedValueString, escapeCharacters, isNil, sortSheetsByIndex, addressToSelection, } from "@rowsncolumns/utils";
|
|
5
5
|
import { defaultSpreadsheetTheme } from "../../excel-parser/theme-default";
|
|
6
6
|
import { imageUrlToBase64 } from "../../helpers";
|
|
7
7
|
import { buildOdsPrintTokens, DEFAULT_PAGE_MARGINS_IN, inchesToOdsCm, isHeaderFooterEmpty, odsTableCentering, paperSizeToCm, splitHeaderFooterZones, tokenizeHeaderFooterZone, } from "../../print-settings";
|
|
@@ -3639,7 +3639,7 @@ var buildChartObjectXml = function (chart, sheetNameById) {
|
|
|
3639
3639
|
var seriesStyles = seriesRanges
|
|
3640
3640
|
.map(function (_range, index) {
|
|
3641
3641
|
var _a, _b, _c, _d, _e, _f;
|
|
3642
|
-
var color = seriesPalette
|
|
3642
|
+
var color = chartPaletteColorAt(seriesPalette, index);
|
|
3643
3643
|
var seriesData = series[index];
|
|
3644
3644
|
var gradient = seriesData === null || seriesData === void 0 ? void 0 : seriesData.gradient;
|
|
3645
3645
|
if (gradient && ((_a = gradient.stops) === null || _a === void 0 ? void 0 : _a.length) >= 2) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-builder.d.ts","sourceRoot":"","sources":["../../../../exporter/xlsx/chart-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,aAAa,EAEd,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"chart-builder.d.ts","sourceRoot":"","sources":["../../../../exporter/xlsx/chart-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,aAAa,EAEd,MAAM,2BAA2B,CAAC;AAi4CnC;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,CACnC,YAAY,EAAE,MAAM,GAAG,MAAM,KAC1B,MAAM,GAAG,SAAS,CAAC;AAExB,eAAO,MAAM,aAAa,GACxB,OAAO,aAAa,EACpB,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,yBAAyB,sBAAsB,KAC9C,MAAM,GAAG,SAwqBX,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __assign, __read, __spreadArray, __values } from "tslib";
|
|
2
|
-
import { cellRangeToAddress, sanitizeSheetName } from "@rowsncolumns/utils";
|
|
2
|
+
import { cellRangeToAddress, chartPaletteColorAt, sanitizeSheetName, } from "@rowsncolumns/utils";
|
|
3
3
|
import { XMLBuilder } from "fast-xml-parser";
|
|
4
4
|
import { area_series, bubble_series, chart_template, column_json, column_series, donut_json, line_series, scatter_json, scatter_series, static_title, } from "./chart-templates";
|
|
5
5
|
var XML_DECLARATION = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>";
|
|
@@ -1232,7 +1232,7 @@ var resolvePaletteIntoSeries = function (chart) {
|
|
|
1232
1232
|
return __assign(__assign({}, chart), { spec: __assign(__assign({}, chart.spec), { series: series.map(function (entry, index) {
|
|
1233
1233
|
return (entry === null || entry === void 0 ? void 0 : entry.color) || (entry === null || entry === void 0 ? void 0 : entry.gradient) || (entry === null || entry === void 0 ? void 0 : entry.noFill)
|
|
1234
1234
|
? entry
|
|
1235
|
-
: __assign(__assign({}, entry), { color: palette
|
|
1235
|
+
: __assign(__assign({}, entry), { color: chartPaletteColorAt(palette, index) });
|
|
1236
1236
|
}) }) });
|
|
1237
1237
|
};
|
|
1238
1238
|
export var buildChartXml = function (input, sheetNameById, resolvePivotSourceName) {
|
|
@@ -2932,7 +2932,7 @@ var applySliceColors = function (plotArea, spec) {
|
|
|
2932
2932
|
var pointColors = (authored === null || authored === void 0 ? void 0 : authored.length)
|
|
2933
2933
|
? authored
|
|
2934
2934
|
: (palette === null || palette === void 0 ? void 0 : palette.length)
|
|
2935
|
-
? Array.from({ length: sourcePointCount((_b = entry === null || entry === void 0 ? void 0 : entry.sources) === null || _b === void 0 ? void 0 : _b[0]) }, function (_, idx) { return ({ idx: idx, color: palette
|
|
2935
|
+
? Array.from({ length: sourcePointCount((_b = entry === null || entry === void 0 ? void 0 : entry.sources) === null || _b === void 0 ? void 0 : _b[0]) }, function (_, idx) { return ({ idx: idx, color: chartPaletteColorAt(palette, idx) }); })
|
|
2936
2936
|
: undefined;
|
|
2937
2937
|
var dPtNodes = buildDataPointNodes(pointColors);
|
|
2938
2938
|
var rebuilt = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value-type-detection.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/value-type-detection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"value-type-detection.d.ts","sourceRoot":"","sources":["../../../../../excel-parser/plugins/xlsx/value-type-detection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AAQnC,MAAM,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC;AAE5C,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAC/C,eAAO,MAAM,gBAAgB,eAAa,CAAC;AAC3C,eAAO,MAAM,wBAAwB,kBAAgB,CAAC;AACtD,eAAO,MAAM,YAAY,eAAe,CAAC;AACzC,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,YAAY,mBAAmB,CAAC;AAC7C,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAoC/C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,eAAO,MAAM,UAAU,GACrB,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,YAMpD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,GAAG,YAKnC,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,YAKpD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,WAW3D,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,WAMnD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,EACnD,eAAe,gBAAgB,GAAG,SAAS,EAC3C,QAAQ,MAAM,GAAG,SAAS,uBA0B3B,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,qDAMjE,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,MAM9C,CAAC;AAQF,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,KAAG,MAQhD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,EACnD,uBAAoB,WAiBrB,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,UAAS,MAAM,GAAG,SAAc,EAChC,WAAU,MAAU,EACpB,eAAY,WAqCb,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,EACnD,QAAQ,MAAM,GAAG,SAAS,KACzB,eAAe,GAAG,SAkDpB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,KAClD,eAAe,GAAG,SAyDpB,CAAC;AA8CF,eAAO,MAAM,uBAAuB,GAClC,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,EACnD,QAAQ,MAAM,GAAG,SAAS,KACzB,MAAM,GAAG,SAKX,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,KAClD,MAAM,GAAG,SAKX,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,OAAO,GAAG,EACV,QAAQ,MAAM,GAAG,SAAS,KACzB,gBAAgB,GAAG,SAmBrB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,EACnD,aAAa,MAAM,GAAG,SAAS,EAC/B,MAAM,gBAAgB,GAAG,SAAS,EAClC,QAAQ,MAAM,GAAG,SAAS,KACzB,MAAM,GAAG,SAiCX,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,OAAO,GAAG,EACV,QAAQ,MAAM,GAAG,SAAS,KACzB,SAaF,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,EACnD,QAAQ,MAAM,GAAG,SAAS,KACzB,CACD,WAAW,EAAE,MAAM,aAAa,EAChC,aAAa,CAAC,EAAE,gBAAgB,EAChC,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,CA+DjB,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,OAAO,GAAG,EACV,QAAQ,MAAM,GAAG,SAAS,KACzB,OAKF,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,GAAG,KAAG,OAK5C,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { parse } from "@rowsncolumns/date-parser";
|
|
2
|
-
import { isAFormula, isNil, toDate,
|
|
2
|
+
import { isAFormula, isNil, toDate, toSerialFromParts, } from "@rowsncolumns/utils";
|
|
3
3
|
export const pattern_percent = "0%";
|
|
4
4
|
export const pattern_percent_decimal = "0.00%";
|
|
5
5
|
export const pattern_currency = '"$"#,##0';
|
|
@@ -80,18 +80,18 @@ export const createNumberValue = (value, numFormatType, locale) => {
|
|
|
80
80
|
const isDate = numFormatType === "DATE";
|
|
81
81
|
const isDateTime = numFormatType === "DATE_TIME";
|
|
82
82
|
if (typeof value !== "boolean" && (isDate || isDateTime)) {
|
|
83
|
+
// A number is already a serial — the Date type only changes its format;
|
|
84
|
+
// a `toDate`/`toSerial` round trip moved Excel's phantom 1900-02-29 (60)
|
|
85
|
+
// onto the 28th (rowsncolumns/spreadsheet#1026).
|
|
83
86
|
if (typeof value === "number") {
|
|
84
|
-
|
|
85
|
-
if (!isNil(dateValue) && dateValue instanceof Date) {
|
|
86
|
-
return toSerial(dateValue);
|
|
87
|
-
}
|
|
87
|
+
return value;
|
|
88
88
|
}
|
|
89
89
|
const dateValue = isDate
|
|
90
90
|
? validateDate(value, locale)
|
|
91
91
|
: validateDateTime(value);
|
|
92
92
|
if (dateValue) {
|
|
93
93
|
const { parts: { year, month, day, hour, minute, second }, } = dateValue;
|
|
94
|
-
return
|
|
94
|
+
return toSerialFromParts(year, month, day, hour, minute, second);
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
return convertToNumber(value);
|
|
@@ -198,12 +198,16 @@ export const validateDate = (value, locale) => {
|
|
|
198
198
|
if (!result)
|
|
199
199
|
return undefined;
|
|
200
200
|
const { dateValue } = result;
|
|
201
|
+
// Excel's phantom 1900-02-29: the parser's stand-in `Date` sits on the 28th
|
|
202
|
+
// with `excelLeapDay` set; report the typed day so the serial lands on 60
|
|
203
|
+
// (rowsncolumns/spreadsheet#1026).
|
|
204
|
+
const day = "excelLeapDay" in result && result.excelLeapDay ? 29 : dateValue.getDate();
|
|
201
205
|
return {
|
|
202
206
|
format: result.pattern,
|
|
203
207
|
parts: {
|
|
204
208
|
year: dateValue.getFullYear(),
|
|
205
209
|
month: dateValue.getMonth(),
|
|
206
|
-
day
|
|
210
|
+
day,
|
|
207
211
|
hour: dateValue.getHours(),
|
|
208
212
|
minute: dateValue.getMinutes(),
|
|
209
213
|
second: dateValue.getSeconds(),
|
|
@@ -374,13 +378,13 @@ export const detectValueTypeAndPattern = (value, locale) => {
|
|
|
374
378
|
const dateValue = validateDate(value, locale);
|
|
375
379
|
if (dateValue) {
|
|
376
380
|
const { parts: { year, month, day, hour, minute, second }, } = dateValue;
|
|
377
|
-
const numberValue =
|
|
381
|
+
const numberValue = toSerialFromParts(year, month, day, hour, minute, second);
|
|
378
382
|
return ["numberValue", "DATE", numberValue, dateValue.format];
|
|
379
383
|
}
|
|
380
384
|
const dateTimeValue = validateDateTime(value);
|
|
381
385
|
if (dateTimeValue) {
|
|
382
386
|
const { parts: { year, month, day, hour, minute, second }, } = dateTimeValue;
|
|
383
|
-
const numberValue =
|
|
387
|
+
const numberValue = toSerialFromParts(year, month, day, hour, minute, second);
|
|
384
388
|
return ["numberValue", "DATE_TIME", numberValue, dateTimeValue.format];
|
|
385
389
|
}
|
|
386
390
|
return ["stringValue"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ods-export.d.ts","sourceRoot":"","sources":["../../../../exporter/ods/ods-export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,wBAAwB,EAMxB,SAAS,EAET,2BAA2B,EAC3B,QAAQ,EACT,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAGV,qBAAqB,EAErB,aAAa,EACb,cAAc,EAGd,UAAU,EAEV,KAAK,EAGL,gBAAgB,EAChB,SAAS,EAGV,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ods-export.d.ts","sourceRoot":"","sources":["../../../../exporter/ods/ods-export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,wBAAwB,EAMxB,SAAS,EAET,2BAA2B,EAC3B,QAAQ,EACT,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAGV,qBAAqB,EAErB,aAAa,EACb,cAAc,EAGd,UAAU,EAEV,KAAK,EAGL,gBAAgB,EAChB,SAAS,EAGV,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,4BAA4B,CAAC;AAgIzE,MAAM,MAAM,cAAc,CACxB,CAAC,SAAS,KAAK,EACf,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,QAAQ,IAChB;IACF,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC7C,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC7C,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAC1D,qBAAqB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1C,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAiYF,eAAO,MAAM,aAAa,GACxB,CAAC,SAAS,KAAK,EACf,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,QAAQ,EAClB,qRAgBC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,yBA6JzB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { tokenize as defaultTokenizer } from "@rowsncolumns/calculator";
|
|
2
2
|
import { CellXfsRegistry, deriveEffectiveNumberFormatFromFormula, } from "@rowsncolumns/spreadsheet-state";
|
|
3
|
-
import { cellRangeToAddress, cellToAddress, getCellEffectiveFormat, getCellEffectiveValue, getCellFormattedValue, getCellUserEnteredFormat, getCellUserEnteredValue, getExtendedValueBool, getExtendedValueError, getExtendedValueFormula, getExtendedValueNumber, getExtendedValueString, escapeCharacters, isNil, sortSheetsByIndex, addressToSelection, } from "@rowsncolumns/utils";
|
|
3
|
+
import { cellRangeToAddress, cellToAddress, chartPaletteColorAt, getCellEffectiveFormat, getCellEffectiveValue, getCellFormattedValue, getCellUserEnteredFormat, getCellUserEnteredValue, getExtendedValueBool, getExtendedValueError, getExtendedValueFormula, getExtendedValueNumber, getExtendedValueString, escapeCharacters, isNil, sortSheetsByIndex, addressToSelection, } from "@rowsncolumns/utils";
|
|
4
4
|
import { defaultSpreadsheetTheme } from "../../excel-parser/theme-default";
|
|
5
5
|
import { imageUrlToBase64 } from "../../helpers";
|
|
6
6
|
import { buildOdsPrintTokens, DEFAULT_PAGE_MARGINS_IN, inchesToOdsCm, isHeaderFooterEmpty, odsTableCentering, paperSizeToCm, splitHeaderFooterZones, tokenizeHeaderFooterZone, } from "../../print-settings";
|
|
@@ -3150,7 +3150,7 @@ const buildChartObjectXml = (chart, sheetNameById) => {
|
|
|
3150
3150
|
: "";
|
|
3151
3151
|
const seriesStyles = seriesRanges
|
|
3152
3152
|
.map((_range, index) => {
|
|
3153
|
-
const color = seriesPalette
|
|
3153
|
+
const color = chartPaletteColorAt(seriesPalette, index);
|
|
3154
3154
|
const seriesData = series[index];
|
|
3155
3155
|
const gradient = seriesData?.gradient;
|
|
3156
3156
|
if (gradient && gradient.stops?.length >= 2) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-builder.d.ts","sourceRoot":"","sources":["../../../../exporter/xlsx/chart-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,aAAa,EAEd,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"chart-builder.d.ts","sourceRoot":"","sources":["../../../../exporter/xlsx/chart-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,aAAa,EAEd,MAAM,2BAA2B,CAAC;AAi4CnC;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,CACnC,YAAY,EAAE,MAAM,GAAG,MAAM,KAC1B,MAAM,GAAG,SAAS,CAAC;AAExB,eAAO,MAAM,aAAa,GACxB,OAAO,aAAa,EACpB,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,yBAAyB,sBAAsB,KAC9C,MAAM,GAAG,SAwqBX,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cellRangeToAddress, sanitizeSheetName } from "@rowsncolumns/utils";
|
|
1
|
+
import { cellRangeToAddress, chartPaletteColorAt, sanitizeSheetName, } from "@rowsncolumns/utils";
|
|
2
2
|
import { XMLBuilder } from "fast-xml-parser";
|
|
3
3
|
import { area_series, bubble_series, chart_template, column_json, column_series, donut_json, line_series, scatter_json, scatter_series, static_title, } from "./chart-templates";
|
|
4
4
|
const XML_DECLARATION = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>`;
|
|
@@ -1135,7 +1135,7 @@ const resolvePaletteIntoSeries = (chart) => {
|
|
|
1135
1135
|
...chart.spec,
|
|
1136
1136
|
series: series.map((entry, index) => entry?.color || entry?.gradient || entry?.noFill
|
|
1137
1137
|
? entry
|
|
1138
|
-
: { ...entry, color: palette
|
|
1138
|
+
: { ...entry, color: chartPaletteColorAt(palette, index) }),
|
|
1139
1139
|
},
|
|
1140
1140
|
};
|
|
1141
1141
|
};
|
|
@@ -2602,7 +2602,7 @@ const applySliceColors = (plotArea, spec) => {
|
|
|
2602
2602
|
const pointColors = authored?.length
|
|
2603
2603
|
? authored
|
|
2604
2604
|
: palette?.length
|
|
2605
|
-
? Array.from({ length: sourcePointCount(entry?.sources?.[0]) }, (_, idx) => ({ idx, color: palette
|
|
2605
|
+
? Array.from({ length: sourcePointCount(entry?.sources?.[0]) }, (_, idx) => ({ idx, color: chartPaletteColorAt(palette, idx) }))
|
|
2606
2606
|
: undefined;
|
|
2607
2607
|
const dPtNodes = buildDataPointNodes(pointColors);
|
|
2608
2608
|
const rebuilt = {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rowsncolumns/toolkit",
|
|
3
|
-
"version": "24.5.
|
|
3
|
+
"version": "24.5.7",
|
|
4
4
|
"author": "Vinay M",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"url": "https://github.com/rowsncolumns/spreadsheet/issues"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@rowsncolumns/utils": ">=9.5.
|
|
48
|
+
"@rowsncolumns/utils": ">=9.5.5",
|
|
49
49
|
"@types/lodash-es": "^4.17.12"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"@noble/hashes": "^1.4.0",
|
|
58
58
|
"@rowsncolumns/calculator": ">=7.3.1",
|
|
59
59
|
"@rowsncolumns/common-types": ">=5.3.2",
|
|
60
|
-
"@rowsncolumns/date-parser": ">=13.0.
|
|
60
|
+
"@rowsncolumns/date-parser": ">=13.0.4",
|
|
61
61
|
"@zip.js/zip.js": "^2.8.17",
|
|
62
62
|
"fast-xml-parser": "^5.8.0",
|
|
63
63
|
"fflate": "^0.8.2",
|