@rowsncolumns/spreadsheet 10.4.2 → 10.4.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/atoms/sheet-context.atom.d.ts +2 -0
- package/dist/cjs/atoms/sheet-context.atom.d.ts.map +1 -1
- package/dist/cjs/atoms/sheet-context.atom.js +8 -2
- package/dist/cjs/atoms/sort-dialog.atom.d.ts +6 -2
- package/dist/cjs/atoms/sort-dialog.atom.d.ts.map +1 -1
- package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/cjs/components/canvas-grid/index.js +4 -2
- package/dist/cjs/components/canvas-grid/typings.d.ts +10 -0
- package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/cjs/components/filter-box/index.d.ts.map +1 -1
- package/dist/cjs/components/filter-box/index.js +14 -3
- package/dist/cjs/components/sheet-tabs/index.d.ts.map +1 -1
- package/dist/cjs/components/sheet-tabs/index.js +19 -5
- package/dist/cjs/components/sort-range-dialog/index.d.ts +20 -3
- package/dist/cjs/components/sort-range-dialog/index.d.ts.map +1 -1
- package/dist/cjs/components/sort-range-dialog/index.js +20 -6
- package/dist/cjs/components/toolbar/cell-style-selector.d.ts +9 -0
- package/dist/cjs/components/toolbar/cell-style-selector.d.ts.map +1 -1
- package/dist/cjs/components/toolbar/cell-style-selector.js +12 -3
- package/dist/cjs/components/toolbar/merge-cells-selector.d.ts +27 -1
- package/dist/cjs/components/toolbar/merge-cells-selector.d.ts.map +1 -1
- package/dist/cjs/components/toolbar/merge-cells-selector.js +106 -8
- package/dist/cjs/config.d.ts +6 -0
- package/dist/cjs/config.d.ts.map +1 -1
- package/dist/cjs/config.js +7 -1
- package/dist/cjs/hooks/use-conditional-formatting.d.ts +8 -0
- package/dist/cjs/hooks/use-conditional-formatting.d.ts.map +1 -1
- package/dist/cjs/hooks/use-conditional-formatting.js +128 -77
- package/dist/cjs/hooks/use-editable.d.ts.map +1 -1
- package/dist/cjs/hooks/use-editable.js +59 -1
- package/dist/cjs/hooks/use-selection.d.ts +6 -1
- package/dist/cjs/hooks/use-selection.d.ts.map +1 -1
- package/dist/cjs/hooks/use-selection.js +37 -1
- package/dist/cjs/release-date.js +1 -1
- package/dist/cjs/types.d.ts +54 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/atoms/sheet-context.atom.d.ts +2 -0
- package/dist/esm/atoms/sheet-context.atom.d.ts.map +1 -1
- package/dist/esm/atoms/sheet-context.atom.js +3 -0
- package/dist/esm/atoms/sort-dialog.atom.d.ts +6 -2
- package/dist/esm/atoms/sort-dialog.atom.d.ts.map +1 -1
- package/dist/esm/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/esm/components/canvas-grid/index.js +3 -1
- package/dist/esm/components/canvas-grid/typings.d.ts +10 -0
- package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/esm/components/filter-box/index.d.ts.map +1 -1
- package/dist/esm/components/filter-box/index.js +14 -3
- package/dist/esm/components/sheet-tabs/index.d.ts.map +1 -1
- package/dist/esm/components/sheet-tabs/index.js +20 -6
- package/dist/esm/components/sort-range-dialog/index.d.ts +20 -3
- package/dist/esm/components/sort-range-dialog/index.d.ts.map +1 -1
- package/dist/esm/components/sort-range-dialog/index.js +17 -5
- package/dist/esm/components/toolbar/cell-style-selector.d.ts +9 -0
- package/dist/esm/components/toolbar/cell-style-selector.d.ts.map +1 -1
- package/dist/esm/components/toolbar/cell-style-selector.js +11 -2
- package/dist/esm/components/toolbar/merge-cells-selector.d.ts +27 -1
- package/dist/esm/components/toolbar/merge-cells-selector.d.ts.map +1 -1
- package/dist/esm/components/toolbar/merge-cells-selector.js +94 -10
- package/dist/esm/config.d.ts +6 -0
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +6 -0
- package/dist/esm/hooks/use-conditional-formatting.d.ts +8 -0
- package/dist/esm/hooks/use-conditional-formatting.d.ts.map +1 -1
- package/dist/esm/hooks/use-conditional-formatting.js +50 -13
- package/dist/esm/hooks/use-editable.d.ts.map +1 -1
- package/dist/esm/hooks/use-editable.js +48 -2
- package/dist/esm/hooks/use-selection.d.ts +6 -1
- package/dist/esm/hooks/use-selection.d.ts.map +1 -1
- package/dist/esm/hooks/use-selection.js +37 -1
- package/dist/esm/release-date.js +1 -1
- package/dist/esm/types.d.ts +54 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/spreadsheet.min.css +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/sort-range-dialog/index.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAA0D,MAAM,OAAO,CAAC;AAE/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,aAAa,CAAC;AAQxD;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,2BAA2B;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,oCAAoC;IACpC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/sort-range-dialog/index.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAA0D,MAAM,OAAO,CAAC;AAE/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,aAAa,CAAC;AAQxD;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,2BAA2B;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,oCAAoC;IACpC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CACpE,CAAC;AAEF,yGAAyG;AACzG,eAAO,MAAM,eAAe,GAC1B,QAAQ,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,QAAQ,CAAC,EAClD,WAAW,OAAO,KACjB,MAGF,CAAC;AA2DF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,qHASvB,eAAe,uBAiWnB,CAAC;AAIF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;CAgB/B,CAAC"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SortRangeDialogHost = exports.SortRangeDialog = void 0;
|
|
3
|
+
exports.SortRangeDialogHost = exports.SortRangeDialog = exports.sortColumnLabel = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var icons_1 = require("@rowsncolumns/icons");
|
|
6
6
|
var ui_1 = require("@rowsncolumns/ui");
|
|
7
7
|
var react_1 = tslib_1.__importStar(require("react"));
|
|
8
8
|
var sort_dialog_atom_1 = require("../../atoms/sort-dialog.atom");
|
|
9
|
+
/** The label a sort level shows for a column: its header while the data has headers, else its letter. */
|
|
10
|
+
var sortColumnLabel = function (column, hasHeader) {
|
|
11
|
+
var _a;
|
|
12
|
+
var header = (_a = column.header) === null || _a === void 0 ? void 0 : _a.trim();
|
|
13
|
+
return hasHeader && header ? header : column.label;
|
|
14
|
+
};
|
|
15
|
+
exports.sortColumnLabel = sortColumnLabel;
|
|
9
16
|
var CUSTOM_LIST_PREFIX = "custom:";
|
|
10
17
|
var ColorSwatch = function (_a) {
|
|
11
18
|
var color = _a.color;
|
|
@@ -53,19 +60,23 @@ var specToLevel = function (spec, customLists) {
|
|
|
53
60
|
* routes through its existing sort callbacks.
|
|
54
61
|
*/
|
|
55
62
|
exports.SortRangeDialog = (0, react_1.memo)(function (_a) {
|
|
56
|
-
var open = _a.open, onOpenChange = _a.onOpenChange, columns = _a.columns, customLists = _a.customLists, initialSpecs = _a.initialSpecs, onApply = _a.onApply;
|
|
63
|
+
var open = _a.open, onOpenChange = _a.onOpenChange, columns = _a.columns, customLists = _a.customLists, initialSpecs = _a.initialSpecs, initialHasHeader = _a.initialHasHeader, onApply = _a.onApply;
|
|
57
64
|
var lists = (0, react_1.useMemo)(function () { return customLists !== null && customLists !== void 0 ? customLists : []; }, [customLists]);
|
|
58
65
|
var _b = tslib_1.__read((0, react_1.useState)(function () {
|
|
59
66
|
return (initialSpecs === null || initialSpecs === void 0 ? void 0 : initialSpecs.length)
|
|
60
67
|
? initialSpecs.map(function (spec) { return specToLevel(spec, lists); })
|
|
61
68
|
: [makeDefaultLevel(columns)];
|
|
62
69
|
}), 2), levels = _b[0], setLevels = _b[1];
|
|
70
|
+
var showHeaderToggle = initialHasHeader !== undefined ||
|
|
71
|
+
columns.some(function (column) { return column.header !== undefined; });
|
|
72
|
+
var _c = tslib_1.__read((0, react_1.useState)(initialHasHeader !== null && initialHasHeader !== void 0 ? initialHasHeader : false), 2), hasHeader = _c[0], setHasHeader = _c[1];
|
|
63
73
|
// Re-seed when reopened with different columns / specs.
|
|
64
74
|
(0, react_1.useEffect)(function () {
|
|
65
75
|
if (open) {
|
|
66
76
|
setLevels((initialSpecs === null || initialSpecs === void 0 ? void 0 : initialSpecs.length)
|
|
67
77
|
? initialSpecs.map(function (spec) { return specToLevel(spec, lists); })
|
|
68
78
|
: [makeDefaultLevel(columns)]);
|
|
79
|
+
setHasHeader(initialHasHeader !== null && initialHasHeader !== void 0 ? initialHasHeader : false);
|
|
69
80
|
}
|
|
70
81
|
// Only reset on open transitions.
|
|
71
82
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -133,15 +144,18 @@ exports.SortRangeDialog = (0, react_1.memo)(function (_a) {
|
|
|
133
144
|
}
|
|
134
145
|
return spec;
|
|
135
146
|
});
|
|
136
|
-
onApply(specs);
|
|
147
|
+
onApply(specs, { hasHeader: hasHeader });
|
|
137
148
|
onOpenChange(false);
|
|
138
|
-
}, [levels, lists, onApply, onOpenChange]);
|
|
149
|
+
}, [levels, lists, hasHeader, onApply, onOpenChange]);
|
|
139
150
|
return (react_1.default.createElement(ui_1.Dialog, { open: open, onOpenChange: onOpenChange },
|
|
140
151
|
react_1.default.createElement(ui_1.DialogContent, { className: "w-[640px] max-w-[92vw] pointer-events-auto" },
|
|
141
152
|
react_1.default.createElement(ui_1.DialogTitle, null, "Sort"),
|
|
142
153
|
react_1.default.createElement(ui_1.DialogCloseButton, { onClick: function () { return onOpenChange(false); } },
|
|
143
154
|
react_1.default.createElement(icons_1.Cross1Icon, null)),
|
|
144
155
|
react_1.default.createElement(ui_1.DialogBody, { className: "flex flex-col gap-3" },
|
|
156
|
+
showHeaderToggle ? (react_1.default.createElement("label", { className: "font-system text-sm flex items-center gap-1" },
|
|
157
|
+
react_1.default.createElement("input", { type: "checkbox", name: "hasHeader", checked: hasHeader, onChange: function (e) { return setHasHeader(e.target.checked); } }),
|
|
158
|
+
"My data has headers")) : null,
|
|
145
159
|
react_1.default.createElement("div", { className: "flex flex-col gap-2" }, levels.map(function (lvl, rowIndex) {
|
|
146
160
|
var _a, _b, _c, _d;
|
|
147
161
|
var col = columnByIndex.get(lvl.dimensionIndex);
|
|
@@ -162,7 +176,7 @@ exports.SortRangeDialog = (0, react_1.memo)(function (_a) {
|
|
|
162
176
|
react_1.default.createElement(ui_1.SelectTrigger, { className: "w-[160px]" },
|
|
163
177
|
react_1.default.createElement(ui_1.SelectValue, { placeholder: "Column" })),
|
|
164
178
|
react_1.default.createElement(ui_1.SelectPortal, null,
|
|
165
|
-
react_1.default.createElement(ui_1.SelectContent, null, columns.map(function (c) { return (react_1.default.createElement(ui_1.SelectItem, { key: c.dimensionIndex, value: String(c.dimensionIndex) },
|
|
179
|
+
react_1.default.createElement(ui_1.SelectContent, null, columns.map(function (c) { return (react_1.default.createElement(ui_1.SelectItem, { key: c.dimensionIndex, value: String(c.dimensionIndex) }, (0, exports.sortColumnLabel)(c, hasHeader))); })))),
|
|
166
180
|
react_1.default.createElement(ui_1.Select, { value: lvl.customListIndex != null && lvl.sortBy === "value"
|
|
167
181
|
? "".concat(CUSTOM_LIST_PREFIX).concat(lvl.customListIndex)
|
|
168
182
|
: lvl.sortBy, onValueChange: function (v) {
|
|
@@ -254,7 +268,7 @@ var SortRangeDialogHost = function () {
|
|
|
254
268
|
return (react_1.default.createElement(exports.SortRangeDialog, { open: request != null, onOpenChange: function (open) {
|
|
255
269
|
if (!open)
|
|
256
270
|
close();
|
|
257
|
-
}, columns: (_a = request === null || request === void 0 ? void 0 : request.columns) !== null && _a !== void 0 ? _a : [], customLists: request === null || request === void 0 ? void 0 : request.customLists, initialSpecs: request === null || request === void 0 ? void 0 : request.initialSpecs, onApply: function (specs) { return request === null || request === void 0 ? void 0 : request.onApply(specs); } }));
|
|
271
|
+
}, columns: (_a = request === null || request === void 0 ? void 0 : request.columns) !== null && _a !== void 0 ? _a : [], customLists: request === null || request === void 0 ? void 0 : request.customLists, initialSpecs: request === null || request === void 0 ? void 0 : request.initialSpecs, initialHasHeader: request === null || request === void 0 ? void 0 : request.initialHasHeader, onApply: function (specs, options) { return request === null || request === void 0 ? void 0 : request.onApply(specs, options); } }));
|
|
258
272
|
};
|
|
259
273
|
exports.SortRangeDialogHost = SortRangeDialogHost;
|
|
260
274
|
exports.SortRangeDialogHost.displayName = "SortRangeDialogHost";
|
|
@@ -33,6 +33,15 @@ export declare const getGalleryNamedCellStyles: (namedCellStyles: NamedCellStyle
|
|
|
33
33
|
/** CSS preview of a named style's format for the gallery swatch. */
|
|
34
34
|
export declare const getNamedCellStylePreview: (format: CellFormat | undefined, theme: SpreadsheetTheme) => React.CSSProperties;
|
|
35
35
|
export declare const getCellStyles: (theme: SpreadsheetTheme, currencySymbol?: string) => Map<string, StyleList[]>;
|
|
36
|
+
/**
|
|
37
|
+
* Excel's built-in "Comma Style" / "Comma [0]" (numFmtId 43 / 41): accounting
|
|
38
|
+
* layout without a currency symbol — negatives in parentheses, zero as `-`,
|
|
39
|
+
* `_(`/`_)` padding so digits align. `-15` shows `(15.00)` in the cell's own
|
|
40
|
+
* colour; the `[Red]` parenthesised variants are separate built-ins (38/40)
|
|
41
|
+
* that the Format Cells dialog offers under Custom, not the toolbar style.
|
|
42
|
+
*/
|
|
43
|
+
export declare const PATTERN_COMMA_STYLE = "_(* #,##0.00_);_(* (#,##0.00);_(* \"-\"??_);_(@_)";
|
|
44
|
+
export declare const PATTERN_COMMA_STYLE_ROUNDED = "_(* #,##0_);_(* (#,##0);_(* \"-\"??_);_(@_)";
|
|
36
45
|
export declare const CellStyleSelector: React.MemoExoticComponent<({ currency, locale, theme, selectedFormat, namedCellStyles, canAddCustomStyle, onChangeFormatting, onClearFormatting, }: CellStyleSelectorProps) => React.JSX.Element>;
|
|
37
46
|
export {};
|
|
38
47
|
//# sourceMappingURL=cell-style-selector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell-style-selector.d.ts","sourceRoot":"","sources":["../../../../components/toolbar/cell-style-selector.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAMrD,OAAO,KAAK,EACV,UAAU,EAEV,cAAc,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,KAAK,cAAc,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAClD,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,UAAU,IAAI,CAC/C,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KACjB,IAAI,CAAC;AAEV,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC;IACxB,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;IAC3C;;;;;OAKG;IACH,eAAe,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC,qBAAqB,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,kBAAkB,EAAE,CAClB,GAAG,IAAI,EAAE,UAAU,CAAC,cAAc,GAAG,aAAa,CAAC,MAAM,UAAU,CAAC,CAAC,KAClE,IAAI,CAAC;IACV,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,UAAU;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa;CAC5B,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,yBAAyB,GACpC,iBAAiB,cAAc,EAAE,GAAG,IAAI,GAAG,SAAS,KACnD,KAAK,CAAC,cAAc,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,CAQ7C,CAAC;AAcJ,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,GACnC,QAAQ,UAAU,GAAG,SAAS,EAC9B,OAAO,gBAAgB,KACtB,KAAK,CAAC,aAqBR,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,OAAO,gBAAgB,EACvB,iBAAiB,MAAM,6BAgYxB,CAAC;AAEF,eAAO,MAAM,iBAAiB,sJAUzB,sBAAsB,uBAsO1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"cell-style-selector.d.ts","sourceRoot":"","sources":["../../../../components/toolbar/cell-style-selector.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAMrD,OAAO,KAAK,EACV,UAAU,EAEV,cAAc,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,KAAK,cAAc,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAClD,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,UAAU,IAAI,CAC/C,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KACjB,IAAI,CAAC;AAEV,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC;IACxB,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;IAC3C;;;;;OAKG;IACH,eAAe,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC,qBAAqB,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,kBAAkB,EAAE,CAClB,GAAG,IAAI,EAAE,UAAU,CAAC,cAAc,GAAG,aAAa,CAAC,MAAM,UAAU,CAAC,CAAC,KAClE,IAAI,CAAC;IACV,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,UAAU;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa;CAC5B,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,yBAAyB,GACpC,iBAAiB,cAAc,EAAE,GAAG,IAAI,GAAG,SAAS,KACnD,KAAK,CAAC,cAAc,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,CAQ7C,CAAC;AAcJ,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,GACnC,QAAQ,UAAU,GAAG,SAAS,EAC9B,OAAO,gBAAgB,KACtB,KAAK,CAAC,aAqBR,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,OAAO,gBAAgB,EACvB,iBAAiB,MAAM,6BAgYxB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,sDAAoD,CAAC;AACrF,eAAO,MAAM,2BAA2B,gDAA8C,CAAC;AAEvF,eAAO,MAAM,iBAAiB,sJAUzB,sBAAsB,uBAsO1B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CellStyleSelector = exports.getCellStyles = exports.getNamedCellStylePreview = exports.getGalleryNamedCellStyles = void 0;
|
|
3
|
+
exports.CellStyleSelector = exports.PATTERN_COMMA_STYLE_ROUNDED = exports.PATTERN_COMMA_STYLE = exports.getCellStyles = exports.getNamedCellStylePreview = exports.getGalleryNamedCellStyles = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var icons_1 = require("@rowsncolumns/icons");
|
|
6
6
|
var icons_2 = require("@rowsncolumns/icons");
|
|
@@ -436,6 +436,15 @@ var getCellStyles = function (theme, currencySymbol) {
|
|
|
436
436
|
]);
|
|
437
437
|
};
|
|
438
438
|
exports.getCellStyles = getCellStyles;
|
|
439
|
+
/**
|
|
440
|
+
* Excel's built-in "Comma Style" / "Comma [0]" (numFmtId 43 / 41): accounting
|
|
441
|
+
* layout without a currency symbol — negatives in parentheses, zero as `-`,
|
|
442
|
+
* `_(`/`_)` padding so digits align. `-15` shows `(15.00)` in the cell's own
|
|
443
|
+
* colour; the `[Red]` parenthesised variants are separate built-ins (38/40)
|
|
444
|
+
* that the Format Cells dialog offers under Custom, not the toolbar style.
|
|
445
|
+
*/
|
|
446
|
+
exports.PATTERN_COMMA_STYLE = '_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)';
|
|
447
|
+
exports.PATTERN_COMMA_STYLE_ROUNDED = '_(* #,##0_);_(* (#,##0);_(* "-"??_);_(@_)';
|
|
439
448
|
exports.CellStyleSelector = (0, react_1.memo)(function (_a) {
|
|
440
449
|
var currency = _a.currency, locale = _a.locale, theme = _a.theme, selectedFormat = _a.selectedFormat, namedCellStyles = _a.namedCellStyles, _b = _a.canAddCustomStyle, canAddCustomStyle = _b === void 0 ? false : _b, onChangeFormatting = _a.onChangeFormatting, onClearFormatting = _a.onClearFormatting;
|
|
441
450
|
var colorIndexes = [4, 5, 6, 7, 8, 9];
|
|
@@ -451,14 +460,14 @@ exports.CellStyleSelector = (0, react_1.memo)(function (_a) {
|
|
|
451
460
|
"Comma",
|
|
452
461
|
{
|
|
453
462
|
type: "NUMBER",
|
|
454
|
-
pattern:
|
|
463
|
+
pattern: exports.PATTERN_COMMA_STYLE,
|
|
455
464
|
},
|
|
456
465
|
],
|
|
457
466
|
[
|
|
458
467
|
"Comma[0]",
|
|
459
468
|
{
|
|
460
469
|
type: "NUMBER",
|
|
461
|
-
pattern:
|
|
470
|
+
pattern: exports.PATTERN_COMMA_STYLE_ROUNDED,
|
|
462
471
|
},
|
|
463
472
|
],
|
|
464
473
|
[
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CellInterface, GridRange, SelectionArea } from "@rowsncolumns/grid";
|
|
2
2
|
import { Direction } from "@rowsncolumns/grid";
|
|
3
|
+
import type { Maybe } from "@rowsncolumns/utils";
|
|
3
4
|
import React from "react";
|
|
4
5
|
import type { TableView } from "../../types";
|
|
5
6
|
import type { SelectionAttributes } from "../canvas-grid/typings";
|
|
@@ -12,7 +13,32 @@ type MergeCellsSelectorProps = {
|
|
|
12
13
|
merges?: GridRange[] | null;
|
|
13
14
|
/** Tables of the workbook — a selection touching one on `sheetId` cannot be merged (Excel). */
|
|
14
15
|
tables?: TableView[] | null;
|
|
16
|
+
/**
|
|
17
|
+
* Cell value reader behind Excel's "Merging cells only keeps the upper-left value" warning.
|
|
18
|
+
* Defaults to the reader the grid publishes; the warning is skipped when neither is available.
|
|
19
|
+
*/
|
|
20
|
+
getFormattedValue?: (sheetId: number, rowIndex: number, columnIndex: number) => Maybe<string>;
|
|
15
21
|
};
|
|
16
|
-
|
|
22
|
+
/** Excel's wording for a merge that would drop cell values. */
|
|
23
|
+
export declare const MERGE_DISCARDS_VALUES_TITLE = "Merge cells";
|
|
24
|
+
export declare const MERGE_DISCARDS_VALUES_MESSAGE = "Merging cells only keeps the upper-left value and discards other values.";
|
|
25
|
+
/**
|
|
26
|
+
* The regions `onMergeCells` merges for a toolbar request: each row (merge
|
|
27
|
+
* horizontally), each column (merge vertically), every area of a multi-area
|
|
28
|
+
* selection, or the last selection as one block — the store action's own rules.
|
|
29
|
+
*/
|
|
30
|
+
export declare const mergeRegionsForSelection: (selections: SelectionArea[], direction?: Direction) => GridRange[];
|
|
31
|
+
/**
|
|
32
|
+
* Would this merge discard values? Excel warns when more than one cell of a
|
|
33
|
+
* merged block holds a value (the merge keeps only the upper-left one). A
|
|
34
|
+
* headless / programmatic merge never asks — this gate lives in the toolbar.
|
|
35
|
+
*/
|
|
36
|
+
export declare const mergeDiscardsValues: ({ sheetId, selections, direction, getFormattedValue, }: {
|
|
37
|
+
sheetId: number;
|
|
38
|
+
selections: SelectionArea[];
|
|
39
|
+
direction?: Direction;
|
|
40
|
+
getFormattedValue: (sheetId: number, rowIndex: number, columnIndex: number) => Maybe<string>;
|
|
41
|
+
}) => boolean;
|
|
42
|
+
export declare const MergeCellsSelector: ({ activeCell, selections, sheetId, merges, tables, onMerge, onUnMerge, getFormattedValue: getFormattedValueProp, }: MergeCellsSelectorProps) => React.JSX.Element;
|
|
17
43
|
export {};
|
|
18
44
|
//# sourceMappingURL=merge-cells-selector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-cells-selector.d.ts","sourceRoot":"","sources":["../../../../components/toolbar/merge-cells-selector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAkB,SAAS,EAAgB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"merge-cells-selector.d.ts","sourceRoot":"","sources":["../../../../components/toolbar/merge-cells-selector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAkB,SAAS,EAAgB,MAAM,oBAAoB,CAAC;AAyB7E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,KAAK,uBAAuB,GAAG;IAC7B,UAAU,EAAE,aAAa,CAAC;IAC1B,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CACL,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,SAAS,CAAC,EAAE,SAAS,GACpB,IAAI,CAAC;IACR,SAAS,CACP,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,GAC/C,IAAI,CAAC;IACR,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC5B,+FAA+F;IAC/F,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,KAAK,CAAC,MAAM,CAAC,CAAC;CACpB,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,2BAA2B,gBAAgB,CAAC;AACzD,eAAO,MAAM,6BAA6B,6EACkC,CAAC;AAE7E;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GACnC,YAAY,aAAa,EAAE,EAC3B,YAAY,SAAS,KACpB,SAAS,EAmBX,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,wDAKjC;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,iBAAiB,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,KAAK,CAAC,MAAM,CAAC,CAAC;CACpB,KAAG,OAcH,CAAC;AAIF,eAAO,MAAM,kBAAkB,GAAI,oHAShC,uBAAuB,sBA8IzB,CAAC"}
|
|
@@ -1,17 +1,101 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MergeCellsSelector = void 0;
|
|
3
|
+
exports.MergeCellsSelector = exports.mergeDiscardsValues = exports.mergeRegionsForSelection = exports.MERGE_DISCARDS_VALUES_MESSAGE = exports.MERGE_DISCARDS_VALUES_TITLE = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var grid_1 = require("@rowsncolumns/grid");
|
|
6
6
|
var icons_1 = require("@rowsncolumns/icons");
|
|
7
7
|
var ui_1 = require("@rowsncolumns/ui");
|
|
8
8
|
var ui_2 = require("@rowsncolumns/ui");
|
|
9
|
-
var react_1 = tslib_1.
|
|
9
|
+
var react_1 = tslib_1.__importStar(require("react"));
|
|
10
10
|
var atoms_1 = require("../../atoms");
|
|
11
11
|
var config_1 = require("../../config");
|
|
12
|
+
/** Excel's wording for a merge that would drop cell values. */
|
|
13
|
+
exports.MERGE_DISCARDS_VALUES_TITLE = "Merge cells";
|
|
14
|
+
exports.MERGE_DISCARDS_VALUES_MESSAGE = "Merging cells only keeps the upper-left value and discards other values.";
|
|
15
|
+
/**
|
|
16
|
+
* The regions `onMergeCells` merges for a toolbar request: each row (merge
|
|
17
|
+
* horizontally), each column (merge vertically), every area of a multi-area
|
|
18
|
+
* selection, or the last selection as one block — the store action's own rules.
|
|
19
|
+
*/
|
|
20
|
+
var mergeRegionsForSelection = function (selections, direction) {
|
|
21
|
+
if (!selections.length)
|
|
22
|
+
return [];
|
|
23
|
+
var range = selections[selections.length - 1].range;
|
|
24
|
+
if (direction === grid_1.Direction.Right) {
|
|
25
|
+
var rows = [];
|
|
26
|
+
for (var r = range.startRowIndex; r <= range.endRowIndex; r++) {
|
|
27
|
+
rows.push(tslib_1.__assign(tslib_1.__assign({}, range), { startRowIndex: r, endRowIndex: r }));
|
|
28
|
+
}
|
|
29
|
+
return rows;
|
|
30
|
+
}
|
|
31
|
+
if (direction === grid_1.Direction.Down) {
|
|
32
|
+
var cols = [];
|
|
33
|
+
for (var c = range.startColumnIndex; c <= range.endColumnIndex; c++) {
|
|
34
|
+
cols.push(tslib_1.__assign(tslib_1.__assign({}, range), { startColumnIndex: c, endColumnIndex: c }));
|
|
35
|
+
}
|
|
36
|
+
return cols;
|
|
37
|
+
}
|
|
38
|
+
if (selections.length > 1)
|
|
39
|
+
return selections.map(function (sel) { return sel.range; });
|
|
40
|
+
return [range];
|
|
41
|
+
};
|
|
42
|
+
exports.mergeRegionsForSelection = mergeRegionsForSelection;
|
|
43
|
+
/**
|
|
44
|
+
* Would this merge discard values? Excel warns when more than one cell of a
|
|
45
|
+
* merged block holds a value (the merge keeps only the upper-left one). A
|
|
46
|
+
* headless / programmatic merge never asks — this gate lives in the toolbar.
|
|
47
|
+
*/
|
|
48
|
+
var mergeDiscardsValues = function (_a) {
|
|
49
|
+
var e_1, _b;
|
|
50
|
+
var sheetId = _a.sheetId, selections = _a.selections, direction = _a.direction, getFormattedValue = _a.getFormattedValue;
|
|
51
|
+
try {
|
|
52
|
+
for (var _c = tslib_1.__values((0, exports.mergeRegionsForSelection)(selections, direction)), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
53
|
+
var region = _d.value;
|
|
54
|
+
var filled = 0;
|
|
55
|
+
for (var r = region.startRowIndex; r <= region.endRowIndex; r++) {
|
|
56
|
+
for (var c = region.startColumnIndex; c <= region.endColumnIndex; c++) {
|
|
57
|
+
var value = getFormattedValue(sheetId, r, c);
|
|
58
|
+
if (value !== null && value !== undefined && value !== "") {
|
|
59
|
+
filled++;
|
|
60
|
+
if (filled > 1)
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
68
|
+
finally {
|
|
69
|
+
try {
|
|
70
|
+
if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
|
|
71
|
+
}
|
|
72
|
+
finally { if (e_1) throw e_1.error; }
|
|
73
|
+
}
|
|
74
|
+
return false;
|
|
75
|
+
};
|
|
76
|
+
exports.mergeDiscardsValues = mergeDiscardsValues;
|
|
12
77
|
var MergeCellsSelector = function (_a) {
|
|
13
|
-
var activeCell = _a.activeCell, _b = _a.selections, selections = _b === void 0 ? config_1.DEFAULT_ARRAY : _b, sheetId = _a.sheetId, merges = _a.merges, tables = _a.tables, onMerge = _a.onMerge, onUnMerge = _a.onUnMerge;
|
|
78
|
+
var activeCell = _a.activeCell, _b = _a.selections, selections = _b === void 0 ? config_1.DEFAULT_ARRAY : _b, sheetId = _a.sheetId, merges = _a.merges, tables = _a.tables, onMerge = _a.onMerge, onUnMerge = _a.onUnMerge, getFormattedValueProp = _a.getFormattedValue;
|
|
14
79
|
var focusSheet = (0, atoms_1.useFocusSheet)();
|
|
80
|
+
var gridGetFormattedValue = (0, atoms_1.useGetFormattedValue)();
|
|
81
|
+
var getFormattedValue = getFormattedValueProp !== null && getFormattedValueProp !== void 0 ? getFormattedValueProp : gridGetFormattedValue;
|
|
82
|
+
// A merge waiting on the "discards other values" confirmation.
|
|
83
|
+
var _c = tslib_1.__read((0, react_1.useState)(null), 2), pendingMerge = _c[0], setPendingMerge = _c[1];
|
|
84
|
+
var requestMerge = function (direction) {
|
|
85
|
+
if (getFormattedValue &&
|
|
86
|
+
(0, exports.mergeDiscardsValues)({ sheetId: sheetId, selections: selections, direction: direction, getFormattedValue: getFormattedValue })) {
|
|
87
|
+
setPendingMerge({ direction: direction });
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
onMerge(sheetId, activeCell, selections, direction);
|
|
91
|
+
};
|
|
92
|
+
var confirmPendingMerge = function () {
|
|
93
|
+
if (pendingMerge) {
|
|
94
|
+
onMerge(sheetId, activeCell, selections, pendingMerge.direction);
|
|
95
|
+
}
|
|
96
|
+
setPendingMerge(null);
|
|
97
|
+
focusSheet === null || focusSheet === void 0 ? void 0 : focusSheet();
|
|
98
|
+
};
|
|
15
99
|
var isMerged = !!(merges === null || merges === void 0 ? void 0 : merges.find(function (merge) {
|
|
16
100
|
return (0, grid_1.isEqualCells)({ rowIndex: merge.startRowIndex, columnIndex: merge.startColumnIndex }, activeCell);
|
|
17
101
|
}));
|
|
@@ -32,7 +116,7 @@ var MergeCellsSelector = function (_a) {
|
|
|
32
116
|
onUnMerge(sheetId, activeCell, selections);
|
|
33
117
|
}
|
|
34
118
|
else {
|
|
35
|
-
|
|
119
|
+
requestMerge();
|
|
36
120
|
}
|
|
37
121
|
}, isActive: isMerged, tooltip: isMerged ? "Unmerge All" : "Merge all", disabled: disableMenu },
|
|
38
122
|
react_1.default.createElement(icons_1.AiOutlineMergeCells, null)),
|
|
@@ -43,20 +127,34 @@ var MergeCellsSelector = function (_a) {
|
|
|
43
127
|
react_1.default.createElement(ui_1.DropdownMenuPortal, null,
|
|
44
128
|
react_1.default.createElement(ui_2.DropdownMenuContent, { align: "end" },
|
|
45
129
|
react_1.default.createElement(ui_2.DropdownMenuItem, { disabled: isMerged || selectionTouchesTable, onClick: function () {
|
|
46
|
-
|
|
130
|
+
requestMerge();
|
|
47
131
|
focusSheet === null || focusSheet === void 0 ? void 0 : focusSheet();
|
|
48
132
|
} }, "Merge all"),
|
|
49
133
|
react_1.default.createElement(ui_2.DropdownMenuItem, { disabled: isMerged || selectionTouchesTable || !canMergeVertically, onClick: function () {
|
|
50
|
-
|
|
134
|
+
requestMerge(grid_1.Direction.Down);
|
|
51
135
|
focusSheet === null || focusSheet === void 0 ? void 0 : focusSheet();
|
|
52
136
|
} }, "Merge vertically"),
|
|
53
137
|
react_1.default.createElement(ui_2.DropdownMenuItem, { onClick: function () {
|
|
54
|
-
|
|
138
|
+
requestMerge(grid_1.Direction.Right);
|
|
55
139
|
focusSheet === null || focusSheet === void 0 ? void 0 : focusSheet();
|
|
56
140
|
}, disabled: isMerged || selectionTouchesTable || !canMergeHorizontally }, "Merge horizontally"),
|
|
57
141
|
react_1.default.createElement(ui_2.DropdownMenuItem, { disabled: !isMerged, onClick: function () {
|
|
58
142
|
onUnMerge(sheetId, activeCell, selections);
|
|
59
143
|
focusSheet === null || focusSheet === void 0 ? void 0 : focusSheet();
|
|
60
|
-
} }, "Unmerge"))))
|
|
144
|
+
} }, "Unmerge")))),
|
|
145
|
+
react_1.default.createElement(ui_1.Dialog, { modal: true, open: pendingMerge !== null, onOpenChange: function (open) {
|
|
146
|
+
if (!open)
|
|
147
|
+
setPendingMerge(null);
|
|
148
|
+
} },
|
|
149
|
+
react_1.default.createElement(ui_1.DialogContent, null,
|
|
150
|
+
react_1.default.createElement(ui_1.DialogTitle, null, exports.MERGE_DISCARDS_VALUES_TITLE),
|
|
151
|
+
react_1.default.createElement(ui_1.DialogDescription, null, exports.MERGE_DISCARDS_VALUES_MESSAGE),
|
|
152
|
+
react_1.default.createElement(ui_1.DialogBody, null,
|
|
153
|
+
react_1.default.createElement(ui_1.Stack, { className: "gap-2" },
|
|
154
|
+
react_1.default.createElement(ui_1.Button, { variant: "primary", onClick: confirmPendingMerge }, "Continue"),
|
|
155
|
+
react_1.default.createElement(ui_1.Button, { onClick: function () { return setPendingMerge(null); } }, "Cancel"))),
|
|
156
|
+
react_1.default.createElement(ui_1.DialogClose, { asChild: true },
|
|
157
|
+
react_1.default.createElement(ui_1.DialogCloseButton, null,
|
|
158
|
+
react_1.default.createElement(icons_1.Cross2Icon, null)))))));
|
|
61
159
|
};
|
|
62
160
|
exports.MergeCellsSelector = MergeCellsSelector;
|
package/dist/cjs/config.d.ts
CHANGED
|
@@ -112,4 +112,10 @@ export declare const IndexedColors: readonly string[];
|
|
|
112
112
|
* partial area, Cut, Copy of areas that do not line up (#647 UI-07).
|
|
113
113
|
*/
|
|
114
114
|
export declare const MULTIPLE_SELECTIONS_ERROR = "That command cannot be used on multiple selections.";
|
|
115
|
+
/**
|
|
116
|
+
* Excel's refusal for Copy / Cut of a multi-area (Ctrl-click) selection it
|
|
117
|
+
* cannot lay out as one rectangle: areas that share neither the same rows nor
|
|
118
|
+
* the same columns, or a cut of more than one area (#37265 E10).
|
|
119
|
+
*/
|
|
120
|
+
export declare const MULTIPLE_SELECTIONS_CLIPBOARD_ERROR = "This action won't work on multiple selections.";
|
|
115
121
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/cjs/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../config.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/config.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DEFAULT_OVERLAY_POSITION = exports.SELECTION_BORDER = exports.SELECTION_BG = exports.DEFAULT_HEADER_SELECTED_TABLE_BG = exports.DEFAULT_HEADER_ACTIVE_TABLE_BG_DARK = exports.DEFAULT_HEADER_ACTIVE_TABLE_BG = exports.DEFAULT_HEADER_TABLE_BG_DARK = exports.DEFAULT_HEADER_TABLE_BG = exports.DEFAULT_HEADER_SELECTED_BG = exports.DEFAULT_HEADER_ACTIVE_BG_DARK = exports.DEFAULT_HEADER_ACTIVE_BG = exports.DEFAULT_HEADER_BG_DARK = exports.DEFAULT_HEADER_BG = exports.DEFAULT_HEADER_BORDER_COLOR_DARK = exports.DEFAULT_HEADER_BORDER_COLOR = exports.DEFAULT_HEADER_COLOR_DARK = exports.DEFAULT_HEADER_COLOR = exports.GRIDLINE_COLOR_DARK = exports.GRIDLINE_COLOR = exports.DEFAULT_CELL_BACKGROUND_COLOR_DARK = exports.DEFAULT_CELL_BACKGROUND_COLOR = exports.DEFAULT_CELL_COLOR_DARK = exports.DEFAULT_CELL_COLOR = exports.HEADER_TEXT_FORMAT = exports.DEFAULT_CELL_FORMAT = exports.DEFAULT_TEXT_FORMAT = exports.FORMULA_FONT_CONFIG = exports.EDITOR_FORMULA_VERTICAL_ALIGNMENT = exports.EDITOR_VERTICAL_ALIGNMENT = exports.CELL_HORIZONTAL_ALIGNMENT = exports.CELL_VERTICAL_ALIGNMENT = exports.MIN_COLUMN_WIDTH = exports.INDENT_SPACING = exports.DEFAULT_CELL_SPACING = exports.OUTLINE_GUTTER_PAD_PX = exports.OUTLINE_GUTTER_LEVEL_PX = exports.COLUMN_HEADER_HEIGHT = exports.ROW_HEADER_WIDTH = exports.DEFAULT_COLUMN_WIDTH = exports.DEFAULT_ROW_HEIGHT = exports.DEFAULT_FONT_SIZE_PT = exports.DEFAULT_COLUMN_COUNT = exports.DEFAULT_ROW_COUNT = exports.MAX_COLUMN_COUNT = exports.MAX_ROW_COUNT = exports.DEFAULT_SCROLL_POSITION = exports.FROZEN_EMPTY_ARRAY = exports.DEFAULT_ARRAY = exports.DEFAULT_SELECTIONS = exports.DEFAULT_ACTIVE_CELL = void 0;
|
|
4
|
-
exports.MULTIPLE_SELECTIONS_ERROR = exports.IndexedColors = exports.URL_REGEX = exports.EMAIL_REGEX = exports.BLANK_LABEL = exports.VALIDATION_CONDITION_LABELS = exports.CONDITION_NONE = exports.CONDITION_LABELS = exports.SCROLLBAR_SIZE_FIREFOX = exports.SCROLLBAR_SIZE = exports.FORMULA_BAR_HEIGHT = exports.DEFAULT_CELL_INPUT_LINE_HEIGHT = exports.COMMENT_COLOR = exports.NOTE_COLOR = exports.ERROR_COLOR = exports.INVALID_COLOR = exports.HEADER_MENU_DIM = exports.CF_ICON_SPACING = exports.CF_ICON_WIDTH = exports.EXPAND_COLLAPSE_ICON_WIDTH = exports.COLLAPSE_ICON_PATH = exports.EXPAND_ICON_PATH = exports.CHECKBOX_ICON_WIDTH = exports.CHECKBOX_ICON_ACTIVE_COLOR = exports.CHECKBOX_ICON_COLOR = exports.CHECKBOX_CHECKED_ICON_PATH = exports.CHECKBOX_ICON_PATH = exports.SORT_DESCENDING_ICON_PATH = exports.SORT_ASCENDING_ICON_PATH = exports.FILTER_ICON_WIDTH = exports.FUNNEL_ICON_PATH = exports.FITLER_ICON_PATH = exports.CALCULATED_ICON_HEIGHT = exports.CALCULATED_ICON_WIDTH = exports.CHIP_COLOR_DARK = exports.CHIP_COLOR = exports.CHIP_RADIUS = exports.CHIP_HEIGHT = exports.CHIP_SPACING = exports.ARROW_DOWN_COLOR = exports.ARROW_DOWN_WIDTH = exports.ARROW_DOWN_ICON_PATH = exports.defaultSpreadsheetTheme = void 0;
|
|
4
|
+
exports.MULTIPLE_SELECTIONS_CLIPBOARD_ERROR = exports.MULTIPLE_SELECTIONS_ERROR = exports.IndexedColors = exports.URL_REGEX = exports.EMAIL_REGEX = exports.BLANK_LABEL = exports.VALIDATION_CONDITION_LABELS = exports.CONDITION_NONE = exports.CONDITION_LABELS = exports.SCROLLBAR_SIZE_FIREFOX = exports.SCROLLBAR_SIZE = exports.FORMULA_BAR_HEIGHT = exports.DEFAULT_CELL_INPUT_LINE_HEIGHT = exports.COMMENT_COLOR = exports.NOTE_COLOR = exports.ERROR_COLOR = exports.INVALID_COLOR = exports.HEADER_MENU_DIM = exports.CF_ICON_SPACING = exports.CF_ICON_WIDTH = exports.EXPAND_COLLAPSE_ICON_WIDTH = exports.COLLAPSE_ICON_PATH = exports.EXPAND_ICON_PATH = exports.CHECKBOX_ICON_WIDTH = exports.CHECKBOX_ICON_ACTIVE_COLOR = exports.CHECKBOX_ICON_COLOR = exports.CHECKBOX_CHECKED_ICON_PATH = exports.CHECKBOX_ICON_PATH = exports.SORT_DESCENDING_ICON_PATH = exports.SORT_ASCENDING_ICON_PATH = exports.FILTER_ICON_WIDTH = exports.FUNNEL_ICON_PATH = exports.FITLER_ICON_PATH = exports.CALCULATED_ICON_HEIGHT = exports.CALCULATED_ICON_WIDTH = exports.CHIP_COLOR_DARK = exports.CHIP_COLOR = exports.CHIP_RADIUS = exports.CHIP_HEIGHT = exports.CHIP_SPACING = exports.ARROW_DOWN_COLOR = exports.ARROW_DOWN_WIDTH = exports.ARROW_DOWN_ICON_PATH = exports.defaultSpreadsheetTheme = void 0;
|
|
5
5
|
var tslib_1 = require("tslib");
|
|
6
6
|
var themes_1 = require("./themes");
|
|
7
7
|
exports.DEFAULT_ACTIVE_CELL = Object.freeze({
|
|
@@ -304,3 +304,9 @@ exports.IndexedColors = Object.freeze([
|
|
|
304
304
|
* partial area, Cut, Copy of areas that do not line up (#647 UI-07).
|
|
305
305
|
*/
|
|
306
306
|
exports.MULTIPLE_SELECTIONS_ERROR = "That command cannot be used on multiple selections.";
|
|
307
|
+
/**
|
|
308
|
+
* Excel's refusal for Copy / Cut of a multi-area (Ctrl-click) selection it
|
|
309
|
+
* cannot lay out as one rectangle: areas that share neither the same rows nor
|
|
310
|
+
* the same columns, or a cut of more than one area (#37265 E10).
|
|
311
|
+
*/
|
|
312
|
+
exports.MULTIPLE_SELECTIONS_CLIPBOARD_ERROR = "This action won't work on multiple selections.";
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { type GridRange } from "@rowsncolumns/grid";
|
|
2
2
|
import type { CanvasGridProps, SpreadsheetTheme } from "../components/canvas-grid/typings";
|
|
3
3
|
import type { CellData, CellFormat, ConditionalFormatRule, CustomFormulaResult } from "../types";
|
|
4
|
+
/**
|
|
5
|
+
* Merge a lower-priority rule's format under an already-applied one, per
|
|
6
|
+
* property (Excel's stacking): every property the higher-priority format
|
|
7
|
+
* left unset is taken from `lower`; a property both set keeps `higher`'s
|
|
8
|
+
* value. `textFormat` and `borders` merge one level deeper for the same
|
|
9
|
+
* reason — rule 1's font colour and rule 2's bold both apply.
|
|
10
|
+
*/
|
|
11
|
+
export declare const layerConditionalFormat: (higher: CellFormat, lower: CellFormat) => CellFormat;
|
|
4
12
|
export type UseConditionalFormattingProps<T extends CellData> = {
|
|
5
13
|
sheetId: number;
|
|
6
14
|
theme: SpreadsheetTheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-conditional-formatting.d.ts","sourceRoot":"","sources":["../../../hooks/use-conditional-formatting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAoBpE,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAGlB,MAAM,MAAM,6BAA6B,CAAC,CAAC,SAAS,QAAQ,IAAI;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC;IACxB,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,CAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,qBAAqB,KACzB,mBAAmB,CAAC;IACzB,aAAa,CACX,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IACX,gBAAgB,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;IACtD,mBAAmB,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC5D;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B;;;;;;;;;OASG;IACH,0BAA0B,CAAC,EAAE,CAC3B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,qBAAqB,CAAC,IAAI,CAAC,KAChC,OAAO,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,QAAQ,EAAE,iLAW1D,6BAA6B,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"use-conditional-formatting.d.ts","sourceRoot":"","sources":["../../../hooks/use-conditional-formatting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAoBpE,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAGlB;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GACjC,QAAQ,UAAU,EAClB,OAAO,UAAU,KAChB,UAYF,CAAC;AAaF,MAAM,MAAM,6BAA6B,CAAC,CAAC,SAAS,QAAQ,IAAI;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC;IACxB,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,CAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,qBAAqB,KACzB,mBAAmB,CAAC;IACzB,aAAa,CACX,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IACX,gBAAgB,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;IACtD,mBAAmB,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC5D;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B;;;;;;;;;OASG;IACH,0BAA0B,CAAC,EAAE,CAC3B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,qBAAqB,CAAC,IAAI,CAAC,KAChC,OAAO,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,QAAQ,EAAE,iLAW1D,6BAA6B,CAAC,CAAC,CAAC,wCA0pBlC,CAAC"}
|