@rowsncolumns/spreadsheet-state 28.0.76 → 29.0.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/cjs/api/copy-paste.d.ts +8 -1
- package/dist/cjs/api/copy-paste.d.ts.map +1 -1
- package/dist/cjs/api/copy-paste.js +4 -2
- package/dist/cjs/api/immer-utils.d.ts +11 -1
- package/dist/cjs/api/immer-utils.d.ts.map +1 -1
- package/dist/cjs/api/immer-utils.js +17 -1
- package/dist/cjs/api/insert-cut-cells.d.ts +35 -0
- package/dist/cjs/api/insert-cut-cells.d.ts.map +1 -0
- package/dist/cjs/api/insert-cut-cells.js +60 -0
- package/dist/cjs/api/merges.d.ts +8 -0
- package/dist/cjs/api/merges.d.ts.map +1 -1
- package/dist/cjs/api/merges.js +11 -0
- package/dist/cjs/api/subtotal.d.ts +20 -13
- package/dist/cjs/api/subtotal.d.ts.map +1 -1
- package/dist/cjs/api/subtotal.js +26 -19
- package/dist/cjs/commands.d.ts +9 -0
- package/dist/cjs/commands.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-copy.d.ts +1 -1
- package/dist/cjs/hooks/use-on-copy.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-copy.js +2 -3
- package/dist/cjs/hooks/use-on-move-columns.d.ts +2 -1
- package/dist/cjs/hooks/use-on-move-columns.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-move-columns.js +14 -5
- package/dist/cjs/hooks/use-on-move-rows.d.ts +16 -1
- package/dist/cjs/hooks/use-on-move-rows.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-move-rows.js +30 -5
- package/dist/cjs/hooks/use-on-move-selection.d.ts +7 -2
- package/dist/cjs/hooks/use-on-move-selection.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-move-selection.js +14 -1
- package/dist/cjs/hooks/use-on-paste.d.ts +12 -2
- package/dist/cjs/hooks/use-on-paste.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-paste.js +56 -8
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts +14 -3
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/cjs/hooks/use-spreadsheet-state.js +80 -3
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/interface/delete-column.d.ts.map +1 -1
- package/dist/cjs/interface/delete-column.js +20 -20
- package/dist/cjs/interface/delete-row.d.ts.map +1 -1
- package/dist/cjs/interface/delete-row.js +21 -21
- package/dist/cjs/interface/insert-column.d.ts.map +1 -1
- package/dist/cjs/interface/insert-column.js +34 -18
- package/dist/cjs/interface/insert-row.d.ts.map +1 -1
- package/dist/cjs/interface/insert-row.js +16 -5
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/api/copy-paste.d.ts +8 -1
- package/dist/esm/api/copy-paste.d.ts.map +1 -1
- package/dist/esm/api/copy-paste.js +4 -2
- package/dist/esm/api/immer-utils.d.ts +11 -1
- package/dist/esm/api/immer-utils.d.ts.map +1 -1
- package/dist/esm/api/immer-utils.js +16 -0
- package/dist/esm/api/insert-cut-cells.d.ts +35 -0
- package/dist/esm/api/insert-cut-cells.d.ts.map +1 -0
- package/dist/esm/api/insert-cut-cells.js +67 -0
- package/dist/esm/api/merges.d.ts +8 -0
- package/dist/esm/api/merges.d.ts.map +1 -1
- package/dist/esm/api/merges.js +9 -0
- package/dist/esm/api/subtotal.d.ts +20 -13
- package/dist/esm/api/subtotal.d.ts.map +1 -1
- package/dist/esm/api/subtotal.js +15 -8
- package/dist/esm/commands.d.ts +9 -0
- package/dist/esm/commands.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-copy.d.ts +1 -1
- package/dist/esm/hooks/use-on-copy.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-copy.js +2 -3
- package/dist/esm/hooks/use-on-move-columns.d.ts +2 -1
- package/dist/esm/hooks/use-on-move-columns.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-move-columns.js +14 -5
- package/dist/esm/hooks/use-on-move-rows.d.ts +16 -1
- package/dist/esm/hooks/use-on-move-rows.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-move-rows.js +30 -5
- package/dist/esm/hooks/use-on-move-selection.d.ts +7 -2
- package/dist/esm/hooks/use-on-move-selection.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-move-selection.js +14 -1
- package/dist/esm/hooks/use-on-paste.d.ts +12 -2
- package/dist/esm/hooks/use-on-paste.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-paste.js +41 -2
- package/dist/esm/hooks/use-spreadsheet-state.d.ts +14 -3
- package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/esm/hooks/use-spreadsheet-state.js +80 -2
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/interface/delete-column.d.ts.map +1 -1
- package/dist/esm/interface/delete-column.js +17 -28
- package/dist/esm/interface/delete-row.d.ts.map +1 -1
- package/dist/esm/interface/delete-row.js +18 -29
- package/dist/esm/interface/insert-column.d.ts.map +1 -1
- package/dist/esm/interface/insert-column.js +22 -10
- package/dist/esm/interface/insert-row.d.ts.map +1 -1
- package/dist/esm/interface/insert-row.js +13 -4
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +12 -12
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { __assign, __read, __rest, __values } from "tslib";
|
|
1
|
+
import { __assign, __read, __rest, __spreadArray, __values } from "tslib";
|
|
2
2
|
import { isCellNode } from "@rowsncolumns/dag";
|
|
3
3
|
import { isCellWithinBounds } from "@rowsncolumns/grid";
|
|
4
4
|
import { createNewSheet, DEFAULT_COLUMN_COUNT, DEFAULT_ROW_COUNT, useGetCellDimensions, useGetColumnWidth, useGetContentfulRangeAroundCell, useGetEffectiveValuesFromRange, useGetRowHeight, } from "@rowsncolumns/spreadsheet";
|
|
5
5
|
import { useFonts } from "@rowsncolumns/spreadsheet";
|
|
6
6
|
import { getBandedCells } from "@rowsncolumns/spreadsheet";
|
|
7
7
|
import { defaultSpreadsheetTheme, useCallbackRef, useSpreadsheetTheme, } from "@rowsncolumns/spreadsheet";
|
|
8
|
-
import { findMatchingBandProperty, getCurrentLocale, isNil, setDefaultEnableAtFormula, uuid, } from "@rowsncolumns/utils";
|
|
8
|
+
import { findMatchingBandProperty, getCurrentLocale, getFormulaLocale, isNil, setDefaultEnableAtFormula, uuid, } from "@rowsncolumns/utils";
|
|
9
9
|
import { enableMapSet, enablePatches, setUseStrictShallowCopy } from "immer";
|
|
10
10
|
import { useCallback, useEffect, useMemo, useRef } from "react";
|
|
11
11
|
import { getAutoFillValues as defaultGetAutoFillValues } from "../api/fill";
|
|
@@ -84,6 +84,10 @@ import { useOnMergeUnMergeCells } from "./use-on-merge-unmerge-cells";
|
|
|
84
84
|
import { useOnMoveColumns } from "./use-on-move-columns";
|
|
85
85
|
import { useOnMoveRows } from "./use-on-move-rows";
|
|
86
86
|
import { useOnMoveSelection } from "./use-on-move-selection";
|
|
87
|
+
import { planInsertCutCells } from "../api/insert-cut-cells";
|
|
88
|
+
import { findPartiallyCoveredMerge, MERGED_CELL_MOVE_ERROR } from "../api/merges";
|
|
89
|
+
import { useShowError } from "../atoms/error-state.atom";
|
|
90
|
+
import { SHEET_PROTECTION_ERROR_TITLE, useCanEditCellRange, useCanPerformSheetAction, } from "./use-can-edit-cellrange";
|
|
87
91
|
import { useOnMoveSheet } from "./use-on-move-sheet";
|
|
88
92
|
import { useOnPaste } from "./use-on-paste";
|
|
89
93
|
import { useOnProtectRange } from "./use-on-protect-range";
|
|
@@ -241,7 +245,7 @@ export var useSpreadsheetState = function (_a) {
|
|
|
241
245
|
// Current locale
|
|
242
246
|
_h = _a.locale,
|
|
243
247
|
// Current locale
|
|
244
|
-
locale = _h === void 0 ? getCurrentLocale() : _h,
|
|
248
|
+
locale = _h === void 0 ? getCurrentLocale() : _h, formulaLocaleProp = _a.formulaLocale,
|
|
245
249
|
// Templates for auto-generated names (sheets, tables, table columns)
|
|
246
250
|
generatedNamesProp = _a.generatedNames, _j = _a.enableAtFormula, enableAtFormula = _j === void 0 ? false : _j,
|
|
247
251
|
// Preserve data formatting like color, font style on paste
|
|
@@ -995,6 +999,8 @@ export var useSpreadsheetState = function (_a) {
|
|
|
995
999
|
onCommand: onCommand,
|
|
996
1000
|
});
|
|
997
1001
|
// Locale change - regenerate formatted values and normalize validation rules
|
|
1002
|
+
// The formula syntax the editors speak — Excel follows the user's language, so `locale` by default.
|
|
1003
|
+
var formulaLocale = useMemo(function () { return getFormulaLocale(formulaLocaleProp !== null && formulaLocaleProp !== void 0 ? formulaLocaleProp : locale); }, [formulaLocaleProp, locale]);
|
|
998
1004
|
var onChangeLocale = useOnLocaleChange({
|
|
999
1005
|
cellXfsRegistry: cellXfsRegistry,
|
|
1000
1006
|
sharedStringRegistry: sharedStringRegistry,
|
|
@@ -1334,6 +1340,7 @@ export var useSpreadsheetState = function (_a) {
|
|
|
1334
1340
|
var onMoveSelection = useOnMoveSelection({
|
|
1335
1341
|
rowCount: rowCount,
|
|
1336
1342
|
columnCount: columnCount,
|
|
1343
|
+
getSheetMerges: getPaintMerges,
|
|
1337
1344
|
enqueueGraphOperation: enqueueGraphOperation,
|
|
1338
1345
|
enqueueCalculation: enqueueCalculation,
|
|
1339
1346
|
enqueueStructureChange: enqueueStructureChange,
|
|
@@ -1354,6 +1361,71 @@ export var useSpreadsheetState = function (_a) {
|
|
|
1354
1361
|
sharedStringRegistry: sharedStringRegistry,
|
|
1355
1362
|
onCommand: onCommand,
|
|
1356
1363
|
});
|
|
1364
|
+
// Excel "Insert Cut Cells" / Shift+drag for a cell range, as the three structural steps the
|
|
1365
|
+
// hooks above own (`planInsertCutCells`): open the destination band, move the block into the
|
|
1366
|
+
// opening, close the gap it left — so Shift+drag A5 to A2 over r1..r6 gives r1 r5 r2 r3 r4 r6 and
|
|
1367
|
+
// a forward move lands before Excel's pre-removal reference row. The refusals are decided up
|
|
1368
|
+
// front — a merge the block or a shifted band covers only partially, a protected range — so a
|
|
1369
|
+
// refused move never leaves the band opened. Each step records its own undo entry.
|
|
1370
|
+
var showError = useShowError();
|
|
1371
|
+
var canEditCellRange = useCanEditCellRange();
|
|
1372
|
+
var canPerformSheetAction = useCanPerformSheetAction();
|
|
1373
|
+
var onInsertCutCells = useCallback(function (sheetId, from, to) {
|
|
1374
|
+
var plan = planInsertCutCells(from.range, to.range);
|
|
1375
|
+
if (!plan) {
|
|
1376
|
+
return;
|
|
1377
|
+
}
|
|
1378
|
+
var merges = getPaintMerges(sheetId);
|
|
1379
|
+
if (__spreadArray([from.range, to.range], __read(plan.bands), false).some(function (range) {
|
|
1380
|
+
return findPartiallyCoveredMerge(range, merges);
|
|
1381
|
+
})) {
|
|
1382
|
+
showError({ message: MERGED_CELL_MOVE_ERROR });
|
|
1383
|
+
return;
|
|
1384
|
+
}
|
|
1385
|
+
var vertical = plan.shift === "down";
|
|
1386
|
+
if (!canEditCellRange(sheetId, from.range) ||
|
|
1387
|
+
!canEditCellRange(sheetId, to.range) ||
|
|
1388
|
+
!canPerformSheetAction(sheetId, vertical ? "insertRows" : "insertColumns") ||
|
|
1389
|
+
!canPerformSheetAction(sheetId, vertical ? "deleteRows" : "deleteColumns")) {
|
|
1390
|
+
showError({
|
|
1391
|
+
title: SHEET_PROTECTION_ERROR_TITLE,
|
|
1392
|
+
message: "You can't move cells on a protected sheet.",
|
|
1393
|
+
});
|
|
1394
|
+
return;
|
|
1395
|
+
}
|
|
1396
|
+
var target = {
|
|
1397
|
+
rowIndex: to.range.startRowIndex,
|
|
1398
|
+
columnIndex: to.range.startColumnIndex,
|
|
1399
|
+
};
|
|
1400
|
+
if (vertical) {
|
|
1401
|
+
onInsertCellsShiftDown(sheetId, target, [to]);
|
|
1402
|
+
}
|
|
1403
|
+
else {
|
|
1404
|
+
onInsertCellsShiftRight(sheetId, target, [to]);
|
|
1405
|
+
}
|
|
1406
|
+
var source = __assign(__assign({}, from), { range: plan.shiftedSource });
|
|
1407
|
+
onMoveSelection(sheetId, source, to);
|
|
1408
|
+
var vacated = {
|
|
1409
|
+
rowIndex: plan.shiftedSource.startRowIndex,
|
|
1410
|
+
columnIndex: plan.shiftedSource.startColumnIndex,
|
|
1411
|
+
};
|
|
1412
|
+
if (vertical) {
|
|
1413
|
+
onDeleteCellsShiftUp(sheetId, vacated, [source]);
|
|
1414
|
+
}
|
|
1415
|
+
else {
|
|
1416
|
+
onDeleteCellsShiftLeft(sheetId, vacated, [source]);
|
|
1417
|
+
}
|
|
1418
|
+
}, [
|
|
1419
|
+
getPaintMerges,
|
|
1420
|
+
showError,
|
|
1421
|
+
canEditCellRange,
|
|
1422
|
+
canPerformSheetAction,
|
|
1423
|
+
onInsertCellsShiftDown,
|
|
1424
|
+
onInsertCellsShiftRight,
|
|
1425
|
+
onDeleteCellsShiftUp,
|
|
1426
|
+
onDeleteCellsShiftLeft,
|
|
1427
|
+
onMoveSelection,
|
|
1428
|
+
]);
|
|
1357
1429
|
// Sort column
|
|
1358
1430
|
var onSortColumn = useOnSortColumn({
|
|
1359
1431
|
rowCount: rowCount,
|
|
@@ -1449,6 +1521,8 @@ export var useSpreadsheetState = function (_a) {
|
|
|
1449
1521
|
columnCount: columnCount,
|
|
1450
1522
|
locale: locale,
|
|
1451
1523
|
sheetData: sheetData,
|
|
1524
|
+
onChangeNamedRanges: onChangeNamedRanges,
|
|
1525
|
+
getSheetMerges: getPaintMerges,
|
|
1452
1526
|
getDataValidationById: getDataValidationById,
|
|
1453
1527
|
preserveFormatting: preserveFormattingOnPaste,
|
|
1454
1528
|
maxColumnCount: maxColumnCount,
|
|
@@ -2047,6 +2121,7 @@ export var useSpreadsheetState = function (_a) {
|
|
|
2047
2121
|
onMoveColumns: onMoveColumns,
|
|
2048
2122
|
onMoveRows: onMoveRows,
|
|
2049
2123
|
onMoveSelection: onMoveSelection,
|
|
2124
|
+
onInsertCutCells: onInsertCutCells,
|
|
2050
2125
|
onSortColumn: onSortColumn,
|
|
2051
2126
|
onSortTable: onSortTable,
|
|
2052
2127
|
onFilterTable: onFilterTable,
|
|
@@ -2164,6 +2239,8 @@ export var useSpreadsheetState = function (_a) {
|
|
|
2164
2239
|
onClearHistory: onClearHistory,
|
|
2165
2240
|
// Locale change
|
|
2166
2241
|
onChangeLocale: onChangeLocale,
|
|
2242
|
+
// Resolved formula syntax locale (see the `formulaLocale` option)
|
|
2243
|
+
formulaLocale: formulaLocale,
|
|
2167
2244
|
// Comments
|
|
2168
2245
|
onInsertComment: onInsertComment,
|
|
2169
2246
|
onRemoveComment: onRemoveComment,
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export * from "./sheet-cell";
|
|
|
18
18
|
export { useSubscribeToSheet, useSubscribeToMultipleRanges, } from "./hooks/use-sheet-observer";
|
|
19
19
|
export * from "./helpers";
|
|
20
20
|
export * from "./api/fill";
|
|
21
|
+
export * from "./api/insert-cut-cells";
|
|
21
22
|
export * from "./api/immer-utils";
|
|
22
23
|
export * from "./api/range";
|
|
23
24
|
export * from "./api/anchored-objects";
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,WAAW,EACX,SAAS,EACT,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,4BAA4B,EAC5B,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,KAAK,2BAA2B,GACjC,MAAM,qBAAqB,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oCAAoC,CAAC;AACnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,4BAA4B,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAG7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,WAAW,EACX,SAAS,EACT,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,4BAA4B,EAC5B,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,KAAK,2BAA2B,GACjC,MAAM,qBAAqB,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oCAAoC,CAAC;AACnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,4BAA4B,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAG7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -18,6 +18,7 @@ export * from "./sheet-cell";
|
|
|
18
18
|
export { useSubscribeToSheet, useSubscribeToMultipleRanges, } from "./hooks/use-sheet-observer";
|
|
19
19
|
export * from "./helpers";
|
|
20
20
|
export * from "./api/fill";
|
|
21
|
+
export * from "./api/insert-cut-cells";
|
|
21
22
|
export * from "./api/immer-utils";
|
|
22
23
|
export * from "./api/range";
|
|
23
24
|
export * from "./api/anchored-objects";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-column.d.ts","sourceRoot":"","sources":["../../../interface/delete-column.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"delete-column.d.ts","sourceRoot":"","sources":["../../../interface/delete-column.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAsBjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAG5E,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,0hBA+B/D,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,MACrB,SAAS,MAAM,EAAE,eAAe,MAAM,EAAE,SA8bjD,CAAC"}
|
|
@@ -5,7 +5,6 @@ import { shiftChartsOnStructuralChange, shiftEmbedsOnStructuralChange, shiftProt
|
|
|
5
5
|
import { shrinkMergesOnColumnDelete } from "../api/merges";
|
|
6
6
|
import { updateNamedRangesOnStructuralChange, updatePrintSettingsOnStructuralChange, } from "../api/named-range-structural";
|
|
7
7
|
import { shiftPivotsOnDelete } from "../api/pivot-range";
|
|
8
|
-
import { updateSheetRangeOnDelete } from "../api/range";
|
|
9
8
|
import { updateRangedRulesOnStructuralChange } from "../api/range-rule-helpers";
|
|
10
9
|
import { moveFilterView } from "../api/selection";
|
|
11
10
|
import { updateFormulasForStructuralChange } from "../api/structural-formula-update";
|
|
@@ -32,31 +31,32 @@ export var deleteColumn = function (_a) {
|
|
|
32
31
|
var activeCell = getActiveCell();
|
|
33
32
|
var selections = getSelections();
|
|
34
33
|
var newColumnCount = Math.max(1, columnCount - count);
|
|
35
|
-
//
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
nextActiveColumnIndex = newColumnCount;
|
|
47
|
-
}
|
|
34
|
+
// Excel keeps the selection where it was (UI-02, column twin): after
|
|
35
|
+
// deleting columns C:D the selection still reads C:D — now over the
|
|
36
|
+
// columns that moved left — and the active cell sits in the first deleted
|
|
37
|
+
// column. Every coordinate loses the deleted columns that lie BEFORE it.
|
|
38
|
+
var deletedBefore = function (columnIndex) {
|
|
39
|
+
return sortedColumnIndexes.filter(function (index) { return index < columnIndex; }).length;
|
|
40
|
+
};
|
|
41
|
+
var clampColumn = function (columnIndex) {
|
|
42
|
+
return Math.min(Math.max(1, columnIndex), newColumnCount);
|
|
43
|
+
};
|
|
44
|
+
var nextActiveColumnIndex = clampColumn(activeCell.columnIndex - deletedBefore(activeCell.columnIndex));
|
|
48
45
|
var nextActiveCell = nextActiveColumnIndex === activeCell.columnIndex
|
|
49
46
|
? activeCell
|
|
50
47
|
: __assign(__assign({}, activeCell), { columnIndex: nextActiveColumnIndex });
|
|
51
|
-
var fallbackSelectionColumnIndex = nextActiveCell.columnIndex;
|
|
52
48
|
var nextSelections = selections.map(function (selection) {
|
|
53
49
|
if (!selection.range)
|
|
54
50
|
return selection;
|
|
55
|
-
var
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
51
|
+
var _a = selection.range, startColumnIndex = _a.startColumnIndex, endColumnIndex = _a.endColumnIndex;
|
|
52
|
+
var deletedWithin = sortedColumnIndexes.filter(function (index) { return index >= startColumnIndex && index <= endColumnIndex; }).length;
|
|
53
|
+
var size = endColumnIndex - startColumnIndex + 1;
|
|
54
|
+
var nextStart = clampColumn(startColumnIndex - deletedBefore(startColumnIndex));
|
|
55
|
+
// A partially covered area shrinks by the columns it lost; an area
|
|
56
|
+
// deleted outright keeps its size (it now frames the columns that moved
|
|
57
|
+
// left).
|
|
58
|
+
var nextSize = deletedWithin < size ? size - deletedWithin : size;
|
|
59
|
+
return __assign(__assign({}, selection), { range: __assign(__assign({}, selection.range), { startColumnIndex: nextStart, endColumnIndex: clampColumn(nextStart + nextSize - 1) }) });
|
|
60
60
|
});
|
|
61
61
|
// Tables: shift / shrink, plus column-specific filter+sort spec updates
|
|
62
62
|
// and table-column splice for partially-overlapped tables.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-row.d.ts","sourceRoot":"","sources":["../../../interface/delete-row.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"delete-row.d.ts","sourceRoot":"","sources":["../../../interface/delete-row.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAsBjE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,0hBA+B5D,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,MAClB,SAAS,MAAM,EAAE,YAAY,MAAM,EAAE,SAyY9C,CAAC"}
|
|
@@ -5,7 +5,6 @@ import { shiftChartsOnStructuralChange, shiftEmbedsOnStructuralChange, shiftProt
|
|
|
5
5
|
import { shrinkMergesOnRowDelete } from "../api/merges";
|
|
6
6
|
import { updateNamedRangesOnStructuralChange, updatePrintSettingsOnStructuralChange, } from "../api/named-range-structural";
|
|
7
7
|
import { shiftPivotsOnDelete } from "../api/pivot-range";
|
|
8
|
-
import { updateSheetRangeOnDelete } from "../api/range";
|
|
9
8
|
import { updateRangedRulesOnStructuralChange } from "../api/range-rule-helpers";
|
|
10
9
|
import { moveFilterView } from "../api/selection";
|
|
11
10
|
import { updateFormulasForStructuralChange } from "../api/structural-formula-update";
|
|
@@ -33,32 +32,33 @@ export var deleteRow = function (_a) {
|
|
|
33
32
|
var activeCell = getActiveCell();
|
|
34
33
|
var selections = getSelections();
|
|
35
34
|
var newRowCount = Math.max(1, rowCount - count);
|
|
36
|
-
//
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
35
|
+
// Excel keeps the selection where it was (UI-02): after deleting rows 3:4
|
|
36
|
+
// the selection still reads 3:4 — now over the rows that moved up — and
|
|
37
|
+
// the active cell sits in the first deleted row. Every coordinate simply
|
|
38
|
+
// loses the deleted rows that lie BEFORE it, so an area entirely inside
|
|
39
|
+
// the deleted band keeps its place while areas below slide up; partially
|
|
40
|
+
// overlapping areas shrink like any other range.
|
|
41
|
+
var deletedBefore = function (rowIndex) {
|
|
42
|
+
return sortedRowIndexes.filter(function (index) { return index < rowIndex; }).length;
|
|
43
|
+
};
|
|
44
|
+
var clampRow = function (rowIndex) {
|
|
45
|
+
return Math.min(Math.max(1, rowIndex), newRowCount);
|
|
46
|
+
};
|
|
47
|
+
var nextActiveRowIndex = clampRow(activeCell.rowIndex - deletedBefore(activeCell.rowIndex));
|
|
50
48
|
var nextActiveCell = nextActiveRowIndex === activeCell.rowIndex
|
|
51
49
|
? activeCell
|
|
52
50
|
: __assign(__assign({}, activeCell), { rowIndex: nextActiveRowIndex });
|
|
53
|
-
var fallbackSelectionRowIndex = nextActiveCell.rowIndex;
|
|
54
51
|
var nextSelections = selections.map(function (selection) {
|
|
55
52
|
if (!selection.range)
|
|
56
53
|
return selection;
|
|
57
|
-
var
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
54
|
+
var _a = selection.range, startRowIndex = _a.startRowIndex, endRowIndex = _a.endRowIndex;
|
|
55
|
+
var deletedWithin = sortedRowIndexes.filter(function (index) { return index >= startRowIndex && index <= endRowIndex; }).length;
|
|
56
|
+
var size = endRowIndex - startRowIndex + 1;
|
|
57
|
+
var nextStart = clampRow(startRowIndex - deletedBefore(startRowIndex));
|
|
58
|
+
// A partially covered area shrinks by the rows it lost; an area deleted
|
|
59
|
+
// outright keeps its size (it now frames the rows that moved up).
|
|
60
|
+
var nextSize = deletedWithin < size ? size - deletedWithin : size;
|
|
61
|
+
return __assign(__assign({}, selection), { range: __assign(__assign({}, selection.range), { startRowIndex: nextStart, endRowIndex: clampRow(nextStart + nextSize - 1) }) });
|
|
62
62
|
});
|
|
63
63
|
// Tables: shrink/move based on overlap with deletion; drop tables
|
|
64
64
|
// whose header row is removed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert-column.d.ts","sourceRoot":"","sources":["../../../interface/insert-column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"insert-column.d.ts","sourceRoot":"","sources":["../../../interface/insert-column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAkC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,mgBA8B/D,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,MACrB,SAAS,MAAM,EAAE,sBAAsB,MAAM,EAAE,mBAAc,SAoatE,CAAC;AAMF,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,qQAiBpE,IAAI,CACL,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EACnB,QAAQ,GACR,aAAa,GACb,UAAU,GACV,QAAQ,GACR,iBAAiB,GACjB,sBAAsB,GACtB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,mBAAmB,GACnB,oBAAoB,GACpB,wBAAwB,GACxB,uBAAuB,GACvB,eAAe,GACf,cAAc,GACd,gBAAgB,CACnB,MAEG,WAAW,SAAS,EACpB,gBAAgB,MAAM,EACtB,WAAW,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,SA2V9C,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { __assign, __read, __spreadArray, __values } from "tslib";
|
|
2
2
|
import { Direction } from "@rowsncolumns/common-types";
|
|
3
|
+
import { isNil } from "@rowsncolumns/utils";
|
|
3
4
|
import { produceWithPatches } from "immer";
|
|
4
5
|
import { shiftChartsOnStructuralChange, shiftEmbedsOnStructuralChange, shiftProtectedRangesOnStructuralChange, } from "../api/anchored-objects";
|
|
5
6
|
import { collectUniqueDependentsForRange, moveFormulaAtPosition, } from "../api/dependency";
|
|
6
7
|
import { createSheetCellIdentifier, expandRangesInFormula, } from "../api/formula";
|
|
7
|
-
import { cloneCellWithFormatting, createSheetDraft } from "../api/immer-utils";
|
|
8
|
+
import { cloneCellWithFormatting, createSheetDraft, inheritedDimensionMetadata, } from "../api/immer-utils";
|
|
8
9
|
import { expandMergesOnColumnInsert, moveMergedCells } from "../api/merges";
|
|
9
10
|
import { updateNamedRangesOnStructuralChange, updatePrintSettingsOnStructuralChange, } from "../api/named-range-structural";
|
|
10
11
|
import { shiftPivotsOnInsert } from "../api/pivot-range";
|
|
@@ -196,8 +197,14 @@ export var insertColumn = function (_a) {
|
|
|
196
197
|
if (!sheet)
|
|
197
198
|
return;
|
|
198
199
|
if (sheet.columnMetadata) {
|
|
200
|
+
// Excel "Format Same As Left" (FMT-02) covers the column width and
|
|
201
|
+
// hidden state: the inserted columns inherit the metadata of the
|
|
202
|
+
// column to the left (column A takes the pushed-right column's).
|
|
203
|
+
var inherited_1 = inheritedDimensionMetadata(sheet.columnMetadata, referenceColumnIndex);
|
|
199
204
|
(_a = sheet.columnMetadata).splice.apply(_a, __spreadArray([referenceColumnIndex,
|
|
200
|
-
0], __read(Array.from({ length: numColumns }, function () {
|
|
205
|
+
0], __read(Array.from({ length: numColumns }, function () {
|
|
206
|
+
return inherited_1 ? __assign({}, inherited_1) : null;
|
|
207
|
+
})), false));
|
|
201
208
|
}
|
|
202
209
|
if (sheet.basicFilter) {
|
|
203
210
|
var _e = sheet.basicFilter.range, startColumnIndex = _e.startColumnIndex, endColumnIndex = _e.endColumnIndex;
|
|
@@ -261,7 +268,7 @@ export var insertColumn = function (_a) {
|
|
|
261
268
|
onChangeSheetData === null || onChangeSheetData === void 0 ? void 0 : onChangeSheetData(function (prevSheetData) {
|
|
262
269
|
var _a = __read(produceWithPatches(prevSheetData, function (draft) {
|
|
263
270
|
var e_7, _a;
|
|
264
|
-
var _b, _c, _d, _e
|
|
271
|
+
var _b, _c, _d, _e;
|
|
265
272
|
updateFormulasForStructuralChange({
|
|
266
273
|
draft: draft,
|
|
267
274
|
axis: "column",
|
|
@@ -282,21 +289,30 @@ export var insertColumn = function (_a) {
|
|
|
282
289
|
cellXfsRegistry: cellXfsRegistry,
|
|
283
290
|
sharedStringRegistry: sharedStringRegistry,
|
|
284
291
|
});
|
|
285
|
-
// Insert columns into each row's values array.
|
|
292
|
+
// Insert columns into each row's values array. Excel "Format Same
|
|
293
|
+
// As Left" (FMT-02): every new cell takes the formatting (never the
|
|
294
|
+
// value) of the cell to its LEFT; only an insert at column A seeds
|
|
295
|
+
// from the column being pushed right.
|
|
286
296
|
var sheetRows = draft[sheetId];
|
|
287
297
|
if (sheetRows) {
|
|
298
|
+
var sourceColumnIndex = referenceColumnIndex > 1
|
|
299
|
+
? referenceColumnIndex - 1
|
|
300
|
+
: referenceColumnIndex;
|
|
288
301
|
var _loop_1 = function (rowIndex) {
|
|
289
|
-
var
|
|
302
|
+
var _j;
|
|
290
303
|
var row = sheetRows[rowIndex];
|
|
291
304
|
if (!(row === null || row === void 0 ? void 0 : row.values))
|
|
292
305
|
return "continue";
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
}
|
|
306
|
+
var formattingSource = (_b = row.values[sourceColumnIndex]) !== null && _b !== void 0 ? _b : undefined;
|
|
307
|
+
// Rows that end before the insertion point have nothing to
|
|
308
|
+
// shift; they only grow when there is a format to inherit.
|
|
309
|
+
var hasCellsToShift = row.values.length > referenceColumnIndex;
|
|
310
|
+
if (!hasCellsToShift && isNil(formattingSource))
|
|
311
|
+
return "continue";
|
|
312
|
+
var newColumns = Array.from({ length: numColumns }, function () {
|
|
313
|
+
return cloneCellWithFormatting(formattingSource);
|
|
314
|
+
});
|
|
315
|
+
(_j = row.values).splice.apply(_j, __spreadArray([referenceColumnIndex, 0], __read(newColumns), false));
|
|
300
316
|
};
|
|
301
317
|
for (var rowIndex = 1; rowIndex < sheetRows.length; rowIndex++) {
|
|
302
318
|
_loop_1(rowIndex);
|
|
@@ -305,8 +321,8 @@ export var insertColumn = function (_a) {
|
|
|
305
321
|
try {
|
|
306
322
|
// Add table column headers for any table whose header row was
|
|
307
323
|
// affected by the insertion.
|
|
308
|
-
for (var
|
|
309
|
-
var
|
|
324
|
+
for (var _f = __values(tables !== null && tables !== void 0 ? tables : []), _g = _f.next(); !_g.done; _g = _f.next()) {
|
|
325
|
+
var _h = _g.value, range = _h.range, tSheetId = _h.sheetId, headerRow = _h.headerRow, columns = _h.columns;
|
|
310
326
|
if (tSheetId !== sheetId ||
|
|
311
327
|
!headerRow ||
|
|
312
328
|
referenceColumnIndex <= range.startColumnIndex ||
|
|
@@ -316,7 +332,7 @@ export var insertColumn = function (_a) {
|
|
|
316
332
|
var currentSheet = createSheetDraft(draft, tSheetId, range.startRowIndex);
|
|
317
333
|
for (var i = 0; i < numColumns; i++) {
|
|
318
334
|
var currentColumnIndex = referenceColumnIndex + i;
|
|
319
|
-
var formattingSource = cloneCellWithFormatting((
|
|
335
|
+
var formattingSource = cloneCellWithFormatting((_e = (_d = (_c = draft[tSheetId]) === null || _c === void 0 ? void 0 : _c[range.startRowIndex]) === null || _d === void 0 ? void 0 : _d.values) === null || _e === void 0 ? void 0 : _e[currentColumnIndex]);
|
|
320
336
|
var existingColumns = __spreadArray([], __read((columns || [])), false);
|
|
321
337
|
for (var j = 0; j < i; j++) {
|
|
322
338
|
existingColumns.push({
|
|
@@ -337,7 +353,7 @@ export var insertColumn = function (_a) {
|
|
|
337
353
|
catch (e_7_1) { e_7 = { error: e_7_1 }; }
|
|
338
354
|
finally {
|
|
339
355
|
try {
|
|
340
|
-
if (
|
|
356
|
+
if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
|
|
341
357
|
}
|
|
342
358
|
finally { if (e_7) throw e_7.error; }
|
|
343
359
|
}
|
|
@@ -648,9 +664,9 @@ export var insertTableColumn = function (_a) {
|
|
|
648
664
|
}
|
|
649
665
|
var _loop_2 = function (rowIndex) {
|
|
650
666
|
if ((_l = (_k = draft[sheetId]) === null || _k === void 0 ? void 0 : _k[rowIndex]) === null || _l === void 0 ? void 0 : _l.values) {
|
|
651
|
-
var
|
|
667
|
+
var formattingSource_1 = (_u = (_q = (_p = (_o = (_m = draft[sheetId]) === null || _m === void 0 ? void 0 : _m[rowIndex]) === null || _o === void 0 ? void 0 : _o.values) === null || _p === void 0 ? void 0 : _p[realReferenceColumnIndex]) !== null && _q !== void 0 ? _q : (_t = (_s = (_r = draft[sheetId]) === null || _r === void 0 ? void 0 : _r[rowIndex]) === null || _s === void 0 ? void 0 : _s.values) === null || _t === void 0 ? void 0 : _t[realReferenceColumnIndex - 1]) !== null && _u !== void 0 ? _u : undefined;
|
|
652
668
|
var newColumns = Array.from({ length: numColumns }).map(function () {
|
|
653
|
-
return cloneCellWithFormatting(
|
|
669
|
+
return cloneCellWithFormatting(formattingSource_1);
|
|
654
670
|
});
|
|
655
671
|
(_w = (_v = draft[sheetId][rowIndex]) === null || _v === void 0 ? void 0 : _v.values) === null || _w === void 0 ? void 0 : _w.splice.apply(_w, __spreadArray([referenceColumnIndex,
|
|
656
672
|
0], __read(newColumns), false));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert-row.d.ts","sourceRoot":"","sources":["../../../interface/insert-row.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"insert-row.d.ts","sourceRoot":"","sources":["../../../interface/insert-row.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAsBjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,weA4B5D,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,MAClB,SAAS,MAAM,EAAE,mBAAmB,MAAM,EAAE,gBAAW,SA0ThE,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { __read, __spreadArray, __values } from "tslib";
|
|
1
|
+
import { __assign, __read, __spreadArray, __values } from "tslib";
|
|
2
2
|
import { Direction } from "@rowsncolumns/common-types";
|
|
3
3
|
import { produceWithPatches } from "immer";
|
|
4
4
|
import { shiftChartsOnStructuralChange, shiftEmbedsOnStructuralChange, shiftProtectedRangesOnStructuralChange, } from "../api/anchored-objects";
|
|
5
|
-
import { cloneRowWithFormatting, createSheetDraft } from "../api/immer-utils";
|
|
5
|
+
import { cloneRowWithFormatting, createSheetDraft, inheritedDimensionMetadata, } from "../api/immer-utils";
|
|
6
6
|
import { expandMergesOnRowInsert } from "../api/merges";
|
|
7
7
|
import { updateNamedRangesOnStructuralChange, updatePrintSettingsOnStructuralChange, } from "../api/named-range-structural";
|
|
8
8
|
import { shiftPivotsOnInsert } from "../api/pivot-range";
|
|
@@ -152,8 +152,14 @@ export var insertRow = function (_a) {
|
|
|
152
152
|
if (!sheet)
|
|
153
153
|
return;
|
|
154
154
|
if (sheet.rowMetadata) {
|
|
155
|
+
// Excel "Format Same As Above" (FMT-01) covers the row height and
|
|
156
|
+
// hidden state too: the inserted rows inherit the row above's
|
|
157
|
+
// metadata (row 1 has none above and takes the pushed-down row's).
|
|
158
|
+
var inherited_1 = inheritedDimensionMetadata(sheet.rowMetadata, referenceRowIndex);
|
|
155
159
|
(_a = sheet.rowMetadata).splice.apply(_a, __spreadArray([referenceRowIndex,
|
|
156
|
-
0], __read(Array.from({ length: numRows }, function () {
|
|
160
|
+
0], __read(Array.from({ length: numRows }, function () {
|
|
161
|
+
return inherited_1 ? __assign({}, inherited_1) : null;
|
|
162
|
+
})), false));
|
|
157
163
|
}
|
|
158
164
|
if (sheet.basicFilter) {
|
|
159
165
|
var _c = sheet.basicFilter.range, startRowIndex = _c.startRowIndex, endRowIndex = _c.endRowIndex;
|
|
@@ -182,7 +188,6 @@ export var insertRow = function (_a) {
|
|
|
182
188
|
// in the new rows.
|
|
183
189
|
onChangeSheetData === null || onChangeSheetData === void 0 ? void 0 : onChangeSheetData(function (prevSheetData) {
|
|
184
190
|
var _a = __read(produceWithPatches(prevSheetData, function (draft) {
|
|
185
|
-
var _a;
|
|
186
191
|
updateFormulasForStructuralChange({
|
|
187
192
|
draft: draft,
|
|
188
193
|
axis: "row",
|
|
@@ -204,7 +209,13 @@ export var insertRow = function (_a) {
|
|
|
204
209
|
sharedStringRegistry: sharedStringRegistry,
|
|
205
210
|
});
|
|
206
211
|
var currentSheet = createSheetDraft(draft, sheetId, referenceRowIndex);
|
|
207
|
-
|
|
212
|
+
// Excel "Format Same As Above" (FMT-01): the new rows take the
|
|
213
|
+
// per-cell formatting (never values) of the row ABOVE the insertion
|
|
214
|
+
// point. Only an insert at row 1 has no row above and seeds from the
|
|
215
|
+
// row being pushed down instead.
|
|
216
|
+
var formattingSourceRow = referenceRowIndex > 1
|
|
217
|
+
? currentSheet[referenceRowIndex - 1]
|
|
218
|
+
: currentSheet[referenceRowIndex];
|
|
208
219
|
var newRows = Array.from({ length: numRows }, function () {
|
|
209
220
|
return cloneRowWithFormatting(formattingSourceRow);
|
|
210
221
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../../cellxfs-registry.ts","../../commands.ts","../../constants.ts","../../generated-names.ts","../../helpers.ts","../../index.ts","../../server-utils.ts","../../server.browser.ts","../../server.ts","../../shared-string-registry.ts","../../sheet-cell.ts","../../test-setup.ts","../../types.ts","../../vitest.config.ts","../../api/advanced-filter.ts","../../api/anchored-objects.ts","../../api/border.ts","../../api/conditional-format.ts","../../api/copy-paste.ts","../../api/data-validation.ts","../../api/datatype.ts","../../api/date.ts","../../api/decimals.ts","../../api/dependency.ts","../../api/fill-series-spec.ts","../../api/fill.ts","../../api/filter-range.ts","../../api/filter.ts","../../api/format-caches.ts","../../api/formula.ts","../../api/goal-seek.ts","../../api/immer-utils.ts","../../api/intl.ts","../../api/merges.ts","../../api/named-range-structural.ts","../../api/outline.ts","../../api/paint-format.ts","../../api/parse-html.ts","../../api/paste-special.ts","../../api/patches.ts","../../api/pivot-range.ts","../../api/range-rule-helpers.ts","../../api/range.ts","../../api/rename-sheet.ts","../../api/selection.ts","../../api/sort.ts","../../api/split-text.ts","../../api/structural-formula-update.ts","../../api/structural-guards.ts","../../api/structural-table-refs.ts","../../api/subtotal.ts","../../api/table.ts","../../api/validation.ts","../../api/xlsx-source.ts","../../atoms/delete-sheet-atom.ts","../../atoms/dialog-state.atom.ts","../../atoms/editing-data-validation-id.atom.ts","../../atoms/editing-embed.atom.ts","../../atoms/editing-table.atom.ts","../../atoms/error-state.atom.ts","../../atoms/index.ts","../../atoms/insert-image-state.atom.ts","../../atoms/named-range.atom.ts","../../atoms/resize-dimension.atom.ts","../../atoms/sheet-observer.atom.ts","../../components/index.tsx","../../components/dialogs/delete-sheet-confirmation.tsx","../../components/dialogs/error-state.tsx","../../components/editors/cell-format-editor.tsx","../../components/editors/conditional-format-editor.tsx","../../components/editors/conditional-format-rule-editor.tsx","../../components/editors/data-validation-editor.tsx","../../components/editors/data-validation-rule-editor.tsx","../../components/editors/embed-editor.tsx","../../components/editors/insert-image-editor.tsx","../../components/editors/insert-link-editor.tsx","../../components/editors/named-range-editor.tsx","../../components/editors/resize-dimension-editor.tsx","../../components/editors/sheet-filter.tsx","../../components/editors/table-editor.tsx","../../helpers/iterative-calculation.ts","../../helpers/sheet-title.ts","../../hooks/use-async-datasource.ts","../../hooks/use-calculation-initialize.ts","../../hooks/use-calculation-process-array.ts","../../hooks/use-calculation-queue.ts","../../hooks/use-calculation-worker.ts","../../hooks/use-calculation.ts","../../hooks/use-can-edit-cellrange.ts","../../hooks/use-cellxfs-registry.ts","../../hooks/use-citations.ts","../../hooks/use-comments.ts","../../hooks/use-conditional-formatting-rules.ts","../../hooks/use-data-validation-rules.ts","../../hooks/use-deferred-calculation-flush.ts","../../hooks/use-idle-scheduler.ts","../../hooks/use-indent.ts","../../hooks/use-named-range.ts","../../hooks/use-on-adjust-row-height.ts","../../hooks/use-on-advanced-filter.ts","../../hooks/use-on-autoresize.ts","../../hooks/use-on-banded-ranges.ts","../../hooks/use-on-calculation-begin.ts","../../hooks/use-on-calculation-success.ts","../../hooks/use-on-change-batch-stream.ts","../../hooks/use-on-change-batch.ts","../../hooks/use-on-change-calculated-column.ts","../../hooks/use-on-change-decimals.ts","../../hooks/use-on-change-formatting.ts","../../hooks/use-on-change-sheet-tabcolor.ts","../../hooks/use-on-change-table-column.ts","../../hooks/use-on-change-theme.ts","../../hooks/use-on-change.ts","../../hooks/use-on-clear-formatting.ts","../../hooks/use-on-collapse-column-group.ts","../../hooks/use-on-collapse-row-group.ts","../../hooks/use-on-copy.ts","../../hooks/use-on-create-named-range.ts","../../hooks/use-on-create-sheet.ts","../../hooks/use-on-delete-cells-shift-left.ts","../../hooks/use-on-delete-cells-shift-up.ts","../../hooks/use-on-delete-column.ts","../../hooks/use-on-delete-named-range.ts","../../hooks/use-on-delete-row.ts","../../hooks/use-on-delete-sheet.ts","../../hooks/use-on-delete-table-row.ts","../../hooks/use-on-delete.ts","../../hooks/use-on-drag-n-drop.ts","../../hooks/use-on-duplicate-sheet.ts","../../hooks/use-on-embeds.ts","../../hooks/use-on-expand-column-group.ts","../../hooks/use-on-expand-row-group.ts","../../hooks/use-on-fill-range.ts","../../hooks/use-on-fill.ts","../../hooks/use-on-filter-table.ts","../../hooks/use-on-find-replace.ts","../../hooks/use-on-freeze.ts","../../hooks/use-on-goal-seek.ts","../../hooks/use-on-group-columns.ts","../../hooks/use-on-group-rows.ts","../../hooks/use-on-hide-column.ts","../../hooks/use-on-hide-row.ts","../../hooks/use-on-hide-show-sheet.ts","../../hooks/use-on-import-csv-legacy.ts","../../hooks/use-on-import-csv.ts","../../hooks/use-on-import-excel.ts","../../hooks/use-on-insert-autosum.ts","../../hooks/use-on-insert-cells-shift-down.ts","../../hooks/use-on-insert-cells-shift-right.ts","../../hooks/use-on-insert-checkbox.ts","../../hooks/use-on-insert-column.ts","../../hooks/use-on-insert-date-time.ts","../../hooks/use-on-insert-date.ts","../../hooks/use-on-insert-image.ts","../../hooks/use-on-insert-link.ts","../../hooks/use-on-insert-note.ts","../../hooks/use-on-insert-row.ts","../../hooks/use-on-insert-table-row.ts","../../hooks/use-on-insert-time.ts","../../hooks/use-on-locale-change.ts","../../hooks/use-on-merge-unmerge-cells.ts","../../hooks/use-on-move-columns.ts","../../hooks/use-on-move-rows.ts","../../hooks/use-on-move-selection.ts","../../hooks/use-on-move-sheet.ts","../../hooks/use-on-move-table-columns.ts","../../hooks/use-on-paste.ts","../../hooks/use-on-protect-range.ts","../../hooks/use-on-protect-sheet.ts","../../hooks/use-on-remove-duplicates.ts","../../hooks/use-on-rename-sheet.ts","../../hooks/use-on-request-calculate-wrapper.ts","../../hooks/use-on-request-conditional-format.ts","../../hooks/use-on-request-data-validation.ts","../../hooks/use-on-request-define-named-range.ts","../../hooks/use-on-request-delete-sheet.ts","../../hooks/use-on-request-edit-table.ts","../../hooks/use-on-request-format-cells.ts","../../hooks/use-on-request-insert-image.ts","../../hooks/use-on-request-insert-link.ts","../../hooks/use-on-request-resize.ts","../../hooks/use-on-request-update-named-range.ts","../../hooks/use-on-resize-table.ts","../../hooks/use-on-resize.ts","../../hooks/use-on-set-outline-depth.ts","../../hooks/use-on-show-column.ts","../../hooks/use-on-show-row.ts","../../hooks/use-on-sort-column.ts","../../hooks/use-on-sort-range.ts","../../hooks/use-on-sort-table.ts","../../hooks/use-on-subtotal.ts","../../hooks/use-on-table.ts","../../hooks/use-on-trace-dependents-precedents.tsx","../../hooks/use-on-ungroup-columns.ts","../../hooks/use-on-ungroup-rows.ts","../../hooks/use-on-update-named-range.ts","../../hooks/use-on-update-note.ts","../../hooks/use-on-update-sheet.ts","../../hooks/use-paint-format.ts","../../hooks/use-search.ts","../../hooks/use-select-next-prev-sheet.ts","../../hooks/use-sheet-observer.ts","../../hooks/use-sheet-properties.ts","../../hooks/use-sheet-state.ts","../../hooks/use-sheetdata-subscriber.ts","../../hooks/use-slicers.ts","../../hooks/use-split-text-to-columns.ts","../../hooks/use-spreadsheet-state.ts","../../hooks/use-ss-registry.ts","../../hooks/use-structured-reference.ts","../../hooks/use-undo-redo-actions.ts","../../hooks/use-undo-redo.ts","../../hooks/utils/frozen-sort.ts","../../hooks/utils/sort-rows.ts","../../interface/apply-fill.ts","../../interface/auto-resize.ts","../../interface/calculation-interface.ts","../../interface/change-batch-stream.ts","../../interface/change-batch.ts","../../interface/change-border.ts","../../interface/change-calculated-column.ts","../../interface/change-decimals.ts","../../interface/change-formatting.ts","../../interface/change-sheet-tabcolor.ts","../../interface/change-table-column.ts","../../interface/change-theme.ts","../../interface/chart-extensions.ts","../../interface/citations.ts","../../interface/clear-formatting.ts","../../interface/conditional-formatting-rules.ts","../../interface/create-table.ts","../../interface/data-validation-rules.ts","../../interface/data-validation-utils.ts","../../interface/delete-cells-shift-left.ts","../../interface/delete-cells-shift-up.ts","../../interface/delete-cells.ts","../../interface/delete-column.ts","../../interface/delete-row.ts","../../interface/delete-sheet.ts","../../interface/delete-table-column.ts","../../interface/delete-table-row.ts","../../interface/duplicate-sheet.ts","../../interface/embeds.ts","../../interface/freeze.ts","../../interface/helpers.ts","../../interface/hide-column.ts","../../interface/hide-row.ts","../../interface/indent.ts","../../interface/insert-cells-shift-down.ts","../../interface/insert-cells-shift-right.ts","../../interface/insert-column.ts","../../interface/insert-note.ts","../../interface/insert-row.ts","../../interface/insert-table-row.ts","../../interface/interface-cli.ts","../../interface/named-range-operations.ts","../../interface/new-sheet.ts","../../interface/pivot-extensions.ts","../../interface/remove-duplicates.ts","../../interface/remove-table.ts","../../interface/resize-utils.ts","../../interface/resize.ts","../../interface/slicers.ts","../../interface/split-text.ts","../../interface/spreadsheet-interface.ts","../../interface/table-totalrow.ts","../../interface/table-utils.ts","../../interface/update-sheet.ts","../../interface/update-table.ts","../../validation-schema/table.schema.ts"],"version":"5.8.3"}
|
|
1
|
+
{"root":["../../cellxfs-registry.ts","../../commands.ts","../../constants.ts","../../generated-names.ts","../../helpers.ts","../../index.ts","../../server-utils.ts","../../server.browser.ts","../../server.ts","../../shared-string-registry.ts","../../sheet-cell.ts","../../test-setup.ts","../../types.ts","../../vitest.config.ts","../../api/advanced-filter.ts","../../api/anchored-objects.ts","../../api/border.ts","../../api/conditional-format.ts","../../api/copy-paste.ts","../../api/data-validation.ts","../../api/datatype.ts","../../api/date.ts","../../api/decimals.ts","../../api/dependency.ts","../../api/fill-series-spec.ts","../../api/fill.ts","../../api/filter-range.ts","../../api/filter.ts","../../api/format-caches.ts","../../api/formula.ts","../../api/goal-seek.ts","../../api/immer-utils.ts","../../api/insert-cut-cells.ts","../../api/intl.ts","../../api/merges.ts","../../api/named-range-structural.ts","../../api/outline.ts","../../api/paint-format.ts","../../api/parse-html.ts","../../api/paste-special.ts","../../api/patches.ts","../../api/pivot-range.ts","../../api/range-rule-helpers.ts","../../api/range.ts","../../api/rename-sheet.ts","../../api/selection.ts","../../api/sort.ts","../../api/split-text.ts","../../api/structural-formula-update.ts","../../api/structural-guards.ts","../../api/structural-table-refs.ts","../../api/subtotal.ts","../../api/table.ts","../../api/validation.ts","../../api/xlsx-source.ts","../../atoms/delete-sheet-atom.ts","../../atoms/dialog-state.atom.ts","../../atoms/editing-data-validation-id.atom.ts","../../atoms/editing-embed.atom.ts","../../atoms/editing-table.atom.ts","../../atoms/error-state.atom.ts","../../atoms/index.ts","../../atoms/insert-image-state.atom.ts","../../atoms/named-range.atom.ts","../../atoms/resize-dimension.atom.ts","../../atoms/sheet-observer.atom.ts","../../components/index.tsx","../../components/dialogs/delete-sheet-confirmation.tsx","../../components/dialogs/error-state.tsx","../../components/editors/cell-format-editor.tsx","../../components/editors/conditional-format-editor.tsx","../../components/editors/conditional-format-rule-editor.tsx","../../components/editors/data-validation-editor.tsx","../../components/editors/data-validation-rule-editor.tsx","../../components/editors/embed-editor.tsx","../../components/editors/insert-image-editor.tsx","../../components/editors/insert-link-editor.tsx","../../components/editors/named-range-editor.tsx","../../components/editors/resize-dimension-editor.tsx","../../components/editors/sheet-filter.tsx","../../components/editors/table-editor.tsx","../../helpers/iterative-calculation.ts","../../helpers/sheet-title.ts","../../hooks/use-async-datasource.ts","../../hooks/use-calculation-initialize.ts","../../hooks/use-calculation-process-array.ts","../../hooks/use-calculation-queue.ts","../../hooks/use-calculation-worker.ts","../../hooks/use-calculation.ts","../../hooks/use-can-edit-cellrange.ts","../../hooks/use-cellxfs-registry.ts","../../hooks/use-citations.ts","../../hooks/use-comments.ts","../../hooks/use-conditional-formatting-rules.ts","../../hooks/use-data-validation-rules.ts","../../hooks/use-deferred-calculation-flush.ts","../../hooks/use-idle-scheduler.ts","../../hooks/use-indent.ts","../../hooks/use-named-range.ts","../../hooks/use-on-adjust-row-height.ts","../../hooks/use-on-advanced-filter.ts","../../hooks/use-on-autoresize.ts","../../hooks/use-on-banded-ranges.ts","../../hooks/use-on-calculation-begin.ts","../../hooks/use-on-calculation-success.ts","../../hooks/use-on-change-batch-stream.ts","../../hooks/use-on-change-batch.ts","../../hooks/use-on-change-calculated-column.ts","../../hooks/use-on-change-decimals.ts","../../hooks/use-on-change-formatting.ts","../../hooks/use-on-change-sheet-tabcolor.ts","../../hooks/use-on-change-table-column.ts","../../hooks/use-on-change-theme.ts","../../hooks/use-on-change.ts","../../hooks/use-on-clear-formatting.ts","../../hooks/use-on-collapse-column-group.ts","../../hooks/use-on-collapse-row-group.ts","../../hooks/use-on-copy.ts","../../hooks/use-on-create-named-range.ts","../../hooks/use-on-create-sheet.ts","../../hooks/use-on-delete-cells-shift-left.ts","../../hooks/use-on-delete-cells-shift-up.ts","../../hooks/use-on-delete-column.ts","../../hooks/use-on-delete-named-range.ts","../../hooks/use-on-delete-row.ts","../../hooks/use-on-delete-sheet.ts","../../hooks/use-on-delete-table-row.ts","../../hooks/use-on-delete.ts","../../hooks/use-on-drag-n-drop.ts","../../hooks/use-on-duplicate-sheet.ts","../../hooks/use-on-embeds.ts","../../hooks/use-on-expand-column-group.ts","../../hooks/use-on-expand-row-group.ts","../../hooks/use-on-fill-range.ts","../../hooks/use-on-fill.ts","../../hooks/use-on-filter-table.ts","../../hooks/use-on-find-replace.ts","../../hooks/use-on-freeze.ts","../../hooks/use-on-goal-seek.ts","../../hooks/use-on-group-columns.ts","../../hooks/use-on-group-rows.ts","../../hooks/use-on-hide-column.ts","../../hooks/use-on-hide-row.ts","../../hooks/use-on-hide-show-sheet.ts","../../hooks/use-on-import-csv-legacy.ts","../../hooks/use-on-import-csv.ts","../../hooks/use-on-import-excel.ts","../../hooks/use-on-insert-autosum.ts","../../hooks/use-on-insert-cells-shift-down.ts","../../hooks/use-on-insert-cells-shift-right.ts","../../hooks/use-on-insert-checkbox.ts","../../hooks/use-on-insert-column.ts","../../hooks/use-on-insert-date-time.ts","../../hooks/use-on-insert-date.ts","../../hooks/use-on-insert-image.ts","../../hooks/use-on-insert-link.ts","../../hooks/use-on-insert-note.ts","../../hooks/use-on-insert-row.ts","../../hooks/use-on-insert-table-row.ts","../../hooks/use-on-insert-time.ts","../../hooks/use-on-locale-change.ts","../../hooks/use-on-merge-unmerge-cells.ts","../../hooks/use-on-move-columns.ts","../../hooks/use-on-move-rows.ts","../../hooks/use-on-move-selection.ts","../../hooks/use-on-move-sheet.ts","../../hooks/use-on-move-table-columns.ts","../../hooks/use-on-paste.ts","../../hooks/use-on-protect-range.ts","../../hooks/use-on-protect-sheet.ts","../../hooks/use-on-remove-duplicates.ts","../../hooks/use-on-rename-sheet.ts","../../hooks/use-on-request-calculate-wrapper.ts","../../hooks/use-on-request-conditional-format.ts","../../hooks/use-on-request-data-validation.ts","../../hooks/use-on-request-define-named-range.ts","../../hooks/use-on-request-delete-sheet.ts","../../hooks/use-on-request-edit-table.ts","../../hooks/use-on-request-format-cells.ts","../../hooks/use-on-request-insert-image.ts","../../hooks/use-on-request-insert-link.ts","../../hooks/use-on-request-resize.ts","../../hooks/use-on-request-update-named-range.ts","../../hooks/use-on-resize-table.ts","../../hooks/use-on-resize.ts","../../hooks/use-on-set-outline-depth.ts","../../hooks/use-on-show-column.ts","../../hooks/use-on-show-row.ts","../../hooks/use-on-sort-column.ts","../../hooks/use-on-sort-range.ts","../../hooks/use-on-sort-table.ts","../../hooks/use-on-subtotal.ts","../../hooks/use-on-table.ts","../../hooks/use-on-trace-dependents-precedents.tsx","../../hooks/use-on-ungroup-columns.ts","../../hooks/use-on-ungroup-rows.ts","../../hooks/use-on-update-named-range.ts","../../hooks/use-on-update-note.ts","../../hooks/use-on-update-sheet.ts","../../hooks/use-paint-format.ts","../../hooks/use-search.ts","../../hooks/use-select-next-prev-sheet.ts","../../hooks/use-sheet-observer.ts","../../hooks/use-sheet-properties.ts","../../hooks/use-sheet-state.ts","../../hooks/use-sheetdata-subscriber.ts","../../hooks/use-slicers.ts","../../hooks/use-split-text-to-columns.ts","../../hooks/use-spreadsheet-state.ts","../../hooks/use-ss-registry.ts","../../hooks/use-structured-reference.ts","../../hooks/use-undo-redo-actions.ts","../../hooks/use-undo-redo.ts","../../hooks/utils/frozen-sort.ts","../../hooks/utils/sort-rows.ts","../../interface/apply-fill.ts","../../interface/auto-resize.ts","../../interface/calculation-interface.ts","../../interface/change-batch-stream.ts","../../interface/change-batch.ts","../../interface/change-border.ts","../../interface/change-calculated-column.ts","../../interface/change-decimals.ts","../../interface/change-formatting.ts","../../interface/change-sheet-tabcolor.ts","../../interface/change-table-column.ts","../../interface/change-theme.ts","../../interface/chart-extensions.ts","../../interface/citations.ts","../../interface/clear-formatting.ts","../../interface/conditional-formatting-rules.ts","../../interface/create-table.ts","../../interface/data-validation-rules.ts","../../interface/data-validation-utils.ts","../../interface/delete-cells-shift-left.ts","../../interface/delete-cells-shift-up.ts","../../interface/delete-cells.ts","../../interface/delete-column.ts","../../interface/delete-row.ts","../../interface/delete-sheet.ts","../../interface/delete-table-column.ts","../../interface/delete-table-row.ts","../../interface/duplicate-sheet.ts","../../interface/embeds.ts","../../interface/freeze.ts","../../interface/helpers.ts","../../interface/hide-column.ts","../../interface/hide-row.ts","../../interface/indent.ts","../../interface/insert-cells-shift-down.ts","../../interface/insert-cells-shift-right.ts","../../interface/insert-column.ts","../../interface/insert-note.ts","../../interface/insert-row.ts","../../interface/insert-table-row.ts","../../interface/interface-cli.ts","../../interface/named-range-operations.ts","../../interface/new-sheet.ts","../../interface/pivot-extensions.ts","../../interface/remove-duplicates.ts","../../interface/remove-table.ts","../../interface/resize-utils.ts","../../interface/resize.ts","../../interface/slicers.ts","../../interface/split-text.ts","../../interface/spreadsheet-interface.ts","../../interface/table-totalrow.ts","../../interface/table-utils.ts","../../interface/update-sheet.ts","../../interface/update-table.ts","../../validation-schema/table.schema.ts"],"version":"5.8.3"}
|
|
@@ -4,7 +4,14 @@ import type { GeneratedNames } from "../generated-names";
|
|
|
4
4
|
import type { UseSpreadsheetProps } from "../hooks/use-spreadsheet-state";
|
|
5
5
|
export type ClipBoardFormat = "text/html" | "text/csv" | "text/plain" | "application/json" | "image/apng" | "image/bmp" | "image/gif" | "image/jpeg" | "image/pjpeg" | "image/png" | "image/svg+xml" | "image/tiff" | "image/webp" | "image/x-icon";
|
|
6
6
|
export declare const SUPPORTED_IMAGE_TYPES: string[];
|
|
7
|
-
export declare const generateDataFromClipboard: <T extends CellData>(e: ClipboardEvent | undefined, activeCell: CellInterface, sheetId: number, activeSheetName: string, preserveFormatting?: boolean, locale?: string, idCreationStrategy?: UseSpreadsheetProps<T>["idCreationStrategy"], forcePlainText?: boolean, sanitizeHtml?: (html: string) => string, generatedNames?: GeneratedNames
|
|
7
|
+
export declare const generateDataFromClipboard: <T extends CellData>(e: ClipboardEvent | undefined, activeCell: CellInterface, sheetId: number, activeSheetName: string, preserveFormatting?: boolean, locale?: string, idCreationStrategy?: UseSpreadsheetProps<T>["idCreationStrategy"], forcePlainText?: boolean, sanitizeHtml?: (html: string) => string, generatedNames?: GeneratedNames, options?: {
|
|
8
|
+
/**
|
|
9
|
+
* Re-anchor each copied formula's relative refs from its `sourceCell` to the paste
|
|
10
|
+
* destination (a COPY). `false` for a CUT: Excel keeps a moved formula's text verbatim and
|
|
11
|
+
* only repoints references INTO the moved block, which the consumer does itself.
|
|
12
|
+
*/
|
|
13
|
+
relocateFormulas?: boolean;
|
|
14
|
+
}) => Promise<{
|
|
8
15
|
results?: (CellData | null | undefined)[][];
|
|
9
16
|
merges?: GridRange[];
|
|
10
17
|
embeds?: EmbeddedObject[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-paste.d.ts","sourceRoot":"","sources":["../../../api/copy-paste.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,SAAS,EACV,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,SAAS,EAEV,MAAM,2BAA2B,CAAC;AAanC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAW1E,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,UAAU,GACV,YAAY,GACZ,kBAAkB,GAClB,YAAY,GACZ,WAAW,GACX,WAAW,GACX,YAAY,GACZ,aAAa,GACb,WAAW,GACX,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,cAAc,CAAC;AAEnB,eAAO,MAAM,qBAAqB,UAWjC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAU,CAAC,SAAS,QAAQ,EAChE,GAAG,cAAc,GAAG,SAAS,EAC7B,YAAY,aAAa,EACzB,SAAS,MAAM,EACf,iBAAiB,MAAM,EACvB,qBAAqB,OAAO,EAC5B,SAAS,MAAM,EACf,qBAAqB,mBAAmB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,EACjE,iBAAiB,OAAO,EACxB,eAAe,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACvC,iBAAiB,cAAc,
|
|
1
|
+
{"version":3,"file":"copy-paste.d.ts","sourceRoot":"","sources":["../../../api/copy-paste.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,SAAS,EACV,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,SAAS,EAEV,MAAM,2BAA2B,CAAC;AAanC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAW1E,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,UAAU,GACV,YAAY,GACZ,kBAAkB,GAClB,YAAY,GACZ,WAAW,GACX,WAAW,GACX,YAAY,GACZ,aAAa,GACb,WAAW,GACX,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,cAAc,CAAC;AAEnB,eAAO,MAAM,qBAAqB,UAWjC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAU,CAAC,SAAS,QAAQ,EAChE,GAAG,cAAc,GAAG,SAAS,EAC7B,YAAY,aAAa,EACzB,SAAS,MAAM,EACf,iBAAiB,MAAM,EACvB,qBAAqB,OAAO,EAC5B,SAAS,MAAM,EACf,qBAAqB,mBAAmB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,EACjE,iBAAiB,OAAO,EACxB,eAAe,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACvC,iBAAiB,cAAc,EAC/B,UAAU;IACR;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,KACA,OAAO,CACN;IACE,OAAO,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC;IAC5C,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,GACD,SAAS,CAyQZ,CAAC;AAEF,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,SAazC;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,QAAQ,EAC/C,MAAM,EAAE,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,yCAwB9C;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,EAC1C,MAAM,EAAE,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,EAC7C,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,yCAkChB;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,EAC5C,MAAM,EAAE,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,EAC7C,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,yCAwBhB;AAED,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7D,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,KACnD,MAAM,EAmBR,CAAC"}
|