@rowsncolumns/spreadsheet 10.5.17 → 10.6.4
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/api/cf-data-bar.d.ts +73 -0
- package/dist/cjs/api/cf-data-bar.d.ts.map +1 -0
- package/dist/cjs/api/cf-data-bar.js +182 -0
- package/dist/cjs/api/cf-icons.d.ts +73 -0
- package/dist/cjs/api/cf-icons.d.ts.map +1 -0
- package/dist/cjs/api/cf-icons.js +322 -0
- package/dist/cjs/api/cf-overlays.d.ts +89 -3
- package/dist/cjs/api/cf-overlays.d.ts.map +1 -1
- package/dist/cjs/api/cf-overlays.js +256 -80
- package/dist/cjs/api/cf-priority.d.ts +34 -0
- package/dist/cjs/api/cf-priority.d.ts.map +1 -0
- package/dist/cjs/api/cf-priority.js +94 -0
- package/dist/cjs/api/heatmap.d.ts +7 -1
- package/dist/cjs/api/heatmap.d.ts.map +1 -1
- package/dist/cjs/api/heatmap.js +27 -11
- package/dist/cjs/api/selections.d.ts +2 -2
- package/dist/cjs/api/validation.d.ts +6 -0
- package/dist/cjs/api/validation.d.ts.map +1 -1
- package/dist/cjs/api/validation.js +10 -1
- package/dist/cjs/atoms/goal-seek-dialog.atom.d.ts +8 -3
- package/dist/cjs/atoms/goal-seek-dialog.atom.d.ts.map +1 -1
- package/dist/cjs/atoms/index.d.ts +4 -0
- package/dist/cjs/atoms/index.d.ts.map +1 -1
- package/dist/cjs/atoms/index.js +4 -0
- package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/cjs/components/canvas-grid/index.js +194 -51
- package/dist/cjs/components/canvas-grid/overflow.d.ts +37 -0
- package/dist/cjs/components/canvas-grid/overflow.d.ts.map +1 -0
- package/dist/cjs/components/canvas-grid/overflow.js +49 -0
- package/dist/cjs/components/canvas-grid/page-breaks.d.ts +15 -0
- package/dist/cjs/components/canvas-grid/page-breaks.d.ts.map +1 -0
- package/dist/cjs/components/canvas-grid/page-breaks.js +77 -0
- package/dist/cjs/components/canvas-grid/typings.d.ts +32 -3
- package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/cjs/components/cell/alignment.d.ts +58 -1
- package/dist/cjs/components/cell/alignment.d.ts.map +1 -1
- package/dist/cjs/components/cell/alignment.js +144 -1
- package/dist/cjs/components/cell/cell-background.d.ts +2 -0
- package/dist/cjs/components/cell/cell-background.d.ts.map +1 -1
- package/dist/cjs/components/cell/cell-background.js +5 -6
- package/dist/cjs/components/cell/cell-backgrounds.d.ts.map +1 -1
- package/dist/cjs/components/cell/cell-backgrounds.js +5 -1
- package/dist/cjs/components/cell/cell-text-runs.js +1 -1
- package/dist/cjs/components/cell/index.d.ts.map +1 -1
- package/dist/cjs/components/cell/index.js +378 -37
- package/dist/cjs/components/cell/number-format-layout.d.ts +35 -0
- package/dist/cjs/components/cell/number-format-layout.d.ts.map +1 -0
- package/dist/cjs/components/cell/number-format-layout.js +106 -0
- package/dist/cjs/components/cell/typings.d.ts +22 -0
- package/dist/cjs/components/cell/typings.d.ts.map +1 -1
- package/dist/cjs/components/cell-editor/index.js +2 -2
- package/dist/cjs/components/cell-filter/index.d.ts.map +1 -1
- package/dist/cjs/components/cell-filter/index.js +3 -3
- package/dist/cjs/components/cell-overlay/index.d.ts +20 -0
- package/dist/cjs/components/cell-overlay/index.d.ts.map +1 -1
- package/dist/cjs/components/cell-overlay/index.js +155 -28
- package/dist/cjs/components/cf-icon-preview/index.d.ts +16 -0
- package/dist/cjs/components/cf-icon-preview/index.d.ts.map +1 -0
- package/dist/cjs/components/cf-icon-preview/index.js +48 -0
- package/dist/cjs/components/context-menu/index.d.ts.map +1 -1
- package/dist/cjs/components/context-menu/index.js +11 -3
- package/dist/cjs/components/embeds/embed-component.d.ts.map +1 -1
- package/dist/cjs/components/embeds/embed-component.js +3 -2
- package/dist/cjs/components/goal-seek-dialog/index.d.ts +15 -5
- package/dist/cjs/components/goal-seek-dialog/index.d.ts.map +1 -1
- package/dist/cjs/components/goal-seek-dialog/index.js +145 -42
- package/dist/cjs/components/hidden-markers/index.d.ts.map +1 -1
- package/dist/cjs/components/hidden-markers/index.js +8 -7
- package/dist/cjs/components/hidden-markers/style.d.ts +7 -0
- package/dist/cjs/components/hidden-markers/style.d.ts.map +1 -1
- package/dist/cjs/components/hidden-markers/style.js +13 -2
- package/dist/cjs/components/protect-sheet-dialog/index.d.ts +67 -0
- package/dist/cjs/components/protect-sheet-dialog/index.d.ts.map +1 -0
- package/dist/cjs/components/protect-sheet-dialog/index.js +196 -0
- package/dist/cjs/components/toolbar/types.d.ts +1 -1
- package/dist/cjs/components/toolbar/types.d.ts.map +1 -1
- package/dist/cjs/config.d.ts +13 -1
- package/dist/cjs/config.d.ts.map +1 -1
- package/dist/cjs/config.js +15 -3
- package/dist/cjs/helpers.d.ts +10 -5
- package/dist/cjs/helpers.d.ts.map +1 -1
- package/dist/cjs/helpers.js +43 -31
- package/dist/cjs/hooks/use-border-styles.d.ts.map +1 -1
- package/dist/cjs/hooks/use-border-styles.js +5 -28
- package/dist/cjs/hooks/use-cell-renderer.d.ts +35 -3
- package/dist/cjs/hooks/use-cell-renderer.d.ts.map +1 -1
- package/dist/cjs/hooks/use-cell-renderer.js +85 -47
- package/dist/cjs/hooks/use-conditional-formatting.d.ts +13 -1
- package/dist/cjs/hooks/use-conditional-formatting.d.ts.map +1 -1
- package/dist/cjs/hooks/use-conditional-formatting.js +281 -230
- package/dist/cjs/index.d.ts +7 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +13 -1
- package/dist/cjs/release-date.js +1 -1
- package/dist/cjs/themes.d.ts +8 -0
- package/dist/cjs/themes.d.ts.map +1 -1
- package/dist/cjs/themes.js +21 -3
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/types.d.ts +115 -5
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/api/cf-data-bar.d.ts +73 -0
- package/dist/esm/api/cf-data-bar.d.ts.map +1 -0
- package/dist/esm/api/cf-data-bar.js +178 -0
- package/dist/esm/api/cf-icons.d.ts +73 -0
- package/dist/esm/api/cf-icons.d.ts.map +1 -0
- package/dist/esm/api/cf-icons.js +306 -0
- package/dist/esm/api/cf-overlays.d.ts +89 -3
- package/dist/esm/api/cf-overlays.d.ts.map +1 -1
- package/dist/esm/api/cf-overlays.js +223 -67
- package/dist/esm/api/cf-priority.d.ts +34 -0
- package/dist/esm/api/cf-priority.d.ts.map +1 -0
- package/dist/esm/api/cf-priority.js +61 -0
- package/dist/esm/api/heatmap.d.ts +7 -1
- package/dist/esm/api/heatmap.d.ts.map +1 -1
- package/dist/esm/api/heatmap.js +24 -9
- package/dist/esm/api/selections.d.ts +2 -2
- package/dist/esm/api/validation.d.ts +6 -0
- package/dist/esm/api/validation.d.ts.map +1 -1
- package/dist/esm/api/validation.js +6 -0
- package/dist/esm/atoms/goal-seek-dialog.atom.d.ts +8 -3
- package/dist/esm/atoms/goal-seek-dialog.atom.d.ts.map +1 -1
- package/dist/esm/atoms/index.d.ts +4 -0
- package/dist/esm/atoms/index.d.ts.map +1 -1
- package/dist/esm/atoms/index.js +4 -0
- package/dist/esm/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/esm/components/canvas-grid/index.js +163 -47
- package/dist/esm/components/canvas-grid/overflow.d.ts +37 -0
- package/dist/esm/components/canvas-grid/overflow.d.ts.map +1 -0
- package/dist/esm/components/canvas-grid/overflow.js +39 -0
- package/dist/esm/components/canvas-grid/page-breaks.d.ts +15 -0
- package/dist/esm/components/canvas-grid/page-breaks.d.ts.map +1 -0
- package/dist/esm/components/canvas-grid/page-breaks.js +50 -0
- package/dist/esm/components/canvas-grid/typings.d.ts +32 -3
- package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/esm/components/cell/alignment.d.ts +58 -1
- package/dist/esm/components/cell/alignment.d.ts.map +1 -1
- package/dist/esm/components/cell/alignment.js +110 -1
- package/dist/esm/components/cell/cell-background.d.ts +2 -0
- package/dist/esm/components/cell/cell-background.d.ts.map +1 -1
- package/dist/esm/components/cell/cell-background.js +4 -5
- package/dist/esm/components/cell/cell-backgrounds.d.ts.map +1 -1
- package/dist/esm/components/cell/cell-backgrounds.js +5 -1
- package/dist/esm/components/cell/cell-text-runs.js +2 -2
- package/dist/esm/components/cell/index.d.ts.map +1 -1
- package/dist/esm/components/cell/index.js +339 -39
- package/dist/esm/components/cell/number-format-layout.d.ts +35 -0
- package/dist/esm/components/cell/number-format-layout.d.ts.map +1 -0
- package/dist/esm/components/cell/number-format-layout.js +99 -0
- package/dist/esm/components/cell/typings.d.ts +22 -0
- package/dist/esm/components/cell/typings.d.ts.map +1 -1
- package/dist/esm/components/cell-editor/index.js +2 -2
- package/dist/esm/components/cell-filter/index.d.ts.map +1 -1
- package/dist/esm/components/cell-filter/index.js +4 -4
- package/dist/esm/components/cell-overlay/index.d.ts +20 -0
- package/dist/esm/components/cell-overlay/index.d.ts.map +1 -1
- package/dist/esm/components/cell-overlay/index.js +111 -25
- package/dist/esm/components/cf-icon-preview/index.d.ts +16 -0
- package/dist/esm/components/cf-icon-preview/index.d.ts.map +1 -0
- package/dist/esm/components/cf-icon-preview/index.js +41 -0
- package/dist/esm/components/context-menu/index.d.ts.map +1 -1
- package/dist/esm/components/context-menu/index.js +11 -3
- package/dist/esm/components/embeds/embed-component.d.ts.map +1 -1
- package/dist/esm/components/embeds/embed-component.js +4 -3
- package/dist/esm/components/goal-seek-dialog/index.d.ts +15 -5
- package/dist/esm/components/goal-seek-dialog/index.d.ts.map +1 -1
- package/dist/esm/components/goal-seek-dialog/index.js +126 -29
- package/dist/esm/components/hidden-markers/index.d.ts.map +1 -1
- package/dist/esm/components/hidden-markers/index.js +9 -8
- package/dist/esm/components/hidden-markers/style.d.ts +7 -0
- package/dist/esm/components/hidden-markers/style.d.ts.map +1 -1
- package/dist/esm/components/hidden-markers/style.js +8 -1
- package/dist/esm/components/protect-sheet-dialog/index.d.ts +67 -0
- package/dist/esm/components/protect-sheet-dialog/index.d.ts.map +1 -0
- package/dist/esm/components/protect-sheet-dialog/index.js +154 -0
- package/dist/esm/components/toolbar/types.d.ts +1 -1
- package/dist/esm/components/toolbar/types.d.ts.map +1 -1
- package/dist/esm/config.d.ts +13 -1
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +13 -1
- package/dist/esm/helpers.d.ts +10 -5
- package/dist/esm/helpers.d.ts.map +1 -1
- package/dist/esm/helpers.js +40 -28
- package/dist/esm/hooks/use-border-styles.d.ts.map +1 -1
- package/dist/esm/hooks/use-border-styles.js +5 -26
- package/dist/esm/hooks/use-cell-renderer.d.ts +35 -3
- package/dist/esm/hooks/use-cell-renderer.d.ts.map +1 -1
- package/dist/esm/hooks/use-cell-renderer.js +83 -42
- package/dist/esm/hooks/use-conditional-formatting.d.ts +13 -1
- package/dist/esm/hooks/use-conditional-formatting.d.ts.map +1 -1
- package/dist/esm/hooks/use-conditional-formatting.js +215 -120
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +7 -0
- package/dist/esm/release-date.js +1 -1
- package/dist/esm/themes.d.ts +8 -0
- package/dist/esm/themes.d.ts.map +1 -1
- package/dist/esm/themes.js +20 -3
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/types.d.ts +115 -5
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/spreadsheet.min.css +1 -1
- package/package.json +4 -4
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// (scale font down when text overflows) and textRotation (numeric degrees
|
|
4
4
|
// or stacked "vertical" layout).
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getRotatedTextLayout = exports.stackTextVertically = exports.getKonvaRotationDegrees = exports.computeShrinkToFitFontSize = exports.fillCellText = exports.isFillAlignment = exports.alignmentImpliesWrap = exports.resolveCanvasTextAlign = void 0;
|
|
6
|
+
exports.layoutDistributedLines = exports.getRotatedTextLayout = exports.stackTextVertically = exports.getKonvaRotationDegrees = exports.computeShrinkToFitFontSize = exports.fillCellText = exports.isFillAlignment = exports.getUnderlineStrokes = exports.resolveReadingOrderAlignment = exports.getVerticalSpreadLineHeight = exports.resolveCanvasVerticalAlign = exports.verticalAlignmentImpliesWrap = exports.alignmentImpliesWrap = exports.resolveCanvasTextAlign = void 0;
|
|
7
7
|
var tslib_1 = require("tslib");
|
|
8
8
|
/**
|
|
9
9
|
* Map a cell's `horizontalAlignment` onto the canvas text alignment. Excel's
|
|
@@ -36,6 +36,74 @@ exports.resolveCanvasTextAlign = resolveCanvasTextAlign;
|
|
|
36
36
|
*/
|
|
37
37
|
var utils_1 = require("@rowsncolumns/utils");
|
|
38
38
|
Object.defineProperty(exports, "alignmentImpliesWrap", { enumerable: true, get: function () { return utils_1.alignmentImpliesWrap; } });
|
|
39
|
+
Object.defineProperty(exports, "verticalAlignmentImpliesWrap", { enumerable: true, get: function () { return utils_1.verticalAlignmentImpliesWrap; } });
|
|
40
|
+
/**
|
|
41
|
+
* Map a cell's `verticalAlignment` onto the canvas text node. Excel's
|
|
42
|
+
* vertical `justify` spreads wrapped lines from the top edge to the bottom
|
|
43
|
+
* one and `distributed` does the same with the free space split above and
|
|
44
|
+
* below — so a single line sits at the top (justify) or the middle
|
|
45
|
+
* (distributed). {@link getVerticalSpreadLineHeight} spreads the lines.
|
|
46
|
+
*/
|
|
47
|
+
var resolveCanvasVerticalAlign = function (align) {
|
|
48
|
+
switch (align) {
|
|
49
|
+
case "top":
|
|
50
|
+
case "justify":
|
|
51
|
+
return "top";
|
|
52
|
+
case "middle":
|
|
53
|
+
case "distributed":
|
|
54
|
+
return "middle";
|
|
55
|
+
default:
|
|
56
|
+
return "bottom";
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
exports.resolveCanvasVerticalAlign = resolveCanvasVerticalAlign;
|
|
60
|
+
/**
|
|
61
|
+
* Line-height multiplier that spreads `lineCount` wrapped lines over
|
|
62
|
+
* `availableHeight` (Excel's vertical justify / distributed). Never tighter
|
|
63
|
+
* than the font's own `baseLineHeight`; one line keeps it.
|
|
64
|
+
*/
|
|
65
|
+
var getVerticalSpreadLineHeight = function (lineCount, availableHeight, fontSize, baseLineHeight) {
|
|
66
|
+
if (lineCount < 2 || fontSize <= 0)
|
|
67
|
+
return baseLineHeight;
|
|
68
|
+
var spread = availableHeight / (lineCount * fontSize);
|
|
69
|
+
return Math.max(baseLineHeight, spread);
|
|
70
|
+
};
|
|
71
|
+
exports.getVerticalSpreadLineHeight = getVerticalSpreadLineHeight;
|
|
72
|
+
/**
|
|
73
|
+
* The default horizontal alignment of a cell with no explicit one, under
|
|
74
|
+
* its text direction (Format Cells → Alignment → Text direction). A
|
|
75
|
+
* right-to-left reading order starts text at the right edge, as Excel does;
|
|
76
|
+
* the value-driven default (numbers right) otherwise stands.
|
|
77
|
+
*/
|
|
78
|
+
var resolveReadingOrderAlignment = function (readingOrder, defaultAlignment) {
|
|
79
|
+
return readingOrder === "rtl" && (!defaultAlignment || defaultAlignment === "left")
|
|
80
|
+
? "right"
|
|
81
|
+
: defaultAlignment;
|
|
82
|
+
};
|
|
83
|
+
exports.resolveReadingOrderAlignment = resolveReadingOrderAlignment;
|
|
84
|
+
/**
|
|
85
|
+
* The strokes Excel draws for an underline type (Format Cells → Font →
|
|
86
|
+
* Underline). `single` / `double` run under the text; the accounting types
|
|
87
|
+
* run the width of the cell, lower, clear of the descenders. `baselineY` is
|
|
88
|
+
* the text baseline, `fontSize` in canvas pixels.
|
|
89
|
+
*/
|
|
90
|
+
var getUnderlineStrokes = function (_a) {
|
|
91
|
+
var style = _a.style, textX = _a.textX, textWidth = _a.textWidth, cellX = _a.cellX, cellWidth = _a.cellWidth, baselineY = _a.baselineY, fontSize = _a.fontSize, scale = _a.scale;
|
|
92
|
+
var gap = Math.max(2 * scale, Math.round(fontSize * 0.12));
|
|
93
|
+
var accounting = style === "singleAccounting" || style === "doubleAccounting";
|
|
94
|
+
var _b = tslib_1.__read(accounting
|
|
95
|
+
? [cellX + scale, cellX + cellWidth - scale]
|
|
96
|
+
: [textX, textX + textWidth], 2), x1 = _b[0], x2 = _b[1];
|
|
97
|
+
var y = accounting
|
|
98
|
+
? baselineY + Math.round(fontSize * 0.22)
|
|
99
|
+
: baselineY + Math.max(scale, Math.round(fontSize * 0.1));
|
|
100
|
+
var strokes = [{ x1: x1, x2: x2, y: y }];
|
|
101
|
+
if (style === "double" || style === "doubleAccounting") {
|
|
102
|
+
strokes.push({ x1: x1, x2: x2, y: y + gap });
|
|
103
|
+
}
|
|
104
|
+
return strokes;
|
|
105
|
+
};
|
|
106
|
+
exports.getUnderlineStrokes = getUnderlineStrokes;
|
|
39
107
|
/**
|
|
40
108
|
* Excel's `fill` alignment keeps the text inside the cell too: the value is
|
|
41
109
|
* repeated to the cell edge and never spills into the neighbour.
|
|
@@ -190,3 +258,78 @@ var getRotatedTextLayout = function (_a) {
|
|
|
190
258
|
};
|
|
191
259
|
};
|
|
192
260
|
exports.getRotatedTextLayout = getRotatedTextLayout;
|
|
261
|
+
/**
|
|
262
|
+
* Excel's horizontal `distributed` alignment: the text wraps at word
|
|
263
|
+
* boundaries and every line — the last one too — spreads its words from the
|
|
264
|
+
* left edge to the right one; a line holding a single word is centred
|
|
265
|
+
* (Format Cells ▸ Alignment ▸ Horizontal ▸ Distributed (Indent)). Returns
|
|
266
|
+
* the words of each line with their x inside `width`.
|
|
267
|
+
*/
|
|
268
|
+
var layoutDistributedLines = function (text, width, measure) {
|
|
269
|
+
var e_1, _a;
|
|
270
|
+
var spaceWidth = measure(" ");
|
|
271
|
+
var lines = [];
|
|
272
|
+
var _loop_1 = function (paragraph) {
|
|
273
|
+
var e_2, _d;
|
|
274
|
+
var words = paragraph.split(/\s+/).filter(Boolean);
|
|
275
|
+
var line = [];
|
|
276
|
+
var lineWidth = 0;
|
|
277
|
+
var flush = function () {
|
|
278
|
+
if (!line.length) {
|
|
279
|
+
lines.push([]);
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
var used = line.reduce(function (total, word) { return total + word.width; }, 0);
|
|
283
|
+
if (line.length === 1) {
|
|
284
|
+
lines.push([
|
|
285
|
+
{ text: line[0].text, x: Math.max(0, (width - used) / 2) },
|
|
286
|
+
]);
|
|
287
|
+
}
|
|
288
|
+
else {
|
|
289
|
+
var gap_1 = Math.max(spaceWidth, (width - used) / (line.length - 1));
|
|
290
|
+
var cursor_1 = 0;
|
|
291
|
+
lines.push(line.map(function (word) {
|
|
292
|
+
var placed = { text: word.text, x: cursor_1 };
|
|
293
|
+
cursor_1 += word.width + gap_1;
|
|
294
|
+
return placed;
|
|
295
|
+
}));
|
|
296
|
+
}
|
|
297
|
+
line = [];
|
|
298
|
+
lineWidth = 0;
|
|
299
|
+
};
|
|
300
|
+
try {
|
|
301
|
+
for (var words_1 = (e_2 = void 0, tslib_1.__values(words)), words_1_1 = words_1.next(); !words_1_1.done; words_1_1 = words_1.next()) {
|
|
302
|
+
var word = words_1_1.value;
|
|
303
|
+
var wordWidth = measure(word);
|
|
304
|
+
var next = line.length === 0 ? wordWidth : lineWidth + spaceWidth + wordWidth;
|
|
305
|
+
if (line.length > 0 && next > width)
|
|
306
|
+
flush();
|
|
307
|
+
lineWidth = line.length === 0 ? wordWidth : lineWidth + spaceWidth + wordWidth;
|
|
308
|
+
line.push({ text: word, width: wordWidth });
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
312
|
+
finally {
|
|
313
|
+
try {
|
|
314
|
+
if (words_1_1 && !words_1_1.done && (_d = words_1.return)) _d.call(words_1);
|
|
315
|
+
}
|
|
316
|
+
finally { if (e_2) throw e_2.error; }
|
|
317
|
+
}
|
|
318
|
+
flush();
|
|
319
|
+
};
|
|
320
|
+
try {
|
|
321
|
+
for (var _b = tslib_1.__values(text.split("\n")), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
322
|
+
var paragraph = _c.value;
|
|
323
|
+
_loop_1(paragraph);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
327
|
+
finally {
|
|
328
|
+
try {
|
|
329
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
330
|
+
}
|
|
331
|
+
finally { if (e_1) throw e_1.error; }
|
|
332
|
+
}
|
|
333
|
+
return lines;
|
|
334
|
+
};
|
|
335
|
+
exports.layoutDistributedLines = layoutDistributedLines;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { RendererProps } from "@rowsncolumns/grid";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import type { FillPattern, GradientFill } from "../../types";
|
|
4
|
+
/** Excel's Automatic pattern colour: a pattern with no colour of its own. */
|
|
5
|
+
export declare const AUTOMATIC_PATTERN_COLOR = "#000000";
|
|
4
6
|
type CellBackgroundProps = RendererProps & {
|
|
5
7
|
backgroundColor?: string;
|
|
6
8
|
defaultBackgroundColor: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell-background.d.ts","sourceRoot":"","sources":["../../../../components/cell/cell-background.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE7D,KAAK,mBAAmB,GAAG,aAAa,GAAG;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAChC,CAAC;AAmFF,eAAO,MAAM,cAAc,GAAI,+IAa5B,mBAAmB,
|
|
1
|
+
{"version":3,"file":"cell-background.d.ts","sourceRoot":"","sources":["../../../../components/cell/cell-background.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE7D,6EAA6E;AAC7E,eAAO,MAAM,uBAAuB,YAAY,CAAC;AAEjD,KAAK,mBAAmB,GAAG,aAAa,GAAG;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAChC,CAAC;AAmFF,eAAO,MAAM,cAAc,GAAI,+IAa5B,mBAAmB,sBAwFrB,CAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CellBackground = void 0;
|
|
3
|
+
exports.CellBackground = exports.AUTOMATIC_PATTERN_COLOR = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var utils_1 = require("@rowsncolumns/utils");
|
|
6
6
|
var react_1 = tslib_1.__importDefault(require("react"));
|
|
7
7
|
var react_konva_1 = require("react-konva");
|
|
8
8
|
var fill_patterns_1 = require("../../api/fill-patterns");
|
|
9
|
+
/** Excel's Automatic pattern colour: a pattern with no colour of its own. */
|
|
10
|
+
exports.AUTOMATIC_PATTERN_COLOR = "#000000";
|
|
9
11
|
// Build a CanvasGradient matching the OOXML <gradientFill> spec.
|
|
10
12
|
// linear: `degree` rotates the axis (0 = left→right, 90 = top→bottom,
|
|
11
13
|
// 180 = right→left, 270 = bottom→top). Excel's axis runs through the
|
|
@@ -119,10 +121,7 @@ var CellBackground = function (_a) {
|
|
|
119
121
|
// bgColor is ignored when pattern=solid). For "none" or absent, fall
|
|
120
122
|
// back to the regular backgroundColor path.
|
|
121
123
|
var useSolid = fillPattern === "solid" && foregroundColor;
|
|
122
|
-
var useTile = fillPattern &&
|
|
123
|
-
fillPattern !== "solid" &&
|
|
124
|
-
fillPattern !== "none" &&
|
|
125
|
-
foregroundColor;
|
|
124
|
+
var useTile = fillPattern && fillPattern !== "solid" && fillPattern !== "none";
|
|
126
125
|
var useGradient = !!gradient && ((_c = (_b = gradient.stops) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) > 0;
|
|
127
126
|
var native = context._context;
|
|
128
127
|
if (useGradient && native) {
|
|
@@ -138,7 +137,7 @@ var CellBackground = function (_a) {
|
|
|
138
137
|
context.setAttr("fillStyle", foregroundColor);
|
|
139
138
|
}
|
|
140
139
|
else if (useTile) {
|
|
141
|
-
var tile = (0, fill_patterns_1.getPatternCanvas)(fillPattern, foregroundColor, backgroundColor);
|
|
140
|
+
var tile = (0, fill_patterns_1.getPatternCanvas)(fillPattern, foregroundColor !== null && foregroundColor !== void 0 ? foregroundColor : exports.AUTOMATIC_PATTERN_COLOR, backgroundColor);
|
|
142
141
|
var ctxPattern = tile && (native === null || native === void 0 ? void 0 : native.createPattern(tile, "repeat"));
|
|
143
142
|
if (ctxPattern) {
|
|
144
143
|
context.setAttr("fillStyle", ctxPattern);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell-backgrounds.d.ts","sourceRoot":"","sources":["../../../../components/cell/cell-backgrounds.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,KAAkB,MAAM,OAAO,CAAC;AAkBvC,MAAM,WAAW,oBAAoB;IACnC,mGAAmG;IACnG,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,uFAAuF;IACvF,SAAS,EAAE,CACT,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,8FAA8F;IAC9F,YAAY,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IAC3E,sBAAsB,EAAE,MAAM,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAChC;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,GAAI,mFAO7B,oBAAoB,
|
|
1
|
+
{"version":3,"file":"cell-backgrounds.d.ts","sourceRoot":"","sources":["../../../../components/cell/cell-backgrounds.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,KAAkB,MAAM,OAAO,CAAC;AAkBvC,MAAM,WAAW,oBAAoB;IACnC,mGAAmG;IACnG,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,uFAAuF;IACvF,SAAS,EAAE,CACT,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,8FAA8F;IAC9F,YAAY,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IAC3E,sBAAsB,EAAE,MAAM,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAChC;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,GAAI,mFAO7B,oBAAoB,sBAqHtB,CAAC"}
|
|
@@ -35,7 +35,11 @@ var CellBackgrounds = function (_a) {
|
|
|
35
35
|
var fillPattern = (_b = format === null || format === void 0 ? void 0 : format.fillPattern) !== null && _b !== void 0 ? _b : null;
|
|
36
36
|
var gradient = (_c = format === null || format === void 0 ? void 0 : format.gradient) !== null && _c !== void 0 ? _c : null;
|
|
37
37
|
var foregroundColor = resolveColor(format === null || format === void 0 ? void 0 : format.foregroundColor);
|
|
38
|
-
|
|
38
|
+
// A pattern with no colour of its own paints in Excel's Automatic
|
|
39
|
+
// (black); a solid pattern needs its foreground.
|
|
40
|
+
var hasPaintedPattern = fillPattern === "solid"
|
|
41
|
+
? !!foregroundColor
|
|
42
|
+
: !!fillPattern && fillPattern !== "none";
|
|
39
43
|
var hasGradient = !!gradient && ((_e = (_d = gradient.stops) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 0) > 0;
|
|
40
44
|
var backgroundColor = resolveColor(format === null || format === void 0 ? void 0 : format.backgroundColor);
|
|
41
45
|
var isMergedCell = !!cell.isMergedCell;
|
|
@@ -60,7 +60,7 @@ var resolveSegmentStyle = function (seg, base, theme) {
|
|
|
60
60
|
color: f.color != null
|
|
61
61
|
? (0, themes_1.getStringifiedColor)(f.color, theme) || base.color
|
|
62
62
|
: base.color,
|
|
63
|
-
fontFamily: (_f = f.fontFamily) !== null && _f !== void 0 ? _f : base.fontFamily,
|
|
63
|
+
fontFamily: (_f = (0, themes_1.resolveThemeFontFamily)(f.fontFamily, theme)) !== null && _f !== void 0 ? _f : base.fontFamily,
|
|
64
64
|
// f.fontSize is in points to mirror the editor's TextFormat type,
|
|
65
65
|
// but at this paint layer everything is in pixels — scale ratio is
|
|
66
66
|
// applied by the caller via baseFontSize. For per-segment override
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/cell/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAA4B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/cell/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAsDjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAO3C,eAAO,MAAM,IAAI,oCAAgB,SAAS,uBA6hCxC,CAAC"}
|