@rowsncolumns/spreadsheet-state 29.1.10 → 29.1.13

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.
Files changed (31) hide show
  1. package/dist/cjs/api/image-embed.d.ts +5 -0
  2. package/dist/cjs/api/image-embed.d.ts.map +1 -1
  3. package/dist/cjs/api/image-embed.js +6 -0
  4. package/dist/cjs/hooks/use-on-move-sheet.d.ts.map +1 -1
  5. package/dist/cjs/hooks/use-on-move-sheet.js +9 -29
  6. package/dist/cjs/interface/duplicate-sheet.d.ts.map +1 -1
  7. package/dist/cjs/interface/duplicate-sheet.js +3 -2
  8. package/dist/cjs/interface/new-sheet.d.ts.map +1 -1
  9. package/dist/cjs/interface/new-sheet.js +6 -30
  10. package/dist/cjs/interface/sheet-order.d.ts +21 -0
  11. package/dist/cjs/interface/sheet-order.d.ts.map +1 -0
  12. package/dist/cjs/interface/sheet-order.js +88 -0
  13. package/dist/cjs/interface/spreadsheet-interface.d.ts.map +1 -1
  14. package/dist/cjs/interface/spreadsheet-interface.js +22 -10
  15. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  16. package/dist/esm/api/image-embed.d.ts +5 -0
  17. package/dist/esm/api/image-embed.d.ts.map +1 -1
  18. package/dist/esm/api/image-embed.js +6 -0
  19. package/dist/esm/hooks/use-on-move-sheet.d.ts.map +1 -1
  20. package/dist/esm/hooks/use-on-move-sheet.js +9 -28
  21. package/dist/esm/interface/duplicate-sheet.d.ts.map +1 -1
  22. package/dist/esm/interface/duplicate-sheet.js +3 -1
  23. package/dist/esm/interface/new-sheet.d.ts.map +1 -1
  24. package/dist/esm/interface/new-sheet.js +5 -25
  25. package/dist/esm/interface/sheet-order.d.ts +21 -0
  26. package/dist/esm/interface/sheet-order.d.ts.map +1 -0
  27. package/dist/esm/interface/sheet-order.js +73 -0
  28. package/dist/esm/interface/spreadsheet-interface.d.ts.map +1 -1
  29. package/dist/esm/interface/spreadsheet-interface.js +22 -10
  30. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  31. package/package.json +10 -10
@@ -36,6 +36,11 @@ export type CreateImageEmbedOptions = {
36
36
  * The ONE way a picture becomes a floating object over the cells — shared by the clipboard paste,
37
37
  * the file drop, the Insert → Image dialog and the engine command handlers, so every entry point
38
38
  * produces the same movable, resizable, aspect-locked embed anchored at the target cell.
39
+ *
40
+ * A picture is "Move but don't size with cells" (Excel's default for an inserted picture; a chart
41
+ * or shape defaults to "Move and size"). It keeps its pixel size whatever happens to the columns
42
+ * and rows under it — a collapsed group or a hidden column only shifts it — and a move never
43
+ * re-anchors its bottom-right corner to a cell (#1149).
39
44
  */
40
45
  export declare const createImageEmbed: ({ sheetId, anchorCell, imageUrl, width, height, viewport, embedId, idCreationStrategy, }: CreateImageEmbedOptions) => EmbeddedObject;
41
46
  //# sourceMappingURL=image-embed.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-embed.d.ts","sourceRoot":"","sources":["../../../api/image-embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD,+FAA+F;AAC/F,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErE,MAAM,MAAM,cAAc,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,WAAW,aAAa,GAAG,IAAI,KAC9B,cAaF,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,iHAAiH;IACjH,UAAU,EAAE,aAAa,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,iHAAiH;IACjH,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;CAChE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,0FAS9B,uBAAuB,KAAG,cAyB5B,CAAC"}
1
+ {"version":3,"file":"image-embed.d.ts","sourceRoot":"","sources":["../../../api/image-embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD,+FAA+F;AAC/F,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErE,MAAM,MAAM,cAAc,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,WAAW,aAAa,GAAG,IAAI,KAC9B,cAaF,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,iHAAiH;IACjH,UAAU,EAAE,aAAa,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,iHAAiH;IACjH,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;CAChE,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,GAAI,0FAS9B,uBAAuB,KAAG,cA0B5B,CAAC"}
@@ -28,6 +28,11 @@ export var fitImageToViewport = function (width, height, viewport) {
28
28
  * The ONE way a picture becomes a floating object over the cells — shared by the clipboard paste,
29
29
  * the file drop, the Insert → Image dialog and the engine command handlers, so every entry point
30
30
  * produces the same movable, resizable, aspect-locked embed anchored at the target cell.
31
+ *
32
+ * A picture is "Move but don't size with cells" (Excel's default for an inserted picture; a chart
33
+ * or shape defaults to "Move and size"). It keeps its pixel size whatever happens to the columns
34
+ * and rows under it — a collapsed group or a hidden column only shifts it — and a move never
35
+ * re-anchors its bottom-right corner to a cell (#1149).
31
36
  */
32
37
  export var createImageEmbed = function (_a) {
33
38
  var _b;
@@ -43,6 +48,7 @@ export var createImageEmbed = function (_a) {
43
48
  heightPixels: heightPixels,
44
49
  offsetXPixels: 0,
45
50
  offsetYPixels: 0,
51
+ placement: "moveOnly",
46
52
  },
47
53
  },
48
54
  borderColor: "transparent",
@@ -1 +1 @@
1
- {"version":3,"file":"use-on-move-sheet.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-move-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAKtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,KAAK,mBAAmB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,IAAI;IAC9D,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,aAAa,IAAI,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACrD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,+CAIjE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,eAId,MAAM,mBAAmB,MAAM,eAAe,MAAM,SAwEjE,CAAC"}
1
+ {"version":3,"file":"use-on-move-sheet.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-move-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAItE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,KAAK,mBAAmB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,IAAI;IAC9D,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,aAAa,IAAI,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACrD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,+CAIjE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,eAId,MAAM,mBAAmB,MAAM,eAAe,MAAM,SAuDjE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { __read } from "tslib";
2
- import { sortSheetsByIndex } from "@rowsncolumns/utils";
3
2
  import { produceWithPatches } from "immer";
4
3
  import { useCallback } from "react";
4
+ import { moveSheetInOrder } from "../interface/sheet-order";
5
5
  import { useCanEditSheet, useCanEditWorkbook } from "./use-can-edit-cellrange";
6
6
  export var useOnMoveSheet = function (_a) {
7
7
  var onChangeSheets = _a.onChangeSheets, createHistory = _a.createHistory, onCommand = _a.onCommand;
@@ -21,43 +21,23 @@ export var useOnMoveSheet = function (_a) {
21
21
  return;
22
22
  }
23
23
  var saveHistory = createHistory();
24
+ var moved = false;
24
25
  onChangeSheets(function (prevSheets) {
25
26
  var _a = __read(produceWithPatches(prevSheets, function (draft) {
26
- var sortedSheets = sortSheetsByIndex(draft);
27
- var sheetToMove = sortedSheets[currentPosition];
28
- var oldIndex = sheetToMove.index;
29
- var newIndex = sortedSheets[newPosition].index;
30
- // Determine the direction of movement
31
- var isMovingDown = newPosition > currentPosition;
32
- // Update indices of affected sheets
33
- draft.forEach(function (sheet, arrayIndex) {
34
- var _a;
35
- var currentIndex = (_a = sheet.index) !== null && _a !== void 0 ? _a : arrayIndex;
36
- if (sheet.sheetId === sheetId) {
37
- sheet.index = newIndex;
38
- }
39
- else if (!isMovingDown &&
40
- currentIndex < oldIndex &&
41
- currentIndex >= newIndex) {
42
- sheet.index = currentIndex + 1;
43
- }
44
- else if (isMovingDown &&
45
- currentIndex > oldIndex &&
46
- currentIndex <= newIndex) {
47
- sheet.index = currentIndex - 1;
48
- }
49
- else if (sheet.index === undefined) {
50
- // Set index for sheets that didn't have one before
51
- sheet.index = arrayIndex;
52
- }
53
- });
27
+ moved = moveSheetInOrder(draft, sheetId, currentPosition, newPosition);
54
28
  }), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
29
+ if (!moved) {
30
+ return prevSheets;
31
+ }
55
32
  // Save history
56
33
  saveHistory({
57
34
  sheets: { patches: patches, inversePatches: inversePatches },
58
35
  });
59
36
  return nextState;
60
37
  });
38
+ if (!moved) {
39
+ return;
40
+ }
61
41
  onCommand === null || onCommand === void 0 ? void 0 : onCommand({
62
42
  command: "move-sheet",
63
43
  sheetId: sheetId,
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-sheet.d.ts","sourceRoot":"","sources":["../../../interface/duplicate-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAc,MAAM,2BAA2B,CAAC;AAe7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAGhF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,sPAejE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,MACvB,SAAS,MAAM,EAAE,0BAA0B,MAAM,uBAkT1D,CAAC"}
1
+ {"version":3,"file":"duplicate-sheet.d.ts","sourceRoot":"","sources":["../../../interface/duplicate-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAc,MAAM,2BAA2B,CAAC;AAe7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAIhF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,sPAejE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,MACvB,SAAS,MAAM,EAAE,0BAA0B,MAAM,uBAmT1D,CAAC"}
@@ -6,6 +6,7 @@ import { renameTablesInFormula } from "../api/formula";
6
6
  import { createSheetDraft } from "../api/immer-utils";
7
7
  import { getGeneratedSheetCopyName } from "../generated-names";
8
8
  import { SheetCell } from "../sheet-cell";
9
+ import { sheetIndexAfter } from "./sheet-order";
9
10
  export var duplicateSheet = function (_a) {
10
11
  var locale = _a.locale, maxSheetCount = _a.maxSheetCount, sheets = _a.sheets, idCreationStrategy = _a.idCreationStrategy, onChangeSheetData = _a.onChangeSheetData, onChangeSheets = _a.onChangeSheets, onChangeTables = _a.onChangeTables, onChangeCharts = _a.onChangeCharts, onChangeEmbeds = _a.onChangeEmbeds, onChangeConditionalFormats = _a.onChangeConditionalFormats, onChangeDataValidations = _a.onChangeDataValidations, enqueueGraphOperation = _a.enqueueGraphOperation, createHistory = _a.createHistory, generatedNames = _a.generatedNames;
11
12
  return function (sheetId, newSheetIdDefinedByUser) {
@@ -38,8 +39,8 @@ export var duplicateSheet = function (_a) {
38
39
  sourceChartSheetChartId = sheet.chartId;
39
40
  copiedChartSheetChartId = (_c = idCreationStrategy === null || idCreationStrategy === void 0 ? void 0 : idCreationStrategy("chart")) !== null && _c !== void 0 ? _c : uuid();
40
41
  }
41
- /* Update the sheet title */
42
- var newSheet = __assign(__assign(__assign({}, sheet), { sheetId: newSheetId, title: newTitle }), (copiedChartSheetChartId !== undefined
42
+ /* Update the sheet title; the copy's tab sits right after its source */
43
+ var newSheet = __assign(__assign(__assign({}, sheet), { sheetId: newSheetId, title: newTitle, index: sheetIndexAfter(draft, sheetId) }), (copiedChartSheetChartId !== undefined
43
44
  ? { chartId: copiedChartSheetChartId }
44
45
  : {}));
45
46
  draft.push(castDraft(newSheet));
@@ -1 +1 @@
1
- {"version":3,"file":"new-sheet.d.ts","sourceRoot":"","sources":["../../../interface/new-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAUjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAmB1E,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,0JAWjE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,MACpB,YAAY,OAAO,CAAC,KAAK,CAAC,KAuHT,CAE1B,CAAC"}
1
+ {"version":3,"file":"new-sheet.d.ts","sourceRoot":"","sources":["../../../interface/new-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAUjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAoB1E,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,0JAWjE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,MACpB,YAAY,OAAO,CAAC,KAAK,CAAC,KAuFT,CAE1B,CAAC"}
@@ -1,8 +1,9 @@
1
- import { __assign, __read, __spreadArray } from "tslib";
1
+ import { __assign, __read } from "tslib";
2
2
  import { uniqueSheetTitle, uuid } from "@rowsncolumns/utils";
3
3
  import { produceWithPatches } from "immer";
4
4
  import { getGeneratedSheetName } from "../generated-names";
5
5
  import { MAX_SHEET_TITLE_LENGTH, truncateSheetTitle, } from "../helpers/sheet-title";
6
+ import { sheetIndexAfter } from "./sheet-order";
6
7
  var createNewSheetHelper = function (sheetId, title, rowCount, columnCount, hidden) {
7
8
  if (rowCount === void 0) { rowCount = 1000; }
8
9
  if (columnCount === void 0) { columnCount = 100; }
@@ -47,38 +48,13 @@ export var createNewSheet = function (_a) {
47
48
  getGeneratedSheetName(draft.length + 1, generatedNames)), draft.map(function (s) { return s.title; }), MAX_SHEET_TITLE_LENGTH);
48
49
  // Create the new sheet
49
50
  var newSheet = createNewSheetHelper(newSheetId, finalTitle, (_d = sheetSpec === null || sheetSpec === void 0 ? void 0 : sheetSpec.rowCount) !== null && _d !== void 0 ? _d : maxRowCount, (_e = sheetSpec === null || sheetSpec === void 0 ? void 0 : sheetSpec.columnCount) !== null && _e !== void 0 ? _e : maxColumnCount, (_f = sheetSpec === null || sheetSpec === void 0 ? void 0 : sheetSpec.hidden) !== null && _f !== void 0 ? _f : false);
50
- // Determine visual insertion index (after current active sheet) without
51
- // mutating existing array positions. This keeps ShareDB patches append-only.
52
- var orderedSheets = draft
53
- .map(function (s, arrayIndex) {
54
- var _a;
55
- return ({
56
- sheet: s,
57
- effectiveIndex: (_a = s.index) !== null && _a !== void 0 ? _a : arrayIndex,
58
- arrayIndex: arrayIndex,
59
- });
60
- })
61
- .sort(function (a, b) {
62
- return a.effectiveIndex - b.effectiveIndex ||
63
- a.arrayIndex - b.arrayIndex;
64
- });
65
- var activeOrderedIndex = orderedSheets.findIndex(function (entry) { return entry.sheet.sheetId === sheetId; });
66
- var fallbackMaxIndex = orderedSheets.length > 0
67
- ? Math.max.apply(Math, __spreadArray([], __read(orderedSheets.map(function (entry) { return entry.effectiveIndex; })), false)) : -1;
68
- var computedIndex = activeOrderedIndex === -1
69
- ? fallbackMaxIndex + 1
70
- : (function () {
71
- var _a, _b, _c;
72
- var currentIndex = (_b = (_a = orderedSheets[activeOrderedIndex]) === null || _a === void 0 ? void 0 : _a.effectiveIndex) !== null && _b !== void 0 ? _b : fallbackMaxIndex;
73
- var nextIndex = (_c = orderedSheets[activeOrderedIndex + 1]) === null || _c === void 0 ? void 0 : _c.effectiveIndex;
74
- return nextIndex === undefined
75
- ? currentIndex + 1
76
- : currentIndex + (nextIndex - currentIndex) / 2;
77
- })();
51
+ // Visual insertion index (after the active sheet) without moving the
52
+ // existing array positions. This keeps ShareDB patches append-only.
53
+ var computedIndex = (_g = sheetSpec === null || sheetSpec === void 0 ? void 0 : sheetSpec.index) !== null && _g !== void 0 ? _g : sheetIndexAfter(draft, sheetId);
78
54
  // Merge any additional spec properties
79
55
  var sheet = __assign(__assign(__assign({}, newSheet), sheetSpec), {
80
56
  // Ensure computed values override spec
81
- sheetId: newSheetId, title: finalTitle, index: (_g = sheetSpec === null || sheetSpec === void 0 ? void 0 : sheetSpec.index) !== null && _g !== void 0 ? _g : computedIndex });
57
+ sheetId: newSheetId, title: finalTitle, index: computedIndex });
82
58
  // Always append physically to keep patches as add-only.
83
59
  draft.push(sheet);
84
60
  createdSheet = sheet;
@@ -0,0 +1,21 @@
1
+ import type { Sheet } from "@rowsncolumns/spreadsheet";
2
+ import type { Draft } from "immer";
3
+ type OrderableSheet = Pick<Sheet, "sheetId" | "index" | "hidden" | "title">;
4
+ /**
5
+ * The `index` that places a new sheet right after `anchorSheetId` in tab order — halfway to the next
6
+ * tab, so no existing sheet has to change its `index` (a collab host's patches stay add-only). With
7
+ * no anchor the sheet goes last. When the anchor and its neighbour share an `index` there is no gap
8
+ * to split, so every sheet is renumbered first and the new sheet takes the slot after the anchor.
9
+ */
10
+ export declare const sheetIndexAfter: <S extends OrderableSheet>(draft: Draft<S>[], anchorSheetId: number) => number;
11
+ /**
12
+ * Move `sheetId` from `currentPosition` to `newPosition` — both positions among the VISIBLE tabs, as
13
+ * the tab strip counts them — and renumber every sheet from the resulting order, hidden tabs keeping
14
+ * their slot. Indices are only ever read as an order here (a created or duplicated sheet carries a
15
+ * fractional one; a host may seed duplicates), so shifting neighbours by ±1 is not an option: the
16
+ * moved tab has to land where it was dropped with the others in their old relative order.
17
+ * Returns false when the move names a sheet or a position that does not exist.
18
+ */
19
+ export declare const moveSheetInOrder: <S extends OrderableSheet>(draft: Draft<S>[], sheetId: number, currentPosition: number, newPosition: number) => boolean;
20
+ export {};
21
+ //# sourceMappingURL=sheet-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet-order.d.ts","sourceRoot":"","sources":["../../../interface/sheet-order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnC,KAAK,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC;AA+B5E;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,cAAc,EACtD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,EACjB,eAAe,MAAM,KACpB,MAyBF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,cAAc,EACvD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,EACjB,SAAS,MAAM,EACf,iBAAiB,MAAM,EACvB,aAAa,MAAM,KAClB,OAmBF,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { __read, __spreadArray, __values } from "tslib";
2
+ import { sortSheetsByIndex } from "@rowsncolumns/utils";
3
+ /**
4
+ * Tab order the way the tab strip renders it — `sortSheetsByIndex` with hidden sheets kept, so a
5
+ * hidden tab keeps its slot between its neighbours.
6
+ */
7
+ var tabOrder = function (sheets) {
8
+ return sortSheetsByIndex(sheets, true);
9
+ };
10
+ /**
11
+ * Give every sheet the position it holds in `order` as its `index`, so the indices are contiguous
12
+ * integers again. `shiftFrom` leaves a gap: positions at or after it move up by one, for a sheet that
13
+ * is about to be inserted there.
14
+ */
15
+ var renumber = function (draft, order, shiftFrom) {
16
+ var e_1, _a;
17
+ if (shiftFrom === void 0) { shiftFrom = Number.POSITIVE_INFINITY; }
18
+ var positionById = new Map();
19
+ order.forEach(function (sheetId, position) {
20
+ positionById.set(sheetId, position >= shiftFrom ? position + 1 : position);
21
+ });
22
+ try {
23
+ for (var draft_1 = __values(draft), draft_1_1 = draft_1.next(); !draft_1_1.done; draft_1_1 = draft_1.next()) {
24
+ var sheet = draft_1_1.value;
25
+ var position = positionById.get(sheet.sheetId);
26
+ if (position !== undefined && sheet.index !== position) {
27
+ sheet.index = position;
28
+ }
29
+ }
30
+ }
31
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
32
+ finally {
33
+ try {
34
+ if (draft_1_1 && !draft_1_1.done && (_a = draft_1.return)) _a.call(draft_1);
35
+ }
36
+ finally { if (e_1) throw e_1.error; }
37
+ }
38
+ };
39
+ /**
40
+ * The `index` that places a new sheet right after `anchorSheetId` in tab order — halfway to the next
41
+ * tab, so no existing sheet has to change its `index` (a collab host's patches stay add-only). With
42
+ * no anchor the sheet goes last. When the anchor and its neighbour share an `index` there is no gap
43
+ * to split, so every sheet is renumbered first and the new sheet takes the slot after the anchor.
44
+ */
45
+ export var sheetIndexAfter = function (draft, anchorSheetId) {
46
+ var ordered = tabOrder(draft);
47
+ if (ordered.length === 0) {
48
+ return 0;
49
+ }
50
+ var anchorPosition = ordered.findIndex(function (sheet) { return sheet.sheetId === anchorSheetId; });
51
+ if (anchorPosition === -1) {
52
+ return Math.max.apply(Math, __spreadArray([], __read(ordered.map(function (sheet) { return sheet.index; })), false)) + 1;
53
+ }
54
+ var anchorIndex = ordered[anchorPosition].index;
55
+ var next = ordered[anchorPosition + 1];
56
+ if (next === undefined) {
57
+ return anchorIndex + 1;
58
+ }
59
+ if (next.index > anchorIndex) {
60
+ return anchorIndex + (next.index - anchorIndex) / 2;
61
+ }
62
+ renumber(draft, ordered.map(function (sheet) { return sheet.sheetId; }), anchorPosition + 1);
63
+ return anchorPosition + 1;
64
+ };
65
+ /**
66
+ * Move `sheetId` from `currentPosition` to `newPosition` — both positions among the VISIBLE tabs, as
67
+ * the tab strip counts them — and renumber every sheet from the resulting order, hidden tabs keeping
68
+ * their slot. Indices are only ever read as an order here (a created or duplicated sheet carries a
69
+ * fractional one; a host may seed duplicates), so shifting neighbours by ±1 is not an option: the
70
+ * moved tab has to land where it was dropped with the others in their old relative order.
71
+ * Returns false when the move names a sheet or a position that does not exist.
72
+ */
73
+ export var moveSheetInOrder = function (draft, sheetId, currentPosition, newPosition) {
74
+ var target = sortSheetsByIndex(draft)[newPosition];
75
+ if (target === undefined || target.sheetId === sheetId) {
76
+ return false;
77
+ }
78
+ var order = tabOrder(draft).map(function (sheet) { return sheet.sheetId; });
79
+ var from = order.indexOf(sheetId);
80
+ if (from === -1) {
81
+ return false;
82
+ }
83
+ order.splice(from, 1);
84
+ var targetPosition = order.indexOf(target.sheetId);
85
+ order.splice(newPosition > currentPosition ? targetPosition + 1 : targetPosition, 0, sheetId);
86
+ renumber(draft, order);
87
+ return true;
88
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"spreadsheet-interface.d.ts","sourceRoot":"","sources":["../../../interface/spreadsheet-interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spreadsheet-interface.d.ts","sourceRoot":"","sources":["../../../interface/spreadsheet-interface.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { __assign, __awaiter, __generator, __read, __spreadArray, __values } fro
2
2
  import { tokenize as defaultTokenizer } from "@rowsncolumns/calculator";
3
3
  import { isCellCoordinate, isCellNode, isCellRangeNode, isStaticNode, } from "@rowsncolumns/dag";
4
4
  import { FormulaError } from "@rowsncolumns/fast-formula-parser";
5
+ import { getFontLineMetrics, toCanvasFont, } from "@rowsncolumns/grid";
5
6
  import { defaultSpreadsheetTheme, getBandedCells, } from "@rowsncolumns/spreadsheet";
6
7
  import { addressToCell, canUseDOM, cellToAddress, DEFAULT_ACTIVE_CELL, DEFAULT_COLUMN_COUNT, DEFAULT_COLUMN_WIDTH, DEFAULT_ROW_COUNT, DEFAULT_ROW_HEIGHT, generateSelectionsFromFormula, getCellEffectiveFormat, getCellEffectiveValue, getCellFormattedValue, getCellUserEnteredFormat, cellFormatWrapsText, getCellUserEnteredValue, getColumnIndexFromColumnName, getExtendedValueBool, getExtendedValueError, getExtendedValueFormula, getExtendedValueNumber, getExtendedValueString, isAreasEqual, isCellWithinBounds, isNil, iterateCellsInRange, pointToPixel, } from "@rowsncolumns/utils";
7
8
  import { enableMapSet, enablePatches, produceWithPatches } from "immer";
@@ -105,15 +106,27 @@ var BackendAutoSizer = /** @class */ (function () {
105
106
  function BackendAutoSizer() {
106
107
  this.canvas = createCanvas(0, 0);
107
108
  this.ctx = this.canvas.getContext("2d");
108
- this.currentFontSize = 12;
109
+ this.currentFont = { fontFamily: "Arial", fontSize: 12 };
110
+ this.currentScale = 1;
109
111
  }
110
112
  BackendAutoSizer.prototype.setFont = function (_a) {
111
113
  var _b = _a.fontFamily, fontFamily = _b === void 0 ? "Arial" : _b, _c = _a.fontSize, fontSize = _c === void 0 ? 12 : _c, _d = _a.fontWeight, fontWeight = _d === void 0 ? "" : _d, _e = _a.fontStyle, fontStyle = _e === void 0 ? "" : _e, _f = _a.scale, scale = _f === void 0 ? 1 : _f;
112
- this.currentFontSize = fontSize * scale;
113
- var font = "".concat(fontStyle, " ").concat(fontWeight, " ").concat(this.currentFontSize, "px ").concat(fontFamily)
114
- .trim()
115
- .replace(/\s+/g, " ");
116
- this.ctx.font = font;
114
+ this.currentScale = scale;
115
+ this.currentFont = {
116
+ fontFamily: fontFamily,
117
+ fontSize: fontSize * scale,
118
+ fontWeight: fontWeight,
119
+ fontStyle: fontStyle,
120
+ };
121
+ this.ctx.font = toCanvasFont(this.currentFont);
122
+ };
123
+ /**
124
+ * One line's box and the leading between lines for the current font —
125
+ * the painter's numbers (#1141). node-canvas reports no
126
+ * `fontBoundingBox*`, so off the DOM this is the `fontSize * 1.2` box.
127
+ */
128
+ BackendAutoSizer.prototype.lineMetrics = function () {
129
+ return getFontLineMetrics(this.currentFont, "fontMetrics", this.currentScale, this.ctx);
117
130
  };
118
131
  BackendAutoSizer.prototype.reset = function () {
119
132
  this.setFont({});
@@ -124,12 +137,12 @@ var BackendAutoSizer = /** @class */ (function () {
124
137
  if (!text)
125
138
  return null;
126
139
  var metrics = this.ctx.measureText(text);
140
+ var _b = this.lineMetrics(), box = _b.box, leading = _b.leading;
127
141
  var width = metrics.width;
128
- var height = this.currentFontSize * 1.2; // Line height approximation
142
+ var lines = 1;
129
143
  if (shouldWrap && maxWidth && width > maxWidth) {
130
144
  // Simple word wrapping calculation
131
145
  var words = text.split(" ");
132
- var lines = 1;
133
146
  var currentLineWidth = 0;
134
147
  try {
135
148
  for (var words_1 = __values(words), words_1_1 = words_1.next(); !words_1_1.done; words_1_1 = words_1.next()) {
@@ -151,10 +164,9 @@ var BackendAutoSizer = /** @class */ (function () {
151
164
  }
152
165
  finally { if (e_1) throw e_1.error; }
153
166
  }
154
- height = this.currentFontSize * 1.2 * lines;
155
167
  width = maxWidth;
156
168
  }
157
- return { width: width, height: height };
169
+ return { width: width, height: lines * box + (lines - 1) * leading };
158
170
  };
159
171
  return BackendAutoSizer;
160
172
  }());
@@ -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/basic-filter.ts","../../api/border.ts","../../api/circular-reference.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-condition.ts","../../api/filter-range.ts","../../api/filter.ts","../../api/format-caches.ts","../../api/formula.ts","../../api/goal-seek.ts","../../api/image-embed.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/creating-table.atom.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-slicer.atom.ts","../../atoms/editing-table.atom.ts","../../atoms/error-state.atom.ts","../../atoms/index.ts","../../atoms/insert-image-state.atom.ts","../../atoms/inserting-slicer.atom.ts","../../atoms/named-range.atom.ts","../../atoms/resize-dimension.atom.ts","../../atoms/resizing-table.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/slicer-editor.tsx","../../components/editors/table-editor.tsx","../../helpers/default-cell-format.ts","../../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-custom-table-style.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-create-table.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-insert-slicer.ts","../../hooks/use-on-request-resize-table.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-undo-calculated-column.ts","../../hooks/use-on-undo-table-auto-expansion.ts","../../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-sparkline-groups.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/basic-filter.ts","../../api/border.ts","../../api/circular-reference.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-condition.ts","../../api/filter-range.ts","../../api/filter.ts","../../api/format-caches.ts","../../api/formula.ts","../../api/goal-seek.ts","../../api/image-embed.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/creating-table.atom.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-slicer.atom.ts","../../atoms/editing-table.atom.ts","../../atoms/error-state.atom.ts","../../atoms/index.ts","../../atoms/insert-image-state.atom.ts","../../atoms/inserting-slicer.atom.ts","../../atoms/named-range.atom.ts","../../atoms/resize-dimension.atom.ts","../../atoms/resizing-table.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/slicer-editor.tsx","../../components/editors/table-editor.tsx","../../helpers/default-cell-format.ts","../../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-custom-table-style.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-create-table.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-insert-slicer.ts","../../hooks/use-on-request-resize-table.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-undo-calculated-column.ts","../../hooks/use-on-undo-table-auto-expansion.ts","../../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-sparkline-groups.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/sheet-order.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"}
@@ -36,6 +36,11 @@ export type CreateImageEmbedOptions = {
36
36
  * The ONE way a picture becomes a floating object over the cells — shared by the clipboard paste,
37
37
  * the file drop, the Insert → Image dialog and the engine command handlers, so every entry point
38
38
  * produces the same movable, resizable, aspect-locked embed anchored at the target cell.
39
+ *
40
+ * A picture is "Move but don't size with cells" (Excel's default for an inserted picture; a chart
41
+ * or shape defaults to "Move and size"). It keeps its pixel size whatever happens to the columns
42
+ * and rows under it — a collapsed group or a hidden column only shifts it — and a move never
43
+ * re-anchors its bottom-right corner to a cell (#1149).
39
44
  */
40
45
  export declare const createImageEmbed: ({ sheetId, anchorCell, imageUrl, width, height, viewport, embedId, idCreationStrategy, }: CreateImageEmbedOptions) => EmbeddedObject;
41
46
  //# sourceMappingURL=image-embed.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-embed.d.ts","sourceRoot":"","sources":["../../../api/image-embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD,+FAA+F;AAC/F,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErE,MAAM,MAAM,cAAc,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,WAAW,aAAa,GAAG,IAAI,KAC9B,cAaF,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,iHAAiH;IACjH,UAAU,EAAE,aAAa,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,iHAAiH;IACjH,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;CAChE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,0FAS9B,uBAAuB,KAAG,cAyB5B,CAAC"}
1
+ {"version":3,"file":"image-embed.d.ts","sourceRoot":"","sources":["../../../api/image-embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD,+FAA+F;AAC/F,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErE,MAAM,MAAM,cAAc,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,WAAW,aAAa,GAAG,IAAI,KAC9B,cAaF,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,iHAAiH;IACjH,UAAU,EAAE,aAAa,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,iHAAiH;IACjH,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;CAChE,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,GAAI,0FAS9B,uBAAuB,KAAG,cA0B5B,CAAC"}
@@ -27,6 +27,11 @@ export const fitImageToViewport = (width, height, viewport) => {
27
27
  * The ONE way a picture becomes a floating object over the cells — shared by the clipboard paste,
28
28
  * the file drop, the Insert → Image dialog and the engine command handlers, so every entry point
29
29
  * produces the same movable, resizable, aspect-locked embed anchored at the target cell.
30
+ *
31
+ * A picture is "Move but don't size with cells" (Excel's default for an inserted picture; a chart
32
+ * or shape defaults to "Move and size"). It keeps its pixel size whatever happens to the columns
33
+ * and rows under it — a collapsed group or a hidden column only shifts it — and a move never
34
+ * re-anchors its bottom-right corner to a cell (#1149).
30
35
  */
31
36
  export const createImageEmbed = ({ sheetId, anchorCell, imageUrl, width, height, viewport, embedId, idCreationStrategy, }) => {
32
37
  const { widthPixels, heightPixels } = fitImageToViewport(width, height, viewport);
@@ -40,6 +45,7 @@ export const createImageEmbed = ({ sheetId, anchorCell, imageUrl, width, height,
40
45
  heightPixels,
41
46
  offsetXPixels: 0,
42
47
  offsetYPixels: 0,
48
+ placement: "moveOnly",
43
49
  },
44
50
  },
45
51
  borderColor: "transparent",
@@ -1 +1 @@
1
- {"version":3,"file":"use-on-move-sheet.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-move-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAKtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,KAAK,mBAAmB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,IAAI;IAC9D,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,aAAa,IAAI,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACrD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,+CAIjE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,eAId,MAAM,mBAAmB,MAAM,eAAe,MAAM,SAwEjE,CAAC"}
1
+ {"version":3,"file":"use-on-move-sheet.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-move-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAItE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,KAAK,mBAAmB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,IAAI;IAC9D,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,aAAa,IAAI,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACrD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,+CAIjE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,eAId,MAAM,mBAAmB,MAAM,eAAe,MAAM,SAuDjE,CAAC"}
@@ -1,6 +1,6 @@
1
- import { sortSheetsByIndex } from "@rowsncolumns/utils";
2
1
  import { produceWithPatches } from "immer";
3
2
  import { useCallback } from "react";
3
+ import { moveSheetInOrder } from "../interface/sheet-order";
4
4
  import { useCanEditSheet, useCanEditWorkbook } from "./use-can-edit-cellrange";
5
5
  export const useOnMoveSheet = ({ onChangeSheets, createHistory, onCommand, }) => {
6
6
  const canEditSheet = useCanEditSheet();
@@ -19,42 +19,23 @@ export const useOnMoveSheet = ({ onChangeSheets, createHistory, onCommand, }) =>
19
19
  return;
20
20
  }
21
21
  const saveHistory = createHistory();
22
+ let moved = false;
22
23
  onChangeSheets((prevSheets) => {
23
24
  const [nextState, patches, inversePatches] = produceWithPatches(prevSheets, (draft) => {
24
- const sortedSheets = sortSheetsByIndex(draft);
25
- const sheetToMove = sortedSheets[currentPosition];
26
- const oldIndex = sheetToMove.index;
27
- const newIndex = sortedSheets[newPosition].index;
28
- // Determine the direction of movement
29
- const isMovingDown = newPosition > currentPosition;
30
- // Update indices of affected sheets
31
- draft.forEach((sheet, arrayIndex) => {
32
- const currentIndex = sheet.index ?? arrayIndex;
33
- if (sheet.sheetId === sheetId) {
34
- sheet.index = newIndex;
35
- }
36
- else if (!isMovingDown &&
37
- currentIndex < oldIndex &&
38
- currentIndex >= newIndex) {
39
- sheet.index = currentIndex + 1;
40
- }
41
- else if (isMovingDown &&
42
- currentIndex > oldIndex &&
43
- currentIndex <= newIndex) {
44
- sheet.index = currentIndex - 1;
45
- }
46
- else if (sheet.index === undefined) {
47
- // Set index for sheets that didn't have one before
48
- sheet.index = arrayIndex;
49
- }
50
- });
25
+ moved = moveSheetInOrder(draft, sheetId, currentPosition, newPosition);
51
26
  });
27
+ if (!moved) {
28
+ return prevSheets;
29
+ }
52
30
  // Save history
53
31
  saveHistory({
54
32
  sheets: { patches, inversePatches },
55
33
  });
56
34
  return nextState;
57
35
  });
36
+ if (!moved) {
37
+ return;
38
+ }
58
39
  onCommand?.({
59
40
  command: "move-sheet",
60
41
  sheetId,
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-sheet.d.ts","sourceRoot":"","sources":["../../../interface/duplicate-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAc,MAAM,2BAA2B,CAAC;AAe7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAGhF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,sPAejE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,MACvB,SAAS,MAAM,EAAE,0BAA0B,MAAM,uBAkT1D,CAAC"}
1
+ {"version":3,"file":"duplicate-sheet.d.ts","sourceRoot":"","sources":["../../../interface/duplicate-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAc,MAAM,2BAA2B,CAAC;AAe7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAIhF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,sPAejE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,MACvB,SAAS,MAAM,EAAE,0BAA0B,MAAM,uBAmT1D,CAAC"}
@@ -5,6 +5,7 @@ import { renameTablesInFormula } from "../api/formula";
5
5
  import { createSheetDraft } from "../api/immer-utils";
6
6
  import { getGeneratedSheetCopyName } from "../generated-names";
7
7
  import { SheetCell } from "../sheet-cell";
8
+ import { sheetIndexAfter } from "./sheet-order";
8
9
  export const duplicateSheet = ({ locale, maxSheetCount, sheets, idCreationStrategy, onChangeSheetData, onChangeSheets, onChangeTables, onChangeCharts, onChangeEmbeds, onChangeConditionalFormats, onChangeDataValidations, enqueueGraphOperation, createHistory, generatedNames, }) => {
9
10
  return (sheetId, newSheetIdDefinedByUser) => {
10
11
  const saveHistory = createHistory();
@@ -35,11 +36,12 @@ export const duplicateSheet = ({ locale, maxSheetCount, sheets, idCreationStrate
35
36
  sourceChartSheetChartId = sheet.chartId;
36
37
  copiedChartSheetChartId = idCreationStrategy?.("chart") ?? uuid();
37
38
  }
38
- /* Update the sheet title */
39
+ /* Update the sheet title; the copy's tab sits right after its source */
39
40
  const newSheet = {
40
41
  ...sheet,
41
42
  sheetId: newSheetId,
42
43
  title: newTitle,
44
+ index: sheetIndexAfter(draft, sheetId),
43
45
  ...(copiedChartSheetChartId !== undefined
44
46
  ? { chartId: copiedChartSheetChartId }
45
47
  : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"new-sheet.d.ts","sourceRoot":"","sources":["../../../interface/new-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAUjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAmB1E,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,0JAWjE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,MACpB,YAAY,OAAO,CAAC,KAAK,CAAC,KAuHT,CAE1B,CAAC"}
1
+ {"version":3,"file":"new-sheet.d.ts","sourceRoot":"","sources":["../../../interface/new-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAUjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAoB1E,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,0JAWjE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,MACpB,YAAY,OAAO,CAAC,KAAK,CAAC,KAuFT,CAE1B,CAAC"}
@@ -2,6 +2,7 @@ import { uniqueSheetTitle, uuid } from "@rowsncolumns/utils";
2
2
  import { produceWithPatches } from "immer";
3
3
  import { getGeneratedSheetName } from "../generated-names";
4
4
  import { MAX_SHEET_TITLE_LENGTH, truncateSheetTitle, } from "../helpers/sheet-title";
5
+ import { sheetIndexAfter } from "./sheet-order";
5
6
  const createNewSheetHelper = (sheetId, title, rowCount = 1000, columnCount = 100, hidden = false) => ({
6
7
  title,
7
8
  sheetId,
@@ -39,30 +40,9 @@ export const createNewSheet = ({ sheetId, maxSheetCount, sheets, maxRowCount, ma
39
40
  getGeneratedSheetName(draft.length + 1, generatedNames)), draft.map((s) => s.title), MAX_SHEET_TITLE_LENGTH);
40
41
  // Create the new sheet
41
42
  const newSheet = createNewSheetHelper(newSheetId, finalTitle, sheetSpec?.rowCount ?? maxRowCount, sheetSpec?.columnCount ?? maxColumnCount, sheetSpec?.hidden ?? false);
42
- // Determine visual insertion index (after current active sheet) without
43
- // mutating existing array positions. This keeps ShareDB patches append-only.
44
- const orderedSheets = draft
45
- .map((s, arrayIndex) => ({
46
- sheet: s,
47
- effectiveIndex: s.index ?? arrayIndex,
48
- arrayIndex,
49
- }))
50
- .sort((a, b) => a.effectiveIndex - b.effectiveIndex ||
51
- a.arrayIndex - b.arrayIndex);
52
- const activeOrderedIndex = orderedSheets.findIndex((entry) => entry.sheet.sheetId === sheetId);
53
- const fallbackMaxIndex = orderedSheets.length > 0
54
- ? Math.max(...orderedSheets.map((entry) => entry.effectiveIndex))
55
- : -1;
56
- const computedIndex = activeOrderedIndex === -1
57
- ? fallbackMaxIndex + 1
58
- : (() => {
59
- const currentIndex = orderedSheets[activeOrderedIndex]?.effectiveIndex ??
60
- fallbackMaxIndex;
61
- const nextIndex = orderedSheets[activeOrderedIndex + 1]?.effectiveIndex;
62
- return nextIndex === undefined
63
- ? currentIndex + 1
64
- : currentIndex + (nextIndex - currentIndex) / 2;
65
- })();
43
+ // Visual insertion index (after the active sheet) without moving the
44
+ // existing array positions. This keeps ShareDB patches append-only.
45
+ const computedIndex = sheetSpec?.index ?? sheetIndexAfter(draft, sheetId);
66
46
  // Merge any additional spec properties
67
47
  const sheet = {
68
48
  ...newSheet,
@@ -70,7 +50,7 @@ export const createNewSheet = ({ sheetId, maxSheetCount, sheets, maxRowCount, ma
70
50
  // Ensure computed values override spec
71
51
  sheetId: newSheetId,
72
52
  title: finalTitle,
73
- index: sheetSpec?.index ?? computedIndex,
53
+ index: computedIndex,
74
54
  };
75
55
  // Always append physically to keep patches as add-only.
76
56
  draft.push(sheet);
@@ -0,0 +1,21 @@
1
+ import type { Sheet } from "@rowsncolumns/spreadsheet";
2
+ import type { Draft } from "immer";
3
+ type OrderableSheet = Pick<Sheet, "sheetId" | "index" | "hidden" | "title">;
4
+ /**
5
+ * The `index` that places a new sheet right after `anchorSheetId` in tab order — halfway to the next
6
+ * tab, so no existing sheet has to change its `index` (a collab host's patches stay add-only). With
7
+ * no anchor the sheet goes last. When the anchor and its neighbour share an `index` there is no gap
8
+ * to split, so every sheet is renumbered first and the new sheet takes the slot after the anchor.
9
+ */
10
+ export declare const sheetIndexAfter: <S extends OrderableSheet>(draft: Draft<S>[], anchorSheetId: number) => number;
11
+ /**
12
+ * Move `sheetId` from `currentPosition` to `newPosition` — both positions among the VISIBLE tabs, as
13
+ * the tab strip counts them — and renumber every sheet from the resulting order, hidden tabs keeping
14
+ * their slot. Indices are only ever read as an order here (a created or duplicated sheet carries a
15
+ * fractional one; a host may seed duplicates), so shifting neighbours by ±1 is not an option: the
16
+ * moved tab has to land where it was dropped with the others in their old relative order.
17
+ * Returns false when the move names a sheet or a position that does not exist.
18
+ */
19
+ export declare const moveSheetInOrder: <S extends OrderableSheet>(draft: Draft<S>[], sheetId: number, currentPosition: number, newPosition: number) => boolean;
20
+ export {};
21
+ //# sourceMappingURL=sheet-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet-order.d.ts","sourceRoot":"","sources":["../../../interface/sheet-order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnC,KAAK,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC;AA+B5E;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,cAAc,EACtD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,EACjB,eAAe,MAAM,KACpB,MAyBF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,cAAc,EACvD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,EACjB,SAAS,MAAM,EACf,iBAAiB,MAAM,EACvB,aAAa,MAAM,KAClB,OAmBF,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { sortSheetsByIndex } from "@rowsncolumns/utils";
2
+ /**
3
+ * Tab order the way the tab strip renders it — `sortSheetsByIndex` with hidden sheets kept, so a
4
+ * hidden tab keeps its slot between its neighbours.
5
+ */
6
+ const tabOrder = (sheets) => sortSheetsByIndex(sheets, true);
7
+ /**
8
+ * Give every sheet the position it holds in `order` as its `index`, so the indices are contiguous
9
+ * integers again. `shiftFrom` leaves a gap: positions at or after it move up by one, for a sheet that
10
+ * is about to be inserted there.
11
+ */
12
+ const renumber = (draft, order, shiftFrom = Number.POSITIVE_INFINITY) => {
13
+ const positionById = new Map();
14
+ order.forEach((sheetId, position) => {
15
+ positionById.set(sheetId, position >= shiftFrom ? position + 1 : position);
16
+ });
17
+ for (const sheet of draft) {
18
+ const position = positionById.get(sheet.sheetId);
19
+ if (position !== undefined && sheet.index !== position) {
20
+ sheet.index = position;
21
+ }
22
+ }
23
+ };
24
+ /**
25
+ * The `index` that places a new sheet right after `anchorSheetId` in tab order — halfway to the next
26
+ * tab, so no existing sheet has to change its `index` (a collab host's patches stay add-only). With
27
+ * no anchor the sheet goes last. When the anchor and its neighbour share an `index` there is no gap
28
+ * to split, so every sheet is renumbered first and the new sheet takes the slot after the anchor.
29
+ */
30
+ export const sheetIndexAfter = (draft, anchorSheetId) => {
31
+ const ordered = tabOrder(draft);
32
+ if (ordered.length === 0) {
33
+ return 0;
34
+ }
35
+ const anchorPosition = ordered.findIndex((sheet) => sheet.sheetId === anchorSheetId);
36
+ if (anchorPosition === -1) {
37
+ return Math.max(...ordered.map((sheet) => sheet.index)) + 1;
38
+ }
39
+ const anchorIndex = ordered[anchorPosition].index;
40
+ const next = ordered[anchorPosition + 1];
41
+ if (next === undefined) {
42
+ return anchorIndex + 1;
43
+ }
44
+ if (next.index > anchorIndex) {
45
+ return anchorIndex + (next.index - anchorIndex) / 2;
46
+ }
47
+ renumber(draft, ordered.map((sheet) => sheet.sheetId), anchorPosition + 1);
48
+ return anchorPosition + 1;
49
+ };
50
+ /**
51
+ * Move `sheetId` from `currentPosition` to `newPosition` — both positions among the VISIBLE tabs, as
52
+ * the tab strip counts them — and renumber every sheet from the resulting order, hidden tabs keeping
53
+ * their slot. Indices are only ever read as an order here (a created or duplicated sheet carries a
54
+ * fractional one; a host may seed duplicates), so shifting neighbours by ±1 is not an option: the
55
+ * moved tab has to land where it was dropped with the others in their old relative order.
56
+ * Returns false when the move names a sheet or a position that does not exist.
57
+ */
58
+ export const moveSheetInOrder = (draft, sheetId, currentPosition, newPosition) => {
59
+ const target = sortSheetsByIndex(draft)[newPosition];
60
+ if (target === undefined || target.sheetId === sheetId) {
61
+ return false;
62
+ }
63
+ const order = tabOrder(draft).map((sheet) => sheet.sheetId);
64
+ const from = order.indexOf(sheetId);
65
+ if (from === -1) {
66
+ return false;
67
+ }
68
+ order.splice(from, 1);
69
+ const targetPosition = order.indexOf(target.sheetId);
70
+ order.splice(newPosition > currentPosition ? targetPosition + 1 : targetPosition, 0, sheetId);
71
+ renumber(draft, order);
72
+ return true;
73
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"spreadsheet-interface.d.ts","sourceRoot":"","sources":["../../../interface/spreadsheet-interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,QAAQ,EAER,SAAS,EACT,SAAS,EACT,2BAA2B,EAC3B,KAAK,EACL,UAAU,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAEjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,mBAAmB,CAAC;AAU7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAGL,KAAK,IAAI,EACT,KAAK,gBAAgB,EAErB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,KAAK,EACV,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,KAAK,EACV,KAAK,gBAAgB,EAErB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,2BAA2B,CAAC;AA6BnC,OAAO,KAAK,EAAS,KAAK,EAAE,MAAM,OAAO,CAAC;AAO1C,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,aAAa,CAAC;AAInE,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,gCAAgC,EAChC,+BAA+B,EAChC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAEL,KAAK,SAAS,EACf,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAK/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAuCzD,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AA4B7D,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAC;AAY7B,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,QA4BzD,CAAC;AAqFF;;;;GAIG;AACH,qBAAa,WAAW,CACtB,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,SAAS,KAAK,GAAG,KAAK,EACvB,CAAC,SAAS,UAAU,GAAG,UAAU;IAEjC,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,mBAAmB,CAA+B;IAC1D,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,UAAU,CAA0B;IACrC,KAAK,SAAK;IACV,OAAO,UAAS;IAChB,qBAAqB,SAAK;IAC1B,mBAAmB,SAAK;IACxB,cAAc,SAAU;IACxB,eAAe,SAAsB;IACrC,kBAAkB,SAAwB;IACjD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,4BAA4B,CAAC,CAGC;gBAE1B,OAAO,CAAC,EAAE;QACpB,uBAAuB,CAAC,EAAE,MAAM,MAAM,GAAG,UAAU,CAAC;QACpD,oBAAoB,CAAC,EAAE,2BAA2B,CAAC;QACnD,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,2BAA2B,CAAC,CAC1B,eAAe,EAAE,KAAK,CAAC,gBAAgB,CAAC,EACxC,QAAQ,CAAC,EAAE,MAAM,gBAAgB,GAChC,oBAAoB,GAAG,SAAS,CAAC;KACrC;IAgCD,YAAY;IASZ;;;OAGG;IACH,+BAA+B,CAAC,OAAO,CAAC,EAAE,MAAM;IA2BhD;;;OAGG;IACH,yBAAyB,CAAC,OAAO,CAAC,EAAE,MAAM;IAwB1C,IAAI,aAAa,CAAC,KAAK,EAAE,aAAa,EAErC;IAED,IAAI,aAAa,IAJQ,aAAa,CAMrC;IAED,IAAI,aAAa,IAIQ,MAAM,CAF9B;IAED,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,EAE9B;IAED,IAAI,MAAM,IAAI,CAAC,EAAE,CAEhB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAGpB;IAED,IAAI,MAAM,IAIQ,aAAa,EAAE,CAFhC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,EAEhC;IAED,IAAI,MAAM,IAIQ,cAAc,EAAE,CAFjC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,EAEjC;IAED,IAAI,WAAW,IAIQ,UAAU,EAAE,CAFlC;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,EAElC;IAED,IAAI,SAAS,IAIQ,QAAQ,EAAE,CAF9B;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,EAE9B;IAED,IAAI,WAAW,IAGQ,UAAU,EAAE,CADlC;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,EAGlC;IAED,IAAI,eAAe,IAGQ,wBAAwB,EAAE,CADpD;IACD,IAAI,eAAe,CAAC,KAAK,EAAE,wBAAwB,EAAE,EAEpD;IAED,IAAI,kBAAkB,IAGQ,qBAAqB,EAAE,CADpD;IACD,IAAI,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAEpD;IAED,IAAI,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAE5B;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAEpC;IAED,IAAI,MAAM,IAAI,SAAS,EAAE,CAExB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,EAG5B;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAGvB;IAED,IAAI,MAAM,IALQ,MAAM,CAOvB;IAED,IAAI,OAAO,CAAC,KAAK,SAAA,EAEhB;IAED,IAAI,OAAO,YAEV;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAEpC;IAED,IAAI,OAAO,IAJQ,gBAAgB,EAAE,CAMpC;IAEM,YAAY;IAInB,OAAO,CAAC,cAAc,CAGpB;IAEF,OAAO,CAAC,iBAAiB,CAGvB;IAEF,OAAO,CAAC,cAAc,CAGpB;IAEF,OAAO,CAAC,cAAc,CAGpB;IAEF,OAAO,CAAC,cAAc,CAGpB;IAEF,OAAO,CAAC,mBAAmB,CAGzB;IAEF,OAAO,CAAC,qBAAqB,CAG3B;IAEF,OAAO,CAAC,uBAAuB,CAG7B;IAEF,OAAO,CAAC,0BAA0B,CAGhC;IAEF,OAAO,CAAC,eAAe,CAKrB;IAEF,IAAI,eAAe,oBAElB;IAED,IAAI,oBAAoB,yBAKvB;IAED,OAAO,CAAC,mBAAmB,CAGzB;IAEF,OAAO,CAAC,mBAAmB,CAGzB;IAEF,OAAO,CAAC,iBAAiB,CAGvB;IAEF,OAAO,CAAC,aAAa,CAEnB;IACK,kBAAkB,GAAI,YAAY,oBAAoB,UAAQ;IAC9D,qBAAqB,GAAI,YAAY,oBAAoB,UAAQ;IACjE,sBAAsB,GAAI,SAAS,eAAe,UAAQ;IACjE,OAAO,CAAC,kBAAkB,CAExB;IACF,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,aAAa,CAuBnB;IACF,OAAO,CAAC,kBAAkB,CAAY;IACtC,OAAO,CAAC,4BAA4B,CAUlC;IACF,OAAO,CAAC,kBAAkB,CAAY;IAEtC,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,iBAAiB,CA0BvB;IAEF,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,+BAA+B,CA+BrC;IAEF,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,mBAAmB,CAWzB;IAEF,OAAO,CAAC,yBAAyB,CAmB/B;IAEF,OAAO,CAAC,eAAe,CAWrB;IAEF,OAAO,CAAC,iBAAiB,CAWvB;IAEF;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,UAAU,CAUhB;IAEF,OAAO,CAAC,kBAAkB,CAKxB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,qBAAqB,CAE3B;IAEF,OAAO,CAAC,2BAA2B,CAwDjC;IAEF,OAAO,CAAC,wBAAwB,CAmD9B;IAEF,OAAO,CAAC,wBAAwB,CAsB9B;IAEF,OAAO,CAAC,aAAa,CA2BnB;IAEF,OAAO,CAAC,wBAAwB,CAuB9B;IAEF,OAAO,CAAC,2BAA2B,CAsCjC;IAEF,OAAO,CAAC,uBAAuB,CAoG7B;IAEW,iBAAiB;IAIjB,YAAY;IAQZ,gBAAgB;IAI7B;;OAEG;IACH;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAK5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAMnB;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CA4DvB;IAEF;;;;;;OAMG;IACH,YAAY,GAAI,SAAS,MAAM,EAAE,UAAU,MAAM,EAAE,aAAa,MAAM,yBAQpE;IAEF;;;OAGG;IACI,YAAY,GACjB,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,gBAAgB,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,KACzC,MAAM,CA+BP;IAEF;;;OAGG;IACI,cAAc,GACnB,SAAS,MAAM,EACf,aAAa,MAAM,EACnB,UAAU;QACR,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAC;KACpC,KACA,MAAM,CAqDP;IAEF;;;;OAIG;IACU,oBAAoB;IAqPjC;;;;OAIG;IACI,0BAA0B,GAAI,cAAc,MAAM;;;kBAwBvD;IAEF;;;;;;;;;OASG;IACI,qBAAqB,GAC1B,SAAS,MAAM,EACf,MAAM,aAAa,GAAG,SAAS,EAC/B,WAAW,MAAM,GAAG,SAAS,EAC7B,aAAa,MAAM,EAAE,GAAG,SAAS,EACjC,SAAS,OAAO,GAAG,SAAS,EAC5B,cAAc,WAAW,CAAC,aAAa,CAAC;;;;;;;;;;;;;;kBAuIxC;IAEF;;;;;;OAMG;IACI,QAAQ,GACb,OAAO,MAAM,GAAG,SAAS,EACzB,SAAS,MAAM,EACf,YAAY,aAAa,sDAmCzB;IAEF;;;;;;OAMG;IACI,uBAAuB,GAC5B,OAAO,MAAM,EACb,SAAS,MAAM,EACf,YAAY,aAAa,4DAuBzB;IAEF;;;;OAIG;IACI,cAAc,CACnB,IAAI,GAAE,WAAoB,GACzB,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE;IAI5E;;;OAGG;IACI,UAAU,CACf,GAAG,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC;IASnE;;;;;OAKG;IACI,cAAc,CACnB,SAAS,EAAE,SAAS,EACpB,gBAAgB,CAAC,EAAE,MAAM,EACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE;IAsBvD;;;;;OAKG;IACI,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,SAAI;IA2BxE;;;;;OAKG;IACI,YAAY,CACjB,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,MAAM,EAC5B,UAAU,SAAI;IA6BhB;;;;OAIG;IACI,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE;IAkC5D;;;;;OAKG;IACI,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAC/B,MAAM,EACF,CAAC,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,GAClD,MAAM,GACN,OAAO,GACP,MAAM,GACN,IAAI,GACJ,SAAS,EACb,UAAU,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,EAC9D,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EACvE,kBAAkB,CAAC,EAAE,kBAAkB;IAsDzC;;;;;OAKG;IACU,iBAAiB,CAC5B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,sBAAsB;IAWhC;;;OAGG;IACI,gBAAgB,CAAC,CAAC,SAAS,cAAc,EAC9C,GAAG,IAAI,EAAE,UAAU,CACjB,+BAA+B,CAAC,CAAC,CAAC,GAAG,gCAAgC,CACtE;IAeH;;;;;;;;OAQG;IACI,YAAY,CACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,KAAK,GAAE,WAAW,GAAG,SAAmB;IAa1C;;;;;;;;OAQG;IACI,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAC9B,KAAK,CAAC,EAAE,UAAU,EAClB,WAAW,CAAC,EAAE,gBAAgB;IAuBhC;;;;;OAKG;IACI,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,EACxB,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC;IA0BlC;;;OAGG;IACI,WAAW,CAAC,SAAS,EAAE,SAAS;IA8CvC;;;;;OAKG;IACI,iBAAiB,CACtB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK;IAoB7C;;;;OAIG;IACI,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM;IAkBrE;;;;OAIG;IACI,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;IAiCtD;;OAEG;IACI,oBAAoB,CACzB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE;IAoBlD;;OAEG;IACI,kBAAkB,CACvB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE;IAoBlD,yBAAyB;IAClB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IASlD,4BAA4B;IACrB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IASxD,mBAAmB;IACZ,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE;IAe3D,gBAAgB;IACT,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;IAerD;;OAEG;IACU,SAAS,CACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,kBAAkB,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EACzD,QAAQ,CAAC,EAAE,YAAY;IA4BlB,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAUrC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAczD;;;OAGG;IACI,WAAW,CAAC,OAAO,EAAE,MAAM;IAiBlC;;;OAGG;IACI,+BAA+B,CAAC,IAAI,EAAE,qBAAqB;IAQlE;;;;OAIG;IACI,+BAA+B,CACpC,WAAW,EAAE,qBAAqB,EAClC,YAAY,EAAE,qBAAqB;IASrC;;;OAGG;IACI,+BAA+B,CAAC,IAAI,EAAE,qBAAqB;IAQlE;;;OAGG;IACI,gCAAgC,CAAC,IAAI,EAAE,qBAAqB;IAQnE;;;OAGG;IACI,wBAAwB,CAAC,IAAI,EAAE,wBAAwB;IAa9D;;;;OAIG;IACI,wBAAwB,CAC7B,IAAI,EAAE,wBAAwB,EAC9B,YAAY,EAAE,wBAAwB;IAcxC;;;OAGG;IACI,wBAAwB,CAAC,IAAI,EAAE,wBAAwB;IAa9D;;;OAGG;IACI,yBAAyB,CAAC,KAAK,EAAE,wBAAwB,EAAE;IAalE;;;;;;OAMG;IACI,cAAc,CACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,IAAI,EAAE,WAAW,GAAG,WAAW;IAWjC;;;;OAIG;IACI,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS;IAOpE;;;OAGG;IACI,WAAW,CAAC,KAAK,EAAE,gBAAgB;IAO1C;;;;;OAKG;IACI,eAAe,CACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE;IAUlD;;;;;OAKG;IACI,gBAAgB,CACrB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EACjD,OAAO,CAAC,EAAE,uBAAuB;IAWnC;;;;;OAKG;IACI,cAAc,CACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE;IAWlD;;;;;OAKG;IACI,cAAc,CACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE;IAWlD;;;;OAIG;IACI,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IAQ/D;;;OAGG;IACI,gBAAgB,CAAC,EAAE,EAAE,UAAU,CAAC,cAAc,CAAC;IAStD;;;;;;OAMG;IACI,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,SAAS,GAAE,SAAsB;IAoBnC;;;;OAIG;IACI,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE;IAqBhE;;;OAGG;IACI,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAkB1D;;;OAGG;IACI,WAAW,CAAC,IAAI,EAAE,cAAc;IAOvC;;;OAGG;IACI,WAAW,CAAC,OAAO,EAAE,MAAM;IAOlC;;;OAGG;IACI,WAAW,CAAC,KAAK,EAAE,cAAc;IAOxC;;;;;;;OAOG;IACI,SAAS,CACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM;IAQvB;;;;;;;;;OASG;IACI,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;IAgBhB;;;OAGG;IACI,iBAAiB,IAAI,OAAO;IAInC;;;;;;OAMG;IACI,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,SAAS,CAAC,EAAE,aAAa;IAU3B;;;OAGG;IACI,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAO3C;;;;;;OAMG;IACI,SAAS,CACd,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM;IAQvB;;;;;;;;OAQG;IACI,WAAW,CAChB,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;IAQhB;;;OAGG;IACI,WAAW,CAAC,KAAK,EAAE,aAAa;IAOvC;;;;;;OAMG;IACI,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI;IAUhE;;;;;;;OAOG;IACI,MAAM,CACX,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI;IAYC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG;IAoB9D,gBAAgB,CAC3B,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,OAAO,GAAG,SAAS,EACnC,QAAQ,CAAC,EAAE,GAAG;IAsBhB,OAAO,CAAC,qBAAqB,CA8B3B;IAEF;;;;;;OAMG;IACI,cAAc,CACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,QAAQ;IAUpB;;;OAGG;IACI,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE;IAOjD;;;;OAIG;IACI,cAAc,CACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAQxC;;;;;OAKG;IACI,sBAAsB,CAC3B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM;IASrB;;;;OAIG;IACI,cAAc,CAAC,UAAU,EAAE,MAAM;CAMzC"}
1
+ {"version":3,"file":"spreadsheet-interface.d.ts","sourceRoot":"","sources":["../../../interface/spreadsheet-interface.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { tokenize as defaultTokenizer } from "@rowsncolumns/calculator";
2
2
  import { isCellCoordinate, isCellNode, isCellRangeNode, isStaticNode, } from "@rowsncolumns/dag";
3
3
  import { FormulaError } from "@rowsncolumns/fast-formula-parser";
4
+ import { getFontLineMetrics, toCanvasFont, } from "@rowsncolumns/grid";
4
5
  import { defaultSpreadsheetTheme, getBandedCells, } from "@rowsncolumns/spreadsheet";
5
6
  import { addressToCell, canUseDOM, cellToAddress, DEFAULT_ACTIVE_CELL, DEFAULT_COLUMN_COUNT, DEFAULT_COLUMN_WIDTH, DEFAULT_ROW_COUNT, DEFAULT_ROW_HEIGHT, generateSelectionsFromFormula, getCellEffectiveFormat, getCellEffectiveValue, getCellFormattedValue, getCellUserEnteredFormat, cellFormatWrapsText, getCellUserEnteredValue, getColumnIndexFromColumnName, getExtendedValueBool, getExtendedValueError, getExtendedValueFormula, getExtendedValueNumber, getExtendedValueString, isAreasEqual, isCellWithinBounds, isNil, iterateCellsInRange, pointToPixel, } from "@rowsncolumns/utils";
6
7
  import { enableMapSet, enablePatches, produceWithPatches } from "immer";
@@ -103,13 +104,25 @@ export const createCanvas = (width, height) => {
103
104
  class BackendAutoSizer {
104
105
  canvas = createCanvas(0, 0);
105
106
  ctx = this.canvas.getContext("2d");
106
- currentFontSize = 12;
107
+ currentFont = { fontFamily: "Arial", fontSize: 12 };
108
+ currentScale = 1;
107
109
  setFont({ fontFamily = "Arial", fontSize = 12, fontWeight = "", fontStyle = "", scale = 1, }) {
108
- this.currentFontSize = fontSize * scale;
109
- const font = `${fontStyle} ${fontWeight} ${this.currentFontSize}px ${fontFamily}`
110
- .trim()
111
- .replace(/\s+/g, " ");
112
- this.ctx.font = font;
110
+ this.currentScale = scale;
111
+ this.currentFont = {
112
+ fontFamily,
113
+ fontSize: fontSize * scale,
114
+ fontWeight,
115
+ fontStyle,
116
+ };
117
+ this.ctx.font = toCanvasFont(this.currentFont);
118
+ }
119
+ /**
120
+ * One line's box and the leading between lines for the current font —
121
+ * the painter's numbers (#1141). node-canvas reports no
122
+ * `fontBoundingBox*`, so off the DOM this is the `fontSize * 1.2` box.
123
+ */
124
+ lineMetrics() {
125
+ return getFontLineMetrics(this.currentFont, "fontMetrics", this.currentScale, this.ctx);
113
126
  }
114
127
  reset() {
115
128
  this.setFont({});
@@ -118,12 +131,12 @@ class BackendAutoSizer {
118
131
  if (!text)
119
132
  return null;
120
133
  const metrics = this.ctx.measureText(text);
134
+ const { box, leading } = this.lineMetrics();
121
135
  let width = metrics.width;
122
- let height = this.currentFontSize * 1.2; // Line height approximation
136
+ let lines = 1;
123
137
  if (shouldWrap && maxWidth && width > maxWidth) {
124
138
  // Simple word wrapping calculation
125
139
  const words = text.split(" ");
126
- let lines = 1;
127
140
  let currentLineWidth = 0;
128
141
  for (const word of words) {
129
142
  const wordWidth = this.ctx.measureText(word + " ").width;
@@ -135,10 +148,9 @@ class BackendAutoSizer {
135
148
  currentLineWidth += wordWidth;
136
149
  }
137
150
  }
138
- height = this.currentFontSize * 1.2 * lines;
139
151
  width = maxWidth;
140
152
  }
141
- return { width, height };
153
+ return { width, height: lines * box + (lines - 1) * leading };
142
154
  }
143
155
  }
144
156
  // Generic state change function
@@ -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/basic-filter.ts","../../api/border.ts","../../api/circular-reference.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-condition.ts","../../api/filter-range.ts","../../api/filter.ts","../../api/format-caches.ts","../../api/formula.ts","../../api/goal-seek.ts","../../api/image-embed.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/creating-table.atom.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-slicer.atom.ts","../../atoms/editing-table.atom.ts","../../atoms/error-state.atom.ts","../../atoms/index.ts","../../atoms/insert-image-state.atom.ts","../../atoms/inserting-slicer.atom.ts","../../atoms/named-range.atom.ts","../../atoms/resize-dimension.atom.ts","../../atoms/resizing-table.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/slicer-editor.tsx","../../components/editors/table-editor.tsx","../../helpers/default-cell-format.ts","../../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-custom-table-style.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-create-table.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-insert-slicer.ts","../../hooks/use-on-request-resize-table.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-undo-calculated-column.ts","../../hooks/use-on-undo-table-auto-expansion.ts","../../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-sparkline-groups.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/basic-filter.ts","../../api/border.ts","../../api/circular-reference.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-condition.ts","../../api/filter-range.ts","../../api/filter.ts","../../api/format-caches.ts","../../api/formula.ts","../../api/goal-seek.ts","../../api/image-embed.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/creating-table.atom.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-slicer.atom.ts","../../atoms/editing-table.atom.ts","../../atoms/error-state.atom.ts","../../atoms/index.ts","../../atoms/insert-image-state.atom.ts","../../atoms/inserting-slicer.atom.ts","../../atoms/named-range.atom.ts","../../atoms/resize-dimension.atom.ts","../../atoms/resizing-table.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/slicer-editor.tsx","../../components/editors/table-editor.tsx","../../helpers/default-cell-format.ts","../../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-custom-table-style.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-create-table.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-insert-slicer.ts","../../hooks/use-on-request-resize-table.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-undo-calculated-column.ts","../../hooks/use-on-undo-table-auto-expansion.ts","../../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-sparkline-groups.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/sheet-order.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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rowsncolumns/spreadsheet-state",
3
- "version": "29.1.10",
3
+ "version": "29.1.13",
4
4
  "main": "./dist/cjs/index.js",
5
5
  "module": "./dist/esm/index.js",
6
6
  "types": "./dist/esm/index.d.ts",
@@ -57,7 +57,7 @@
57
57
  "@rowsncolumns/calculator": ">=7.3.0",
58
58
  "@rowsncolumns/common-types": ">=5.2.33",
59
59
  "@rowsncolumns/dag": ">=7.2.30",
60
- "@rowsncolumns/fast-formula-parser": "6.2.42",
60
+ "@rowsncolumns/fast-formula-parser": "6.2.44",
61
61
  "@rowsncolumns/grid": ">=13.2.33",
62
62
  "@rowsncolumns/icons": ">=7.2.32",
63
63
  "@rowsncolumns/pivot": ">=11.0.0",
@@ -72,21 +72,21 @@
72
72
  }
73
73
  },
74
74
  "devDependencies": {
75
- "@rowsncolumns/calculator": ">=7.3.1",
75
+ "@rowsncolumns/calculator": ">=7.3.2",
76
76
  "@rowsncolumns/common-types": ">=5.3.2",
77
77
  "@rowsncolumns/dag": ">=7.2.31",
78
- "@rowsncolumns/fast-formula-parser": ">=6.2.42",
79
- "@rowsncolumns/grid": ">=13.2.35",
78
+ "@rowsncolumns/fast-formula-parser": ">=6.2.44",
79
+ "@rowsncolumns/grid": ">=13.2.36",
80
80
  "@rowsncolumns/icons": ">=7.2.33",
81
- "@rowsncolumns/spreadsheet": ">=10.5.1",
82
- "@rowsncolumns/ui": ">=16.0.4",
83
- "@rowsncolumns/utils": ">=9.5.4"
81
+ "@rowsncolumns/spreadsheet": ">=10.5.6",
82
+ "@rowsncolumns/ui": ">=16.1.0",
83
+ "@rowsncolumns/utils": ">=9.5.6"
84
84
  },
85
85
  "dependencies": {
86
86
  "@rowsncolumns/calculation-worker": ">=10.0.1",
87
87
  "@rowsncolumns/date-parser": ">=13.0.4",
88
- "@rowsncolumns/functions": ">=15.0.2",
89
- "@rowsncolumns/toolkit": ">=24.5.9",
88
+ "@rowsncolumns/functions": ">=15.1.0",
89
+ "@rowsncolumns/toolkit": ">=24.5.15",
90
90
  "formik": "^2.4.6",
91
91
  "immer": "^10.1.1",
92
92
  "jotai": "^2.12.4",