@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.
- package/dist/cjs/api/selections.d.ts +15 -1
- package/dist/cjs/api/selections.d.ts.map +1 -1
- package/dist/cjs/api/selections.js +12 -2
- package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/cjs/components/canvas-grid/index.js +88 -70
- package/dist/cjs/components/canvas-grid/typings.d.ts +40 -1
- package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/cjs/components/cell/cell-text-runs.d.ts +10 -3
- package/dist/cjs/components/cell/cell-text-runs.d.ts.map +1 -1
- package/dist/cjs/components/cell/cell-text-runs.js +21 -9
- package/dist/cjs/components/cell/index.d.ts.map +1 -1
- package/dist/cjs/components/cell/index.js +9 -5
- package/dist/cjs/components/cell/line-height.d.ts +22 -0
- package/dist/cjs/components/cell/line-height.d.ts.map +1 -0
- package/dist/cjs/components/cell/line-height.js +32 -0
- package/dist/cjs/components/cell/typings.d.ts +8 -2
- package/dist/cjs/components/cell/typings.d.ts.map +1 -1
- package/dist/cjs/hooks/export-range-tiles.d.ts +81 -0
- package/dist/cjs/hooks/export-range-tiles.d.ts.map +1 -0
- package/dist/cjs/hooks/export-range-tiles.js +171 -0
- package/dist/cjs/hooks/use-cell-renderer.d.ts +6 -1
- package/dist/cjs/hooks/use-cell-renderer.d.ts.map +1 -1
- package/dist/cjs/hooks/use-cell-renderer.js +3 -2
- package/dist/cjs/hooks/use-copy-paste-cut.d.ts +5 -1
- package/dist/cjs/hooks/use-copy-paste-cut.d.ts.map +1 -1
- package/dist/cjs/hooks/use-copy-paste-cut.js +19 -5
- package/dist/cjs/hooks/use-editable.d.ts +8 -1
- package/dist/cjs/hooks/use-editable.d.ts.map +1 -1
- package/dist/cjs/hooks/use-editable.js +6 -1
- package/dist/cjs/hooks/use-editor-submit.d.ts +7 -1
- package/dist/cjs/hooks/use-editor-submit.d.ts.map +1 -1
- package/dist/cjs/hooks/use-editor-submit.js +36 -16
- package/dist/cjs/hooks/use-export-range.d.ts +14 -6
- package/dist/cjs/hooks/use-export-range.d.ts.map +1 -1
- package/dist/cjs/hooks/use-export-range.js +240 -158
- package/dist/cjs/hooks/use-grid-children.d.ts +4 -1
- package/dist/cjs/hooks/use-grid-children.d.ts.map +1 -1
- package/dist/cjs/hooks/use-grid-children.js +4 -2
- package/dist/cjs/hooks/use-keyboard-handler.d.ts.map +1 -1
- package/dist/cjs/hooks/use-keyboard-handler.js +13 -6
- package/dist/cjs/hooks/use-navigate-sheet-range.d.ts.map +1 -1
- package/dist/cjs/hooks/use-navigate-sheet-range.js +5 -2
- package/dist/cjs/hooks/use-resize-observer.d.ts.map +1 -1
- package/dist/cjs/hooks/use-resize-observer.js +43 -11
- package/dist/cjs/hooks/use-selection-renderer.d.ts +5 -1
- package/dist/cjs/hooks/use-selection-renderer.d.ts.map +1 -1
- package/dist/cjs/hooks/use-selection-renderer.js +8 -2
- package/dist/cjs/hooks/use-selection.d.ts.map +1 -1
- package/dist/cjs/hooks/use-selection.js +4 -2
- package/dist/cjs/hooks/use-sizer.d.ts +8 -2
- package/dist/cjs/hooks/use-sizer.d.ts.map +1 -1
- package/dist/cjs/hooks/use-sizer.js +54 -33
- package/dist/cjs/providers/spreadsheet-provider.d.ts +11 -2
- package/dist/cjs/providers/spreadsheet-provider.d.ts.map +1 -1
- package/dist/cjs/providers/spreadsheet-provider.js +7 -5
- package/dist/cjs/release-date.js +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/api/selections.d.ts +15 -1
- package/dist/esm/api/selections.d.ts.map +1 -1
- package/dist/esm/api/selections.js +11 -2
- package/dist/esm/components/canvas-grid/index.d.ts.map +1 -1
- package/dist/esm/components/canvas-grid/index.js +30 -12
- package/dist/esm/components/canvas-grid/typings.d.ts +40 -1
- package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -1
- package/dist/esm/components/cell/cell-text-runs.d.ts +10 -3
- package/dist/esm/components/cell/cell-text-runs.d.ts.map +1 -1
- package/dist/esm/components/cell/cell-text-runs.js +14 -9
- package/dist/esm/components/cell/index.d.ts.map +1 -1
- package/dist/esm/components/cell/index.js +7 -3
- package/dist/esm/components/cell/line-height.d.ts +22 -0
- package/dist/esm/components/cell/line-height.d.ts.map +1 -0
- package/dist/esm/components/cell/line-height.js +25 -0
- package/dist/esm/components/cell/typings.d.ts +8 -2
- package/dist/esm/components/cell/typings.d.ts.map +1 -1
- package/dist/esm/hooks/export-range-tiles.d.ts +81 -0
- package/dist/esm/hooks/export-range-tiles.d.ts.map +1 -0
- package/dist/esm/hooks/export-range-tiles.js +126 -0
- package/dist/esm/hooks/use-cell-renderer.d.ts +6 -1
- package/dist/esm/hooks/use-cell-renderer.d.ts.map +1 -1
- package/dist/esm/hooks/use-cell-renderer.js +3 -2
- package/dist/esm/hooks/use-copy-paste-cut.d.ts +5 -1
- package/dist/esm/hooks/use-copy-paste-cut.d.ts.map +1 -1
- package/dist/esm/hooks/use-copy-paste-cut.js +17 -3
- package/dist/esm/hooks/use-editable.d.ts +8 -1
- package/dist/esm/hooks/use-editable.d.ts.map +1 -1
- package/dist/esm/hooks/use-editable.js +6 -1
- package/dist/esm/hooks/use-editor-submit.d.ts +7 -1
- package/dist/esm/hooks/use-editor-submit.d.ts.map +1 -1
- package/dist/esm/hooks/use-editor-submit.js +24 -6
- package/dist/esm/hooks/use-export-range.d.ts +14 -6
- package/dist/esm/hooks/use-export-range.d.ts.map +1 -1
- package/dist/esm/hooks/use-export-range.js +158 -120
- package/dist/esm/hooks/use-grid-children.d.ts +4 -1
- package/dist/esm/hooks/use-grid-children.d.ts.map +1 -1
- package/dist/esm/hooks/use-grid-children.js +4 -2
- package/dist/esm/hooks/use-keyboard-handler.d.ts.map +1 -1
- package/dist/esm/hooks/use-keyboard-handler.js +13 -6
- package/dist/esm/hooks/use-navigate-sheet-range.d.ts.map +1 -1
- package/dist/esm/hooks/use-navigate-sheet-range.js +5 -2
- package/dist/esm/hooks/use-resize-observer.d.ts.map +1 -1
- package/dist/esm/hooks/use-resize-observer.js +38 -9
- package/dist/esm/hooks/use-selection-renderer.d.ts +5 -1
- package/dist/esm/hooks/use-selection-renderer.d.ts.map +1 -1
- package/dist/esm/hooks/use-selection-renderer.js +8 -2
- package/dist/esm/hooks/use-selection.d.ts.map +1 -1
- package/dist/esm/hooks/use-selection.js +4 -2
- package/dist/esm/hooks/use-sizer.d.ts +8 -2
- package/dist/esm/hooks/use-sizer.d.ts.map +1 -1
- package/dist/esm/hooks/use-sizer.js +53 -31
- package/dist/esm/providers/spreadsheet-provider.d.ts +11 -2
- package/dist/esm/providers/spreadsheet-provider.d.ts.map +1 -1
- package/dist/esm/providers/spreadsheet-provider.js +8 -6
- package/dist/esm/release-date.js +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spreadsheet-provider.d.ts","sourceRoot":"","sources":["../../../providers/spreadsheet-provider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spreadsheet-provider.d.ts","sourceRoot":"","sources":["../../../providers/spreadsheet-provider.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,KAAK,WAAW,GAAG,KAAK,GAAG;IACzB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;0GA+CwmD,GAAI;;;;0GAAJ,GAAI;;wDA/C5lD,CAAC;AAEhD,eAAO,MAAM,iBAAiB;;CAA+C,CAAC;AAM9E,eAAO,MAAM,uBAAuB,kFAEnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,WAAW,CAa/C,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,EAAE,CAAC,WAAW,CAWpD,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,EAAE,CAAC,KAAK,CAEtD,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,EAAE,CAAC,KAAK,CAEhD,CAAC"}
|
|
@@ -16,16 +16,18 @@ var useSpreadsheetInstances = function () {
|
|
|
16
16
|
};
|
|
17
17
|
exports.useSpreadsheetInstances = useSpreadsheetInstances;
|
|
18
18
|
var SpreadsheetProvider = function (_a) {
|
|
19
|
-
var children = _a.children;
|
|
19
|
+
var children = _a.children, portalContainer = _a.portalContainer;
|
|
20
20
|
return (react_1.default.createElement(jotai_1.Provider, null,
|
|
21
|
-
react_1.default.createElement(ui_1.
|
|
22
|
-
react_1.default.createElement(ui_1.
|
|
21
|
+
react_1.default.createElement(ui_1.PortalContainerProvider, { container: portalContainer },
|
|
22
|
+
react_1.default.createElement(ui_1.ModalProvider, null,
|
|
23
|
+
react_1.default.createElement(ui_1.TooltipProvider, null, children)))));
|
|
23
24
|
};
|
|
24
25
|
exports.SpreadsheetProvider = SpreadsheetProvider;
|
|
25
26
|
var SpreadsheetStateProvider = function (_a) {
|
|
26
|
-
var children = _a.children;
|
|
27
|
+
var children = _a.children, portalContainer = _a.portalContainer;
|
|
27
28
|
return (react_1.default.createElement(jotai_1.Provider, null,
|
|
28
|
-
react_1.default.createElement(ui_1.
|
|
29
|
+
react_1.default.createElement(ui_1.PortalContainerProvider, { container: portalContainer },
|
|
30
|
+
react_1.default.createElement(ui_1.ModalProvider, null, children))));
|
|
29
31
|
};
|
|
30
32
|
exports.SpreadsheetStateProvider = SpreadsheetStateProvider;
|
|
31
33
|
var SpreadsheetMultiInstanceProvider = function (_a) {
|
package/dist/cjs/release-date.js
CHANGED
|
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.releaseDate = void 0;
|
|
5
5
|
exports.releaseDate =
|
|
6
6
|
// @ts-ignore
|
|
7
|
-
(_a = new Date("2026-10-
|
|
7
|
+
(_a = new Date("2026-10-19")) !== null && _a !== void 0 ? _a : new Date("2025-06-18");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../../config.ts","../../helpers.ts","../../index.tsx","../../release-date.ts","../../test-setup.ts","../../themes.ts","../../types.ts","../../vitest.config.ts","../../api/animate.ts","../../api/banded-ranges.ts","../../api/calculated-column-fill.ts","../../api/cf-engine.ts","../../api/cf-overlays.ts","../../api/cf-window.ts","../../api/chart-sheet.ts","../../api/chart-source-ranges.ts","../../api/colors.ts","../../api/copy-paste.ts","../../api/evaluate-formula.ts","../../api/excel-validation-kinds.ts","../../api/fill-patterns.ts","../../api/fill-series.ts","../../api/font-loader.ts","../../api/go-to-special.ts","../../api/go-to.ts","../../api/heatmap.ts","../../api/insert-options.ts","../../api/move-overwrite.ts","../../api/multi-selection.ts","../../api/scheduler.ts","../../api/scroller.ts","../../api/selections.ts","../../api/spreadsheet-api.ts","../../api/table-auto-expansion.ts","../../api/table.ts","../../api/validation-tooltip.tsx","../../api/validation.ts","../../atoms/active-editor.atom.ts","../../atoms/advanced-filter-dialog.atom.ts","../../atoms/calculated-column-fill.atom.ts","../../atoms/cell-input-context.atom.ts","../../atoms/chart-actions.atom.ts","../../atoms/editing-cell.atom.ts","../../atoms/evaluate-formula-dialog.atom.ts","../../atoms/fill-options.atom.ts","../../atoms/fill-series-dialog.atom.ts","../../atoms/formula-bar-editor-value.atom.ts","../../atoms/formula-mode.atom.ts","../../atoms/formula-selection-state.atom.ts","../../atoms/formula-selections.atom.ts","../../atoms/go-to-dialog.atom.ts","../../atoms/goal-seek-dialog.atom.ts","../../atoms/index.ts","../../atoms/insert-cells-dialog.atom.ts","../../atoms/insert-options.atom.ts","../../atoms/loading-indicator.atom.ts","../../atoms/magic-fill-state.atom.ts","../../atoms/move-chart-dialog.atom.ts","../../atoms/move-overwrite-confirm.atom.ts","../../atoms/paste-menu.atom.ts","../../atoms/paste-special-dialog.atom.ts","../../atoms/persistent-tooltip.atom.ts","../../atoms/popover.atom.ts","../../atoms/range-selector.atom.ts","../../atoms/remove-duplicates-dialog.atom.ts","../../atoms/selected-chart-embed.atom.ts","../../atoms/selected-chart-series.atom.ts","../../atoms/sheet-context.atom.ts","../../atoms/sheet-status-display.atom.ts","../../atoms/show-formula-help.atom.ts","../../atoms/sort-dialog.atom.ts","../../atoms/sparkline-dialog.atom.ts","../../atoms/spreadsheet-api.atom.ts","../../atoms/subtotal-dialog.atom.ts","../../atoms/table-auto-expansion.atom.ts","../../atoms/text-to-columns-dialog.atom.ts","../../atoms/validation-alert.atom.ts","../../atoms/watch-window.atom.ts","../../components/advanced-filter-dialog/index.tsx","../../components/bottom-bar/index.tsx","../../components/calculated-column-smart-tag/index.tsx","../../components/calculation-options-dialog/index.tsx","../../components/canvas-grid/helpers.ts","../../components/canvas-grid/index.tsx","../../components/canvas-grid/typings.ts","../../components/cell/alignment.ts","../../components/cell/cell-background.tsx","../../components/cell/cell-text-runs.tsx","../../components/cell/helpers.ts","../../components/cell/index.tsx","../../components/cell/rich-text.ts","../../components/cell/typings.ts","../../components/cell-arrow/index.tsx","../../components/cell-calculated/index.tsx","../../components/cell-checkbox/index.tsx","../../components/cell-diff/index.tsx","../../components/cell-editor/calendar-popup.tsx","../../components/cell-editor/formula-result-preview.tsx","../../components/cell-editor/helpers.ts","../../components/cell-editor/index.tsx","../../components/cell-editor/style.tsx","../../components/cell-error/index.tsx","../../components/cell-expand/index.tsx","../../components/cell-filter/index.tsx","../../components/cell-group/index.tsx","../../components/cell-input/cell-input.tsx","../../components/cell-input/formula-bar-cell-input.tsx","../../components/cell-input/index.tsx","../../components/cell-input/style.tsx","../../components/cell-overlay/index.tsx","../../components/cell-structured/index.tsx","../../components/cell-structured/sparkline-math.ts","../../components/cell-structured/sparkline.tsx","../../components/cell-structured/types.ts","../../components/cell-tooltip/index.tsx","../../components/cell-tooltip/note-editor.tsx","../../components/cell-tooltip/style.tsx","../../components/chart-sheet-view/index.tsx","../../components/context-menu/embed-context-menu.tsx","../../components/context-menu/index.tsx","../../components/context-menu/menu.tsx","../../components/context-menu/style.tsx","../../components/context-menu/total-row-function-menu.tsx","../../components/context-menu/total-row-functions.ts","../../components/embeds/chart-component.tsx","../../components/embeds/embed-component.tsx","../../components/embeds/embed-draggable.tsx","../../components/embeds/index.tsx","../../components/embeds/shape-geometry.ts","../../components/embeds/shape-svg.tsx","../../components/embeds/slicer-component.tsx","../../components/evaluate-formula-dialog/index.tsx","../../components/fill-handle/index.tsx","../../components/fill-series-dialog/index.tsx","../../components/filter-box/date-tree.ts","../../components/filter-box/filter-by-color.tsx","../../components/filter-box/filter-by-condition.tsx","../../components/filter-box/filter-by-value.tsx","../../components/filter-box/index.tsx","../../components/floating-cell-editor/index.tsx","../../components/formula-bar/index.tsx","../../components/formula-bar/style.tsx","../../components/formula-input/index.tsx","../../components/go-to-dialog/index.tsx","../../components/goal-seek-dialog/index.tsx","../../components/grid-footer/index.tsx","../../components/header-cell/index.tsx","../../components/header-menu/index.tsx","../../components/header-move/index.tsx","../../components/header-resizer/index.tsx","../../components/hidden-markers/index.tsx","../../components/hidden-markers/style.tsx","../../components/insert-cells-dialog/index.tsx","../../components/insert-function-dialog/index.tsx","../../components/insert-options-smart-tag/index.tsx","../../components/loading-indicator/index.tsx","../../components/move-chart-dialog/index.tsx","../../components/move-overwrite-confirm-dialog/index.tsx","../../components/outline-gutter/index.tsx","../../components/paste-special-dialog/index.tsx","../../components/pivot-placeholder/index.tsx","../../components/print-preview/cell-styles.ts","../../components/print-preview/index.ts","../../components/print-preview/page-block.tsx","../../components/print-preview/print-preview-dialog.tsx","../../components/print-preview/run-print.ts","../../components/print-preview/settings.ts","../../components/print-preview/use-page-layout.ts","../../components/range-selector/index.tsx","../../components/remove-duplicates-dialog/index.tsx","../../components/resizer/index.tsx","../../components/selection/avatar.tsx","../../components/selection/fill-options-menu.tsx","../../components/selection/index.tsx","../../components/selection/magic-fill.tsx","../../components/selection/paste-menu.tsx","../../components/selection/quick-edit.tsx","../../components/selection/style.tsx","../../components/selection/suggestion-action.tsx","../../components/selection/title.tsx","../../components/selection/types.ts","../../components/selection-input/index.tsx","../../components/selection-input/style.tsx","../../components/sheet-search/index.tsx","../../components/sheet-status/index.tsx","../../components/sheet-status/style.tsx","../../components/sheet-switcher/index.tsx","../../components/sheet-switcher/new-sheet-button.tsx","../../components/sheet-tabs/context-menu.tsx","../../components/sheet-tabs/index.tsx","../../components/sheet-tabs/sheet-tab.tsx","../../components/sheet-tabs/style.tsx","../../components/sheet-tabs/types.ts","../../components/sort-range-dialog/index.tsx","../../components/sparkline-dialog/index.tsx","../../components/subtotal-dialog/index.tsx","../../components/table-auto-expansion-smart-tag/index.tsx","../../components/text-to-columns-dialog/index.tsx","../../components/toolbar/background-color-selector.tsx","../../components/toolbar/border-color-selector.tsx","../../components/toolbar/border-line-style-options.tsx","../../components/toolbar/border-line-style-selector.tsx","../../components/toolbar/border-location-options.tsx","../../components/toolbar/border-selector.tsx","../../components/toolbar/buttons.tsx","../../components/toolbar/cell-style-selector.tsx","../../components/toolbar/color-selector.tsx","../../components/toolbar/fill-selectors.tsx","../../components/toolbar/font-family-selector.tsx","../../components/toolbar/font-size-selector.tsx","../../components/toolbar/index.tsx","../../components/toolbar/insert-menu.tsx","../../components/toolbar/merge-cells-selector.tsx","../../components/toolbar/scale-selector.tsx","../../components/toolbar/sparkline-actions.tsx","../../components/toolbar/style.tsx","../../components/toolbar/table-actions.tsx","../../components/toolbar/table-style-editor.tsx","../../components/toolbar/table-style-selector.tsx","../../components/toolbar/text-color-selector.tsx","../../components/toolbar/text-format-selector.tsx","../../components/toolbar/text-horizontal-align-selector.tsx","../../components/toolbar/text-rotation-selector.tsx","../../components/toolbar/text-vertical-align-selector.tsx","../../components/toolbar/text-wrap-selector.tsx","../../components/toolbar/theme-selector.tsx","../../components/toolbar/toolbar.tsx","../../components/toolbar/types.ts","../../components/toolbar/view-menu.tsx","../../components/validation-alert-dialog/index.tsx","../../components/watch-window/index.tsx","../../helpers/merged-cell-borders.ts","../../hooks/index.ts","../../hooks/show-zeros.ts","../../hooks/use-async.ts","../../hooks/use-border-styles.ts","../../hooks/use-callback-ref.ts","../../hooks/use-cell-diff-highlight.ts","../../hooks/use-cell-popover.tsx","../../hooks/use-cell-renderer.tsx","../../hooks/use-chart-clipboard.ts","../../hooks/use-chart-source-ranges.ts","../../hooks/use-column-color-icons.ts","../../hooks/use-conditional-formatting.ts","../../hooks/use-context-menu.tsx","../../hooks/use-context-setter.ts","../../hooks/use-copy-paste-cut.tsx","../../hooks/use-create-address-from-selection.ts","../../hooks/use-create-formula-tokenizer.ts","../../hooks/use-delayed-value.ts","../../hooks/use-editable.tsx","../../hooks/use-editor-cancel.ts","../../hooks/use-editor-change.ts","../../hooks/use-editor-keydown.ts","../../hooks/use-editor-submit.ts","../../hooks/use-embeds-charts.tsx","../../hooks/use-expand-cell.tsx","../../hooks/use-export-range.ts","../../hooks/use-filter.ts","../../hooks/use-flash.ts","../../hooks/use-fonts.ts","../../hooks/use-formula-range-helpers.ts","../../hooks/use-get-tooltip.tsx","../../hooks/use-get-values-from-range.ts","../../hooks/use-grid-children.tsx","../../hooks/use-header-actions.tsx","../../hooks/use-hidden-dimension-markers.tsx","../../hooks/use-hidden-dimensions.ts","../../hooks/use-hovered-selection-ids.ts","../../hooks/use-isomorphic-layout-effect.ts","../../hooks/use-keyboard-handler.tsx","../../hooks/use-licensekey-validator.tsx","../../hooks/use-memo-compare.ts","../../hooks/use-merge.refs.ts","../../hooks/use-move-columns-rows.tsx","../../hooks/use-navigate-sheet-range.ts","../../hooks/use-previous.ts","../../hooks/use-raf.ts","../../hooks/use-resize-observer.ts","../../hooks/use-reveal-chart-embed.ts","../../hooks/use-scale-listener.ts","../../hooks/use-selected-rows-columns.ts","../../hooks/use-selection-aware-formatting.ts","../../hooks/use-selection-change.ts","../../hooks/use-selection-interceptors.ts","../../hooks/use-selection-move.ts","../../hooks/use-selection-renderer.tsx","../../hooks/use-selection-resize.ts","../../hooks/use-selection.ts","../../hooks/use-sheet-change-handler.ts","../../hooks/use-sizer.ts","../../hooks/use-spreadsheet-theme.ts","../../hooks/use-stable-ref.ts","../../hooks/use-structured-reference-selection.ts","../../hooks/use-table-hit-zones.ts","../../hooks/use-table-resizer.tsx","../../hooks/use-text-dimensions.ts","../../hooks/use-tooltip.ts","../../hooks/use-touch.ts","../../providers/spreadsheet-provider.tsx","../../signals/scroll-subscriber.ts","../../utils/copy-as-picture.ts","../../utils/maybe.ts","../../utils/pivot-chart-field-buttons.ts","../../utils/z-order.ts"],"version":"5.8.3"}
|
|
1
|
+
{"root":["../../config.ts","../../helpers.ts","../../index.tsx","../../release-date.ts","../../test-setup.ts","../../themes.ts","../../types.ts","../../vitest.config.ts","../../api/animate.ts","../../api/banded-ranges.ts","../../api/calculated-column-fill.ts","../../api/cf-engine.ts","../../api/cf-overlays.ts","../../api/cf-window.ts","../../api/chart-sheet.ts","../../api/chart-source-ranges.ts","../../api/colors.ts","../../api/copy-paste.ts","../../api/evaluate-formula.ts","../../api/excel-validation-kinds.ts","../../api/fill-patterns.ts","../../api/fill-series.ts","../../api/font-loader.ts","../../api/go-to-special.ts","../../api/go-to.ts","../../api/heatmap.ts","../../api/insert-options.ts","../../api/move-overwrite.ts","../../api/multi-selection.ts","../../api/scheduler.ts","../../api/scroller.ts","../../api/selections.ts","../../api/spreadsheet-api.ts","../../api/table-auto-expansion.ts","../../api/table.ts","../../api/validation-tooltip.tsx","../../api/validation.ts","../../atoms/active-editor.atom.ts","../../atoms/advanced-filter-dialog.atom.ts","../../atoms/calculated-column-fill.atom.ts","../../atoms/cell-input-context.atom.ts","../../atoms/chart-actions.atom.ts","../../atoms/editing-cell.atom.ts","../../atoms/evaluate-formula-dialog.atom.ts","../../atoms/fill-options.atom.ts","../../atoms/fill-series-dialog.atom.ts","../../atoms/formula-bar-editor-value.atom.ts","../../atoms/formula-mode.atom.ts","../../atoms/formula-selection-state.atom.ts","../../atoms/formula-selections.atom.ts","../../atoms/go-to-dialog.atom.ts","../../atoms/goal-seek-dialog.atom.ts","../../atoms/index.ts","../../atoms/insert-cells-dialog.atom.ts","../../atoms/insert-options.atom.ts","../../atoms/loading-indicator.atom.ts","../../atoms/magic-fill-state.atom.ts","../../atoms/move-chart-dialog.atom.ts","../../atoms/move-overwrite-confirm.atom.ts","../../atoms/paste-menu.atom.ts","../../atoms/paste-special-dialog.atom.ts","../../atoms/persistent-tooltip.atom.ts","../../atoms/popover.atom.ts","../../atoms/range-selector.atom.ts","../../atoms/remove-duplicates-dialog.atom.ts","../../atoms/selected-chart-embed.atom.ts","../../atoms/selected-chart-series.atom.ts","../../atoms/sheet-context.atom.ts","../../atoms/sheet-status-display.atom.ts","../../atoms/show-formula-help.atom.ts","../../atoms/sort-dialog.atom.ts","../../atoms/sparkline-dialog.atom.ts","../../atoms/spreadsheet-api.atom.ts","../../atoms/subtotal-dialog.atom.ts","../../atoms/table-auto-expansion.atom.ts","../../atoms/text-to-columns-dialog.atom.ts","../../atoms/validation-alert.atom.ts","../../atoms/watch-window.atom.ts","../../components/advanced-filter-dialog/index.tsx","../../components/bottom-bar/index.tsx","../../components/calculated-column-smart-tag/index.tsx","../../components/calculation-options-dialog/index.tsx","../../components/canvas-grid/helpers.ts","../../components/canvas-grid/index.tsx","../../components/canvas-grid/typings.ts","../../components/cell/alignment.ts","../../components/cell/cell-background.tsx","../../components/cell/cell-text-runs.tsx","../../components/cell/helpers.ts","../../components/cell/index.tsx","../../components/cell/line-height.ts","../../components/cell/rich-text.ts","../../components/cell/typings.ts","../../components/cell-arrow/index.tsx","../../components/cell-calculated/index.tsx","../../components/cell-checkbox/index.tsx","../../components/cell-diff/index.tsx","../../components/cell-editor/calendar-popup.tsx","../../components/cell-editor/formula-result-preview.tsx","../../components/cell-editor/helpers.ts","../../components/cell-editor/index.tsx","../../components/cell-editor/style.tsx","../../components/cell-error/index.tsx","../../components/cell-expand/index.tsx","../../components/cell-filter/index.tsx","../../components/cell-group/index.tsx","../../components/cell-input/cell-input.tsx","../../components/cell-input/formula-bar-cell-input.tsx","../../components/cell-input/index.tsx","../../components/cell-input/style.tsx","../../components/cell-overlay/index.tsx","../../components/cell-structured/index.tsx","../../components/cell-structured/sparkline-math.ts","../../components/cell-structured/sparkline.tsx","../../components/cell-structured/types.ts","../../components/cell-tooltip/index.tsx","../../components/cell-tooltip/note-editor.tsx","../../components/cell-tooltip/style.tsx","../../components/chart-sheet-view/index.tsx","../../components/context-menu/embed-context-menu.tsx","../../components/context-menu/index.tsx","../../components/context-menu/menu.tsx","../../components/context-menu/style.tsx","../../components/context-menu/total-row-function-menu.tsx","../../components/context-menu/total-row-functions.ts","../../components/embeds/chart-component.tsx","../../components/embeds/embed-component.tsx","../../components/embeds/embed-draggable.tsx","../../components/embeds/index.tsx","../../components/embeds/shape-geometry.ts","../../components/embeds/shape-svg.tsx","../../components/embeds/slicer-component.tsx","../../components/evaluate-formula-dialog/index.tsx","../../components/fill-handle/index.tsx","../../components/fill-series-dialog/index.tsx","../../components/filter-box/date-tree.ts","../../components/filter-box/filter-by-color.tsx","../../components/filter-box/filter-by-condition.tsx","../../components/filter-box/filter-by-value.tsx","../../components/filter-box/index.tsx","../../components/floating-cell-editor/index.tsx","../../components/formula-bar/index.tsx","../../components/formula-bar/style.tsx","../../components/formula-input/index.tsx","../../components/go-to-dialog/index.tsx","../../components/goal-seek-dialog/index.tsx","../../components/grid-footer/index.tsx","../../components/header-cell/index.tsx","../../components/header-menu/index.tsx","../../components/header-move/index.tsx","../../components/header-resizer/index.tsx","../../components/hidden-markers/index.tsx","../../components/hidden-markers/style.tsx","../../components/insert-cells-dialog/index.tsx","../../components/insert-function-dialog/index.tsx","../../components/insert-options-smart-tag/index.tsx","../../components/loading-indicator/index.tsx","../../components/move-chart-dialog/index.tsx","../../components/move-overwrite-confirm-dialog/index.tsx","../../components/outline-gutter/index.tsx","../../components/paste-special-dialog/index.tsx","../../components/pivot-placeholder/index.tsx","../../components/print-preview/cell-styles.ts","../../components/print-preview/index.ts","../../components/print-preview/page-block.tsx","../../components/print-preview/print-preview-dialog.tsx","../../components/print-preview/run-print.ts","../../components/print-preview/settings.ts","../../components/print-preview/use-page-layout.ts","../../components/range-selector/index.tsx","../../components/remove-duplicates-dialog/index.tsx","../../components/resizer/index.tsx","../../components/selection/avatar.tsx","../../components/selection/fill-options-menu.tsx","../../components/selection/index.tsx","../../components/selection/magic-fill.tsx","../../components/selection/paste-menu.tsx","../../components/selection/quick-edit.tsx","../../components/selection/style.tsx","../../components/selection/suggestion-action.tsx","../../components/selection/title.tsx","../../components/selection/types.ts","../../components/selection-input/index.tsx","../../components/selection-input/style.tsx","../../components/sheet-search/index.tsx","../../components/sheet-status/index.tsx","../../components/sheet-status/style.tsx","../../components/sheet-switcher/index.tsx","../../components/sheet-switcher/new-sheet-button.tsx","../../components/sheet-tabs/context-menu.tsx","../../components/sheet-tabs/index.tsx","../../components/sheet-tabs/sheet-tab.tsx","../../components/sheet-tabs/style.tsx","../../components/sheet-tabs/types.ts","../../components/sort-range-dialog/index.tsx","../../components/sparkline-dialog/index.tsx","../../components/subtotal-dialog/index.tsx","../../components/table-auto-expansion-smart-tag/index.tsx","../../components/text-to-columns-dialog/index.tsx","../../components/toolbar/background-color-selector.tsx","../../components/toolbar/border-color-selector.tsx","../../components/toolbar/border-line-style-options.tsx","../../components/toolbar/border-line-style-selector.tsx","../../components/toolbar/border-location-options.tsx","../../components/toolbar/border-selector.tsx","../../components/toolbar/buttons.tsx","../../components/toolbar/cell-style-selector.tsx","../../components/toolbar/color-selector.tsx","../../components/toolbar/fill-selectors.tsx","../../components/toolbar/font-family-selector.tsx","../../components/toolbar/font-size-selector.tsx","../../components/toolbar/index.tsx","../../components/toolbar/insert-menu.tsx","../../components/toolbar/merge-cells-selector.tsx","../../components/toolbar/scale-selector.tsx","../../components/toolbar/sparkline-actions.tsx","../../components/toolbar/style.tsx","../../components/toolbar/table-actions.tsx","../../components/toolbar/table-style-editor.tsx","../../components/toolbar/table-style-selector.tsx","../../components/toolbar/text-color-selector.tsx","../../components/toolbar/text-format-selector.tsx","../../components/toolbar/text-horizontal-align-selector.tsx","../../components/toolbar/text-rotation-selector.tsx","../../components/toolbar/text-vertical-align-selector.tsx","../../components/toolbar/text-wrap-selector.tsx","../../components/toolbar/theme-selector.tsx","../../components/toolbar/toolbar.tsx","../../components/toolbar/types.ts","../../components/toolbar/view-menu.tsx","../../components/validation-alert-dialog/index.tsx","../../components/watch-window/index.tsx","../../helpers/merged-cell-borders.ts","../../hooks/export-range-tiles.ts","../../hooks/index.ts","../../hooks/show-zeros.ts","../../hooks/use-async.ts","../../hooks/use-border-styles.ts","../../hooks/use-callback-ref.ts","../../hooks/use-cell-diff-highlight.ts","../../hooks/use-cell-popover.tsx","../../hooks/use-cell-renderer.tsx","../../hooks/use-chart-clipboard.ts","../../hooks/use-chart-source-ranges.ts","../../hooks/use-column-color-icons.ts","../../hooks/use-conditional-formatting.ts","../../hooks/use-context-menu.tsx","../../hooks/use-context-setter.ts","../../hooks/use-copy-paste-cut.tsx","../../hooks/use-create-address-from-selection.ts","../../hooks/use-create-formula-tokenizer.ts","../../hooks/use-delayed-value.ts","../../hooks/use-editable.tsx","../../hooks/use-editor-cancel.ts","../../hooks/use-editor-change.ts","../../hooks/use-editor-keydown.ts","../../hooks/use-editor-submit.ts","../../hooks/use-embeds-charts.tsx","../../hooks/use-expand-cell.tsx","../../hooks/use-export-range.ts","../../hooks/use-filter.ts","../../hooks/use-flash.ts","../../hooks/use-fonts.ts","../../hooks/use-formula-range-helpers.ts","../../hooks/use-get-tooltip.tsx","../../hooks/use-get-values-from-range.ts","../../hooks/use-grid-children.tsx","../../hooks/use-header-actions.tsx","../../hooks/use-hidden-dimension-markers.tsx","../../hooks/use-hidden-dimensions.ts","../../hooks/use-hovered-selection-ids.ts","../../hooks/use-isomorphic-layout-effect.ts","../../hooks/use-keyboard-handler.tsx","../../hooks/use-licensekey-validator.tsx","../../hooks/use-memo-compare.ts","../../hooks/use-merge.refs.ts","../../hooks/use-move-columns-rows.tsx","../../hooks/use-navigate-sheet-range.ts","../../hooks/use-previous.ts","../../hooks/use-raf.ts","../../hooks/use-resize-observer.ts","../../hooks/use-reveal-chart-embed.ts","../../hooks/use-scale-listener.ts","../../hooks/use-selected-rows-columns.ts","../../hooks/use-selection-aware-formatting.ts","../../hooks/use-selection-change.ts","../../hooks/use-selection-interceptors.ts","../../hooks/use-selection-move.ts","../../hooks/use-selection-renderer.tsx","../../hooks/use-selection-resize.ts","../../hooks/use-selection.ts","../../hooks/use-sheet-change-handler.ts","../../hooks/use-sizer.ts","../../hooks/use-spreadsheet-theme.ts","../../hooks/use-stable-ref.ts","../../hooks/use-structured-reference-selection.ts","../../hooks/use-table-hit-zones.ts","../../hooks/use-table-resizer.tsx","../../hooks/use-text-dimensions.ts","../../hooks/use-tooltip.ts","../../hooks/use-touch.ts","../../providers/spreadsheet-provider.tsx","../../signals/scroll-subscriber.ts","../../utils/copy-as-picture.ts","../../utils/maybe.ts","../../utils/pivot-chart-field-buttons.ts","../../utils/z-order.ts"],"version":"5.8.3"}
|
|
@@ -9,14 +9,28 @@ import type { SheetRange, TableView } from "../types";
|
|
|
9
9
|
* @param isSelection
|
|
10
10
|
*/
|
|
11
11
|
export declare const getSelectionStrokeStyle: (formulaMode: boolean, isFill: boolean, isActiveCell: boolean, emptySelections: boolean) => "solid" | "dashed";
|
|
12
|
+
export type SelectionStrokeOptions = {
|
|
13
|
+
/** Border width of a range selection outside formula mode. Default `1`. */
|
|
14
|
+
selectionStrokeWidth?: number;
|
|
15
|
+
/**
|
|
16
|
+
* Whether the active cell draws its own border while a range is selected.
|
|
17
|
+
* Default `true`; Excel draws none (the active cell is the one unshaded cell).
|
|
18
|
+
*/
|
|
19
|
+
showActiveCellBorderInSelection?: boolean;
|
|
20
|
+
/** A range is selected (the selection count is not 0). */
|
|
21
|
+
hasSelections?: boolean;
|
|
22
|
+
};
|
|
12
23
|
/**
|
|
13
24
|
* Get selection stroke width
|
|
14
25
|
* @param formulaMode
|
|
15
26
|
* @param isFill
|
|
16
27
|
* @param isActiveCell
|
|
28
|
+
* @param isResizingTable
|
|
29
|
+
* @param options the host's widths (`CanvasGrid`'s `selectionStrokeWidth` and
|
|
30
|
+
* `showActiveCellBorderInSelection`); formula-mode references keep theirs
|
|
17
31
|
* @returns
|
|
18
32
|
*/
|
|
19
|
-
export declare const getSelectionStrokeWidth: (formulaMode: boolean, isFill: boolean, isActiveCell: boolean, isResizingTable: boolean) =>
|
|
33
|
+
export declare const getSelectionStrokeWidth: (formulaMode: boolean, isFill: boolean, isActiveCell: boolean, isResizingTable: boolean, { selectionStrokeWidth, showActiveCellBorderInSelection, hasSelections, }?: SelectionStrokeOptions) => number;
|
|
20
34
|
/**
|
|
21
35
|
* Get background opacity of selection
|
|
22
36
|
* @param formulaMode
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selections.d.ts","sourceRoot":"","sources":["../../../api/selections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACd,MAAM,oBAAoB,CAAC;AAgB5B,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACpB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,6CAA6C,CAAC;AACrG,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEtD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAClC,aAAa,OAAO,EACpB,QAAQ,OAAO,EACf,cAAc,OAAO,EACrB,iBAAiB,OAAO,uBAYzB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"selections.d.ts","sourceRoot":"","sources":["../../../api/selections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACd,MAAM,oBAAoB,CAAC;AAgB5B,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACpB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,6CAA6C,CAAC;AACrG,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEtD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAClC,aAAa,OAAO,EACpB,QAAQ,OAAO,EACf,cAAc,OAAO,EACrB,iBAAiB,OAAO,uBAYzB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,GAClC,aAAa,OAAO,EACpB,QAAQ,OAAO,EACf,cAAc,OAAO,EACrB,iBAAiB,OAAO,EACxB,4EAIG,sBAA2B,WAiB/B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAClC,aAAa,OAAO,EACpB,QAAQ,OAAO,gBAKhB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAC3B,aAAa,OAAO,EACpB,QAAQ,OAAO,EACf,cAAc,OAAO,EACrB,gBAAgB,MAAM,EACtB,OAAO,MAAM,GAAG,MAAM,EACtB,eAAe,OAAO,EACtB,iBAAiB,OAAO,WAYzB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,GAC7B,aAAa,OAAO,EACpB,QAAQ,OAAO,EACf,cAAc,OAAO,EACrB,mBAAmB,OAAO,EAC1B,YAAY,OAAO,GAAG,SAAS,EAC/B,sBAAsB,MAAM,EAC5B,KAAK,MAAM,GAAG,MAAM,WAqBrB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,GACxC,OAAO,MAAM,EACb,UAAU,MAAM,EAChB,mBAAmB,MAAM,EACzB,aAAa,aAAa,EAC1B,iBAAwB,EACxB,oBAA8B,EAC9B,YAAW,eAAe,CAAC,WAAW,CAA2B,EACjE,wBAAwB,UAAU,CAAC,OAAO,iCAAiC,CAAC,EAC5E,6BAA6B,0BAA0B,yCAuCxD,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,KAAK,OAAO,KACX,GAAG,IAAI,aAAa,CAAC,mBAAmB,CAK1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,aAAa,WAOtD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,MAAM,EACf,WAAU,MAAsB,EAChC,cAAa,MAAyB,KACrC,aAAa,GAAG,SA+BlB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,YAAY,aAAa,EAAE,YAO3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,UAAU,GAAG,SAAS,YAK9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAClC,WAAW,aAAa,KACvB,aAKF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,WAAW,aAAa,EACxB,OAAO,SAAS,EAChB,aAAa,aAAa,GAAG,SAAS,WA2GvC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,SAAS,EAAE,GAAG,SAAS,EAC/B,aAAa,aAAa,GAAG,SAAS,EACtC,WAAW,aAAa,CAAC,mBAAmB,CAAC,GAAG,SAAS,EACzD,WAAW,MAAM,GAAG,SAAS,EAC7B,eAAe,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,0BA8D3C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,GACvC,OAAO,SAAS,EAChB,YAAY,MAAM,GAAG,SAAS,uBAO/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,GACxC,WAAW,aAAa,GAAG,SAAS,KACnC,aAAa,GAAG,SAQlB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,aAAa,GAAG,SAAS,EACrC,aAAa,aAAa,CAAC,mBAAmB,CAAC,EAAE,KAChD,aAAa,CAAC,mBAAmB,CAAC,EAMpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,YAAY,UAAU,EACtB,YAAY,MAAM,kBAcnB,CAAC"}
|
|
@@ -25,16 +25,25 @@ export const getSelectionStrokeStyle = (formulaMode, isFill, isActiveCell, empty
|
|
|
25
25
|
* @param formulaMode
|
|
26
26
|
* @param isFill
|
|
27
27
|
* @param isActiveCell
|
|
28
|
+
* @param isResizingTable
|
|
29
|
+
* @param options the host's widths (`CanvasGrid`'s `selectionStrokeWidth` and
|
|
30
|
+
* `showActiveCellBorderInSelection`); formula-mode references keep theirs
|
|
28
31
|
* @returns
|
|
29
32
|
*/
|
|
30
|
-
export const getSelectionStrokeWidth = (formulaMode, isFill, isActiveCell, isResizingTable) => {
|
|
33
|
+
export const getSelectionStrokeWidth = (formulaMode, isFill, isActiveCell, isResizingTable, { selectionStrokeWidth = 1, showActiveCellBorderInSelection = true, hasSelections = false, } = {}) => {
|
|
31
34
|
if (isFill) {
|
|
32
35
|
return 1;
|
|
33
36
|
}
|
|
37
|
+
if (isActiveCell &&
|
|
38
|
+
!formulaMode &&
|
|
39
|
+
hasSelections &&
|
|
40
|
+
!showActiveCellBorderInSelection) {
|
|
41
|
+
return 0;
|
|
42
|
+
}
|
|
34
43
|
if (formulaMode || isActiveCell || isResizingTable) {
|
|
35
44
|
return 2;
|
|
36
45
|
}
|
|
37
|
-
return
|
|
46
|
+
return selectionStrokeWidth;
|
|
38
47
|
};
|
|
39
48
|
/**
|
|
40
49
|
* Get background opacity of selection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/canvas-grid/index.tsx"],"names":[],"mappings":"AAoDA,OAAO,KASN,MAAM,OAAO,CAAC;AAqNf,OAAO,KAAK,EAGV,QAAQ,EAWT,MAAM,aAAa,CAAC;AAoBrB,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EAEhB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/canvas-grid/index.tsx"],"names":[],"mappings":"AAoDA,OAAO,KASN,MAAM,OAAO,CAAC;AAqNf,OAAO,KAAK,EAGV,QAAQ,EAWT,MAAM,aAAa,CAAC;AAoBrB,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EAEhB,MAAM,WAAW,CAAC;AA85LnB,eAAO,MAAM,UAAU,EAA4C,CACjE,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,EAEvB,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GACvB,wBAAwB,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;CAAE,KAChE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC"}
|
|
@@ -127,7 +127,7 @@ function isDetachedEditor(editor) {
|
|
|
127
127
|
return element != null && !element.isConnected;
|
|
128
128
|
}
|
|
129
129
|
function CanvasGridComponent(props, forwardedRef) {
|
|
130
|
-
const { licenseKey, sheetId, sheetType, ChartSheetView: ChartSheetViewComponent = ChartSheetView, instanceId, activeCell = DEFAULT_ACTIVE_CELL, selections = DEFAULT_ARRAY, frozenColumnCount = 0, frozenRowCount = 0, rowCount = DEFAULT_ROW_COUNT, columnCount = DEFAULT_COLUMN_COUNT, autoFocus, basicFilter, tables, namedRanges, bandedRanges = DEFAULT_ARRAY, tableBorderColor = "#008000", filterIconColor = "#008000", conditionalFormats, showFilterIcon = true, showCalculatedColumnIcon = true, showHeaders = true, defaultColumnWidth = DEFAULT_COLUMN_WIDTH, defaultRowHeight = DEFAULT_ROW_HEIGHT, columnHeaderHeight = COLUMN_HEADER_HEIGHT, rowHeaderWidth = ROW_HEADER_WIDTH, gridLineColor = GRIDLINE_COLOR, cellBackgroundColor = DEFAULT_CELL_BACKGROUND_COLOR, cellColor = DEFAULT_CELL_COLOR, headerBorderColor = DEFAULT_HEADER_BORDER_COLOR, headerBackgroundColor = DEFAULT_HEADER_BG, headerColor = DEFAULT_HEADER_COLOR, headerActiveBackgroundColor = DEFAULT_HEADER_ACTIVE_BG, headerSelectedBackgroundColor = DEFAULT_HEADER_SELECTED_BG, headerSelectedColor = "white", headerTableBackgroundColor = DEFAULT_HEADER_TABLE_BG, headerTableActiveBackgroundColor = DEFAULT_HEADER_ACTIVE_TABLE_BG, headerTableSelectedBackgroundColor = DEFAULT_HEADER_SELECTED_TABLE_BG, frozenShadowColor = headerBorderColor, frozenShadowThickness = 1, selectionBackgroundColor = SELECTION_BG, selectionBorderColor = SELECTION_BORDER, selectionDragBorderColor = SELECTION_BORDER, chartSelectedColor, chipBackgroundColor = CHIP_COLOR, merges = DEFAULT_ARRAY, borderStyles, protectedRanges, isWorkbookProtected: isWorkbookProtectedProp = false, getSheetProtection, pivotTables, charts, onUpdateChart, onChangeZOrder, embeds, slicers, rowMetadata = DEFAULT_ARRAY, columnMetadata = DEFAULT_ARRAY, scale = 1, zoomSpeed = 1, overscanCount = 3, enableEditOnEnterKey = true, enableTextOverflow = true, showGridLines: _showGridLines, showFormulas = false, protectFormulas = false, showFrozenSeparator = true, HeaderCell = DefaultHeaderCell, Cell = DefaultCell, SelectionTitleComponent = SelectionTitle, CellEditor = DefaultCellEditor, CellTooltip, ContextMenu = DefaultContextMenu, ContextMenuWrapper = DefaultContextMenuWrapper, FilterBox = DefaultFilterBox, HeaderMoveDragComponent = DefaultHeaderMoveDragComponent, SuggestionsDropdown, stickyEditor = true, scrollSnap = false, scrollThrottleTimeout, preventBrowserDefaultScroll, mouseMoveThrottleTimeout = 60, tooltipIntentInterval = 60, selectionPolicy, users, userId, renderCollaboratorCursor, functionDescriptions, showHeaderMenuButton = true, scrollbarSize = SCROLLBAR_SIZE, theme = defaultSpreadsheetTheme, showNotes = true, showComments = true, locale, formulaLocale: formulaLocaleProp, agentSuggestions, onReviewSuggestion, onShowFormulas, getDataRowCount, getDataRegion, getChartComponent, getEmbedComponent, getSlicerComponent, onChange, onChangeBatch, onExpandCollapse, onPivotDrillDown, onDelete, onChangeEditorValue, onFill, onRequestCalculate, onChangeActiveCell, onChangeActiveSheet, onChangeSelections, getSheetName, getSheetId, getCellData, getNote: getNoteProp, getTextFormatRuns, getDataValidation, getEffectiveFormat, getFormattedValue: getFormattedValueProp, getTooltipContent, errorResolutionComponent, getEffectiveValue: getEffectiveValueProp, getSparklineGroup, getUserEnteredExtendedValue, getEffectiveExtendedValue, getSheetRowCount, getSheetColumnCount, getCellPopoverContent, onScroll, onViewPortChange, windowConditionalFormats = false, engineConditionalFormatResults = false, onResize, onAutoResize, onHideColumn, onHideRow, onShowColumn, onShowRow, onGroupRows, onUngroupRows, onCollapseRowGroup, onExpandRowGroup, onGroupColumns, onUngroupColumns, onCollapseColumnGroup, onExpandColumnGroup, onSetOutlineDepth, onDeleteRow, onDeleteColumn, onInsertRow, onInsertColumn, onChangeAutoExpandTables, onChangeAutoCalculatedColumns, onInsertCellsShiftDown, onInsertCellsShiftRight, onDeleteCellsShiftLeft, onDeleteCellsShiftUp, onClearContents, onMoveColumns, onMoveRows, onSelectNextSheet, onSelectPreviousSheet, onCreateNewSheet, onKeyDown, onChangeFormatting, onRepeatFormatting, onClearFormatting, onRequestEditProtectedRange, onMoveChart, onResizeChart, onDeleteChart, onCutChart, onCopyChart, onMoveEmbed, onResizeEmbed, onDeleteEmbed, onRequestEditEmbed, onMoveSlicer, onResizeSlicer, onDeleteSlicer, onRequestEditSlicer, onFillRange, disableFillRightShortcut, keymap, onCalculateNow, onRequestGoTo, onMoveSelection, onInsertCutCells, onInsertTime, onInsertDate, onInsertDateTime, onInsertAutoSum, onUndo, onRedo, onPaste, onCopy, onCut, onSortColumn, onSortTable, onFilterTable, onFilterPivot, onResizeTable, onUndoTableAutoExpansion, onUndoCalculatedColumn, onOverwriteCalculatedColumn, onRequestEditTable, onRequestEditPivotTable, onRequestDeletePivotTable, onRequestCreatePivotChart, onRemoveTable, onCreateTable, onRequestCreateTable, onInsertTableColumn, onDeleteTableColumn, onInsertTableRow, onDeleteTableRow, onUpdateTable, onRequestResizeTable, onRequestInsertSlicer, onCreateBasicFilter, onRequestDefineNamedRange, onRequestFormatCells, onRequestConditionalFormat, onRequestDataValidation, onRequestInsertComment, onRequestInsertLink, onFreezeColumn, onFreezeRow, onUpdateNote, onProtectRange, onUnProtectRange, onSortRange, onRequestSearch, onRequestReplace, onRequestResize, getRowHeaderText = getDefaultRowHeader, getColumnHeaderText = getDefaultColumnHeader, getAdditionalCellSpacing, tokenizer: defaultTokenizer = defaultFormulaTokenizer, onChangeScale, onRemoveLink, onSelectLink, onSplitTextToColumns, onRemoveDuplicates, onGoalSeek, onSubtotal, onAdvancedFilter, onRequestExpand, cellExpandPredicate, StructuredResult = DefaultStructuredResult, getMentions, getStructuredProperties: getStructuredPropertiesProp, getFunctionParameterSuggestions, shouldFetchFunctionParameters, MentionTagComponent, MentionDropdownItemComponent, showSelectionResizeHandles = true, enableMagicFill, enableQuickEdit = true, MagicFillComponent, MagicFillContent, QuickEdit, PasteMenu, SuggestionAction, HiddenRowMarkers, HiddenColumnMarkers, enableResizerOverflow, className, defaultFontSizePoint = DEFAULT_FONT_SIZE_PT, defaultCellFormat, readonly, isComparing = false, getCellDiff, enableDataBoundaryNavigation, footerHeight, footerComponent, arrowComponents,
|
|
130
|
+
const { licenseKey, sheetId, sheetType, ChartSheetView: ChartSheetViewComponent = ChartSheetView, instanceId, activeCell = DEFAULT_ACTIVE_CELL, selections = DEFAULT_ARRAY, frozenColumnCount = 0, frozenRowCount = 0, rowCount = DEFAULT_ROW_COUNT, columnCount = DEFAULT_COLUMN_COUNT, autoFocus, basicFilter, tables, namedRanges, bandedRanges = DEFAULT_ARRAY, tableBorderColor = "#008000", filterIconColor = "#008000", conditionalFormats, showFilterIcon = true, showCalculatedColumnIcon = true, showHeaders = true, defaultColumnWidth = DEFAULT_COLUMN_WIDTH, defaultRowHeight = DEFAULT_ROW_HEIGHT, lineHeightMode = "fontMetrics", columnHeaderHeight = COLUMN_HEADER_HEIGHT, rowHeaderWidth = ROW_HEADER_WIDTH, gridLineColor = GRIDLINE_COLOR, cellBackgroundColor = DEFAULT_CELL_BACKGROUND_COLOR, cellColor = DEFAULT_CELL_COLOR, headerBorderColor = DEFAULT_HEADER_BORDER_COLOR, headerBackgroundColor = DEFAULT_HEADER_BG, headerColor = DEFAULT_HEADER_COLOR, headerActiveBackgroundColor = DEFAULT_HEADER_ACTIVE_BG, headerSelectedBackgroundColor = DEFAULT_HEADER_SELECTED_BG, headerSelectedColor = "white", headerTableBackgroundColor = DEFAULT_HEADER_TABLE_BG, headerTableActiveBackgroundColor = DEFAULT_HEADER_ACTIVE_TABLE_BG, headerTableSelectedBackgroundColor = DEFAULT_HEADER_SELECTED_TABLE_BG, frozenShadowColor = headerBorderColor, frozenShadowThickness = 1, selectionBackgroundColor = SELECTION_BG, selectionBorderColor = SELECTION_BORDER, selectionStrokeWidth, showActiveCellBorderInSelection, selectionDragBorderColor = SELECTION_BORDER, chartSelectedColor, chipBackgroundColor = CHIP_COLOR, merges = DEFAULT_ARRAY, borderStyles, protectedRanges, isWorkbookProtected: isWorkbookProtectedProp = false, getSheetProtection, pivotTables, charts, onUpdateChart, onChangeZOrder, embeds, slicers, rowMetadata = DEFAULT_ARRAY, columnMetadata = DEFAULT_ARRAY, scale = 1, zoomSpeed = 1, overscanCount = 3, enableEditOnEnterKey = true, shouldHandleKeyDown, enableTextOverflow = true, showGridLines: _showGridLines, showFormulas = false, protectFormulas = false, showFrozenSeparator = true, HeaderCell = DefaultHeaderCell, Cell = DefaultCell, SelectionTitleComponent = SelectionTitle, CellEditor = DefaultCellEditor, CellTooltip, ContextMenu = DefaultContextMenu, ContextMenuWrapper = DefaultContextMenuWrapper, FilterBox = DefaultFilterBox, HeaderMoveDragComponent = DefaultHeaderMoveDragComponent, SuggestionsDropdown, stickyEditor = true, scrollSnap = false, scrollThrottleTimeout, preventBrowserDefaultScroll, mouseMoveThrottleTimeout = 60, tooltipIntentInterval = 60, selectionPolicy, users, userId, renderCollaboratorCursor, functionDescriptions, showHeaderMenuButton = true, scrollbarSize = SCROLLBAR_SIZE, theme = defaultSpreadsheetTheme, showNotes = true, showComments = true, locale, formulaLocale: formulaLocaleProp, agentSuggestions, onReviewSuggestion, onShowFormulas, getDataRowCount, getDataRegion, getChartComponent, getEmbedComponent, getSlicerComponent, onChange, onChangeBatch, onExpandCollapse, onPivotDrillDown, onDelete, onChangeEditorValue, onFill, onRequestCalculate, onChangeActiveCell, onChangeActiveSheet, onChangeSelections, getSheetName, getSheetId, getCellData, getNote: getNoteProp, getTextFormatRuns, getDataValidation, getEffectiveFormat, getFormattedValue: getFormattedValueProp, getTooltipContent, errorResolutionComponent, getEffectiveValue: getEffectiveValueProp, getSparklineGroup, getUserEnteredExtendedValue, getEffectiveExtendedValue, getSheetRowCount, getSheetColumnCount, getCellPopoverContent, onScroll, onViewPortChange, windowConditionalFormats = false, engineConditionalFormatResults = false, onResize, onAutoResize, onHideColumn, onHideRow, onShowColumn, onShowRow, onGroupRows, onUngroupRows, onCollapseRowGroup, onExpandRowGroup, onGroupColumns, onUngroupColumns, onCollapseColumnGroup, onExpandColumnGroup, onSetOutlineDepth, onDeleteRow, onDeleteColumn, onInsertRow, onInsertColumn, onChangeAutoExpandTables, onChangeAutoCalculatedColumns, onInsertCellsShiftDown, onInsertCellsShiftRight, onDeleteCellsShiftLeft, onDeleteCellsShiftUp, onClearContents, onMoveColumns, onMoveRows, onSelectNextSheet, onSelectPreviousSheet, onCreateNewSheet, onKeyDown, onChangeFormatting, onRepeatFormatting, onClearFormatting, onRequestEditProtectedRange, onMoveChart, onResizeChart, onDeleteChart, onCutChart, onCopyChart, onMoveEmbed, onResizeEmbed, onDeleteEmbed, onRequestEditEmbed, onMoveSlicer, onResizeSlicer, onDeleteSlicer, onRequestEditSlicer, onFillRange, disableFillRightShortcut, keymap, onCalculateNow, onRequestGoTo, onMoveSelection, onInsertCutCells, onInsertTime, onInsertDate, onInsertDateTime, onInsertAutoSum, onUndo, onRedo, batchHistory, onPaste, onCopy, onCut, onSortColumn, onSortTable, onFilterTable, onFilterPivot, onResizeTable, onUndoTableAutoExpansion, onUndoCalculatedColumn, onOverwriteCalculatedColumn, onRequestEditTable, onRequestEditPivotTable, onRequestDeletePivotTable, onRequestCreatePivotChart, onRemoveTable, onCreateTable, onRequestCreateTable, onInsertTableColumn, onDeleteTableColumn, onInsertTableRow, onDeleteTableRow, onUpdateTable, onRequestResizeTable, onRequestInsertSlicer, onCreateBasicFilter, onRequestDefineNamedRange, onRequestFormatCells, onRequestConditionalFormat, onRequestDataValidation, onRequestInsertComment, onRequestInsertLink, onFreezeColumn, onFreezeRow, onUpdateNote, onProtectRange, onUnProtectRange, onSortRange, onRequestSearch, onRequestReplace, onRequestResize, getRowHeaderText = getDefaultRowHeader, getColumnHeaderText = getDefaultColumnHeader, getAdditionalCellSpacing, tokenizer: defaultTokenizer = defaultFormulaTokenizer, onChangeScale, onRemoveLink, onSelectLink, onSplitTextToColumns, onRemoveDuplicates, onGoalSeek, onSubtotal, onAdvancedFilter, onRequestExpand, cellExpandPredicate, StructuredResult = DefaultStructuredResult, getMentions, getStructuredProperties: getStructuredPropertiesProp, getFunctionParameterSuggestions, shouldFetchFunctionParameters, MentionTagComponent, MentionDropdownItemComponent, showSelectionResizeHandles = true, enableMagicFill, enableQuickEdit = true, MagicFillComponent, MagicFillContent, QuickEdit, PasteMenu, SuggestionAction, HiddenRowMarkers, HiddenColumnMarkers, enableResizerOverflow, className, defaultFontSizePoint = DEFAULT_FONT_SIZE_PT, defaultCellFormat, readonly, isComparing = false, getCellDiff, enableDataBoundaryNavigation, footerHeight, footerComponent, arrowComponents,
|
|
131
131
|
// Host-driven filter props. `hostHiddenRowRanges`
|
|
132
132
|
// supplies compact [start, end] hidden-row tuples; `getFilterValues` supplies a
|
|
133
133
|
// column's distinct values. Both let a million-row filter render without scanning
|
|
@@ -716,6 +716,10 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
716
716
|
cellEditorInstance?.focus();
|
|
717
717
|
}
|
|
718
718
|
}, [activeEditor, cellEditorInstance]);
|
|
719
|
+
/**
|
|
720
|
+
* Container and total size of the grid, as the grid measures them
|
|
721
|
+
*/
|
|
722
|
+
const getGridDimensions = useCallback(() => gridRef.current?.getDimensions(), []);
|
|
719
723
|
/**
|
|
720
724
|
* Canvas layers
|
|
721
725
|
*/
|
|
@@ -1348,19 +1352,19 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1348
1352
|
sheetId,
|
|
1349
1353
|
cellBackgroundColor,
|
|
1350
1354
|
gridLineWidth,
|
|
1355
|
+
frozenRows,
|
|
1356
|
+
frozenColumns,
|
|
1351
1357
|
getCanvasLayers,
|
|
1352
1358
|
getRowHeaderCanvasLayer,
|
|
1353
1359
|
getColumnHeaderCanvasLayer,
|
|
1354
|
-
getCellOffsetFromCoords,
|
|
1355
1360
|
getR1C1AddressFromSelection,
|
|
1356
1361
|
getSheetName,
|
|
1357
1362
|
getScrollPosition,
|
|
1358
|
-
getViewPort,
|
|
1359
1363
|
getRowOffset,
|
|
1360
1364
|
getColumnOffset,
|
|
1361
1365
|
getSheetDimensions,
|
|
1366
|
+
getGridDimensions,
|
|
1362
1367
|
scrollTo,
|
|
1363
|
-
scrollToCell,
|
|
1364
1368
|
scale,
|
|
1365
1369
|
onChangeScale,
|
|
1366
1370
|
});
|
|
@@ -1893,6 +1897,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
1893
1897
|
// Measure with the same font the painter draws with (#1117).
|
|
1894
1898
|
fontFamily: defaultFontFamily,
|
|
1895
1899
|
fontSize: defaultFontSize,
|
|
1900
|
+
lineHeightMode,
|
|
1896
1901
|
resizeStrategy: "full",
|
|
1897
1902
|
});
|
|
1898
1903
|
/**
|
|
@@ -2416,10 +2421,12 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2416
2421
|
focus: focusSheet,
|
|
2417
2422
|
scrollToCell,
|
|
2418
2423
|
isMergedCell,
|
|
2419
|
-
|
|
2424
|
+
// A readonly grid gets no write handler: a fill-handle drag or a
|
|
2425
|
+
// selection drag-move then changes nothing, whatever started the gesture.
|
|
2426
|
+
onFill: readonly ? undefined : onFill,
|
|
2420
2427
|
onFillHandleRelease: handleFillHandleRelease,
|
|
2421
|
-
onFillShrink: handleFillShrink,
|
|
2422
|
-
onMoveSelection,
|
|
2428
|
+
onFillShrink: readonly ? undefined : handleFillShrink,
|
|
2429
|
+
onMoveSelection: readonly ? undefined : onMoveSelection,
|
|
2423
2430
|
onInsertCutCells,
|
|
2424
2431
|
confirmMoveOverwrite,
|
|
2425
2432
|
isHiddenColumn,
|
|
@@ -2438,6 +2445,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2438
2445
|
activeCell,
|
|
2439
2446
|
selections,
|
|
2440
2447
|
sheetId,
|
|
2448
|
+
readonly,
|
|
2441
2449
|
focusSheet,
|
|
2442
2450
|
onPaste,
|
|
2443
2451
|
onCopy,
|
|
@@ -2678,6 +2686,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2678
2686
|
showValidationAlert,
|
|
2679
2687
|
selections,
|
|
2680
2688
|
onChangeBatch,
|
|
2689
|
+
batchHistory,
|
|
2681
2690
|
formulaLocale,
|
|
2682
2691
|
});
|
|
2683
2692
|
/**
|
|
@@ -2988,6 +2997,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
2988
2997
|
const { onMouseDown: onMouseDownEditable, onDoubleClick: onDoubleClickEditable, editorComponent, isEditInProgress, makeEditable, editCell, setEditorValue, hideEditor, getNextFocusableCell, submitEditor, cancelEditor, commit, } = useEditable({
|
|
2989
2998
|
sheetId,
|
|
2990
2999
|
enableEditOnEnterKey,
|
|
3000
|
+
shouldHandleKeyDown,
|
|
2991
3001
|
canEdit: canEditCell,
|
|
2992
3002
|
sticky: stickyEditor,
|
|
2993
3003
|
getScrollPosition,
|
|
@@ -3081,14 +3091,15 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3081
3091
|
selectionTopBound,
|
|
3082
3092
|
showHeaderMenuButton,
|
|
3083
3093
|
scale,
|
|
3084
|
-
|
|
3094
|
+
// Column widths and row heights are sheet writes too
|
|
3095
|
+
onResize: readonly ? undefined : onResize,
|
|
3085
3096
|
focusSheet,
|
|
3086
3097
|
isRowHeader,
|
|
3087
3098
|
isColumnHeader,
|
|
3088
3099
|
isHiddenColumn,
|
|
3089
3100
|
containerWidth: width - scrollbarSize,
|
|
3090
3101
|
containerHeight: height - scrollbarSize,
|
|
3091
|
-
onAutoFit: handleAutoFit,
|
|
3102
|
+
onAutoFit: readonly ? undefined : handleAutoFit,
|
|
3092
3103
|
backgroundColor: selectionBorderColor,
|
|
3093
3104
|
sheetId,
|
|
3094
3105
|
selectedRowHeadersIds,
|
|
@@ -3596,6 +3607,7 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3596
3607
|
onCheckboxClick: handleCheckboxClick,
|
|
3597
3608
|
onExpandCollapse: handleExpandCollapse,
|
|
3598
3609
|
defaultFontSizePoint: defaultFontSize,
|
|
3610
|
+
lineHeightMode,
|
|
3599
3611
|
Cell,
|
|
3600
3612
|
HeaderCell,
|
|
3601
3613
|
theme,
|
|
@@ -3669,8 +3681,10 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3669
3681
|
* Hide fill handle
|
|
3670
3682
|
* 1. When user is in edit mode
|
|
3671
3683
|
* 2. When user is in formula mode and user has made selections
|
|
3684
|
+
* 3. When the grid is readonly — a fill is a write
|
|
3672
3685
|
*/
|
|
3673
|
-
const showFillHandle = !
|
|
3686
|
+
const showFillHandle = !readonly &&
|
|
3687
|
+
!isSelectionInProgress &&
|
|
3674
3688
|
!isEditInProgress &&
|
|
3675
3689
|
!isResizingTable &&
|
|
3676
3690
|
!(formulaMode && formulaSelections.length);
|
|
@@ -3706,6 +3720,8 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
3706
3720
|
selectionCount: (formulaMode ? formulaSelections : selections).length,
|
|
3707
3721
|
selectionBackgroundColor,
|
|
3708
3722
|
selectionBorderColor,
|
|
3723
|
+
selectionStrokeWidth,
|
|
3724
|
+
showActiveCellBorderInSelection,
|
|
3709
3725
|
getSheetName,
|
|
3710
3726
|
onRequestEditTable,
|
|
3711
3727
|
onRequestEditPivotTable,
|
|
@@ -4124,12 +4140,14 @@ function CanvasGridComponent(props, forwardedRef) {
|
|
|
4124
4140
|
popoverComponent,
|
|
4125
4141
|
popoverRange,
|
|
4126
4142
|
cellExpandComponent,
|
|
4143
|
+
arrowComponents,
|
|
4127
4144
|
});
|
|
4128
4145
|
/**
|
|
4129
4146
|
* Only enable selection drag if user is not editing and not
|
|
4130
|
-
* in formula mode
|
|
4147
|
+
* in formula mode. A readonly grid has nothing to move, so the
|
|
4148
|
+
* gesture does not start at all (no move cursor, no selection jump).
|
|
4131
4149
|
*/
|
|
4132
|
-
const enableSelectionDrag = !isSelectionInProgress && !isEditInProgress && !formulaMode;
|
|
4150
|
+
const enableSelectionDrag = !readonly && !isSelectionInProgress && !isEditInProgress && !formulaMode;
|
|
4133
4151
|
// A chartsheet IS its chart: no grid, headers, editor or cell menus — only the chart and its
|
|
4134
4152
|
// context menu (Excel).
|
|
4135
4153
|
if (sheetType === "chartsheet") {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CalculatorFunction } from "@rowsncolumns/common-types";
|
|
2
2
|
import type { FormulaResult } from "@rowsncolumns/fast-formula-parser";
|
|
3
|
-
import type { Align, AreaStyle, CellInterface, CellPosition, Direction, GridProps, GridRange, GridRef, OptionalCellInterface, ScrollCoords, SelectionArea, Style, ViewPortProps } from "@rowsncolumns/grid";
|
|
3
|
+
import type { Align, AreaStyle, CellInterface, CellPosition, Direction, GridProps, GridRange, GridRef, LineHeightMode, OptionalCellInterface, ScrollCoords, SelectionArea, Style, ViewPortProps } from "@rowsncolumns/grid";
|
|
4
4
|
import type { Mention, MentionTagComponentProps, OptionItem, ProseMirrorEditorProps, TextFormatRun } from "@rowsncolumns/ui";
|
|
5
5
|
import type { FormulaLocale, FormulaLocaleInput } from "@rowsncolumns/utils";
|
|
6
6
|
import type { CellDiff } from "@rowsncolumns/version-comparison";
|
|
@@ -231,6 +231,14 @@ export type CanvasGridProps<T extends CellData = CellData<any, any>> = {
|
|
|
231
231
|
* Default row height
|
|
232
232
|
*/
|
|
233
233
|
defaultRowHeight?: number;
|
|
234
|
+
/**
|
|
235
|
+
* Where the height of one line of cell text comes from, for both the
|
|
236
|
+
* painter and row auto-fit. `fontMetrics` (default) measures each font's
|
|
237
|
+
* bounding box (`fontBoundingBoxAscent + fontBoundingBoxDescent`) once
|
|
238
|
+
* and stacks lines with Excel's 2px leading, so wrapped rows fit like
|
|
239
|
+
* Excel's; `fixed` keeps the pre-#1141 `fontSize * 1.2` line box.
|
|
240
|
+
*/
|
|
241
|
+
lineHeightMode?: LineHeightMode;
|
|
234
242
|
/**
|
|
235
243
|
* Default column width
|
|
236
244
|
*/
|
|
@@ -319,6 +327,17 @@ export type CanvasGridProps<T extends CellData = CellData<any, any>> = {
|
|
|
319
327
|
* Border color of selections
|
|
320
328
|
*/
|
|
321
329
|
selectionBorderColor?: string;
|
|
330
|
+
/**
|
|
331
|
+
* Border width of a range selection outside formula mode. Default `1`;
|
|
332
|
+
* Excel draws `2`. Formula-mode references keep theirs.
|
|
333
|
+
*/
|
|
334
|
+
selectionStrokeWidth?: number;
|
|
335
|
+
/**
|
|
336
|
+
* Whether the active cell draws its own border while a range is selected.
|
|
337
|
+
* Default `true`; Excel draws none (the active cell is the one unshaded
|
|
338
|
+
* cell of the range). A lone active cell keeps its border either way.
|
|
339
|
+
*/
|
|
340
|
+
showActiveCellBorderInSelection?: boolean;
|
|
322
341
|
/**
|
|
323
342
|
* Background selection color
|
|
324
343
|
*/
|
|
@@ -998,6 +1017,17 @@ export type CanvasGridProps<T extends CellData = CellData<any, any>> = {
|
|
|
998
1017
|
* Keydown handler
|
|
999
1018
|
*/
|
|
1000
1019
|
onKeyDown?(e: React.KeyboardEvent<HTMLDivElement>): void;
|
|
1020
|
+
/**
|
|
1021
|
+
* Called first for every key press the grid would act on, while navigating
|
|
1022
|
+
* and while a cell is being edited. Return `false` to keep the key from all
|
|
1023
|
+
* of the grid's own key handling (selection, `onKeyDown`, the shortcut
|
|
1024
|
+
* keymap, opening and committing the editor); the event is left untouched
|
|
1025
|
+
* for the host. A host that owns its keymap uses it to decide, key by key,
|
|
1026
|
+
* which bindings the grid keeps.
|
|
1027
|
+
*/
|
|
1028
|
+
shouldHandleKeyDown?(e: React.KeyboardEvent<HTMLDivElement>, context: {
|
|
1029
|
+
isEditing: boolean;
|
|
1030
|
+
}): boolean;
|
|
1001
1031
|
/**
|
|
1002
1032
|
* Invoked from `Ctrl + ~` keyboard shortcut
|
|
1003
1033
|
* @param displayValue
|
|
@@ -1277,6 +1307,15 @@ export type CanvasGridProps<T extends CellData = CellData<any, any>> = {
|
|
|
1277
1307
|
* User tries to redo an action
|
|
1278
1308
|
*/
|
|
1279
1309
|
onRedo?(): void;
|
|
1310
|
+
/**
|
|
1311
|
+
* Run `action` with every write it issues recorded as ONE undo entry — the `batchHistory` of
|
|
1312
|
+
* `useSpreadsheetState` / `useSpreadsheetEngine`, so a host spreading its state into the grid
|
|
1313
|
+
* passes it for free. The grid uses it for gestures that are one step in Excel but several writes
|
|
1314
|
+
* here: Ctrl+Enter commits the active cell through `onChange` and spreads the entry into the rest
|
|
1315
|
+
* of the selection through `onChangeBatch`, one call per rectangle. Without it each write is its
|
|
1316
|
+
* own undo entry.
|
|
1317
|
+
*/
|
|
1318
|
+
batchHistory?<R>(action: () => R): R;
|
|
1280
1319
|
/**
|
|
1281
1320
|
* Callback when user paste a set of cells
|
|
1282
1321
|
* @param e Browser event
|