@extend-ai/react-xlsx 0.20.0 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/{chart-renderer-AAVZ34BF.cjs → chart-renderer-K2VM257E.cjs} +5 -5
- package/dist/{chart-renderer-AAVZ34BF.cjs.map → chart-renderer-K2VM257E.cjs.map} +1 -1
- package/dist/{chart-renderer-NM5UVCTO.cjs → chart-renderer-K6GORT3R.cjs} +5 -5
- package/dist/{chart-renderer-NM5UVCTO.cjs.map → chart-renderer-K6GORT3R.cjs.map} +1 -1
- package/dist/{chunk-MCFUTO4J.cjs → chunk-2MVEKDY2.cjs} +4 -4
- package/dist/{chunk-MCFUTO4J.cjs.map → chunk-2MVEKDY2.cjs.map} +1 -1
- package/dist/{chunk-6K3NSKDJ.cjs → chunk-54YBFWL3.cjs} +4 -4
- package/dist/{chunk-6K3NSKDJ.cjs.map → chunk-54YBFWL3.cjs.map} +1 -1
- package/dist/{chunk-T5WZHPIN.cjs → chunk-AD4CGQN2.cjs} +2 -2
- package/dist/{chunk-T5WZHPIN.cjs.map → chunk-AD4CGQN2.cjs.map} +1 -1
- package/dist/{chunk-QN3D3JS2.js → chunk-GXJO6CK6.js} +123 -29
- package/dist/chunk-GXJO6CK6.js.map +1 -0
- package/dist/{chunk-2YBG7XQ3.cjs → chunk-HAHCVXCU.cjs} +910 -816
- package/dist/chunk-HAHCVXCU.cjs.map +1 -0
- package/dist/index.cjs +605 -527
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +102 -24
- package/dist/index.js.map +1 -1
- package/dist/{internal-DrXSHYJZ.d.cts → internal-trWFv9In.d.cts} +3 -0
- package/dist/{internal-DrXSHYJZ.d.ts → internal-trWFv9In.d.ts} +3 -0
- package/dist/internal.cjs +4 -4
- package/dist/internal.d.cts +1 -1
- package/dist/internal.d.ts +1 -1
- package/dist/internal.js +1 -1
- package/dist/{region-map-geography-6TGXBY3V.cjs → region-map-geography-VEN5CPRS.cjs} +2 -2
- package/dist/{region-map-geography-6TGXBY3V.cjs.map → region-map-geography-VEN5CPRS.cjs.map} +1 -1
- package/dist/{spreadsheet-font-assets-4AHYDTAQ.cjs → spreadsheet-font-assets-6FKCVICP.cjs} +2 -2
- package/dist/{spreadsheet-font-assets-4AHYDTAQ.cjs.map → spreadsheet-font-assets-6FKCVICP.cjs.map} +1 -1
- package/dist/{surface-regl-AY7JZVYY.cjs → surface-regl-2NNG62KS.cjs} +2 -2
- package/dist/{surface-regl-AY7JZVYY.cjs.map → surface-regl-2NNG62KS.cjs.map} +1 -1
- package/dist/{surface-regl-5Z6IVOID.cjs → surface-regl-SUJ2TFZA.cjs} +2 -2
- package/dist/{surface-regl-5Z6IVOID.cjs.map → surface-regl-SUJ2TFZA.cjs.map} +1 -1
- package/dist/vanilla.cjs +4 -4
- package/dist/vanilla.d.cts +2 -2
- package/dist/vanilla.d.ts +2 -2
- package/dist/vanilla.js +1 -1
- package/dist/xlsx-worker.js +67 -1
- package/dist/xlsx-worker.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-2YBG7XQ3.cjs.map +0 -1
- package/dist/chunk-QN3D3JS2.js.map +0 -1
package/dist/vanilla.cjs
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
9
|
-
require('./chunk-
|
|
8
|
+
var _chunkHAHCVXCUcjs = require('./chunk-HAHCVXCU.cjs');
|
|
9
|
+
require('./chunk-2MVEKDY2.cjs');
|
|
10
10
|
require('./chunk-CJBI5F6V.cjs');
|
|
11
|
-
require('./chunk-
|
|
11
|
+
require('./chunk-AD4CGQN2.cjs');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
@@ -16,5 +16,5 @@ require('./chunk-T5WZHPIN.cjs');
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
exports.XlsxFileSizeLimitExceededError =
|
|
19
|
+
exports.XlsxFileSizeLimitExceededError = _chunkHAHCVXCUcjs.XlsxFileSizeLimitExceededError; exports.XlsxViewer = _chunkHAHCVXCUcjs.XlsxViewer; exports.createXlsxViewer = _chunkHAHCVXCUcjs.createXlsxViewer; exports.initWasm = _chunkHAHCVXCUcjs.initWasm; exports.parseXlsxRange = _chunkHAHCVXCUcjs.parseXlsxRange; exports.setWasmSource = _chunkHAHCVXCUcjs.setWasmSource;
|
|
20
20
|
//# sourceMappingURL=vanilla.cjs.map
|
package/dist/vanilla.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { X as XlsxParsedRange } from './internal-
|
|
2
|
-
export { U as UseXlsxViewerControllerOptions, a as UseXlsxViewerThumbnailsOptions, b as XlsxActiveCellOverlayRenderProps, c as XlsxCellAddress, d as XlsxCellAlignmentInput, e as XlsxCellBorderEdgeInput, f as XlsxCellBorderStyleInput, g as XlsxCellFillStyleInput, h as XlsxCellFontStyleInput, i as XlsxCellGradientStopInput, j as XlsxCellNumberFormatInput, k as XlsxCellProtectionInput, l as XlsxCellRange, m as XlsxCellStyleColorInput, n as XlsxCellStyleInput, o as XlsxChart, p as XlsxChartAxis, q as XlsxChartDataLabels, r as XlsxChartElementSelection, s as XlsxChartLegend, t as XlsxChartPointDataLabel, u as XlsxChartPointStyle, v as XlsxChartReference, w as XlsxChartSeries, x as XlsxChartTypeGroup, y as XlsxChartWall, z as XlsxChartsheet, A as XlsxClipboardData, B as XlsxConditionalColorScaleRule, C as XlsxConditionalDataBarRule, D as XlsxConditionalFormatIcon, E as XlsxConditionalFormatRule, F as XlsxConditionalFormatValueObject, G as XlsxConditionalIconSetRule, H as XlsxConditionalStyledRule, I as XlsxContextMenuAction, J as XlsxContextMenuActionId, K as XlsxContextMenuContext, L as XlsxDataValidation, M as XlsxDrawingLayout, N as XlsxFileSizeLimitExceededError, O as XlsxFormControl, P as XlsxFormControlActionEvent, Q as XlsxFormControlCaption, R as XlsxFormControlCaptionInput, S as XlsxFormControlCaptionRun, T as XlsxFormControlChangeEvent, V as XlsxFormControlInput, W as XlsxFormControlKind, Y as XlsxFormControlKindInput, Z as XlsxFormControlPatch, _ as XlsxFormControlSelectionMode, $ as XlsxFormControlState, a0 as XlsxFormulaTarget, a1 as XlsxFreezePanes, a2 as XlsxHighlightRangeOptions, a3 as XlsxImage, a4 as XlsxImageAnchor, a5 as XlsxImageMarker, a6 as XlsxImageRect, a7 as XlsxImageResizeHandlePosition, a8 as XlsxMergeMode, a9 as XlsxRangeHighlight, aa as XlsxResolvedCellStyle, ab as XlsxShape, ac as XlsxShapeFill, ad as XlsxShapeParagraph, ae as XlsxShapeStroke, af as XlsxShapeTextBox, ag as XlsxShapeTextRun, ah as XlsxSheetData, ai as XlsxSheetThumbnail, aj as XlsxSheetThumbnailResolution, ak as XlsxSheetVisibility, al as XlsxSparkline, am as XlsxTable, an as XlsxTableColumn, ao as XlsxTableSortDirection, ap as XlsxTableSortState, aq as XlsxTableStyleDefinition, ar as XlsxTableStyleInfo, as as XlsxThemePalette, at as XlsxVanillaCellStyleContext, au as XlsxVanillaChartLoadingRenderProps, av as XlsxVanillaContent, aw as XlsxVanillaContextMenuRenderProps, ax as XlsxVanillaFileTooLargeRenderProps, ay as XlsxVanillaFormControlRenderProps, az as XlsxVanillaImageRenderProps, aA as XlsxVanillaStyle, aB as XlsxVanillaViewer, aC as XlsxVanillaViewerOptions, aD as XlsxViewer, aE as XlsxViewerCharts, aF as XlsxViewerController, aG as XlsxViewerEditing, aH as XlsxViewerImages, aI as XlsxViewerSelection, aJ as XlsxViewerTables, aK as XlsxViewerThumbnails, aL as XlsxViewerZoom, aM as XlsxWasmSource, aN as XlsxWorkbookTab, aO as createXlsxViewer, aP as initWasm, aQ as setWasmSource } from './internal-
|
|
1
|
+
import { X as XlsxParsedRange } from './internal-trWFv9In.cjs';
|
|
2
|
+
export { U as UseXlsxViewerControllerOptions, a as UseXlsxViewerThumbnailsOptions, b as XlsxActiveCellOverlayRenderProps, c as XlsxCellAddress, d as XlsxCellAlignmentInput, e as XlsxCellBorderEdgeInput, f as XlsxCellBorderStyleInput, g as XlsxCellFillStyleInput, h as XlsxCellFontStyleInput, i as XlsxCellGradientStopInput, j as XlsxCellNumberFormatInput, k as XlsxCellProtectionInput, l as XlsxCellRange, m as XlsxCellStyleColorInput, n as XlsxCellStyleInput, o as XlsxChart, p as XlsxChartAxis, q as XlsxChartDataLabels, r as XlsxChartElementSelection, s as XlsxChartLegend, t as XlsxChartPointDataLabel, u as XlsxChartPointStyle, v as XlsxChartReference, w as XlsxChartSeries, x as XlsxChartTypeGroup, y as XlsxChartWall, z as XlsxChartsheet, A as XlsxClipboardData, B as XlsxConditionalColorScaleRule, C as XlsxConditionalDataBarRule, D as XlsxConditionalFormatIcon, E as XlsxConditionalFormatRule, F as XlsxConditionalFormatValueObject, G as XlsxConditionalIconSetRule, H as XlsxConditionalStyledRule, I as XlsxContextMenuAction, J as XlsxContextMenuActionId, K as XlsxContextMenuContext, L as XlsxDataValidation, M as XlsxDrawingLayout, N as XlsxFileSizeLimitExceededError, O as XlsxFormControl, P as XlsxFormControlActionEvent, Q as XlsxFormControlCaption, R as XlsxFormControlCaptionInput, S as XlsxFormControlCaptionRun, T as XlsxFormControlChangeEvent, V as XlsxFormControlInput, W as XlsxFormControlKind, Y as XlsxFormControlKindInput, Z as XlsxFormControlPatch, _ as XlsxFormControlSelectionMode, $ as XlsxFormControlState, a0 as XlsxFormulaTarget, a1 as XlsxFreezePanes, a2 as XlsxHighlightRangeOptions, a3 as XlsxImage, a4 as XlsxImageAnchor, a5 as XlsxImageMarker, a6 as XlsxImageRect, a7 as XlsxImageResizeHandlePosition, a8 as XlsxMergeMode, a9 as XlsxRangeHighlight, aa as XlsxResolvedCellStyle, ab as XlsxShape, ac as XlsxShapeFill, ad as XlsxShapeParagraph, ae as XlsxShapeStroke, af as XlsxShapeTextBox, ag as XlsxShapeTextRun, ah as XlsxSheetData, ai as XlsxSheetThumbnail, aj as XlsxSheetThumbnailResolution, ak as XlsxSheetVisibility, al as XlsxSparkline, am as XlsxTable, an as XlsxTableColumn, ao as XlsxTableSortDirection, ap as XlsxTableSortState, aq as XlsxTableStyleDefinition, ar as XlsxTableStyleInfo, as as XlsxThemePalette, at as XlsxVanillaCellStyleContext, au as XlsxVanillaChartLoadingRenderProps, av as XlsxVanillaContent, aw as XlsxVanillaContextMenuRenderProps, ax as XlsxVanillaFileTooLargeRenderProps, ay as XlsxVanillaFormControlRenderProps, az as XlsxVanillaImageRenderProps, aA as XlsxVanillaStyle, aB as XlsxVanillaViewer, aC as XlsxVanillaViewerOptions, aD as XlsxViewer, aE as XlsxViewerCharts, aF as XlsxViewerController, aG as XlsxViewerEditing, aH as XlsxViewerImages, aI as XlsxViewerSelection, aJ as XlsxViewerTables, aK as XlsxViewerThumbnails, aL as XlsxViewerZoom, aM as XlsxWasmSource, aN as XlsxWorkbookTab, aO as createXlsxViewer, aP as initWasm, aQ as setWasmSource } from './internal-trWFv9In.cjs';
|
|
3
3
|
import '@dukelib/sheets-wasm';
|
|
4
4
|
import 'csstype';
|
|
5
5
|
|
package/dist/vanilla.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { X as XlsxParsedRange } from './internal-
|
|
2
|
-
export { U as UseXlsxViewerControllerOptions, a as UseXlsxViewerThumbnailsOptions, b as XlsxActiveCellOverlayRenderProps, c as XlsxCellAddress, d as XlsxCellAlignmentInput, e as XlsxCellBorderEdgeInput, f as XlsxCellBorderStyleInput, g as XlsxCellFillStyleInput, h as XlsxCellFontStyleInput, i as XlsxCellGradientStopInput, j as XlsxCellNumberFormatInput, k as XlsxCellProtectionInput, l as XlsxCellRange, m as XlsxCellStyleColorInput, n as XlsxCellStyleInput, o as XlsxChart, p as XlsxChartAxis, q as XlsxChartDataLabels, r as XlsxChartElementSelection, s as XlsxChartLegend, t as XlsxChartPointDataLabel, u as XlsxChartPointStyle, v as XlsxChartReference, w as XlsxChartSeries, x as XlsxChartTypeGroup, y as XlsxChartWall, z as XlsxChartsheet, A as XlsxClipboardData, B as XlsxConditionalColorScaleRule, C as XlsxConditionalDataBarRule, D as XlsxConditionalFormatIcon, E as XlsxConditionalFormatRule, F as XlsxConditionalFormatValueObject, G as XlsxConditionalIconSetRule, H as XlsxConditionalStyledRule, I as XlsxContextMenuAction, J as XlsxContextMenuActionId, K as XlsxContextMenuContext, L as XlsxDataValidation, M as XlsxDrawingLayout, N as XlsxFileSizeLimitExceededError, O as XlsxFormControl, P as XlsxFormControlActionEvent, Q as XlsxFormControlCaption, R as XlsxFormControlCaptionInput, S as XlsxFormControlCaptionRun, T as XlsxFormControlChangeEvent, V as XlsxFormControlInput, W as XlsxFormControlKind, Y as XlsxFormControlKindInput, Z as XlsxFormControlPatch, _ as XlsxFormControlSelectionMode, $ as XlsxFormControlState, a0 as XlsxFormulaTarget, a1 as XlsxFreezePanes, a2 as XlsxHighlightRangeOptions, a3 as XlsxImage, a4 as XlsxImageAnchor, a5 as XlsxImageMarker, a6 as XlsxImageRect, a7 as XlsxImageResizeHandlePosition, a8 as XlsxMergeMode, a9 as XlsxRangeHighlight, aa as XlsxResolvedCellStyle, ab as XlsxShape, ac as XlsxShapeFill, ad as XlsxShapeParagraph, ae as XlsxShapeStroke, af as XlsxShapeTextBox, ag as XlsxShapeTextRun, ah as XlsxSheetData, ai as XlsxSheetThumbnail, aj as XlsxSheetThumbnailResolution, ak as XlsxSheetVisibility, al as XlsxSparkline, am as XlsxTable, an as XlsxTableColumn, ao as XlsxTableSortDirection, ap as XlsxTableSortState, aq as XlsxTableStyleDefinition, ar as XlsxTableStyleInfo, as as XlsxThemePalette, at as XlsxVanillaCellStyleContext, au as XlsxVanillaChartLoadingRenderProps, av as XlsxVanillaContent, aw as XlsxVanillaContextMenuRenderProps, ax as XlsxVanillaFileTooLargeRenderProps, ay as XlsxVanillaFormControlRenderProps, az as XlsxVanillaImageRenderProps, aA as XlsxVanillaStyle, aB as XlsxVanillaViewer, aC as XlsxVanillaViewerOptions, aD as XlsxViewer, aE as XlsxViewerCharts, aF as XlsxViewerController, aG as XlsxViewerEditing, aH as XlsxViewerImages, aI as XlsxViewerSelection, aJ as XlsxViewerTables, aK as XlsxViewerThumbnails, aL as XlsxViewerZoom, aM as XlsxWasmSource, aN as XlsxWorkbookTab, aO as createXlsxViewer, aP as initWasm, aQ as setWasmSource } from './internal-
|
|
1
|
+
import { X as XlsxParsedRange } from './internal-trWFv9In.js';
|
|
2
|
+
export { U as UseXlsxViewerControllerOptions, a as UseXlsxViewerThumbnailsOptions, b as XlsxActiveCellOverlayRenderProps, c as XlsxCellAddress, d as XlsxCellAlignmentInput, e as XlsxCellBorderEdgeInput, f as XlsxCellBorderStyleInput, g as XlsxCellFillStyleInput, h as XlsxCellFontStyleInput, i as XlsxCellGradientStopInput, j as XlsxCellNumberFormatInput, k as XlsxCellProtectionInput, l as XlsxCellRange, m as XlsxCellStyleColorInput, n as XlsxCellStyleInput, o as XlsxChart, p as XlsxChartAxis, q as XlsxChartDataLabels, r as XlsxChartElementSelection, s as XlsxChartLegend, t as XlsxChartPointDataLabel, u as XlsxChartPointStyle, v as XlsxChartReference, w as XlsxChartSeries, x as XlsxChartTypeGroup, y as XlsxChartWall, z as XlsxChartsheet, A as XlsxClipboardData, B as XlsxConditionalColorScaleRule, C as XlsxConditionalDataBarRule, D as XlsxConditionalFormatIcon, E as XlsxConditionalFormatRule, F as XlsxConditionalFormatValueObject, G as XlsxConditionalIconSetRule, H as XlsxConditionalStyledRule, I as XlsxContextMenuAction, J as XlsxContextMenuActionId, K as XlsxContextMenuContext, L as XlsxDataValidation, M as XlsxDrawingLayout, N as XlsxFileSizeLimitExceededError, O as XlsxFormControl, P as XlsxFormControlActionEvent, Q as XlsxFormControlCaption, R as XlsxFormControlCaptionInput, S as XlsxFormControlCaptionRun, T as XlsxFormControlChangeEvent, V as XlsxFormControlInput, W as XlsxFormControlKind, Y as XlsxFormControlKindInput, Z as XlsxFormControlPatch, _ as XlsxFormControlSelectionMode, $ as XlsxFormControlState, a0 as XlsxFormulaTarget, a1 as XlsxFreezePanes, a2 as XlsxHighlightRangeOptions, a3 as XlsxImage, a4 as XlsxImageAnchor, a5 as XlsxImageMarker, a6 as XlsxImageRect, a7 as XlsxImageResizeHandlePosition, a8 as XlsxMergeMode, a9 as XlsxRangeHighlight, aa as XlsxResolvedCellStyle, ab as XlsxShape, ac as XlsxShapeFill, ad as XlsxShapeParagraph, ae as XlsxShapeStroke, af as XlsxShapeTextBox, ag as XlsxShapeTextRun, ah as XlsxSheetData, ai as XlsxSheetThumbnail, aj as XlsxSheetThumbnailResolution, ak as XlsxSheetVisibility, al as XlsxSparkline, am as XlsxTable, an as XlsxTableColumn, ao as XlsxTableSortDirection, ap as XlsxTableSortState, aq as XlsxTableStyleDefinition, ar as XlsxTableStyleInfo, as as XlsxThemePalette, at as XlsxVanillaCellStyleContext, au as XlsxVanillaChartLoadingRenderProps, av as XlsxVanillaContent, aw as XlsxVanillaContextMenuRenderProps, ax as XlsxVanillaFileTooLargeRenderProps, ay as XlsxVanillaFormControlRenderProps, az as XlsxVanillaImageRenderProps, aA as XlsxVanillaStyle, aB as XlsxVanillaViewer, aC as XlsxVanillaViewerOptions, aD as XlsxViewer, aE as XlsxViewerCharts, aF as XlsxViewerController, aG as XlsxViewerEditing, aH as XlsxViewerImages, aI as XlsxViewerSelection, aJ as XlsxViewerTables, aK as XlsxViewerThumbnails, aL as XlsxViewerZoom, aM as XlsxWasmSource, aN as XlsxWorkbookTab, aO as createXlsxViewer, aP as initWasm, aQ as setWasmSource } from './internal-trWFv9In.js';
|
|
3
3
|
import '@dukelib/sheets-wasm';
|
|
4
4
|
import 'csstype';
|
|
5
5
|
|
package/dist/vanilla.js
CHANGED
package/dist/xlsx-worker.js
CHANGED
|
@@ -2382,6 +2382,71 @@ var init_duke_sheets_wasm = __esm({
|
|
|
2382
2382
|
}
|
|
2383
2383
|
});
|
|
2384
2384
|
|
|
2385
|
+
// src/number-locale.ts
|
|
2386
|
+
var separators = /* @__PURE__ */ new Map();
|
|
2387
|
+
function localizeCellNumber(worksheet, row, col, text, locale = "en-US") {
|
|
2388
|
+
if (locale === "en-US" || !text) return text;
|
|
2389
|
+
const value = worksheet.getCalculatedValueAt(row, col);
|
|
2390
|
+
try {
|
|
2391
|
+
if (!value.is_number) return text;
|
|
2392
|
+
} finally {
|
|
2393
|
+
value.free();
|
|
2394
|
+
}
|
|
2395
|
+
const style = worksheet.getCellStyleAt(row, col);
|
|
2396
|
+
const format = style?.numberFormat;
|
|
2397
|
+
if (format?.isDateFormat) return text;
|
|
2398
|
+
let symbols = separators.get(locale);
|
|
2399
|
+
if (!symbols) {
|
|
2400
|
+
const parts = new Intl.NumberFormat(locale).formatToParts(12345.6);
|
|
2401
|
+
symbols = {
|
|
2402
|
+
decimal: parts.find((part) => part.type === "decimal")?.value ?? ".",
|
|
2403
|
+
group: parts.find((part) => part.type === "group")?.value ?? ","
|
|
2404
|
+
};
|
|
2405
|
+
if (separators.size >= 100) separators.clear();
|
|
2406
|
+
separators.set(locale, symbols);
|
|
2407
|
+
}
|
|
2408
|
+
if (symbols.decimal === "." && symbols.group === ",") return text;
|
|
2409
|
+
const protectedPositions = /* @__PURE__ */ new Set();
|
|
2410
|
+
const code = format?.formatString ?? "";
|
|
2411
|
+
const literalPattern = /"[^"]*"|\\.|\[[^\]]*\]/g;
|
|
2412
|
+
const firstPlaceholder = code.replace(literalPattern, (token) => " ".repeat(token.length)).search(/[0#?]/);
|
|
2413
|
+
const literals = [...code.matchAll(literalPattern)];
|
|
2414
|
+
let suffixEnd = text.length;
|
|
2415
|
+
let prefixStart = 0;
|
|
2416
|
+
const protect = (token, suffix) => {
|
|
2417
|
+
const literal = token.startsWith('"') ? token.slice(1, -1) : token.startsWith("\\") ? token.slice(1) : token.startsWith("[$") ? token.slice(2, -1).split("-")[0] : "";
|
|
2418
|
+
if (!literal) return;
|
|
2419
|
+
const offset = suffix ? text.lastIndexOf(literal, suffixEnd - literal.length) : text.indexOf(literal, prefixStart);
|
|
2420
|
+
if (offset >= 0) {
|
|
2421
|
+
for (let i = offset; i < offset + literal.length; i++) protectedPositions.add(i);
|
|
2422
|
+
if (suffix) suffixEnd = offset;
|
|
2423
|
+
else prefixStart = offset + literal.length;
|
|
2424
|
+
}
|
|
2425
|
+
};
|
|
2426
|
+
for (const token of literals.filter((token2) => token2.index < firstPlaceholder)) protect(token[0], false);
|
|
2427
|
+
for (const token of literals.filter((token2) => token2.index >= firstPlaceholder).reverse()) protect(token[0], true);
|
|
2428
|
+
return text.replace(
|
|
2429
|
+
/\d[\d,]*(?:\.\d*)?|\.\d+/g,
|
|
2430
|
+
(number, offset) => number.replace(/[.,]/g, (separator, index) => protectedPositions.has(offset + index) ? separator : separator === "." ? symbols.decimal : symbols.group)
|
|
2431
|
+
);
|
|
2432
|
+
}
|
|
2433
|
+
function localizeRows(worksheet, rows, locale = "en-US") {
|
|
2434
|
+
if (locale === "en-US" || !Array.isArray(rows)) return;
|
|
2435
|
+
for (const row of rows) {
|
|
2436
|
+
for (const cell of row.cells ?? []) {
|
|
2437
|
+
if (!cell.isMergedSecondary && typeof cell.value === "string") {
|
|
2438
|
+
const value = worksheet.getCalculatedValueAt(row.index, cell.col);
|
|
2439
|
+
try {
|
|
2440
|
+
cell.numericValue = value.is_number ? value.asNumber() : null;
|
|
2441
|
+
} finally {
|
|
2442
|
+
value.free();
|
|
2443
|
+
}
|
|
2444
|
+
cell.value = localizeCellNumber(worksheet, row.index, cell.col, cell.value, locale);
|
|
2445
|
+
}
|
|
2446
|
+
}
|
|
2447
|
+
}
|
|
2448
|
+
}
|
|
2449
|
+
|
|
2385
2450
|
// ../../node_modules/.pnpm/fflate@0.8.3/node_modules/fflate/esm/browser.js
|
|
2386
2451
|
var u8 = Uint8Array;
|
|
2387
2452
|
var u16 = Uint16Array;
|
|
@@ -8280,7 +8345,7 @@ async function handleMessage(message) {
|
|
|
8280
8345
|
const targetSheet = sheets.find((sheet) => sheet.workbookSheetIndex === message.payload.workbookSheetIndex) ?? null;
|
|
8281
8346
|
const worksheet = workbook.getSheet(message.payload.workbookSheetIndex);
|
|
8282
8347
|
return {
|
|
8283
|
-
displayValue: getCellDisplayValue(worksheet, message.payload.row, message.payload.col, targetSheet),
|
|
8348
|
+
displayValue: localizeCellNumber(worksheet, message.payload.row, message.payload.col, getCellDisplayValue(worksheet, message.payload.row, message.payload.col, targetSheet), message.payload.locale),
|
|
8284
8349
|
formula: worksheet.getFormulaAt(message.payload.row, message.payload.col) ?? ""
|
|
8285
8350
|
};
|
|
8286
8351
|
}
|
|
@@ -8306,6 +8371,7 @@ async function handleMessage(message) {
|
|
|
8306
8371
|
}
|
|
8307
8372
|
}
|
|
8308
8373
|
}
|
|
8374
|
+
localizeRows(worksheet, rows, message.payload.locale);
|
|
8309
8375
|
return rows;
|
|
8310
8376
|
}
|
|
8311
8377
|
default:
|