@rowsncolumns/spreadsheet 10.5.2 → 10.5.5

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 (115) hide show
  1. package/dist/cjs/api/selections.d.ts +15 -1
  2. package/dist/cjs/api/selections.d.ts.map +1 -1
  3. package/dist/cjs/api/selections.js +12 -2
  4. package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -1
  5. package/dist/cjs/components/canvas-grid/index.js +88 -70
  6. package/dist/cjs/components/canvas-grid/typings.d.ts +40 -1
  7. package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -1
  8. package/dist/cjs/components/cell/cell-text-runs.d.ts +10 -3
  9. package/dist/cjs/components/cell/cell-text-runs.d.ts.map +1 -1
  10. package/dist/cjs/components/cell/cell-text-runs.js +21 -9
  11. package/dist/cjs/components/cell/index.d.ts.map +1 -1
  12. package/dist/cjs/components/cell/index.js +9 -5
  13. package/dist/cjs/components/cell/line-height.d.ts +22 -0
  14. package/dist/cjs/components/cell/line-height.d.ts.map +1 -0
  15. package/dist/cjs/components/cell/line-height.js +32 -0
  16. package/dist/cjs/components/cell/typings.d.ts +8 -2
  17. package/dist/cjs/components/cell/typings.d.ts.map +1 -1
  18. package/dist/cjs/hooks/export-range-tiles.d.ts +81 -0
  19. package/dist/cjs/hooks/export-range-tiles.d.ts.map +1 -0
  20. package/dist/cjs/hooks/export-range-tiles.js +171 -0
  21. package/dist/cjs/hooks/use-cell-renderer.d.ts +6 -1
  22. package/dist/cjs/hooks/use-cell-renderer.d.ts.map +1 -1
  23. package/dist/cjs/hooks/use-cell-renderer.js +3 -2
  24. package/dist/cjs/hooks/use-copy-paste-cut.d.ts +5 -1
  25. package/dist/cjs/hooks/use-copy-paste-cut.d.ts.map +1 -1
  26. package/dist/cjs/hooks/use-copy-paste-cut.js +19 -5
  27. package/dist/cjs/hooks/use-editable.d.ts +8 -1
  28. package/dist/cjs/hooks/use-editable.d.ts.map +1 -1
  29. package/dist/cjs/hooks/use-editable.js +6 -1
  30. package/dist/cjs/hooks/use-editor-submit.d.ts +7 -1
  31. package/dist/cjs/hooks/use-editor-submit.d.ts.map +1 -1
  32. package/dist/cjs/hooks/use-editor-submit.js +36 -16
  33. package/dist/cjs/hooks/use-export-range.d.ts +14 -6
  34. package/dist/cjs/hooks/use-export-range.d.ts.map +1 -1
  35. package/dist/cjs/hooks/use-export-range.js +240 -158
  36. package/dist/cjs/hooks/use-grid-children.d.ts +4 -1
  37. package/dist/cjs/hooks/use-grid-children.d.ts.map +1 -1
  38. package/dist/cjs/hooks/use-grid-children.js +4 -2
  39. package/dist/cjs/hooks/use-keyboard-handler.d.ts.map +1 -1
  40. package/dist/cjs/hooks/use-keyboard-handler.js +13 -6
  41. package/dist/cjs/hooks/use-navigate-sheet-range.d.ts.map +1 -1
  42. package/dist/cjs/hooks/use-navigate-sheet-range.js +5 -2
  43. package/dist/cjs/hooks/use-resize-observer.d.ts.map +1 -1
  44. package/dist/cjs/hooks/use-resize-observer.js +43 -11
  45. package/dist/cjs/hooks/use-selection-renderer.d.ts +5 -1
  46. package/dist/cjs/hooks/use-selection-renderer.d.ts.map +1 -1
  47. package/dist/cjs/hooks/use-selection-renderer.js +8 -2
  48. package/dist/cjs/hooks/use-selection.d.ts.map +1 -1
  49. package/dist/cjs/hooks/use-selection.js +4 -2
  50. package/dist/cjs/hooks/use-sizer.d.ts +8 -2
  51. package/dist/cjs/hooks/use-sizer.d.ts.map +1 -1
  52. package/dist/cjs/hooks/use-sizer.js +54 -33
  53. package/dist/cjs/providers/spreadsheet-provider.d.ts +11 -2
  54. package/dist/cjs/providers/spreadsheet-provider.d.ts.map +1 -1
  55. package/dist/cjs/providers/spreadsheet-provider.js +7 -5
  56. package/dist/cjs/release-date.js +1 -1
  57. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  58. package/dist/esm/api/selections.d.ts +15 -1
  59. package/dist/esm/api/selections.d.ts.map +1 -1
  60. package/dist/esm/api/selections.js +11 -2
  61. package/dist/esm/components/canvas-grid/index.d.ts.map +1 -1
  62. package/dist/esm/components/canvas-grid/index.js +30 -12
  63. package/dist/esm/components/canvas-grid/typings.d.ts +40 -1
  64. package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -1
  65. package/dist/esm/components/cell/cell-text-runs.d.ts +10 -3
  66. package/dist/esm/components/cell/cell-text-runs.d.ts.map +1 -1
  67. package/dist/esm/components/cell/cell-text-runs.js +14 -9
  68. package/dist/esm/components/cell/index.d.ts.map +1 -1
  69. package/dist/esm/components/cell/index.js +7 -3
  70. package/dist/esm/components/cell/line-height.d.ts +22 -0
  71. package/dist/esm/components/cell/line-height.d.ts.map +1 -0
  72. package/dist/esm/components/cell/line-height.js +25 -0
  73. package/dist/esm/components/cell/typings.d.ts +8 -2
  74. package/dist/esm/components/cell/typings.d.ts.map +1 -1
  75. package/dist/esm/hooks/export-range-tiles.d.ts +81 -0
  76. package/dist/esm/hooks/export-range-tiles.d.ts.map +1 -0
  77. package/dist/esm/hooks/export-range-tiles.js +126 -0
  78. package/dist/esm/hooks/use-cell-renderer.d.ts +6 -1
  79. package/dist/esm/hooks/use-cell-renderer.d.ts.map +1 -1
  80. package/dist/esm/hooks/use-cell-renderer.js +3 -2
  81. package/dist/esm/hooks/use-copy-paste-cut.d.ts +5 -1
  82. package/dist/esm/hooks/use-copy-paste-cut.d.ts.map +1 -1
  83. package/dist/esm/hooks/use-copy-paste-cut.js +17 -3
  84. package/dist/esm/hooks/use-editable.d.ts +8 -1
  85. package/dist/esm/hooks/use-editable.d.ts.map +1 -1
  86. package/dist/esm/hooks/use-editable.js +6 -1
  87. package/dist/esm/hooks/use-editor-submit.d.ts +7 -1
  88. package/dist/esm/hooks/use-editor-submit.d.ts.map +1 -1
  89. package/dist/esm/hooks/use-editor-submit.js +24 -6
  90. package/dist/esm/hooks/use-export-range.d.ts +14 -6
  91. package/dist/esm/hooks/use-export-range.d.ts.map +1 -1
  92. package/dist/esm/hooks/use-export-range.js +158 -120
  93. package/dist/esm/hooks/use-grid-children.d.ts +4 -1
  94. package/dist/esm/hooks/use-grid-children.d.ts.map +1 -1
  95. package/dist/esm/hooks/use-grid-children.js +4 -2
  96. package/dist/esm/hooks/use-keyboard-handler.d.ts.map +1 -1
  97. package/dist/esm/hooks/use-keyboard-handler.js +13 -6
  98. package/dist/esm/hooks/use-navigate-sheet-range.d.ts.map +1 -1
  99. package/dist/esm/hooks/use-navigate-sheet-range.js +5 -2
  100. package/dist/esm/hooks/use-resize-observer.d.ts.map +1 -1
  101. package/dist/esm/hooks/use-resize-observer.js +38 -9
  102. package/dist/esm/hooks/use-selection-renderer.d.ts +5 -1
  103. package/dist/esm/hooks/use-selection-renderer.d.ts.map +1 -1
  104. package/dist/esm/hooks/use-selection-renderer.js +8 -2
  105. package/dist/esm/hooks/use-selection.d.ts.map +1 -1
  106. package/dist/esm/hooks/use-selection.js +4 -2
  107. package/dist/esm/hooks/use-sizer.d.ts +8 -2
  108. package/dist/esm/hooks/use-sizer.d.ts.map +1 -1
  109. package/dist/esm/hooks/use-sizer.js +53 -31
  110. package/dist/esm/providers/spreadsheet-provider.d.ts +11 -2
  111. package/dist/esm/providers/spreadsheet-provider.d.ts.map +1 -1
  112. package/dist/esm/providers/spreadsheet-provider.js +8 -6
  113. package/dist/esm/release-date.js +1 -1
  114. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  115. package/package.json +6 -6
@@ -1,5 +1,6 @@
1
1
  import type { GridChildrenProps } from "@rowsncolumns/grid";
2
2
  import React from "react";
3
+ import type { CanvasGridProps } from "../components/canvas-grid/typings";
3
4
  import type { SheetCoordinate, SheetRange } from "../types";
4
5
  import type { useEmbedsCharts } from "./use-embeds-charts";
5
6
  type UseGridChildrenProps = {
@@ -18,12 +19,14 @@ type UseGridChildrenProps = {
18
19
  isHeaderMenuInFrozenColumn?: boolean;
19
20
  popoverComponent: React.JSX.Element | null | undefined;
20
21
  cellExpandComponent: React.JSX.Element | null | undefined;
22
+ /** Trace precedents / dependents arrows; they scroll with the body. */
23
+ arrowComponents?: CanvasGridProps["arrowComponents"];
21
24
  popoverRange?: SheetRange | SheetCoordinate;
22
25
  gridLineWidth?: number;
23
26
  frozenColumns: number;
24
27
  frozenRows: number;
25
28
  };
26
- export declare const useGridChildren: ({ stickyEditor, editorComponent, chartComponents, embedComponents, slicerComponents, pivotPlaceholders, tableResizers, hiddenColumnMarkers, frozenHiddenColumnMarkers, hiddenRowMarkers, frozenHiddenRowMarkers, gridLineWidth, frozenColumns, frozenRows, headerMenuComponent, isHeaderMenuInFrozenColumn, popoverRange, popoverComponent, cellExpandComponent, }: UseGridChildrenProps) => (props: GridChildrenProps) => React.JSX.Element;
29
+ export declare const useGridChildren: ({ stickyEditor, editorComponent, chartComponents, embedComponents, slicerComponents, pivotPlaceholders, tableResizers, hiddenColumnMarkers, frozenHiddenColumnMarkers, hiddenRowMarkers, frozenHiddenRowMarkers, gridLineWidth, frozenColumns, frozenRows, headerMenuComponent, isHeaderMenuInFrozenColumn, popoverRange, popoverComponent, cellExpandComponent, arrowComponents, }: UseGridChildrenProps) => (props: GridChildrenProps) => React.JSX.Element;
27
30
  export declare const StyledGridChildren: ({ className, elevate, ...props }: React.HTMLAttributes<HTMLDivElement> & {
28
31
  elevate?: boolean;
29
32
  }) => React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"use-grid-children.d.ts","sourceRoot":"","sources":["../../../hooks/use-grid-children.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,KAAsB,MAAM,OAAO,CAAC;AAI3C,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,KAAK,oBAAoB,GAAG;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3C,eAAe,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACvE,eAAe,EACX,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,iBAAiB,CAAC,GACrD,IAAI,GACJ,SAAS,CAAC;IACd,gBAAgB,EACZ,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,kBAAkB,CAAC,GACtD,IAAI,GACJ,SAAS,CAAC;IACd,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1D,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IACtD,mBAAmB,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1D,yBAAyB,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAChE,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IACvD,sBAAsB,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7D,mBAAmB,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1D,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IACvD,mBAAmB,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1D,YAAY,CAAC,EAAE,UAAU,GAAG,eAAe,CAAC;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,oWAoB7B,oBAAoB,aAiBX,iBAAiB,sBAyI5B,CAAC;AA+BF,eAAO,MAAM,kBAAkB,GAAI,kCAIhC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,sBAS9D,CAAC"}
1
+ {"version":3,"file":"use-grid-children.d.ts","sourceRoot":"","sources":["../../../hooks/use-grid-children.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,KAAsB,MAAM,OAAO,CAAC;AAG3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,KAAK,oBAAoB,GAAG;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3C,eAAe,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACvE,eAAe,EACX,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,iBAAiB,CAAC,GACrD,IAAI,GACJ,SAAS,CAAC;IACd,gBAAgB,EACZ,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,kBAAkB,CAAC,GACtD,IAAI,GACJ,SAAS,CAAC;IACd,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1D,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IACtD,mBAAmB,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1D,yBAAyB,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAChE,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IACvD,sBAAsB,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7D,mBAAmB,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1D,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IACvD,mBAAmB,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1D,uEAAuE;IACvE,eAAe,CAAC,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,UAAU,GAAG,eAAe,CAAC;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,qXAqB7B,oBAAoB,aAiBX,iBAAiB,sBA2I5B,CAAC;AA+BF,eAAO,MAAM,kBAAkB,GAAI,kCAIhC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,sBAS9D,CAAC"}
@@ -7,7 +7,7 @@ var react_1 = tslib_1.__importStar(require("react"));
7
7
  var atoms_1 = require("../atoms");
8
8
  var helpers_1 = require("../helpers");
9
9
  var useGridChildren = function (_a) {
10
- var stickyEditor = _a.stickyEditor, editorComponent = _a.editorComponent, chartComponents = _a.chartComponents, embedComponents = _a.embedComponents, slicerComponents = _a.slicerComponents, pivotPlaceholders = _a.pivotPlaceholders, tableResizers = _a.tableResizers, hiddenColumnMarkers = _a.hiddenColumnMarkers, frozenHiddenColumnMarkers = _a.frozenHiddenColumnMarkers, hiddenRowMarkers = _a.hiddenRowMarkers, frozenHiddenRowMarkers = _a.frozenHiddenRowMarkers, _b = _a.gridLineWidth, gridLineWidth = _b === void 0 ? 1 : _b, frozenColumns = _a.frozenColumns, frozenRows = _a.frozenRows, headerMenuComponent = _a.headerMenuComponent, isHeaderMenuInFrozenColumn = _a.isHeaderMenuInFrozenColumn, popoverRange = _a.popoverRange, popoverComponent = _a.popoverComponent, cellExpandComponent = _a.cellExpandComponent;
10
+ var stickyEditor = _a.stickyEditor, editorComponent = _a.editorComponent, chartComponents = _a.chartComponents, embedComponents = _a.embedComponents, slicerComponents = _a.slicerComponents, pivotPlaceholders = _a.pivotPlaceholders, tableResizers = _a.tableResizers, hiddenColumnMarkers = _a.hiddenColumnMarkers, frozenHiddenColumnMarkers = _a.frozenHiddenColumnMarkers, hiddenRowMarkers = _a.hiddenRowMarkers, frozenHiddenRowMarkers = _a.frozenHiddenRowMarkers, _b = _a.gridLineWidth, gridLineWidth = _b === void 0 ? 1 : _b, frozenColumns = _a.frozenColumns, frozenRows = _a.frozenRows, headerMenuComponent = _a.headerMenuComponent, isHeaderMenuInFrozenColumn = _a.isHeaderMenuInFrozenColumn, popoverRange = _a.popoverRange, popoverComponent = _a.popoverComponent, cellExpandComponent = _a.cellExpandComponent, arrowComponents = _a.arrowComponents;
11
11
  var editingCellCoordinate = (0, atoms_1.useEditingCellCoordinate)();
12
12
  // Quite a bit of logic for non sticky editor
13
13
  // Remove if majority dont use this
@@ -47,7 +47,8 @@ var useGridChildren = function (_a) {
47
47
  slicerComponents.body,
48
48
  pivotPlaceholders,
49
49
  popoverPlacement === "body" ? popoverComponent : null,
50
- cellExpandComponent)),
50
+ cellExpandComponent,
51
+ arrowComponents)),
51
52
  react_1.default.createElement(exports.StyledGridChildren, { style: {
52
53
  left: frozenColumnWidth + gridLineWidth,
53
54
  } },
@@ -109,6 +110,7 @@ var useGridChildren = function (_a) {
109
110
  popoverComponent,
110
111
  popoverPlacement,
111
112
  cellExpandComponent,
113
+ arrowComponents,
112
114
  ]);
113
115
  };
114
116
  exports.useGridChildren = useGridChildren;
@@ -1 +1 @@
1
- {"version":3,"file":"use-keyboard-handler.d.ts","sourceRoot":"","sources":["../../../hooks/use-keyboard-handler.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-keyboard-handler.d.ts","sourceRoot":"","sources":["../../../hooks/use-keyboard-handler.tsx"],"names":[],"mappings":"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"}
@@ -152,17 +152,23 @@ var useKeyboardHandler = function (_a) {
152
152
  onRedo === null || onRedo === void 0 ? void 0 : onRedo();
153
153
  e.preventDefault();
154
154
  return;
155
- // Cmd/Ctrl + F
155
+ // Cmd/Ctrl + F. Claimed only when the host handles it so the
156
+ // browser's find keeps working otherwise. Cmd/Ctrl + Shift + F
157
+ // (filter) is matched by code further down.
156
158
  case "f":
157
- if (!isShift) {
158
- onRequestSearch === null || onRequestSearch === void 0 ? void 0 : onRequestSearch();
159
+ if (isShift)
160
+ break;
161
+ if (onRequestSearch) {
162
+ onRequestSearch();
159
163
  e.preventDefault();
160
164
  }
161
165
  return;
162
- // Cmd/Ctrl + H — Find & Replace
166
+ // Cmd/Ctrl + H — Find & Replace. Claimed only when the host
167
+ // handles it: on macOS Cmd+H hides the app (an Electron menu only
168
+ // gets the keys the page leaves alone).
163
169
  case "h":
164
- if (!isShift) {
165
- onRequestReplace === null || onRequestReplace === void 0 ? void 0 : onRequestReplace();
170
+ if (!isShift && onRequestReplace) {
171
+ onRequestReplace();
166
172
  e.preventDefault();
167
173
  }
168
174
  return;
@@ -528,6 +534,7 @@ var useKeyboardHandler = function (_a) {
528
534
  case "KeyF":
529
535
  if (isMeta) {
530
536
  onCreateBasicFilter === null || onCreateBasicFilter === void 0 ? void 0 : onCreateBasicFilter(sheetId, activeCell, selections);
537
+ e.preventDefault();
531
538
  }
532
539
  break;
533
540
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-navigate-sheet-range.d.ts","sourceRoot":"","sources":["../../../hooks/use-navigate-sheet-range.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EACV,eAAe,EACf,KAAK,EACL,UAAU,EACX,MAAM,2BAA2B,CAAC;AAMnC,MAAM,MAAM,uBAAuB,GAAG;IACpC,mBAAmB,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC5D,kBAAkB,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;IAC1D,aAAa,EAAE,CACb,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,EACrB,YAAY,CAAC,EAAE,OAAO,EACtB,KAAK,CAAC,EAAE,KAAK,KACV,IAAI,CAAC;IACV,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,oEAKrC,uBAAuB,kBAGP,UAAU,YAAY,eAAe,SAsCvD,CAAC"}
1
+ {"version":3,"file":"use-navigate-sheet-range.d.ts","sourceRoot":"","sources":["../../../hooks/use-navigate-sheet-range.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EACV,eAAe,EACf,KAAK,EACL,UAAU,EACX,MAAM,2BAA2B,CAAC;AAMnC,MAAM,MAAM,uBAAuB,GAAG;IACpC,mBAAmB,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC5D,kBAAkB,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;IAC1D,aAAa,EAAE,CACb,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,EACrB,YAAY,CAAC,EAAE,OAAO,EACtB,KAAK,CAAC,EAAE,KAAK,KACV,IAAI,CAAC;IACV,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,oEAKrC,uBAAuB,kBAGP,UAAU,YAAY,eAAe,SA4CvD,CAAC"}
@@ -19,8 +19,11 @@ var useNavigateToSheetRange = function (_a) {
19
19
  };
20
20
  // Switch to new sheet
21
21
  onChangeActiveSheet === null || onChangeActiveSheet === void 0 ? void 0 : onChangeActiveSheet(sheetRange.sheetId);
22
- if (allowSelection && !(0, selections_1.isSheetRangeACell)(sheetRange)) {
23
- onChangeSelections === null || onChangeSelections === void 0 ? void 0 : onChangeSelections(sheetRange.sheetId, [{ range: sheetRange }]);
22
+ // A single-cell target clears the selection, as a click on that cell
23
+ // does; leaving the previous range selected would send the next
24
+ // paste there instead of to the cell the user navigated to.
25
+ if (allowSelection) {
26
+ onChangeSelections === null || onChangeSelections === void 0 ? void 0 : onChangeSelections(sheetRange.sheetId, (0, selections_1.isSheetRangeACell)(sheetRange) ? [] : [{ range: sheetRange }]);
24
27
  }
25
28
  // Set active cell
26
29
  if (allowSelection) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-resize-observer.d.ts","sourceRoot":"","sources":["../../../hooks/use-resize-observer.ts"],"names":[],"mappings":"AAIA,KAAK,gBAAgB,GAAG,WAAW,GAAG,UAAU,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAEnD,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;AAE3D,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,gBAAgB,OAAK,MAAM,CAAC,CAAC,CAwCxE,CAAC"}
1
+ {"version":3,"file":"use-resize-observer.d.ts","sourceRoot":"","sources":["../../../hooks/use-resize-observer.ts"],"names":[],"mappings":"AAIA,KAAK,gBAAgB,GAAG,WAAW,GAAG,UAAU,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAEnD,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;AAE3D,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,gBAAgB,OAAK,MAAM,CAAC,CAAC,CA4ExE,CAAC"}
@@ -16,12 +16,34 @@ var useResizeObserver = function () {
16
16
  y: 0,
17
17
  }), 2), observerEntry = _a[0], setObserverEntry = _a[1];
18
18
  var node = (0, react_1.useRef)(null);
19
- var observer = (0, react_1.useRef)(undefined);
20
- var disconnect = (0, react_1.useCallback)(function () { var _a; return (_a = observer.current) === null || _a === void 0 ? void 0 : _a.disconnect(); }, []);
19
+ var binding = (0, react_1.useRef)(null);
20
+ var disconnect = (0, react_1.useCallback)(function () {
21
+ var _a, _b;
22
+ (_a = binding.current) === null || _a === void 0 ? void 0 : _a.resize.disconnect();
23
+ (_b = binding.current) === null || _b === void 0 ? void 0 : _b.adoption.disconnect();
24
+ binding.current = null;
25
+ }, []);
21
26
  var observe = (0, react_1.useCallback)(function () {
22
- observer.current = new ResizeObserver(function (_a) {
23
- var _b = tslib_1.__read(_a, 1), entry = _b[0];
24
- var _c = entry.contentRect, left = _c.left, top = _c.top, width = _c.width, height = _c.height, bottom = _c.bottom, right = _c.right, x = _c.x, y = _c.y;
27
+ var _a;
28
+ var target = node.current;
29
+ if (!target)
30
+ return;
31
+ var ownerDocument = target.ownerDocument;
32
+ if (((_a = binding.current) === null || _a === void 0 ? void 0 : _a.node) === target &&
33
+ binding.current.document === ownerDocument)
34
+ return;
35
+ disconnect();
36
+ var ownerWindow = ownerDocument.defaultView;
37
+ if (!ownerWindow)
38
+ return;
39
+ var resize = new ownerWindow.ResizeObserver(function (_a) {
40
+ var _b;
41
+ var _c = tslib_1.__read(_a, 1), entry = _c[0];
42
+ // An already queued notification from the old document must not restore its old dimensions.
43
+ if (target.ownerDocument !== ownerDocument ||
44
+ ((_b = binding.current) === null || _b === void 0 ? void 0 : _b.resize) !== resize)
45
+ return;
46
+ var _d = entry.contentRect, left = _d.left, top = _d.top, width = _d.width, height = _d.height, bottom = _d.bottom, right = _d.right, x = _d.x, y = _d.y;
25
47
  setObserverEntry({
26
48
  left: left,
27
49
  top: top,
@@ -33,14 +55,24 @@ var useResizeObserver = function () {
33
55
  y: y,
34
56
  });
35
57
  });
36
- if (node.current) {
37
- observer.current.observe(node.current);
38
- }
39
- }, [node]);
58
+ // A retained grid can be adopted into a pop-out without rendering again. Chromium's original
59
+ // document keeps the observation, so bind anew in the destination when the DOM moves. Observing
60
+ // child-list changes also catches an adopted ancestor (the grid's own parent need not change).
61
+ var adoption = new ownerWindow.MutationObserver(function () { return observe(); });
62
+ binding.current = {
63
+ node: target,
64
+ document: ownerDocument,
65
+ resize: resize,
66
+ adoption: adoption,
67
+ };
68
+ resize.observe(target);
69
+ adoption.observe(ownerDocument, { childList: true, subtree: true });
70
+ }, [disconnect]);
71
+ // Also follow a ref assigned to a replacement element in an ordinary React commit.
40
72
  (0, use_isomorphic_layout_effect_1.useIsomorphicLayoutEffect)(function () {
41
73
  observe();
42
- return function () { return disconnect(); };
43
- }, [disconnect, observe]);
74
+ });
75
+ (0, use_isomorphic_layout_effect_1.useIsomorphicLayoutEffect)(function () { return disconnect; }, [disconnect]);
44
76
  return [node, observerEntry];
45
77
  };
46
78
  exports.useResizeObserver = useResizeObserver;
@@ -16,6 +16,10 @@ export type UseSelectionRendererProps = {
16
16
  sheetId: number;
17
17
  selectionBackgroundColor: string;
18
18
  selectionBorderColor: string;
19
+ /** Border width of a range selection outside formula mode (`CanvasGrid`'s prop). */
20
+ selectionStrokeWidth?: number;
21
+ /** Whether the active cell draws its own border while a range is selected (`CanvasGrid`'s prop). */
22
+ showActiveCellBorderInSelection?: boolean;
19
23
  scale?: number;
20
24
  getSheetName?(sheetId: number): string | undefined;
21
25
  onChangeActiveCell: CanvasGridProps["onChangeActiveCell"];
@@ -73,5 +77,5 @@ export type UseSelectionRendererProps = {
73
77
  */
74
78
  isFillShrink?: boolean;
75
79
  };
76
- export declare const useSelectionRenderer: ({ sheetId, selectionCount, selectionBackgroundColor, selectionBorderColor, onSelectionMouseDown, onChangeActiveCell, onChangeSelections, onRequestEditTable, onRequestEditPivotTable, onMouseDownResizeHandle, onMouseDownChartSourceResizeHandle, onMouseDownMoveSelection, isDraggingMoveSelection, onFlashEnd, getSheetName, resizeHandleSize, showSelectionResizeHandles, resizeHandleBorderColor, SelectionTitleComponent, isResizingTable, fillHandleSize, showFillHandle, enableMagicFill, MagicFillComponent, MagicFillContent, readonly, showPasteMenu, fillOptions, onChooseFillType, onOpenFillSeriesDialog, onCloseFillOptions, insertOptions, onChooseInsertOption, tableAutoExpansion, canStopAutoExpandingTables, onChooseTableAutoExpansionOption, calculatedColumnFill, canStopAutoCalculatedColumns, onChooseCalculatedColumnOption, hoveredCell, onSplitTextToColumns, onRemoveQuickEdit, onAddQuickEdit, QuickEdit, PasteMenu, SuggestionAction, cachedHoveredSelectionIds, isFillShrink, }: UseSelectionRendererProps) => (props: SelectionProps<SelectionAttributes>) => React.JSX.Element | null;
80
+ export declare const useSelectionRenderer: ({ sheetId, selectionCount, selectionBackgroundColor, selectionBorderColor, selectionStrokeWidth, showActiveCellBorderInSelection, onSelectionMouseDown, onChangeActiveCell, onChangeSelections, onRequestEditTable, onRequestEditPivotTable, onMouseDownResizeHandle, onMouseDownChartSourceResizeHandle, onMouseDownMoveSelection, isDraggingMoveSelection, onFlashEnd, getSheetName, resizeHandleSize, showSelectionResizeHandles, resizeHandleBorderColor, SelectionTitleComponent, isResizingTable, fillHandleSize, showFillHandle, enableMagicFill, MagicFillComponent, MagicFillContent, readonly, showPasteMenu, fillOptions, onChooseFillType, onOpenFillSeriesDialog, onCloseFillOptions, insertOptions, onChooseInsertOption, tableAutoExpansion, canStopAutoExpandingTables, onChooseTableAutoExpansionOption, calculatedColumnFill, canStopAutoCalculatedColumns, onChooseCalculatedColumnOption, hoveredCell, onSplitTextToColumns, onRemoveQuickEdit, onAddQuickEdit, QuickEdit, PasteMenu, SuggestionAction, cachedHoveredSelectionIds, isFillShrink, }: UseSelectionRendererProps) => (props: SelectionProps<SelectionAttributes>) => React.JSX.Element | null;
77
81
  //# sourceMappingURL=use-selection-renderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-selection-renderer.d.ts","sourceRoot":"","sources":["../../../hooks/use-selection-renderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-selection-renderer.d.ts","sourceRoot":"","sources":["../../../hooks/use-selection-renderer.tsx"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ var anchorsInsertOptions = function (insertOptions, range, type, index, isEmptyS
33
33
  range.endColumnIndex >= insertOptions.start;
34
34
  };
35
35
  var useSelectionRenderer = function (_a) {
36
- var sheetId = _a.sheetId, selectionCount = _a.selectionCount, selectionBackgroundColor = _a.selectionBackgroundColor, selectionBorderColor = _a.selectionBorderColor, onSelectionMouseDown = _a.onSelectionMouseDown, onChangeActiveCell = _a.onChangeActiveCell, onChangeSelections = _a.onChangeSelections, onRequestEditTable = _a.onRequestEditTable, onRequestEditPivotTable = _a.onRequestEditPivotTable, onMouseDownResizeHandle = _a.onMouseDownResizeHandle, onMouseDownChartSourceResizeHandle = _a.onMouseDownChartSourceResizeHandle, onMouseDownMoveSelection = _a.onMouseDownMoveSelection, isDraggingMoveSelection = _a.isDraggingMoveSelection, onFlashEnd = _a.onFlashEnd, getSheetName = _a.getSheetName, _b = _a.resizeHandleSize, resizeHandleSize = _b === void 0 ? 6 : _b, showSelectionResizeHandles = _a.showSelectionResizeHandles, resizeHandleBorderColor = _a.resizeHandleBorderColor, SelectionTitleComponent = _a.SelectionTitleComponent, isResizingTable = _a.isResizingTable, fillHandleSize = _a.fillHandleSize, showFillHandle = _a.showFillHandle, enableMagicFill = _a.enableMagicFill, MagicFillComponent = _a.MagicFillComponent, MagicFillContent = _a.MagicFillContent, readonly = _a.readonly, showPasteMenu = _a.showPasteMenu, fillOptions = _a.fillOptions, onChooseFillType = _a.onChooseFillType, onOpenFillSeriesDialog = _a.onOpenFillSeriesDialog, onCloseFillOptions = _a.onCloseFillOptions, insertOptions = _a.insertOptions, onChooseInsertOption = _a.onChooseInsertOption, tableAutoExpansion = _a.tableAutoExpansion, _c = _a.canStopAutoExpandingTables, canStopAutoExpandingTables = _c === void 0 ? false : _c, onChooseTableAutoExpansionOption = _a.onChooseTableAutoExpansionOption, calculatedColumnFill = _a.calculatedColumnFill, _d = _a.canStopAutoCalculatedColumns, canStopAutoCalculatedColumns = _d === void 0 ? false : _d, onChooseCalculatedColumnOption = _a.onChooseCalculatedColumnOption, hoveredCell = _a.hoveredCell, onSplitTextToColumns = _a.onSplitTextToColumns, onRemoveQuickEdit = _a.onRemoveQuickEdit, onAddQuickEdit = _a.onAddQuickEdit, QuickEdit = _a.QuickEdit, PasteMenu = _a.PasteMenu, SuggestionAction = _a.SuggestionAction, cachedHoveredSelectionIds = _a.cachedHoveredSelectionIds, _e = _a.isFillShrink, isFillShrink = _e === void 0 ? false : _e;
36
+ var sheetId = _a.sheetId, selectionCount = _a.selectionCount, selectionBackgroundColor = _a.selectionBackgroundColor, selectionBorderColor = _a.selectionBorderColor, selectionStrokeWidth = _a.selectionStrokeWidth, showActiveCellBorderInSelection = _a.showActiveCellBorderInSelection, onSelectionMouseDown = _a.onSelectionMouseDown, onChangeActiveCell = _a.onChangeActiveCell, onChangeSelections = _a.onChangeSelections, onRequestEditTable = _a.onRequestEditTable, onRequestEditPivotTable = _a.onRequestEditPivotTable, onMouseDownResizeHandle = _a.onMouseDownResizeHandle, onMouseDownChartSourceResizeHandle = _a.onMouseDownChartSourceResizeHandle, onMouseDownMoveSelection = _a.onMouseDownMoveSelection, isDraggingMoveSelection = _a.isDraggingMoveSelection, onFlashEnd = _a.onFlashEnd, getSheetName = _a.getSheetName, _b = _a.resizeHandleSize, resizeHandleSize = _b === void 0 ? 6 : _b, showSelectionResizeHandles = _a.showSelectionResizeHandles, resizeHandleBorderColor = _a.resizeHandleBorderColor, SelectionTitleComponent = _a.SelectionTitleComponent, isResizingTable = _a.isResizingTable, fillHandleSize = _a.fillHandleSize, showFillHandle = _a.showFillHandle, enableMagicFill = _a.enableMagicFill, MagicFillComponent = _a.MagicFillComponent, MagicFillContent = _a.MagicFillContent, readonly = _a.readonly, showPasteMenu = _a.showPasteMenu, fillOptions = _a.fillOptions, onChooseFillType = _a.onChooseFillType, onOpenFillSeriesDialog = _a.onOpenFillSeriesDialog, onCloseFillOptions = _a.onCloseFillOptions, insertOptions = _a.insertOptions, onChooseInsertOption = _a.onChooseInsertOption, tableAutoExpansion = _a.tableAutoExpansion, _c = _a.canStopAutoExpandingTables, canStopAutoExpandingTables = _c === void 0 ? false : _c, onChooseTableAutoExpansionOption = _a.onChooseTableAutoExpansionOption, calculatedColumnFill = _a.calculatedColumnFill, _d = _a.canStopAutoCalculatedColumns, canStopAutoCalculatedColumns = _d === void 0 ? false : _d, onChooseCalculatedColumnOption = _a.onChooseCalculatedColumnOption, hoveredCell = _a.hoveredCell, onSplitTextToColumns = _a.onSplitTextToColumns, onRemoveQuickEdit = _a.onRemoveQuickEdit, onAddQuickEdit = _a.onAddQuickEdit, QuickEdit = _a.QuickEdit, PasteMenu = _a.PasteMenu, SuggestionAction = _a.SuggestionAction, cachedHoveredSelectionIds = _a.cachedHoveredSelectionIds, _e = _a.isFillShrink, isFillShrink = _e === void 0 ? false : _e;
37
37
  var formulaMode = (0, formula_mode_atom_1.useFormulaModeValue)();
38
38
  var selectionIndex = (0, atoms_1.useFormulaSelectionIndex)();
39
39
  var hoveredCellRef = (0, react_1.useRef)(hoveredCell);
@@ -77,7 +77,11 @@ var useSelectionRenderer = function (_a) {
77
77
  : (0, selections_1.getSelectionStrokeStyle)(formulaMode, isFill, isActiveCell, isEmptySelections);
78
78
  var strokeWidth = isBorder
79
79
  ? props.strokeWidth
80
- : (0, selections_1.getSelectionStrokeWidth)(formulaMode, isFill, isActiveCell, isResizingTable);
80
+ : (0, selections_1.getSelectionStrokeWidth)(formulaMode, isFill, isActiveCell, isResizingTable, {
81
+ selectionStrokeWidth: selectionStrokeWidth,
82
+ showActiveCellBorderInSelection: showActiveCellBorderInSelection,
83
+ hasSelections: !isEmptySelections,
84
+ });
81
85
  var fillOpacity = isBorder
82
86
  ? props.fillOpacity
83
87
  : isFill && isFillShrink
@@ -185,6 +189,8 @@ var useSelectionRenderer = function (_a) {
185
189
  selectionCount,
186
190
  selectionBackgroundColor,
187
191
  selectionBorderColor,
192
+ selectionStrokeWidth,
193
+ showActiveCellBorderInSelection,
188
194
  selectionIndex,
189
195
  isResizingTable,
190
196
  resizeHandleBorderColor,
@@ -1 +1 @@
1
- {"version":3,"file":"use-selection.d.ts","sourceRoot":"","sources":["../../../hooks/use-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,aAAa,EACd,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EACL,KAAK,EAcN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtE;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,aAAa,CAAC;IAC1B,uDAAuD;IACvD,aAAa,EAAE,aAAa,CAAC;IAC7B,8CAA8C;IAC9C,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,gEAAgE;IAChE,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B,CAAC;AAMF;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAQF,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,EAAE,aAAa,CAAC;IAC1B;;OAEG;IACH,kBAAkB,CAAC,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;IAC3D;;OAEG;IACH,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B;;OAEG;IACH,kBAAkB,CAAC,CACjB,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAC9B,YAAY,CAAC,EAAE,OAAO,GACrB,IAAI,CAAC;IACR;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CACP,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAC9B,kBAAkB,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EACvC,QAAQ,CAAC,EAAE,YAAY,EACvB,OAAO,CAAC,EAAE,WAAW,KAClB,IAAI,CAAC;IACV;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CACb,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,kBAAkB,KACzB,IAAI,CAAC;IACV;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC9D;;OAEG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB;;OAEG;IACH,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B;;OAEG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;IAC1B;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,oBAAoB,CAAC,EAAE,CACrB,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,YAAY,EAC7D,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,EACnD,GAAG,EAAE,KAAK,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,EACjD,eAAe,EAAE,CACf,MAAM,EAAE,aAAa,EACrB,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,KAChC,IAAI,EACT,eAAe,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,aAAa,KAAK,IAAI,EACpE,eAAe,EAAE,MAAM,IAAI,EAC3B,SAAS,EAAE,MAAM,IAAI,KAClB,OAAO,GAAG,SAAS,CAAC;IACzB,oBAAoB,CAAC,EAAE,CACrB,CAAC,EAAE,UAAU,CAAC,UAAU,EACxB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,EACnD,GAAG,EAAE,KAAK,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,EACjD,eAAe,EAAE,CACf,MAAM,EAAE,aAAa,EACrB,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,KAChC,IAAI,KACN,OAAO,GAAG,SAAS,CAAC;IACzB,2BAA2B,CAAC,EAAE,CAC5B,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,aAAa,KACf,OAAO,CAAC;IACb;;OAEG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;OAEG;IACH,QAAQ,EAAE,CACR,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAC/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;OAEG;IACH,eAAe,CAAC,EAAE,CAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EACtB,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,KACjB,IAAI,CAAC;IACV;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EACtB,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,KACjB,IAAI,CAAC;IACV;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE;;;;OAIG;IACH,uBAAuB,CACrB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,GAClC,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IAC9C;;OAEG;IACH,WAAW,IAAI,aAAa,CAAC;IAC7B;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IACd;;;;OAIG;IACH,YAAY,CACV,IAAI,EAAE,qBAAqB,EAC3B,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,GACxB,IAAI,GAAG,SAAS,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;IACvD;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;IAClD;;OAEG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IACnC;;OAEG;IACH,gBAAgB,CAAC,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;IACvD;;OAEG;IACH,eAAe,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;IACpD;;;OAGG;IACH,aAAa,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACjD;;OAEG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAuG7D,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,SAAS,EAAE,8uBA6C/C,mBAAmB,CAAC,CAAC,CAAC;;;;;;8BA2gEhB,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,cACvB,aAAa,GAAG,SAAS,aAC1B,aAAa,GAAG,SAAS,SAC7B,MAAM,GAAG,SAAS;4BAsMnB,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC;qBApgCtC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,YAAY;mBAsL1D,KAAK,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa;0BArlC1C,aAAa,QAAO,aAAa;+BA2/CrC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC;iCAmchC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC;;;;8BA1iE3B,aAAa,kBAAkB,OAAO;;6BA+DvC,aAAa,QAAO,aAAa;;;6BAoL5B,MAAM,UACP,aAAa,kCAEb,KAAK;;6CAkqDT,aAAa,GAAG,SAAS,cACnB,aAAa,EAAE,GAAG,SAAS;mCAn8DjC,aAAa,OAAO,aAAa;;;;;;gCAguB3B,MAAM,GAAG,SAAS;gDA0yCpB,MAAM,aAAa,aAAa,KAAG,SAAS;CAgP3D,CAAC"}
1
+ {"version":3,"file":"use-selection.d.ts","sourceRoot":"","sources":["../../../hooks/use-selection.ts"],"names":[],"mappings":"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"}
@@ -1153,8 +1153,10 @@ var useSelection = function (_a) {
1153
1153
  var isAltKey = nativeEvent.altKey;
1154
1154
  var isMetaKey = nativeEvent.ctrlKey || nativeEvent.metaKey;
1155
1155
  // TODO ctrl + space
1156
- // Ignore alt
1157
- if (isAltKey) {
1156
+ // Ignore alt, but for Alt + PageDown / PageUp (one screen right / left)
1157
+ if (isAltKey &&
1158
+ nativeEvent.key !== "PageDown" &&
1159
+ nativeEvent.key !== "PageUp") {
1158
1160
  return;
1159
1161
  }
1160
1162
  switch (nativeEvent.key) {
@@ -1,4 +1,4 @@
1
- import type { HiddenType, ViewPortProps } from "@rowsncolumns/grid";
1
+ import type { HiddenType, LineHeightMode, ViewPortProps } from "@rowsncolumns/grid";
2
2
  import type { CanvasGridProps } from "../components/canvas-grid/typings";
3
3
  import type { AXIS, Color, TextFormatRun } from "../types";
4
4
  type GetColumnWidthOptions = {
@@ -41,6 +41,12 @@ export interface UseSizerProps {
41
41
  fontSize?: number;
42
42
  fontWeight?: string;
43
43
  fontStyle?: string;
44
+ /**
45
+ * Where the height of one line of text comes from — the font's own
46
+ * metrics (default) or the legacy `fontSize * 1.2` box. Must match the
47
+ * painter's `lineHeightMode` or wrapped rows clip (#1141).
48
+ */
49
+ lineHeightMode?: LineHeightMode;
44
50
  /**
45
51
  * Strategy used to calculate column width
46
52
  * lazy = visible rows
@@ -144,7 +150,7 @@ export interface GetCellDimensionsOptions {
144
150
  * TODO
145
151
  * Dynamically resize columns after user has scrolled down/view port changed ?
146
152
  */
147
- export declare const useSizer: ({ getTextFormat, getTextFormatRuns, initialVisibleRows, initialVisibleColumns, cellVerticalSpacing, cellHorizontalSpacing, minColumnDimension, minRowDimension, resizeStrategy, rowCount, columnCount, getDataRowCount, fontFamily, fontSize, fontWeight, fontStyle, frozenRows, frozenColumns, scale, isHiddenRow, isHiddenColumn, getTextValue, getSpacing, getViewPort, shouldWrapCell, columnWidth, getActualCellWidth, }: UseSizerProps) => {
153
+ export declare const useSizer: ({ getTextFormat, getTextFormatRuns, initialVisibleRows, initialVisibleColumns, cellVerticalSpacing, cellHorizontalSpacing, minColumnDimension, minRowDimension, resizeStrategy, rowCount, columnCount, getDataRowCount, fontFamily, fontSize, fontWeight, fontStyle, lineHeightMode, frozenRows, frozenColumns, scale, isHiddenRow, isHiddenColumn, getTextValue, getSpacing, getViewPort, shouldWrapCell, columnWidth, getActualCellWidth, }: UseSizerProps) => {
148
154
  getColumnWidth: (sheetId: number, columnIndex: number, options?: GetColumnWidthOptions) => number;
149
155
  getTextDimension: (sheetId: number, rowIndex: number, columnIndex: number, formattedValue: string | undefined, customTextFormat?: TextFormat) => {
150
156
  width: number;
@@ -1 +1 @@
1
- {"version":3,"file":"use-sizer.d.ts","sourceRoot":"","sources":["../../../hooks/use-sizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-sizer.d.ts","sourceRoot":"","sources":["../../../hooks/use-sizer.ts"],"names":[],"mappings":"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"}
@@ -20,29 +20,38 @@ var defaultGetText = function () { return ""; };
20
20
  * Dynamically resize columns after user has scrolled down/view port changed ?
21
21
  */
22
22
  var useSizer = function (_a) {
23
- var getTextFormat = _a.getTextFormat, getTextFormatRuns = _a.getTextFormatRuns, _b = _a.initialVisibleRows, initialVisibleRows = _b === void 0 ? 20 : _b, _c = _a.initialVisibleColumns, initialVisibleColumns = _c === void 0 ? 20 : _c, _d = _a.cellVerticalSpacing, cellVerticalSpacing = _d === void 0 ? 0 : _d, _e = _a.cellHorizontalSpacing, cellHorizontalSpacing = _e === void 0 ? 10 : _e, _f = _a.minColumnDimension, minColumnDimension = _f === void 0 ? config_1.DEFAULT_COLUMN_WIDTH : _f, _g = _a.minRowDimension, minRowDimension = _g === void 0 ? config_1.DEFAULT_ROW_HEIGHT : _g, _h = _a.resizeStrategy, resizeStrategy = _h === void 0 ? "lazy" : _h, rowCount = _a.rowCount, columnCount = _a.columnCount, getDataRowCount = _a.getDataRowCount, _j = _a.fontFamily, fontFamily = _j === void 0 ? "Arial" : _j, _k = _a.fontSize, fontSize = _k === void 0 ? 12 : _k, _l = _a.fontWeight, fontWeight = _l === void 0 ? "" : _l, _m = _a.fontStyle, fontStyle = _m === void 0 ? "" : _m, _o = _a.frozenRows, frozenRows = _o === void 0 ? 0 : _o, _p = _a.frozenColumns, frozenColumns = _p === void 0 ? 0 : _p, _q = _a.scale, scale = _q === void 0 ? 1 : _q, isHiddenRow = _a.isHiddenRow, isHiddenColumn = _a.isHiddenColumn, _r = _a.getTextValue, getTextValue = _r === void 0 ? defaultGetText : _r, getSpacing = _a.getSpacing, getViewPort = _a.getViewPort, shouldWrapCell = _a.shouldWrapCell, columnWidth = _a.columnWidth, getActualCellWidth = _a.getActualCellWidth;
23
+ var getTextFormat = _a.getTextFormat, getTextFormatRuns = _a.getTextFormatRuns, _b = _a.initialVisibleRows, initialVisibleRows = _b === void 0 ? 20 : _b, _c = _a.initialVisibleColumns, initialVisibleColumns = _c === void 0 ? 20 : _c, _d = _a.cellVerticalSpacing, cellVerticalSpacing = _d === void 0 ? 0 : _d, _e = _a.cellHorizontalSpacing, cellHorizontalSpacing = _e === void 0 ? 10 : _e, _f = _a.minColumnDimension, minColumnDimension = _f === void 0 ? config_1.DEFAULT_COLUMN_WIDTH : _f, _g = _a.minRowDimension, minRowDimension = _g === void 0 ? config_1.DEFAULT_ROW_HEIGHT : _g, _h = _a.resizeStrategy, resizeStrategy = _h === void 0 ? "lazy" : _h, rowCount = _a.rowCount, columnCount = _a.columnCount, getDataRowCount = _a.getDataRowCount, _j = _a.fontFamily, fontFamily = _j === void 0 ? "Arial" : _j, _k = _a.fontSize, fontSize = _k === void 0 ? 12 : _k, _l = _a.fontWeight, fontWeight = _l === void 0 ? "" : _l, _m = _a.fontStyle, fontStyle = _m === void 0 ? "" : _m, _o = _a.lineHeightMode, lineHeightMode = _o === void 0 ? "fontMetrics" : _o, _p = _a.frozenRows, frozenRows = _p === void 0 ? 0 : _p, _q = _a.frozenColumns, frozenColumns = _q === void 0 ? 0 : _q, _r = _a.scale, scale = _r === void 0 ? 1 : _r, isHiddenRow = _a.isHiddenRow, isHiddenColumn = _a.isHiddenColumn, _s = _a.getTextValue, getTextValue = _s === void 0 ? defaultGetText : _s, getSpacing = _a.getSpacing, getViewPort = _a.getViewPort, shouldWrapCell = _a.shouldWrapCell, columnWidth = _a.columnWidth, getActualCellWidth = _a.getActualCellWidth;
24
24
  var autoSizer = (0, react_1.useRef)(grid_1.autoSizerCanvas);
25
25
  var scaleRef = (0, react_1.useRef)(scale);
26
26
  // Keep scale in sync
27
27
  scaleRef.current = scale;
28
28
  /* Update any styles, fonts if necessary */
29
29
  (0, use_isomorphic_layout_effect_1.useIsomorphicLayoutEffect)(function () {
30
- autoSizer.current.setFont({ fontFamily: fontFamily, fontSize: fontSize, fontWeight: fontWeight, fontStyle: fontStyle });
31
- }, [fontFamily, fontSize, fontWeight, fontStyle]);
30
+ autoSizer.current.setFont({
31
+ fontFamily: fontFamily,
32
+ fontSize: fontSize,
33
+ fontWeight: fontWeight,
34
+ fontStyle: fontStyle,
35
+ lineHeightMode: lineHeightMode,
36
+ });
37
+ }, [fontFamily, fontSize, fontWeight, fontStyle, lineHeightMode]);
32
38
  var setAutoSizerTextFormat = (0, react_1.useCallback)(function (textFormat, scale) {
33
39
  var _a, _b;
34
40
  var baseFontSize = (0, helpers_1.pointToPixel)((_a = textFormat.fontSize) !== null && _a !== void 0 ? _a : fontSize);
35
41
  var textFontSize = textFormat.baselineOffset
36
42
  ? baseFontSize * BASELINE_OFFSET_FONT_SCALE
37
43
  : baseFontSize;
44
+ // The sizer is a shared singleton — pin the mode on every measure so a
45
+ // grid in `fixed` mode cannot leak its line box into this one.
38
46
  autoSizer.current.setFont({
39
47
  fontWeight: textFormat.bold ? "bold" : "",
40
48
  fontSize: textFontSize,
41
49
  fontFamily: (_b = textFormat.fontFamily) !== null && _b !== void 0 ? _b : fontFamily,
42
50
  fontStyle: textFormat.italic ? "italic" : "",
43
51
  scale: scale,
52
+ lineHeightMode: lineHeightMode,
44
53
  });
45
- }, [fontFamily, fontSize]);
54
+ }, [fontFamily, fontSize, lineHeightMode]);
46
55
  /**
47
56
  * Measure a single atom under its segment-merged format. We can't
48
57
  * delegate to `autoSizer.measureText` here: that runs the input
@@ -53,11 +62,12 @@ var useSizer = function (_a) {
53
62
  * "Hello world" (with bold "world") produced a width as if the
54
63
  * space didn't exist — auto-fit then sized the column too narrow
55
64
  * and the bold run touched the right edge. Width comes from the
56
- * raw 2D canvas API; height mirrors the autoSizer's
57
- * `fontSize * 1.2 * scale` line-box.
65
+ * raw 2D canvas API; the line box and leading are the autoSizer's
66
+ * for the atom's font, so a run in a taller face grows its line the
67
+ * way the painter's `CellTextRuns` draws it.
58
68
  */
59
69
  var measureAtom = (0, react_1.useCallback)(function (atom, base, currentScale) {
60
- var _a, _b, _c, _d, _e, _f, _g;
70
+ var _a, _b, _c, _d, _e, _f;
61
71
  var merged = {
62
72
  bold: (_a = atom.format.bold) !== null && _a !== void 0 ? _a : base.bold,
63
73
  italic: (_b = atom.format.italic) !== null && _b !== void 0 ? _b : base.italic,
@@ -68,15 +78,14 @@ var useSizer = function (_a) {
68
78
  setAutoSizerTextFormat(merged, currentScale);
69
79
  var ctx = autoSizer.current.context;
70
80
  var width = (_f = ctx === null || ctx === void 0 ? void 0 : ctx.measureText(atom.text).width) !== null && _f !== void 0 ? _f : 0;
71
- var fontPx = (0, helpers_1.pointToPixel)((_g = merged.fontSize) !== null && _g !== void 0 ? _g : fontSize);
72
- var height = fontPx * 1.2 * currentScale;
73
- return { width: width, height: height };
74
- }, [fontSize, setAutoSizerTextFormat]);
81
+ return tslib_1.__assign({ width: width }, autoSizer.current.lineMetrics());
82
+ }, [setAutoSizerTextFormat]);
75
83
  /**
76
84
  * Measure a rich-text cell. Walks segments per line, sets the
77
85
  * autoSizer font per atom, sums widths per line, takes the tallest
78
- * atom's measured height as that line's height (Excel scales rows
79
- * to fit the largest glyph in a mixed-format line). For wrapped
86
+ * atom's line box as that line's box (Excel scales rows to fit the
87
+ * largest glyph in a mixed-format line) and stacks lines with the
88
+ * leading of the tallest atom, as `CellTextRuns` does. For wrapped
80
89
  * cells it applies greedy whitespace-break wrap with per-atom font
81
90
  * metrics, matching what `CellTextRuns` paints. Returns the raw
82
91
  * scaled glyph box — caller adds cell-spacing padding afterwards.
@@ -85,19 +94,22 @@ var useSizer = function (_a) {
85
94
  var e_1, _a;
86
95
  var segments = (0, rich_text_1.buildRichTextSegments)(text, runs);
87
96
  var inputLines = (0, rich_text_1.segmentsToLines)(segments);
88
- // Baseline height for empty lines — single-space measurement
89
- // through the autoSizer so the scale + line-height ratio match.
90
- var baseLineHeight = (function () {
91
- var _a, _b;
97
+ // Line box for empty lines, and the floor of every other line.
98
+ var baseLine = (function () {
92
99
  setAutoSizerTextFormat(base, currentScale);
93
- return (_b = (_a = autoSizer.current.measureText(" ")) === null || _a === void 0 ? void 0 : _a.height) !== null && _b !== void 0 ? _b : 0;
100
+ return autoSizer.current.lineMetrics();
94
101
  })();
95
102
  var totalWidth = 0;
96
103
  var totalHeight = 0;
104
+ var lineCount = 0;
105
+ var pushLine = function (box, leading) {
106
+ totalHeight += lineCount === 0 ? box : leading + box;
107
+ lineCount++;
108
+ };
97
109
  var _loop_1 = function (line) {
98
110
  var e_2, _b, e_3, _c, e_4, _d, e_5, _e;
99
111
  if (line.length === 0) {
100
- totalHeight += baseLineHeight;
112
+ pushLine(baseLine.box, baseLine.leading);
101
113
  return "continue";
102
114
  }
103
115
  var atoms = [];
@@ -127,16 +139,19 @@ var useSizer = function (_a) {
127
139
  finally { if (e_2) throw e_2.error; }
128
140
  }
129
141
  if (!shouldWrap) {
130
- // Single-line case: sum widths, max atom height = line height.
142
+ // Single-line case: sum widths, tallest atom's box = line box.
131
143
  var lineWidth_1 = 0;
132
- var lineMaxHeight_1 = baseLineHeight;
144
+ var lineBox_1 = baseLine.box;
145
+ var lineLeading_1 = baseLine.leading;
133
146
  try {
134
147
  for (var atoms_1 = (e_4 = void 0, tslib_1.__values(atoms)), atoms_1_1 = atoms_1.next(); !atoms_1_1.done; atoms_1_1 = atoms_1.next()) {
135
148
  var atom = atoms_1_1.value;
136
- var _h = measureAtom(atom, base, currentScale), width = _h.width, height = _h.height;
149
+ var _h = measureAtom(atom, base, currentScale), width = _h.width, box = _h.box, leading = _h.leading;
137
150
  lineWidth_1 += width;
138
- if (height > lineMaxHeight_1)
139
- lineMaxHeight_1 = height;
151
+ if (box > lineBox_1)
152
+ lineBox_1 = box;
153
+ if (leading > lineLeading_1)
154
+ lineLeading_1 = leading;
140
155
  }
141
156
  }
142
157
  catch (e_4_1) { e_4 = { error: e_4_1 }; }
@@ -148,7 +163,7 @@ var useSizer = function (_a) {
148
163
  }
149
164
  if (lineWidth_1 > totalWidth)
150
165
  totalWidth = lineWidth_1;
151
- totalHeight += lineMaxHeight_1;
166
+ pushLine(lineBox_1, lineLeading_1);
152
167
  return "continue";
153
168
  }
154
169
  // Wrapped case: greedy whitespace-break wrap with per-atom
@@ -156,24 +171,31 @@ var useSizer = function (_a) {
156
171
  // (kept inline because we need running per-line max-height).
157
172
  var cursorX = 0;
158
173
  var lineWidth = 0;
159
- var lineMaxHeight = baseLineHeight;
174
+ var lineBox = baseLine.box;
175
+ var lineLeading = baseLine.leading;
160
176
  var flush = function () {
161
177
  if (lineWidth > totalWidth)
162
178
  totalWidth = lineWidth;
163
- totalHeight += lineMaxHeight;
179
+ pushLine(lineBox, lineLeading);
164
180
  cursorX = 0;
165
181
  lineWidth = 0;
166
- lineMaxHeight = baseLineHeight;
182
+ lineBox = baseLine.box;
183
+ lineLeading = baseLine.leading;
184
+ };
185
+ var grow = function (box, leading) {
186
+ if (box > lineBox)
187
+ lineBox = box;
188
+ if (leading > lineLeading)
189
+ lineLeading = leading;
167
190
  };
168
191
  try {
169
192
  for (var atoms_2 = (e_5 = void 0, tslib_1.__values(atoms)), atoms_2_1 = atoms_2.next(); !atoms_2_1.done; atoms_2_1 = atoms_2.next()) {
170
193
  var atom = atoms_2_1.value;
171
- var _j = measureAtom(atom, base, currentScale), atomWidth = _j.width, atomHeight = _j.height;
194
+ var _j = measureAtom(atom, base, currentScale), atomWidth = _j.width, atomBox = _j.box, atomLeading = _j.leading;
172
195
  if (cursorX + atomWidth <= maxGlyphWidth || cursorX === 0) {
173
196
  cursorX += atomWidth;
174
197
  lineWidth = cursorX;
175
- if (atomHeight > lineMaxHeight)
176
- lineMaxHeight = atomHeight;
198
+ grow(atomBox, atomLeading);
177
199
  }
178
200
  else if (atom.isWhitespace) {
179
201
  flush();
@@ -182,8 +204,7 @@ var useSizer = function (_a) {
182
204
  flush();
183
205
  cursorX = atomWidth;
184
206
  lineWidth = atomWidth;
185
- if (atomHeight > lineMaxHeight)
186
- lineMaxHeight = atomHeight;
207
+ grow(atomBox, atomLeading);
187
208
  }
188
209
  }
189
210
  }
@@ -4,6 +4,15 @@ import type { SpreadsheetApi } from "../api/spreadsheet-api";
4
4
  type Props = {
5
5
  children?: ReactNode;
6
6
  };
7
+ type PortalProps = Props & {
8
+ /**
9
+ * Where every dialog, menu, popover, select, tooltip and editor dropdown
10
+ * under this provider mounts. Defaults to the `document.body` of the
11
+ * window running the JS; a host that renders the grid in a second window
12
+ * (popout, iframe) passes that window's body so they open next to the grid.
13
+ */
14
+ portalContainer?: HTMLElement | null;
15
+ };
7
16
  export declare const multiInstanceStore: {
8
17
  get: <Value>(atom: import("jotai").Atom<Value>) => Value;
9
18
  set: <Value, Args extends unknown[], Result>(atom: import("jotai").WritableAtom<Value, Args, Result>, ...args: Args) => Result;
@@ -17,8 +26,8 @@ export declare const multiInstanceAtom: import("jotai").PrimitiveAtom<Map<string
17
26
  init: Map<string, SpreadsheetApi<import("@rowsncolumns/common-types").CellData>>;
18
27
  };
19
28
  export declare const useSpreadsheetInstances: () => Map<string, SpreadsheetApi<import("@rowsncolumns/common-types").CellData>>;
20
- export declare const SpreadsheetProvider: FC<Props>;
21
- export declare const SpreadsheetStateProvider: FC<Props>;
29
+ export declare const SpreadsheetProvider: FC<PortalProps>;
30
+ export declare const SpreadsheetStateProvider: FC<PortalProps>;
22
31
  export declare const SpreadsheetMultiInstanceProvider: FC<Props>;
23
32
  export declare const SpreadsheetTooltipProvider: FC<Props>;
24
33
  export {};