@extend-ai/react-xlsx 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +23154 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +776 -0
- package/dist/index.d.ts +776 -0
- package/dist/index.js +23125 -0
- package/dist/index.js.map +1 -0
- package/dist/xlsx-worker.js +4688 -0
- package/dist/xlsx-worker.js.map +1 -0
- package/package.json +60 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,776 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Workbook, Worksheet } from '@dukelib/sheets-wasm';
|
|
3
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
interface XlsxThemePalette {
|
|
6
|
+
colorsByIndex: Record<number, string>;
|
|
7
|
+
majorLatinFont?: string;
|
|
8
|
+
minorLatinFont?: string;
|
|
9
|
+
}
|
|
10
|
+
interface XlsxResolvedCellStyle {
|
|
11
|
+
[key: string]: unknown;
|
|
12
|
+
alignment?: Record<string, unknown>;
|
|
13
|
+
border?: Record<string, Record<string, unknown>>;
|
|
14
|
+
cellControl?: {
|
|
15
|
+
kind: "checkbox";
|
|
16
|
+
};
|
|
17
|
+
fill?: Record<string, unknown>;
|
|
18
|
+
font?: Record<string, unknown>;
|
|
19
|
+
}
|
|
20
|
+
interface XlsxTableStyleDefinition {
|
|
21
|
+
[elementType: string]: XlsxResolvedCellStyle;
|
|
22
|
+
}
|
|
23
|
+
interface XlsxConditionalFormatValueObject {
|
|
24
|
+
type: string;
|
|
25
|
+
value?: number;
|
|
26
|
+
}
|
|
27
|
+
interface XlsxConditionalDataBarRule {
|
|
28
|
+
axisColor?: Record<string, unknown>;
|
|
29
|
+
border?: boolean;
|
|
30
|
+
color?: Record<string, unknown>;
|
|
31
|
+
borderColor?: Record<string, unknown>;
|
|
32
|
+
cfvos: XlsxConditionalFormatValueObject[];
|
|
33
|
+
gradient?: boolean;
|
|
34
|
+
kind: "dataBar";
|
|
35
|
+
maxLength?: number;
|
|
36
|
+
minLength?: number;
|
|
37
|
+
negativeBarBorderColorSameAsPositive?: boolean;
|
|
38
|
+
negativeBorderColor?: Record<string, unknown>;
|
|
39
|
+
negativeFillColor?: Record<string, unknown>;
|
|
40
|
+
priority: number;
|
|
41
|
+
ranges: XlsxCellRange[];
|
|
42
|
+
showValue?: boolean;
|
|
43
|
+
}
|
|
44
|
+
interface XlsxConditionalColorScaleRule {
|
|
45
|
+
cfvos: XlsxConditionalFormatValueObject[];
|
|
46
|
+
colors: Record<string, unknown>[];
|
|
47
|
+
kind: "colorScale";
|
|
48
|
+
priority: number;
|
|
49
|
+
ranges: XlsxCellRange[];
|
|
50
|
+
}
|
|
51
|
+
interface XlsxConditionalFormatIcon {
|
|
52
|
+
iconId: number;
|
|
53
|
+
iconSet: string;
|
|
54
|
+
}
|
|
55
|
+
interface XlsxConditionalIconSetRule {
|
|
56
|
+
cfvos: XlsxConditionalFormatValueObject[];
|
|
57
|
+
icons: XlsxConditionalFormatIcon[];
|
|
58
|
+
kind: "iconSet";
|
|
59
|
+
priority: number;
|
|
60
|
+
ranges: XlsxCellRange[];
|
|
61
|
+
reverse?: boolean;
|
|
62
|
+
showValue?: boolean;
|
|
63
|
+
}
|
|
64
|
+
type XlsxConditionalFormatRule = XlsxConditionalColorScaleRule | XlsxConditionalDataBarRule | XlsxConditionalIconSetRule;
|
|
65
|
+
interface XlsxDataValidation {
|
|
66
|
+
allowBlank?: boolean;
|
|
67
|
+
errorMessage?: string;
|
|
68
|
+
errorStyle?: string;
|
|
69
|
+
inputMessage?: string;
|
|
70
|
+
listSource?: string;
|
|
71
|
+
ranges: XlsxCellRange[];
|
|
72
|
+
showDropdown?: boolean;
|
|
73
|
+
showErrorAlert?: boolean;
|
|
74
|
+
showInputMessage?: boolean;
|
|
75
|
+
validationType: string;
|
|
76
|
+
}
|
|
77
|
+
interface XlsxFreezePanes {
|
|
78
|
+
col: number;
|
|
79
|
+
row: number;
|
|
80
|
+
}
|
|
81
|
+
interface XlsxSheetData {
|
|
82
|
+
cachedFormulaValues: Record<string, string>;
|
|
83
|
+
colWidthOverridesPx: Record<number, number>;
|
|
84
|
+
colStyleIds: Record<number, number>;
|
|
85
|
+
hiddenCols?: number[];
|
|
86
|
+
hiddenRows?: number[];
|
|
87
|
+
conditionalFormatRules: XlsxConditionalFormatRule[];
|
|
88
|
+
dataValidations: XlsxDataValidation[];
|
|
89
|
+
name: string;
|
|
90
|
+
columnWidthCharacterWidthPx?: number;
|
|
91
|
+
defaultColWidthPx: number;
|
|
92
|
+
defaultRowHeightPx: number;
|
|
93
|
+
freezePanes: XlsxFreezePanes | null;
|
|
94
|
+
hasHorizontalMerges: boolean;
|
|
95
|
+
hasVerticalMerges: boolean;
|
|
96
|
+
maxHorizontalMergeEndCol: number;
|
|
97
|
+
maxVerticalMergeEndRow: number;
|
|
98
|
+
maxUsedCol: number;
|
|
99
|
+
maxUsedRow: number;
|
|
100
|
+
rowCount: number;
|
|
101
|
+
colCount: number;
|
|
102
|
+
rowHeightOverridesPx: Record<number, number>;
|
|
103
|
+
rowStyleIds: Record<number, number>;
|
|
104
|
+
namedCellStyleByName: Record<string, XlsxResolvedCellStyle>;
|
|
105
|
+
styleById: Record<number, XlsxResolvedCellStyle>;
|
|
106
|
+
tableStyleByName: Record<string, XlsxTableStyleDefinition>;
|
|
107
|
+
visibleRows: number[];
|
|
108
|
+
visibleCols: number[];
|
|
109
|
+
colWidths: number[];
|
|
110
|
+
rowHeights: number[];
|
|
111
|
+
showGridLines: boolean;
|
|
112
|
+
sparklines: XlsxSparkline[];
|
|
113
|
+
themePalette: XlsxThemePalette;
|
|
114
|
+
workbookSheetIndex: number;
|
|
115
|
+
zoomScale?: number;
|
|
116
|
+
}
|
|
117
|
+
interface XlsxCellAddress {
|
|
118
|
+
col: number;
|
|
119
|
+
row: number;
|
|
120
|
+
}
|
|
121
|
+
interface XlsxCellRange {
|
|
122
|
+
end: XlsxCellAddress;
|
|
123
|
+
start: XlsxCellAddress;
|
|
124
|
+
}
|
|
125
|
+
interface XlsxSparkline {
|
|
126
|
+
color?: string;
|
|
127
|
+
firstColor?: string;
|
|
128
|
+
highColor?: string;
|
|
129
|
+
lastColor?: string;
|
|
130
|
+
lowColor?: string;
|
|
131
|
+
markerColor?: string;
|
|
132
|
+
markers?: boolean;
|
|
133
|
+
negative?: boolean;
|
|
134
|
+
negativeColor?: string;
|
|
135
|
+
range: XlsxCellRange;
|
|
136
|
+
sheetName?: string;
|
|
137
|
+
target: XlsxCellAddress;
|
|
138
|
+
type: "column" | "line" | "winLoss";
|
|
139
|
+
}
|
|
140
|
+
interface XlsxClipboardData {
|
|
141
|
+
html: string;
|
|
142
|
+
structured: string;
|
|
143
|
+
text: string;
|
|
144
|
+
}
|
|
145
|
+
interface XlsxTableColumn {
|
|
146
|
+
id: number;
|
|
147
|
+
index: number;
|
|
148
|
+
name: string;
|
|
149
|
+
}
|
|
150
|
+
interface XlsxTableStyleInfo {
|
|
151
|
+
name?: string;
|
|
152
|
+
showColumnStripes?: boolean;
|
|
153
|
+
showFirstColumn?: boolean;
|
|
154
|
+
showLastColumn?: boolean;
|
|
155
|
+
showRowStripes?: boolean;
|
|
156
|
+
}
|
|
157
|
+
interface XlsxTable {
|
|
158
|
+
columns: XlsxTableColumn[];
|
|
159
|
+
displayName: string;
|
|
160
|
+
end: XlsxCellAddress;
|
|
161
|
+
headerRowCount: number;
|
|
162
|
+
headerRowCellStyle?: string;
|
|
163
|
+
name: string;
|
|
164
|
+
reference: string;
|
|
165
|
+
start: XlsxCellAddress;
|
|
166
|
+
styleInfo?: XlsxTableStyleInfo;
|
|
167
|
+
totalsRowCount: number;
|
|
168
|
+
totalsRowShown: boolean;
|
|
169
|
+
}
|
|
170
|
+
type XlsxTableSortDirection = "ascending" | "descending";
|
|
171
|
+
interface XlsxTableSortState {
|
|
172
|
+
columnIndex: number;
|
|
173
|
+
direction: XlsxTableSortDirection;
|
|
174
|
+
tableName: string;
|
|
175
|
+
}
|
|
176
|
+
interface XlsxImageMarker {
|
|
177
|
+
col: number;
|
|
178
|
+
colOffsetEmu: number;
|
|
179
|
+
row: number;
|
|
180
|
+
rowOffsetEmu: number;
|
|
181
|
+
}
|
|
182
|
+
type XlsxImageAnchor = {
|
|
183
|
+
from: XlsxImageMarker;
|
|
184
|
+
kind: "one-cell";
|
|
185
|
+
sizeEmu: {
|
|
186
|
+
cx: number;
|
|
187
|
+
cy: number;
|
|
188
|
+
};
|
|
189
|
+
} | {
|
|
190
|
+
kind: "absolute";
|
|
191
|
+
positionEmu: {
|
|
192
|
+
x: number;
|
|
193
|
+
y: number;
|
|
194
|
+
};
|
|
195
|
+
sizeEmu: {
|
|
196
|
+
cx: number;
|
|
197
|
+
cy: number;
|
|
198
|
+
};
|
|
199
|
+
} | {
|
|
200
|
+
from: XlsxImageMarker;
|
|
201
|
+
kind: "two-cell";
|
|
202
|
+
to: XlsxImageMarker;
|
|
203
|
+
};
|
|
204
|
+
interface XlsxImage {
|
|
205
|
+
anchor: XlsxImageAnchor;
|
|
206
|
+
description?: string;
|
|
207
|
+
editable?: boolean;
|
|
208
|
+
hyperlink?: string;
|
|
209
|
+
id: string;
|
|
210
|
+
mediaPath?: string;
|
|
211
|
+
mimeType: string;
|
|
212
|
+
name?: string;
|
|
213
|
+
sheetIndex: number;
|
|
214
|
+
src: string;
|
|
215
|
+
workbookSheetIndex: number;
|
|
216
|
+
zIndex: number;
|
|
217
|
+
}
|
|
218
|
+
interface XlsxShapeFill {
|
|
219
|
+
color?: string;
|
|
220
|
+
none?: boolean;
|
|
221
|
+
opacity?: number;
|
|
222
|
+
}
|
|
223
|
+
interface XlsxShapeStroke {
|
|
224
|
+
color?: string;
|
|
225
|
+
dash?: string;
|
|
226
|
+
headEndType?: string;
|
|
227
|
+
none?: boolean;
|
|
228
|
+
opacity?: number;
|
|
229
|
+
tailEndType?: string;
|
|
230
|
+
widthPx?: number;
|
|
231
|
+
}
|
|
232
|
+
interface XlsxShapeTextRun {
|
|
233
|
+
bold?: boolean;
|
|
234
|
+
color?: string;
|
|
235
|
+
fontFamily?: string;
|
|
236
|
+
fontSizePt?: number;
|
|
237
|
+
italic?: boolean;
|
|
238
|
+
text: string;
|
|
239
|
+
underline?: boolean;
|
|
240
|
+
}
|
|
241
|
+
interface XlsxShapeParagraph {
|
|
242
|
+
align?: "center" | "justify" | "left" | "right";
|
|
243
|
+
runs: XlsxShapeTextRun[];
|
|
244
|
+
}
|
|
245
|
+
interface XlsxShapeTextBox {
|
|
246
|
+
horizontalAlign?: "center" | "left";
|
|
247
|
+
insetPx?: {
|
|
248
|
+
bottom: number;
|
|
249
|
+
left: number;
|
|
250
|
+
right: number;
|
|
251
|
+
top: number;
|
|
252
|
+
};
|
|
253
|
+
verticalAlign?: "bottom" | "middle" | "top";
|
|
254
|
+
}
|
|
255
|
+
interface XlsxShape {
|
|
256
|
+
anchor: XlsxImageAnchor;
|
|
257
|
+
description?: string;
|
|
258
|
+
fill?: XlsxShapeFill;
|
|
259
|
+
flipH?: boolean;
|
|
260
|
+
flipV?: boolean;
|
|
261
|
+
geometry: string;
|
|
262
|
+
geometryAdjustments?: Record<string, number>;
|
|
263
|
+
hyperlink?: string;
|
|
264
|
+
id: string;
|
|
265
|
+
name?: string;
|
|
266
|
+
paragraphs: XlsxShapeParagraph[];
|
|
267
|
+
rotationDeg?: number;
|
|
268
|
+
scaleX?: number;
|
|
269
|
+
scaleY?: number;
|
|
270
|
+
sheetIndex: number;
|
|
271
|
+
svgPath?: string;
|
|
272
|
+
svgViewBox?: {
|
|
273
|
+
height: number;
|
|
274
|
+
width: number;
|
|
275
|
+
};
|
|
276
|
+
stroke?: XlsxShapeStroke;
|
|
277
|
+
textBox?: XlsxShapeTextBox;
|
|
278
|
+
workbookSheetIndex: number;
|
|
279
|
+
zIndex: number;
|
|
280
|
+
}
|
|
281
|
+
interface XlsxChartReference {
|
|
282
|
+
formula?: string;
|
|
283
|
+
refType?: string;
|
|
284
|
+
values?: Array<number | string | null>;
|
|
285
|
+
}
|
|
286
|
+
interface XlsxChartDataLabels {
|
|
287
|
+
pointLabels?: XlsxChartPointDataLabel[];
|
|
288
|
+
raw?: Record<string, unknown>;
|
|
289
|
+
showBubbleSize?: boolean;
|
|
290
|
+
showCategoryName?: boolean;
|
|
291
|
+
showLegendKey?: boolean;
|
|
292
|
+
showPercent?: boolean;
|
|
293
|
+
showSeriesName?: boolean;
|
|
294
|
+
showValue?: boolean;
|
|
295
|
+
}
|
|
296
|
+
interface XlsxChartPointDataLabel {
|
|
297
|
+
deleted?: boolean;
|
|
298
|
+
fontSizePt?: number;
|
|
299
|
+
index: number;
|
|
300
|
+
showBubbleSize?: boolean;
|
|
301
|
+
showCategoryName?: boolean;
|
|
302
|
+
showPercent?: boolean;
|
|
303
|
+
showSeriesName?: boolean;
|
|
304
|
+
showValue?: boolean;
|
|
305
|
+
x?: number;
|
|
306
|
+
y?: number;
|
|
307
|
+
}
|
|
308
|
+
interface XlsxChartLegend {
|
|
309
|
+
overlay?: boolean;
|
|
310
|
+
position?: string;
|
|
311
|
+
raw?: Record<string, unknown>;
|
|
312
|
+
}
|
|
313
|
+
interface XlsxChartAxis {
|
|
314
|
+
crossId?: number;
|
|
315
|
+
crosses?: string;
|
|
316
|
+
crossBetween?: string;
|
|
317
|
+
delete?: boolean;
|
|
318
|
+
id?: number;
|
|
319
|
+
labelPosition?: string;
|
|
320
|
+
logBase?: number;
|
|
321
|
+
orientation?: string;
|
|
322
|
+
majorUnit?: number;
|
|
323
|
+
max?: number;
|
|
324
|
+
min?: number;
|
|
325
|
+
majorGridlines?: boolean;
|
|
326
|
+
majorTickMark?: string;
|
|
327
|
+
minorUnit?: number;
|
|
328
|
+
minorGridlines?: boolean;
|
|
329
|
+
minorTickMark?: string;
|
|
330
|
+
numberFormat?: {
|
|
331
|
+
formatCode?: string;
|
|
332
|
+
sourceLinked?: boolean;
|
|
333
|
+
};
|
|
334
|
+
position?: string;
|
|
335
|
+
raw?: Record<string, unknown>;
|
|
336
|
+
shapeProperties?: Record<string, unknown>;
|
|
337
|
+
tickLabelSkip?: number;
|
|
338
|
+
tickMarkSkip?: number;
|
|
339
|
+
}
|
|
340
|
+
interface XlsxChartPointStyle {
|
|
341
|
+
color?: string;
|
|
342
|
+
explosion?: number;
|
|
343
|
+
index: number;
|
|
344
|
+
lineColor?: string;
|
|
345
|
+
}
|
|
346
|
+
interface XlsxChartSeries {
|
|
347
|
+
bubbleSizeRef?: XlsxChartReference | null;
|
|
348
|
+
bubbleSizes?: Array<number | null>;
|
|
349
|
+
categories: Array<number | string | null>;
|
|
350
|
+
categoriesRef?: XlsxChartReference | null;
|
|
351
|
+
color?: string;
|
|
352
|
+
dataPoints: unknown[];
|
|
353
|
+
dataPointStyles?: XlsxChartPointStyle[];
|
|
354
|
+
formatIdx?: number;
|
|
355
|
+
hidden?: boolean;
|
|
356
|
+
id: string;
|
|
357
|
+
invertIfNegative?: boolean;
|
|
358
|
+
lineColor?: string;
|
|
359
|
+
lineWidthPx?: number;
|
|
360
|
+
marker?: Record<string, unknown>;
|
|
361
|
+
markerColor?: string;
|
|
362
|
+
markerLineColor?: string;
|
|
363
|
+
markerSize?: number;
|
|
364
|
+
markerSymbol?: string;
|
|
365
|
+
name?: string;
|
|
366
|
+
negativeColor?: string;
|
|
367
|
+
negativeLineColor?: string;
|
|
368
|
+
raw?: Record<string, unknown>;
|
|
369
|
+
shapeProperties?: Record<string, unknown>;
|
|
370
|
+
smooth?: boolean;
|
|
371
|
+
values: Array<number | null>;
|
|
372
|
+
valuesRef?: XlsxChartReference | null;
|
|
373
|
+
}
|
|
374
|
+
interface XlsxChartTypeGroup {
|
|
375
|
+
axisIds?: number[];
|
|
376
|
+
chartType: string;
|
|
377
|
+
dataLabels?: XlsxChartDataLabels | null;
|
|
378
|
+
gapWidth?: number;
|
|
379
|
+
is3d?: boolean;
|
|
380
|
+
overlap?: number;
|
|
381
|
+
raw?: Record<string, unknown>;
|
|
382
|
+
series: XlsxChartSeries[];
|
|
383
|
+
varyColors?: boolean;
|
|
384
|
+
}
|
|
385
|
+
interface XlsxChartWall {
|
|
386
|
+
fillColor?: string;
|
|
387
|
+
hidden?: boolean;
|
|
388
|
+
lineColor?: string;
|
|
389
|
+
thickness?: number;
|
|
390
|
+
}
|
|
391
|
+
interface XlsxChart {
|
|
392
|
+
anchor: XlsxImageAnchor;
|
|
393
|
+
autoTitleDeleted?: boolean;
|
|
394
|
+
axes: XlsxChartAxis[];
|
|
395
|
+
axisLabelColor?: string;
|
|
396
|
+
axisLineColor?: string;
|
|
397
|
+
categoryAxis?: XlsxChartAxis | null;
|
|
398
|
+
chartExLayout?: string;
|
|
399
|
+
chartAreaBorderColor?: string;
|
|
400
|
+
chartAreaFillColor?: string;
|
|
401
|
+
chartColorPalette?: string[];
|
|
402
|
+
chartColorPaletteOffset?: number;
|
|
403
|
+
chartPath?: string;
|
|
404
|
+
chartStyleId?: number;
|
|
405
|
+
chartType: string;
|
|
406
|
+
dataLabels?: XlsxChartDataLabels | null;
|
|
407
|
+
displayBlanksAs?: string;
|
|
408
|
+
editable?: boolean;
|
|
409
|
+
firstSliceAngle?: number;
|
|
410
|
+
fontFamily?: string;
|
|
411
|
+
gapWidth?: number;
|
|
412
|
+
holeSize?: number;
|
|
413
|
+
id: string;
|
|
414
|
+
is3d?: boolean;
|
|
415
|
+
legend?: XlsxChartLegend | null;
|
|
416
|
+
name?: string;
|
|
417
|
+
overlap?: number;
|
|
418
|
+
plotVisibleOnly?: boolean;
|
|
419
|
+
raw?: Record<string, unknown>;
|
|
420
|
+
radarStyle?: string;
|
|
421
|
+
scatterStyle?: string;
|
|
422
|
+
roundedCorners?: boolean;
|
|
423
|
+
shape3d?: string;
|
|
424
|
+
seriesAxis?: XlsxChartAxis | null;
|
|
425
|
+
series: XlsxChartSeries[];
|
|
426
|
+
sheetIndex: number;
|
|
427
|
+
showDlblsOverMax?: boolean;
|
|
428
|
+
sideWall?: XlsxChartWall | null;
|
|
429
|
+
backWall?: XlsxChartWall | null;
|
|
430
|
+
bubbleScale?: number;
|
|
431
|
+
bubble3d?: boolean;
|
|
432
|
+
floor?: XlsxChartWall | null;
|
|
433
|
+
surfaceMaterial?: string;
|
|
434
|
+
textColor?: string;
|
|
435
|
+
title?: string;
|
|
436
|
+
titleColor?: string;
|
|
437
|
+
titleFontFamily?: string;
|
|
438
|
+
typeGroups?: XlsxChartTypeGroup[];
|
|
439
|
+
valueAxis?: XlsxChartAxis | null;
|
|
440
|
+
varyColors?: boolean;
|
|
441
|
+
view3d?: {
|
|
442
|
+
depthPercent?: number;
|
|
443
|
+
perspective?: number;
|
|
444
|
+
rAngAx?: boolean;
|
|
445
|
+
rotX?: number;
|
|
446
|
+
rotY?: number;
|
|
447
|
+
};
|
|
448
|
+
wireframe?: boolean;
|
|
449
|
+
workbookSheetIndex: number;
|
|
450
|
+
zIndex: number;
|
|
451
|
+
}
|
|
452
|
+
interface XlsxChartsheet {
|
|
453
|
+
chartIds: string[];
|
|
454
|
+
chartPath?: string;
|
|
455
|
+
id: string;
|
|
456
|
+
index: number;
|
|
457
|
+
name: string;
|
|
458
|
+
raw?: Record<string, unknown>;
|
|
459
|
+
workbookSheetIndex?: number;
|
|
460
|
+
}
|
|
461
|
+
interface XlsxWorkbookTab {
|
|
462
|
+
chartsheetIndex?: number;
|
|
463
|
+
id: string;
|
|
464
|
+
index: number;
|
|
465
|
+
kind: "chartsheet" | "sheet";
|
|
466
|
+
name: string;
|
|
467
|
+
sheetIndex?: number;
|
|
468
|
+
workbookSheetIndex?: number;
|
|
469
|
+
}
|
|
470
|
+
interface XlsxImageRect {
|
|
471
|
+
height: number;
|
|
472
|
+
left: number;
|
|
473
|
+
top: number;
|
|
474
|
+
width: number;
|
|
475
|
+
}
|
|
476
|
+
type XlsxImageResizeHandlePosition = "n" | "s" | "e" | "w" | "ne" | "nw" | "se" | "sw";
|
|
477
|
+
interface XlsxImageRenderProps {
|
|
478
|
+
defaultNode: React.ReactNode;
|
|
479
|
+
image: XlsxImage;
|
|
480
|
+
rect: XlsxImageRect;
|
|
481
|
+
style: React.CSSProperties;
|
|
482
|
+
}
|
|
483
|
+
interface XlsxImageSelectionRenderProps {
|
|
484
|
+
defaultNode: React.ReactNode;
|
|
485
|
+
getHandleProps: (position: XlsxImageResizeHandlePosition) => {
|
|
486
|
+
onPointerDown: (event: React.PointerEvent<HTMLElement>) => void;
|
|
487
|
+
style: React.CSSProperties;
|
|
488
|
+
};
|
|
489
|
+
image: XlsxImage;
|
|
490
|
+
rect: XlsxImageRect;
|
|
491
|
+
}
|
|
492
|
+
interface XlsxChartLoadingRenderProps {
|
|
493
|
+
chart: XlsxChart;
|
|
494
|
+
defaultNode: React.ReactNode;
|
|
495
|
+
rect: XlsxImageRect;
|
|
496
|
+
}
|
|
497
|
+
interface XlsxFileTooLargeRenderProps {
|
|
498
|
+
defaultNode: React.ReactNode;
|
|
499
|
+
displayFileName: string;
|
|
500
|
+
fileSizeBytes: number;
|
|
501
|
+
maxFileSizeBytes: number;
|
|
502
|
+
}
|
|
503
|
+
interface UseXlsxViewerControllerOptions {
|
|
504
|
+
deferLoadingAboveBytes?: number;
|
|
505
|
+
file?: ArrayBuffer;
|
|
506
|
+
fileName?: string;
|
|
507
|
+
maxFileSizeBytes?: number;
|
|
508
|
+
readOnly?: boolean;
|
|
509
|
+
readOnlyAboveBytes?: number;
|
|
510
|
+
src?: string;
|
|
511
|
+
useWorker?: boolean;
|
|
512
|
+
}
|
|
513
|
+
interface XlsxViewerController {
|
|
514
|
+
activeCell: XlsxCellAddress | null;
|
|
515
|
+
activeCellAddress: string | null;
|
|
516
|
+
activeSheet: XlsxSheetData | null;
|
|
517
|
+
activeSheetIndex: number;
|
|
518
|
+
activeTab: XlsxWorkbookTab | null;
|
|
519
|
+
activeTabIndex: number;
|
|
520
|
+
canDownload: boolean;
|
|
521
|
+
canExport: boolean;
|
|
522
|
+
canLoadDeferred: boolean;
|
|
523
|
+
canRedo: boolean;
|
|
524
|
+
canUndo: boolean;
|
|
525
|
+
canZoomIn: boolean;
|
|
526
|
+
canZoomOut: boolean;
|
|
527
|
+
clearSelectedCells: () => void;
|
|
528
|
+
clearSelection: () => void;
|
|
529
|
+
continueDeferredLoad: () => void;
|
|
530
|
+
copySelectionToClipboard: () => Promise<boolean>;
|
|
531
|
+
defaultZoomScale: number;
|
|
532
|
+
deferredLoadFileSize: number | null;
|
|
533
|
+
defineNamedRange: (name: string, range?: XlsxCellRange | null) => void;
|
|
534
|
+
displayFileName: string;
|
|
535
|
+
download: () => void;
|
|
536
|
+
charts: XlsxChart[];
|
|
537
|
+
chartsheets: XlsxChartsheet[];
|
|
538
|
+
exportCsv: () => void;
|
|
539
|
+
exportXlsx: () => void;
|
|
540
|
+
error: Error | null;
|
|
541
|
+
file?: ArrayBuffer;
|
|
542
|
+
fillSelection: (targetRange: XlsxCellRange) => void;
|
|
543
|
+
clearSelectedChart: () => void;
|
|
544
|
+
clearSelectedImage: () => void;
|
|
545
|
+
getChartById: (id: string) => XlsxChart | null;
|
|
546
|
+
getChartsheetById: (id: string) => XlsxChartsheet | null;
|
|
547
|
+
getSheetCharts: (sheetIndex?: number) => XlsxChart[];
|
|
548
|
+
getImageById: (id: string) => XlsxImage | null;
|
|
549
|
+
getSheetImages: (sheetIndex?: number) => XlsxImage[];
|
|
550
|
+
getSheetShapes: (sheetIndex?: number) => XlsxShape[];
|
|
551
|
+
getClipboardData: () => XlsxClipboardData | null;
|
|
552
|
+
getCellDisplayValue: (cell?: XlsxCellAddress | null) => string;
|
|
553
|
+
getCellFormula: (cell?: XlsxCellAddress | null) => string;
|
|
554
|
+
getCellSnapshotAsync?: (workbookSheetIndex: number, row: number, col: number) => Promise<{
|
|
555
|
+
displayValue: string;
|
|
556
|
+
formula: string;
|
|
557
|
+
}>;
|
|
558
|
+
isLoadDeferred: boolean;
|
|
559
|
+
isLoading: boolean;
|
|
560
|
+
isChartsLoading: boolean;
|
|
561
|
+
isWorkerBacked?: boolean;
|
|
562
|
+
images: XlsxImage[];
|
|
563
|
+
moveChartBy: (id: string, deltaX: number, deltaY: number) => void;
|
|
564
|
+
shapes: XlsxShape[];
|
|
565
|
+
mergeSelection: () => void;
|
|
566
|
+
maxZoomScale: number;
|
|
567
|
+
minZoomScale: number;
|
|
568
|
+
moveImageBy: (id: string, deltaX: number, deltaY: number) => void;
|
|
569
|
+
removeActiveSheet: () => void;
|
|
570
|
+
readOnly: boolean;
|
|
571
|
+
recalculate: () => void;
|
|
572
|
+
revision: number;
|
|
573
|
+
resetZoom: () => void;
|
|
574
|
+
resizeChartBy: (id: string, handle: XlsxImageResizeHandlePosition, deltaX: number, deltaY: number) => void;
|
|
575
|
+
resizeImageBy: (id: string, handle: XlsxImageResizeHandlePosition, deltaX: number, deltaY: number) => void;
|
|
576
|
+
resizeColumn: (col: number, widthPx: number) => void;
|
|
577
|
+
resizeRow: (row: number, heightPx: number) => void;
|
|
578
|
+
redo: () => void;
|
|
579
|
+
pasteFromClipboard: () => Promise<boolean>;
|
|
580
|
+
pasteStructuredClipboardData: (payload: string) => boolean;
|
|
581
|
+
pasteText: (text: string) => boolean;
|
|
582
|
+
selectedRangeAddress: string | null;
|
|
583
|
+
selectedValue: string;
|
|
584
|
+
selectedFormula: string;
|
|
585
|
+
setCellFormula: (cell: XlsxCellAddress, formula: string) => void;
|
|
586
|
+
setCellValue: (cell: XlsxCellAddress, value: string) => void;
|
|
587
|
+
setZoomScale: (zoomScale: number) => void;
|
|
588
|
+
selectCell: (cell: XlsxCellAddress, options?: {
|
|
589
|
+
extend?: boolean;
|
|
590
|
+
}) => void;
|
|
591
|
+
selectChart: (id: string | null) => void;
|
|
592
|
+
selectRange: (range: XlsxCellRange) => void;
|
|
593
|
+
selection: XlsxCellRange | null;
|
|
594
|
+
setActiveSheetIndex: (index: number) => void;
|
|
595
|
+
setActiveTabIndex: (index: number) => void;
|
|
596
|
+
selectedChart: XlsxChart | null;
|
|
597
|
+
selectedChartId: string | null;
|
|
598
|
+
selectedImage: XlsxImage | null;
|
|
599
|
+
selectedImageId: string | null;
|
|
600
|
+
setSelectedCellFormula: (formula: string) => void;
|
|
601
|
+
setSelectedCellValue: (value: string) => void;
|
|
602
|
+
sheets: XlsxSheetData[];
|
|
603
|
+
src?: string;
|
|
604
|
+
sortState: XlsxTableSortState | null;
|
|
605
|
+
sortTable: (tableName: string, columnIndex: number, direction: XlsxTableSortDirection) => void;
|
|
606
|
+
selectImage: (id: string | null) => void;
|
|
607
|
+
setChartRect: (id: string, rect: XlsxImageRect) => void;
|
|
608
|
+
setImageRect: (id: string, rect: XlsxImageRect) => void;
|
|
609
|
+
getRowsBatchAsync?: (workbookSheetIndex: number, startRow: number, rowCount: number) => Promise<unknown[] | null>;
|
|
610
|
+
tables: XlsxTable[];
|
|
611
|
+
tabs: XlsxWorkbookTab[];
|
|
612
|
+
undo: () => void;
|
|
613
|
+
unmergeSelection: () => void;
|
|
614
|
+
updateChart: (id: string, patch: Partial<XlsxChart>) => void;
|
|
615
|
+
workbook: Workbook | null;
|
|
616
|
+
zoomIn: () => void;
|
|
617
|
+
zoomOut: () => void;
|
|
618
|
+
zoomScale: number;
|
|
619
|
+
getActiveWorksheet: () => Worksheet | null;
|
|
620
|
+
addSheet: (name?: string) => void;
|
|
621
|
+
}
|
|
622
|
+
interface XlsxViewerSelection {
|
|
623
|
+
activeCell: XlsxCellAddress | null;
|
|
624
|
+
activeCellAddress: string | null;
|
|
625
|
+
clearSelection: () => void;
|
|
626
|
+
selectedRangeAddress: string | null;
|
|
627
|
+
selectCell: (cell: XlsxCellAddress, options?: {
|
|
628
|
+
extend?: boolean;
|
|
629
|
+
}) => void;
|
|
630
|
+
selectRange: (range: XlsxCellRange) => void;
|
|
631
|
+
selection: XlsxCellRange | null;
|
|
632
|
+
}
|
|
633
|
+
interface XlsxViewerZoom {
|
|
634
|
+
canZoomIn: boolean;
|
|
635
|
+
canZoomOut: boolean;
|
|
636
|
+
defaultZoomScale: number;
|
|
637
|
+
maxZoomScale: number;
|
|
638
|
+
minZoomScale: number;
|
|
639
|
+
resetZoom: () => void;
|
|
640
|
+
setZoomScale: (zoomScale: number) => void;
|
|
641
|
+
zoomIn: () => void;
|
|
642
|
+
zoomOut: () => void;
|
|
643
|
+
zoomScale: number;
|
|
644
|
+
}
|
|
645
|
+
interface XlsxViewerEditing {
|
|
646
|
+
addSheet: (name?: string) => void;
|
|
647
|
+
canRedo: boolean;
|
|
648
|
+
canUndo: boolean;
|
|
649
|
+
clearSelectedCells: () => void;
|
|
650
|
+
copySelectionToClipboard: () => Promise<boolean>;
|
|
651
|
+
defineNamedRange: (name: string, range?: XlsxCellRange | null) => void;
|
|
652
|
+
fillSelection: (targetRange: XlsxCellRange) => void;
|
|
653
|
+
getClipboardData: () => XlsxClipboardData | null;
|
|
654
|
+
getCellDisplayValue: (cell?: XlsxCellAddress | null) => string;
|
|
655
|
+
getCellFormula: (cell?: XlsxCellAddress | null) => string;
|
|
656
|
+
mergeSelection: () => void;
|
|
657
|
+
pasteFromClipboard: () => Promise<boolean>;
|
|
658
|
+
pasteStructuredClipboardData: (payload: string) => boolean;
|
|
659
|
+
pasteText: (text: string) => boolean;
|
|
660
|
+
removeActiveSheet: () => void;
|
|
661
|
+
readOnly: boolean;
|
|
662
|
+
redo: () => void;
|
|
663
|
+
selectedFormula: string;
|
|
664
|
+
selectedValue: string;
|
|
665
|
+
setCellFormula: (cell: XlsxCellAddress, formula: string) => void;
|
|
666
|
+
setCellValue: (cell: XlsxCellAddress, value: string) => void;
|
|
667
|
+
setSelectedCellFormula: (formula: string) => void;
|
|
668
|
+
setSelectedCellValue: (value: string) => void;
|
|
669
|
+
undo: () => void;
|
|
670
|
+
unmergeSelection: () => void;
|
|
671
|
+
}
|
|
672
|
+
interface XlsxViewerTables {
|
|
673
|
+
sortState: XlsxTableSortState | null;
|
|
674
|
+
sortTable: (tableName: string, columnIndex: number, direction: XlsxTableSortDirection) => void;
|
|
675
|
+
tables: XlsxTable[];
|
|
676
|
+
}
|
|
677
|
+
interface XlsxViewerImages {
|
|
678
|
+
charts: XlsxChart[];
|
|
679
|
+
clearSelectedChart: () => void;
|
|
680
|
+
clearSelectedImage: () => void;
|
|
681
|
+
getChartById: (id: string) => XlsxChart | null;
|
|
682
|
+
getSheetCharts: (sheetIndex?: number) => XlsxChart[];
|
|
683
|
+
getImageById: (id: string) => XlsxImage | null;
|
|
684
|
+
getSheetImages: (sheetIndex?: number) => XlsxImage[];
|
|
685
|
+
images: XlsxImage[];
|
|
686
|
+
moveChartBy: (id: string, deltaX: number, deltaY: number) => void;
|
|
687
|
+
moveImageBy: (id: string, deltaX: number, deltaY: number) => void;
|
|
688
|
+
isChartsLoading: boolean;
|
|
689
|
+
readOnly: boolean;
|
|
690
|
+
resizeChartBy: (id: string, handle: XlsxImageResizeHandlePosition, deltaX: number, deltaY: number) => void;
|
|
691
|
+
resizeImageBy: (id: string, handle: XlsxImageResizeHandlePosition, deltaX: number, deltaY: number) => void;
|
|
692
|
+
selectedChart: XlsxChart | null;
|
|
693
|
+
selectedChartId: string | null;
|
|
694
|
+
selectedImage: XlsxImage | null;
|
|
695
|
+
selectedImageId: string | null;
|
|
696
|
+
selectChart: (id: string | null) => void;
|
|
697
|
+
selectImage: (id: string | null) => void;
|
|
698
|
+
setChartRect: (id: string, rect: XlsxImageRect) => void;
|
|
699
|
+
setImageRect: (id: string, rect: XlsxImageRect) => void;
|
|
700
|
+
updateChart: (id: string, patch: Partial<XlsxChart>) => void;
|
|
701
|
+
}
|
|
702
|
+
interface XlsxViewerCharts {
|
|
703
|
+
activeTab: XlsxWorkbookTab | null;
|
|
704
|
+
activeTabIndex: number;
|
|
705
|
+
charts: XlsxChart[];
|
|
706
|
+
chartsheets: XlsxChartsheet[];
|
|
707
|
+
clearSelectedChart: () => void;
|
|
708
|
+
getChartById: (id: string) => XlsxChart | null;
|
|
709
|
+
getChartsheetById: (id: string) => XlsxChartsheet | null;
|
|
710
|
+
getSheetCharts: (sheetIndex?: number) => XlsxChart[];
|
|
711
|
+
isChartsLoading: boolean;
|
|
712
|
+
moveChartBy: (id: string, deltaX: number, deltaY: number) => void;
|
|
713
|
+
readOnly: boolean;
|
|
714
|
+
resizeChartBy: (id: string, handle: XlsxImageResizeHandlePosition, deltaX: number, deltaY: number) => void;
|
|
715
|
+
selectChart: (id: string | null) => void;
|
|
716
|
+
selectedChart: XlsxChart | null;
|
|
717
|
+
selectedChartId: string | null;
|
|
718
|
+
setActiveTabIndex: (index: number) => void;
|
|
719
|
+
setChartRect: (id: string, rect: XlsxImageRect) => void;
|
|
720
|
+
tabs: XlsxWorkbookTab[];
|
|
721
|
+
updateChart: (id: string, patch: Partial<XlsxChart>) => void;
|
|
722
|
+
}
|
|
723
|
+
interface XlsxTableHeaderMenuRenderProps {
|
|
724
|
+
close: () => void;
|
|
725
|
+
column: XlsxTableColumn;
|
|
726
|
+
direction: XlsxTableSortDirection | null;
|
|
727
|
+
sortAscending: () => void;
|
|
728
|
+
sortDescending: () => void;
|
|
729
|
+
table: XlsxTable;
|
|
730
|
+
}
|
|
731
|
+
interface XlsxViewerProviderProps extends UseXlsxViewerControllerOptions {
|
|
732
|
+
children: React.ReactNode;
|
|
733
|
+
controller?: XlsxViewerController;
|
|
734
|
+
}
|
|
735
|
+
interface XlsxViewerProps extends UseXlsxViewerControllerOptions {
|
|
736
|
+
className?: string;
|
|
737
|
+
controller?: XlsxViewerController;
|
|
738
|
+
emptyState?: React.ReactNode;
|
|
739
|
+
errorState?: React.ReactNode | ((error: Error) => React.ReactNode);
|
|
740
|
+
fileTooLargeState?: React.ReactNode | ((props: XlsxFileTooLargeRenderProps) => React.ReactNode);
|
|
741
|
+
height?: React.CSSProperties["height"];
|
|
742
|
+
loadingComponent?: React.ReactElement;
|
|
743
|
+
loadingState?: React.ReactNode;
|
|
744
|
+
renderChartLoading?: (props: XlsxChartLoadingRenderProps) => React.ReactNode;
|
|
745
|
+
renderImage?: (props: XlsxImageRenderProps) => React.ReactNode;
|
|
746
|
+
renderImageSelection?: (props: XlsxImageSelectionRenderProps) => React.ReactNode;
|
|
747
|
+
rounded?: boolean;
|
|
748
|
+
readOnly?: boolean;
|
|
749
|
+
selectionColor?: string;
|
|
750
|
+
selectionFillColor?: string;
|
|
751
|
+
selectionHeaderColor?: string;
|
|
752
|
+
renderTableHeaderMenu?: (props: XlsxTableHeaderMenuRenderProps) => React.ReactNode;
|
|
753
|
+
showImages?: boolean;
|
|
754
|
+
showDefaultToolbar?: boolean;
|
|
755
|
+
toolbar?: React.ReactNode | ((controller: XlsxViewerController) => React.ReactNode);
|
|
756
|
+
}
|
|
757
|
+
|
|
758
|
+
declare class XlsxFileSizeLimitExceededError extends Error {
|
|
759
|
+
fileSizeBytes: number;
|
|
760
|
+
maxFileSizeBytes: number;
|
|
761
|
+
constructor(fileSizeBytes: number, maxFileSizeBytes: number);
|
|
762
|
+
}
|
|
763
|
+
declare function useXlsxViewerController(options: UseXlsxViewerControllerOptions): XlsxViewerController;
|
|
764
|
+
|
|
765
|
+
declare function XlsxViewerProvider({ children, controller, ...options }: XlsxViewerProviderProps): react_jsx_runtime.JSX.Element;
|
|
766
|
+
declare function useXlsxViewer(): XlsxViewerController;
|
|
767
|
+
declare function useXlsxViewerSelection(): XlsxViewerSelection;
|
|
768
|
+
declare function useXlsxViewerZoom(): XlsxViewerZoom;
|
|
769
|
+
declare function useXlsxViewerEditing(): XlsxViewerEditing;
|
|
770
|
+
declare function useXlsxViewerTables(): XlsxViewerTables;
|
|
771
|
+
declare function useXlsxViewerImages(): XlsxViewerImages;
|
|
772
|
+
declare function useXlsxViewerCharts(): XlsxViewerCharts;
|
|
773
|
+
declare function XlsxViewer(props: XlsxViewerProps): react_jsx_runtime.JSX.Element;
|
|
774
|
+
declare function DefaultXlsxToolbar(): react_jsx_runtime.JSX.Element;
|
|
775
|
+
|
|
776
|
+
export { DefaultXlsxToolbar, type UseXlsxViewerControllerOptions, type XlsxCellAddress, type XlsxCellRange, type XlsxChart, type XlsxChartAxis, type XlsxChartDataLabels, type XlsxChartLoadingRenderProps, type XlsxChartReference, type XlsxChartSeries, type XlsxChartsheet, XlsxFileSizeLimitExceededError, type XlsxFileTooLargeRenderProps, type XlsxImage, type XlsxImageAnchor, type XlsxImageRect, type XlsxImageRenderProps, type XlsxImageResizeHandlePosition, type XlsxImageSelectionRenderProps, type XlsxShape, type XlsxShapeFill, type XlsxShapeParagraph, type XlsxShapeStroke, type XlsxShapeTextBox, type XlsxShapeTextRun, type XlsxSheetData, type XlsxTable, type XlsxTableColumn, type XlsxTableHeaderMenuRenderProps, type XlsxTableSortDirection, type XlsxTableSortState, type XlsxThemePalette, XlsxViewer, type XlsxViewerCharts, type XlsxViewerController, type XlsxViewerEditing, type XlsxViewerImages, type XlsxViewerProps, XlsxViewerProvider, type XlsxViewerProviderProps, type XlsxViewerSelection, type XlsxViewerTables, type XlsxViewerZoom, type XlsxWorkbookTab, useXlsxViewer, useXlsxViewerCharts, useXlsxViewerController, useXlsxViewerEditing, useXlsxViewerImages, useXlsxViewerSelection, useXlsxViewerTables, useXlsxViewerZoom };
|