@a3s-lab/office 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -5
- package/dist/0~6090.js +63 -4
- package/dist/0~7048.js +14 -4
- package/dist/0~spreadsheet-editor.js +13936 -9125
- package/dist/4104.js +1094 -18
- package/dist/internal/features/work/editors/office-checkbox.d.ts +3 -2
- package/dist/internal/features/work/editors/office-menu-keyboard.d.ts +1 -0
- package/dist/internal/features/work/editors/spreadsheet-auto-sum-command.d.ts +3 -0
- package/dist/internal/features/work/editors/spreadsheet-auto-sum.d.ts +19 -0
- package/dist/internal/features/work/editors/spreadsheet-cell-border-per-cell.d.ts +5 -0
- package/dist/internal/features/work/editors/spreadsheet-cell-border.d.ts +15 -1
- package/dist/internal/features/work/editors/spreadsheet-cell-format-command.d.ts +3 -0
- package/dist/internal/features/work/editors/spreadsheet-cell-format.d.ts +36 -0
- package/dist/internal/features/work/editors/spreadsheet-cell-mutation-guard.d.ts +4 -0
- package/dist/internal/features/work/editors/spreadsheet-cell-style-command.d.ts +3 -0
- package/dist/internal/features/work/editors/spreadsheet-cell-style-ribbon.d.ts +9 -0
- package/dist/internal/features/work/editors/spreadsheet-cell-style.d.ts +41 -0
- package/dist/internal/features/work/editors/spreadsheet-clipboard-shortcuts.d.ts +1 -0
- package/dist/internal/features/work/editors/spreadsheet-clipboard.d.ts +13 -0
- package/dist/internal/features/work/editors/spreadsheet-command-catalog.d.ts +253 -0
- package/dist/internal/features/work/editors/spreadsheet-command-controller.d.ts +40 -0
- package/dist/internal/features/work/editors/spreadsheet-context-menu.d.ts +5 -15
- package/dist/internal/features/work/editors/spreadsheet-editor-ribbon.d.ts +3 -2
- package/dist/internal/features/work/editors/spreadsheet-format-cells-dialog-model.d.ts +86 -0
- package/dist/internal/features/work/editors/spreadsheet-format-cells-dialog-panels.d.ts +15 -0
- package/dist/internal/features/work/editors/spreadsheet-format-cells-dialog.d.ts +8 -0
- package/dist/internal/features/work/editors/spreadsheet-go-to.d.ts +24 -0
- package/dist/internal/features/work/editors/spreadsheet-keyboard-navigation.d.ts +4 -0
- package/dist/internal/features/work/editors/spreadsheet-navigation-command.d.ts +3 -0
- package/dist/internal/features/work/editors/spreadsheet-number-format-command.d.ts +24 -0
- package/dist/internal/features/work/editors/spreadsheet-number-format.d.ts +15 -3
- package/dist/internal/features/work/editors/spreadsheet-paste-special-cell.d.ts +17 -0
- package/dist/internal/features/work/editors/spreadsheet-paste-special-dialog.d.ts +9 -0
- package/dist/internal/features/work/editors/spreadsheet-paste-special-mode.d.ts +11 -0
- package/dist/internal/features/work/editors/spreadsheet-paste-special-plan.d.ts +4 -0
- package/dist/internal/features/work/editors/spreadsheet-paste-special-sheet.d.ts +23 -0
- package/dist/internal/features/work/editors/spreadsheet-paste-special-snapshot.d.ts +10 -0
- package/dist/internal/features/work/editors/spreadsheet-paste-special-types.d.ts +127 -0
- package/dist/internal/features/work/editors/spreadsheet-paste-special.d.ts +7 -0
- package/dist/internal/features/work/editors/use-spreadsheet-clipboard.d.ts +36 -0
- package/dist/internal/features/work/work-xlsx-cell-borders.d.ts +25 -0
- package/dist/internal/features/work/work-xlsx-cell-style-writer.d.ts +21 -0
- package/dist/internal/features/work/work-xlsx-cell-style-xml.d.ts +17 -0
- package/dist/internal/features/work/work-xlsx-cell-styles.d.ts +13 -0
- package/dist/internal/features/work/work-xlsx-colors.d.ts +6 -0
- package/dist/internal/features/work/work-xlsx-interop.d.ts +3 -1
- package/dist/internal/features/work/work-xlsx-worksheet-scan.d.ts +1 -0
- package/dist/office-kernel.wasm +0 -0
- package/dist/styles.css +665 -1
- package/dist/work-spreadsheet-package-scan.worker.js +7 -3
- package/docs/latest/en/browser-editor-architecture.md +12 -1
- package/package.json +11 -3
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export declare function OfficeCheckbox({ ariaLabel, checked, onCheckedChange, children, disabled, className, }: {
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
export declare function OfficeCheckbox({ ariaLabel, checked, onCheckedChange, children, disabled, className, indeterminate, }: {
|
|
3
3
|
ariaLabel: string;
|
|
4
4
|
checked: boolean;
|
|
5
5
|
onCheckedChange: (checked: boolean) => void;
|
|
6
6
|
children: ReactNode;
|
|
7
7
|
disabled?: boolean;
|
|
8
8
|
className?: string;
|
|
9
|
+
indeterminate?: boolean;
|
|
9
10
|
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { SpreadsheetCommandContext, SpreadsheetEditorCommands } from './spreadsheet-command-controller';
|
|
2
|
+
import { type OfficeEditorExtension } from './office-editor-extension';
|
|
3
|
+
export declare function createSpreadsheetAutoSumExtension(): OfficeEditorExtension<SpreadsheetCommandContext, SpreadsheetEditorCommands>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { WorkSpreadsheetSheet } from '../work-types';
|
|
2
|
+
import { type SpreadsheetCellRange, type SpreadsheetCellRangeInput } from './spreadsheet-cell-range';
|
|
3
|
+
export declare const spreadsheetAutoSumMaximumTargets = 1000;
|
|
4
|
+
export type SpreadsheetAutoSumFunction = 'sum' | 'average' | 'count' | 'max' | 'min';
|
|
5
|
+
export interface SpreadsheetAutoSumWrite {
|
|
6
|
+
range: SpreadsheetCellRange;
|
|
7
|
+
values: string[][];
|
|
8
|
+
}
|
|
9
|
+
export interface SpreadsheetAutoSumPlan {
|
|
10
|
+
formulaBarValue: string;
|
|
11
|
+
function: SpreadsheetAutoSumFunction;
|
|
12
|
+
selection: SpreadsheetCellRange & {
|
|
13
|
+
row_focus: number;
|
|
14
|
+
column_focus: number;
|
|
15
|
+
};
|
|
16
|
+
targetCellCount: number;
|
|
17
|
+
writes: SpreadsheetAutoSumWrite[];
|
|
18
|
+
}
|
|
19
|
+
export declare function planSpreadsheetAutoSum(sheet: WorkSpreadsheetSheet | undefined, selection: SpreadsheetCellRangeInput, functionName: SpreadsheetAutoSumFunction): SpreadsheetAutoSumPlan | null;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { WorkSpreadsheetContent } from '../work-types';
|
|
2
|
+
import { type SpreadsheetCellBorderFormat } from './spreadsheet-cell-border';
|
|
3
|
+
import { type SpreadsheetCellRangeInput } from './spreadsheet-cell-range';
|
|
4
|
+
export declare const MAX_SPREADSHEET_PER_CELL_BORDER_CELLS = 10000;
|
|
5
|
+
export declare function setSpreadsheetCellBordersPerCell(content: WorkSpreadsheetContent, sheetId: string, range: SpreadsheetCellRangeInput, formats: readonly SpreadsheetCellBorderFormat[]): WorkSpreadsheetContent | null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { WorkSpreadsheetContent } from '../work-types';
|
|
1
|
+
import type { WorkSpreadsheetContent, WorkSpreadsheetSheet } from '../work-types';
|
|
2
2
|
import { type SpreadsheetCellRangeInput } from './spreadsheet-cell-range';
|
|
3
3
|
export declare const spreadsheetCellBorderTargets: readonly ["top", "bottom", "left", "right", "none", "all", "outside", "inside", "horizontal", "vertical", "diagonal"];
|
|
4
4
|
export type SpreadsheetCellBorderTarget = (typeof spreadsheetCellBorderTargets)[number];
|
|
@@ -9,6 +9,20 @@ export interface SpreadsheetCellBorderFormat {
|
|
|
9
9
|
color: string;
|
|
10
10
|
style: SpreadsheetCellBorderStyle;
|
|
11
11
|
}
|
|
12
|
+
export interface SpreadsheetResolvedCellBorderLine {
|
|
13
|
+
color: string;
|
|
14
|
+
style: string;
|
|
15
|
+
}
|
|
16
|
+
export interface SpreadsheetResolvedCellBorders {
|
|
17
|
+
bottom?: SpreadsheetResolvedCellBorderLine;
|
|
18
|
+
diagonal?: SpreadsheetResolvedCellBorderLine;
|
|
19
|
+
left?: SpreadsheetResolvedCellBorderLine;
|
|
20
|
+
right?: SpreadsheetResolvedCellBorderLine;
|
|
21
|
+
top?: SpreadsheetResolvedCellBorderLine;
|
|
22
|
+
}
|
|
12
23
|
export declare const MAX_SPREADSHEET_DIAGONAL_BORDER_CELLS = 4096;
|
|
24
|
+
export declare function spreadsheetNativeBorderStyle(style: SpreadsheetCellBorderStyle): string;
|
|
13
25
|
export declare function canSetSpreadsheetCellBorders(content: WorkSpreadsheetContent, sheetId: string, range: SpreadsheetCellRangeInput, format: SpreadsheetCellBorderFormat): boolean;
|
|
14
26
|
export declare function setSpreadsheetCellBorders(content: WorkSpreadsheetContent, sheetId: string, range: SpreadsheetCellRangeInput, format: SpreadsheetCellBorderFormat): WorkSpreadsheetContent | null;
|
|
27
|
+
export declare function spreadsheetCellBordersAt(sheet: WorkSpreadsheetSheet | undefined, row: number, column: number): SpreadsheetResolvedCellBorders;
|
|
28
|
+
export declare function normalizeSpreadsheetBorderFormat(format: SpreadsheetCellBorderFormat): SpreadsheetCellBorderFormat | null;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { SpreadsheetCommandContext, SpreadsheetEditorCommands } from './spreadsheet-command-controller';
|
|
2
|
+
import { type OfficeEditorExtension } from './office-editor-extension';
|
|
3
|
+
export declare function createSpreadsheetCellFormatExtension(): OfficeEditorExtension<SpreadsheetCommandContext, SpreadsheetEditorCommands>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Cell } from '@fortune-sheet/core';
|
|
2
|
+
import type { WorkSpreadsheetContent, WorkSpreadsheetSheet } from '../work-types';
|
|
3
|
+
import { type SpreadsheetCellBorderFormat } from './spreadsheet-cell-border';
|
|
4
|
+
import { type SpreadsheetCellRange } from './spreadsheet-cell-range';
|
|
5
|
+
export declare const MAX_SPREADSHEET_CELL_FORMAT_CELLS = 10000;
|
|
6
|
+
export type SpreadsheetHorizontalAlignment = 'general' | 'left' | 'center' | 'right';
|
|
7
|
+
export type SpreadsheetVerticalAlignment = 'top' | 'middle' | 'bottom';
|
|
8
|
+
export interface SpreadsheetCellFormatPatch {
|
|
9
|
+
numberFormat?: string;
|
|
10
|
+
horizontalAlignment?: SpreadsheetHorizontalAlignment;
|
|
11
|
+
verticalAlignment?: SpreadsheetVerticalAlignment;
|
|
12
|
+
wrapText?: boolean;
|
|
13
|
+
rotation?: number;
|
|
14
|
+
fontFamily?: string;
|
|
15
|
+
fontSize?: number;
|
|
16
|
+
fontColor?: string;
|
|
17
|
+
bold?: boolean;
|
|
18
|
+
italic?: boolean;
|
|
19
|
+
underline?: boolean;
|
|
20
|
+
strike?: boolean;
|
|
21
|
+
fillColor?: string | null;
|
|
22
|
+
borders?: readonly SpreadsheetCellBorderFormat[];
|
|
23
|
+
locked?: boolean;
|
|
24
|
+
hidden?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface SpreadsheetCellFormatRequest {
|
|
27
|
+
sheetId: string;
|
|
28
|
+
range: SpreadsheetCellRange;
|
|
29
|
+
patch: SpreadsheetCellFormatPatch;
|
|
30
|
+
}
|
|
31
|
+
export declare function canApplySpreadsheetCellFormat(content: WorkSpreadsheetContent, request: SpreadsheetCellFormatRequest): boolean;
|
|
32
|
+
export declare function applySpreadsheetCellFormat(content: WorkSpreadsheetContent, request: SpreadsheetCellFormatRequest): WorkSpreadsheetContent | null;
|
|
33
|
+
export declare function spreadsheetCellProtectionAt(sheet: WorkSpreadsheetSheet, row: number, column: number, cell?: Cell | null | undefined): {
|
|
34
|
+
locked: boolean;
|
|
35
|
+
hidden: boolean;
|
|
36
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { WorkSpreadsheetSheet } from '../work-types';
|
|
2
|
+
import { type SpreadsheetCellRange } from './spreadsheet-cell-range';
|
|
3
|
+
export declare function canMutateSpreadsheetCellRange(sheet: WorkSpreadsheetSheet | undefined, range: SpreadsheetCellRange): boolean;
|
|
4
|
+
export declare function canMutateSpreadsheetCellRanges(sheet: WorkSpreadsheetSheet | undefined, ranges: readonly SpreadsheetCellRange[]): boolean;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { SpreadsheetCommandContext, SpreadsheetEditorCommands } from './spreadsheet-command-controller';
|
|
2
|
+
import { type OfficeEditorExtension } from './office-editor-extension';
|
|
3
|
+
export declare function createSpreadsheetCellStyleExtension(): OfficeEditorExtension<SpreadsheetCommandContext, SpreadsheetEditorCommands>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Cell } from '@fortune-sheet/core';
|
|
2
|
+
import type { SpreadsheetResolvedCellBorders } from './spreadsheet-cell-border';
|
|
3
|
+
import type { SpreadsheetEditorCanCommands, SpreadsheetEditorCommands } from './spreadsheet-command-controller';
|
|
4
|
+
export declare function SpreadsheetCellStyleRibbon({ can, commands, toolbarCell, toolbarCellBorders, }: {
|
|
5
|
+
can: SpreadsheetEditorCanCommands;
|
|
6
|
+
commands: SpreadsheetEditorCommands;
|
|
7
|
+
toolbarCell: Cell | null | undefined;
|
|
8
|
+
toolbarCellBorders?: SpreadsheetResolvedCellBorders;
|
|
9
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Cell } from '@fortune-sheet/core';
|
|
2
|
+
import type { WorkSpreadsheetContent } from '../work-types';
|
|
3
|
+
import { type SpreadsheetCellBorderFormat, type SpreadsheetResolvedCellBorders } from './spreadsheet-cell-border';
|
|
4
|
+
import { type SpreadsheetCellRangeInput } from './spreadsheet-cell-range';
|
|
5
|
+
export declare const spreadsheetCellStylePresetIds: readonly ["normal", "good", "bad", "neutral", "calculation", "checkCell", "explanatoryText", "input", "linkedCell", "note", "output", "warningText", "heading1", "heading2", "heading3", "heading4", "total"];
|
|
6
|
+
export type SpreadsheetCellStyleChoice = (typeof spreadsheetCellStylePresetIds)[number];
|
|
7
|
+
export type SpreadsheetCellStylePreset = SpreadsheetCellStyleChoice | 'custom';
|
|
8
|
+
export declare const MAX_SPREADSHEET_CELL_STYLE_CELLS = 10000;
|
|
9
|
+
interface SpreadsheetCellStyleFormat {
|
|
10
|
+
bg: string;
|
|
11
|
+
bl: 0 | 1;
|
|
12
|
+
cl: 0 | 1;
|
|
13
|
+
fc: string;
|
|
14
|
+
ff: string;
|
|
15
|
+
fs: number;
|
|
16
|
+
it: 0 | 1;
|
|
17
|
+
un: 0 | 1;
|
|
18
|
+
}
|
|
19
|
+
export interface SpreadsheetCellStylePreview {
|
|
20
|
+
backgroundColor: string;
|
|
21
|
+
color: string;
|
|
22
|
+
fontSize?: string;
|
|
23
|
+
fontStyle?: 'italic' | 'normal';
|
|
24
|
+
fontWeight?: number;
|
|
25
|
+
textDecoration?: 'none' | 'underline';
|
|
26
|
+
}
|
|
27
|
+
export interface SpreadsheetCellStyleDefinition {
|
|
28
|
+
id: SpreadsheetCellStyleChoice;
|
|
29
|
+
label: string;
|
|
30
|
+
group: '常用' | '数据和模型' | '标题和汇总';
|
|
31
|
+
description: string;
|
|
32
|
+
format: SpreadsheetCellStyleFormat;
|
|
33
|
+
borders?: readonly SpreadsheetCellBorderFormat[];
|
|
34
|
+
preview: SpreadsheetCellStylePreview;
|
|
35
|
+
}
|
|
36
|
+
export declare const spreadsheetCellStyleDefinitions: readonly [SpreadsheetCellStyleDefinition, SpreadsheetCellStyleDefinition, SpreadsheetCellStyleDefinition, SpreadsheetCellStyleDefinition, SpreadsheetCellStyleDefinition, SpreadsheetCellStyleDefinition, SpreadsheetCellStyleDefinition, SpreadsheetCellStyleDefinition, SpreadsheetCellStyleDefinition, SpreadsheetCellStyleDefinition, SpreadsheetCellStyleDefinition, SpreadsheetCellStyleDefinition, SpreadsheetCellStyleDefinition, SpreadsheetCellStyleDefinition, SpreadsheetCellStyleDefinition, SpreadsheetCellStyleDefinition, SpreadsheetCellStyleDefinition];
|
|
37
|
+
export declare function spreadsheetCellStyleDefinition(preset: SpreadsheetCellStyleChoice): SpreadsheetCellStyleDefinition;
|
|
38
|
+
export declare function spreadsheetCellStylePreset(cell: Cell | null | undefined, borders?: SpreadsheetResolvedCellBorders): SpreadsheetCellStylePreset;
|
|
39
|
+
export declare function canApplySpreadsheetCellStyle(content: WorkSpreadsheetContent, sheetId: string, range: SpreadsheetCellRangeInput, preset: SpreadsheetCellStyleChoice): boolean;
|
|
40
|
+
export declare function applySpreadsheetCellStyle(content: WorkSpreadsheetContent, sheetId: string, range: SpreadsheetCellRangeInput, preset: SpreadsheetCellStyleChoice): WorkSpreadsheetContent | null;
|
|
41
|
+
export {};
|
|
@@ -3,3 +3,4 @@ export interface SpreadsheetClipboardShortcutOptions {
|
|
|
3
3
|
execute(): boolean;
|
|
4
4
|
}
|
|
5
5
|
export declare function runSpreadsheetClipboardShortcut(event: KeyboardEvent, canExecute: SpreadsheetClipboardShortcutOptions['canExecute'], execute: SpreadsheetClipboardShortcutOptions['execute']): boolean;
|
|
6
|
+
export declare function runSpreadsheetPasteSpecialShortcut(event: KeyboardEvent, canExecute: SpreadsheetClipboardShortcutOptions['canExecute'], execute: SpreadsheetClipboardShortcutOptions['execute']): boolean;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type SpreadsheetClipboardSnapshot } from './spreadsheet-paste-special';
|
|
2
|
+
export interface SpreadsheetClipboardPort {
|
|
3
|
+
readText(): Promise<string>;
|
|
4
|
+
writeText(value: string): Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
export declare function parseSpreadsheetClipboardText(value: string): string[][];
|
|
7
|
+
export declare const browserSpreadsheetClipboard: SpreadsheetClipboardPort;
|
|
8
|
+
export declare function storeRichSpreadsheetClipboard(snapshot: SpreadsheetClipboardSnapshot): void;
|
|
9
|
+
export declare function spreadsheetClipboardSnapshotForText(plainText: string): SpreadsheetClipboardSnapshot | null;
|
|
10
|
+
export declare function clearRichSpreadsheetClipboard(): void;
|
|
11
|
+
export declare function readSpreadsheetClipboardText(readSystem: (() => Promise<string>) | undefined, readLocal: () => string, timeoutMs?: number, canReadSystem?: () => boolean | Promise<boolean>): Promise<string>;
|
|
12
|
+
export declare function writeSpreadsheetClipboardText(value: string, writeSystem: ((value: string) => Promise<void>) | undefined, writeLocal: (value: string) => void, timeoutMs?: number, onSystemWriteResult?: (succeeded: boolean) => void): Promise<void>;
|
|
13
|
+
export declare function copySpreadsheetSelection(clipboard: SpreadsheetClipboardPort, value: string, cut: boolean): Promise<boolean>;
|
|
@@ -80,6 +80,20 @@ export declare const spreadsheetCommandCatalog: {
|
|
|
80
80
|
readonly editor: readonly ["Mod-v"];
|
|
81
81
|
};
|
|
82
82
|
};
|
|
83
|
+
readonly pasteSpecial: {
|
|
84
|
+
readonly id: "clipboard.pasteSpecial";
|
|
85
|
+
readonly label: "选择性粘贴";
|
|
86
|
+
readonly location: {
|
|
87
|
+
readonly area: "ribbon";
|
|
88
|
+
readonly tab: "home";
|
|
89
|
+
readonly group: "clipboard";
|
|
90
|
+
};
|
|
91
|
+
readonly shortcut: {
|
|
92
|
+
readonly label: "Cmd/Ctrl+Alt+V";
|
|
93
|
+
readonly aria: "Control+Alt+V Meta+Alt+V";
|
|
94
|
+
readonly editor: readonly ["Mod-Alt-v"];
|
|
95
|
+
};
|
|
96
|
+
};
|
|
83
97
|
readonly cut: {
|
|
84
98
|
readonly id: "clipboard.cut";
|
|
85
99
|
readonly label: "剪切";
|
|
@@ -173,6 +187,163 @@ export declare const spreadsheetCommandCatalog: {
|
|
|
173
187
|
readonly editor: readonly ["Mod-5"];
|
|
174
188
|
};
|
|
175
189
|
};
|
|
190
|
+
readonly numberFormatGeneral: {
|
|
191
|
+
readonly id: "number.general";
|
|
192
|
+
readonly label: "常规";
|
|
193
|
+
readonly location: {
|
|
194
|
+
readonly area: "ribbon";
|
|
195
|
+
readonly tab: "home";
|
|
196
|
+
readonly group: "number";
|
|
197
|
+
};
|
|
198
|
+
readonly shortcut: {
|
|
199
|
+
readonly label: "Cmd/Ctrl+Shift+~";
|
|
200
|
+
readonly aria: "Control+Shift+~ Meta+Shift+~";
|
|
201
|
+
readonly editor: readonly ["Mod-Shift-~"];
|
|
202
|
+
};
|
|
203
|
+
};
|
|
204
|
+
readonly numberFormatNumber: {
|
|
205
|
+
readonly id: "number.number";
|
|
206
|
+
readonly label: "数字";
|
|
207
|
+
readonly location: {
|
|
208
|
+
readonly area: "ribbon";
|
|
209
|
+
readonly tab: "home";
|
|
210
|
+
readonly group: "number";
|
|
211
|
+
};
|
|
212
|
+
readonly shortcut: {
|
|
213
|
+
readonly label: "Cmd/Ctrl+Shift+!";
|
|
214
|
+
readonly aria: "Control+Shift+! Meta+Shift+!";
|
|
215
|
+
readonly editor: readonly ["Mod-Shift-!"];
|
|
216
|
+
};
|
|
217
|
+
};
|
|
218
|
+
readonly numberFormatCurrency: {
|
|
219
|
+
readonly id: "number.currency";
|
|
220
|
+
readonly label: "货币";
|
|
221
|
+
readonly location: {
|
|
222
|
+
readonly area: "ribbon";
|
|
223
|
+
readonly tab: "home";
|
|
224
|
+
readonly group: "number";
|
|
225
|
+
};
|
|
226
|
+
readonly shortcut: {
|
|
227
|
+
readonly label: "Cmd/Ctrl+Shift+$";
|
|
228
|
+
readonly aria: "Control+Shift+$ Meta+Shift+$";
|
|
229
|
+
readonly editor: readonly ["Mod-Shift-$"];
|
|
230
|
+
};
|
|
231
|
+
};
|
|
232
|
+
readonly numberFormatAccounting: {
|
|
233
|
+
readonly id: "number.accounting";
|
|
234
|
+
readonly label: "会计专用";
|
|
235
|
+
readonly location: {
|
|
236
|
+
readonly area: "ribbon";
|
|
237
|
+
readonly tab: "home";
|
|
238
|
+
readonly group: "number";
|
|
239
|
+
};
|
|
240
|
+
};
|
|
241
|
+
readonly numberFormatPercent: {
|
|
242
|
+
readonly id: "number.percent";
|
|
243
|
+
readonly label: "百分比";
|
|
244
|
+
readonly location: {
|
|
245
|
+
readonly area: "ribbon";
|
|
246
|
+
readonly tab: "home";
|
|
247
|
+
readonly group: "number";
|
|
248
|
+
};
|
|
249
|
+
readonly shortcut: {
|
|
250
|
+
readonly label: "Cmd/Ctrl+Shift+%";
|
|
251
|
+
readonly aria: "Control+Shift+% Meta+Shift+%";
|
|
252
|
+
readonly editor: readonly ["Mod-Shift-%"];
|
|
253
|
+
};
|
|
254
|
+
};
|
|
255
|
+
readonly numberFormatDate: {
|
|
256
|
+
readonly id: "number.date";
|
|
257
|
+
readonly label: "短日期";
|
|
258
|
+
readonly location: {
|
|
259
|
+
readonly area: "ribbon";
|
|
260
|
+
readonly tab: "home";
|
|
261
|
+
readonly group: "number";
|
|
262
|
+
};
|
|
263
|
+
readonly shortcut: {
|
|
264
|
+
readonly label: "Cmd/Ctrl+Shift+#";
|
|
265
|
+
readonly aria: "Control+Shift+# Meta+Shift+#";
|
|
266
|
+
readonly editor: readonly ["Mod-Shift-#"];
|
|
267
|
+
};
|
|
268
|
+
};
|
|
269
|
+
readonly numberFormatTime: {
|
|
270
|
+
readonly id: "number.time";
|
|
271
|
+
readonly label: "时间";
|
|
272
|
+
readonly location: {
|
|
273
|
+
readonly area: "ribbon";
|
|
274
|
+
readonly tab: "home";
|
|
275
|
+
readonly group: "number";
|
|
276
|
+
};
|
|
277
|
+
readonly shortcut: {
|
|
278
|
+
readonly label: "Cmd/Ctrl+Shift+@";
|
|
279
|
+
readonly aria: "Control+Shift+@ Meta+Shift+@";
|
|
280
|
+
readonly editor: readonly ["Mod-Shift-@"];
|
|
281
|
+
};
|
|
282
|
+
};
|
|
283
|
+
readonly numberFormatScientific: {
|
|
284
|
+
readonly id: "number.scientific";
|
|
285
|
+
readonly label: "科学计数";
|
|
286
|
+
readonly location: {
|
|
287
|
+
readonly area: "ribbon";
|
|
288
|
+
readonly tab: "home";
|
|
289
|
+
readonly group: "number";
|
|
290
|
+
};
|
|
291
|
+
readonly shortcut: {
|
|
292
|
+
readonly label: "Cmd/Ctrl+Shift+^";
|
|
293
|
+
readonly aria: "Control+Shift+^ Meta+Shift+^";
|
|
294
|
+
readonly editor: readonly ["Mod-Shift-^"];
|
|
295
|
+
};
|
|
296
|
+
};
|
|
297
|
+
readonly numberFormatFraction: {
|
|
298
|
+
readonly id: "number.fraction";
|
|
299
|
+
readonly label: "分数";
|
|
300
|
+
readonly location: {
|
|
301
|
+
readonly area: "ribbon";
|
|
302
|
+
readonly tab: "home";
|
|
303
|
+
readonly group: "number";
|
|
304
|
+
};
|
|
305
|
+
};
|
|
306
|
+
readonly numberFormatText: {
|
|
307
|
+
readonly id: "number.text";
|
|
308
|
+
readonly label: "文本";
|
|
309
|
+
readonly location: {
|
|
310
|
+
readonly area: "ribbon";
|
|
311
|
+
readonly tab: "home";
|
|
312
|
+
readonly group: "number";
|
|
313
|
+
};
|
|
314
|
+
};
|
|
315
|
+
readonly decreaseDecimalPlaces: {
|
|
316
|
+
readonly id: "number.decreaseDecimalPlaces";
|
|
317
|
+
readonly label: "减少小数位";
|
|
318
|
+
readonly location: {
|
|
319
|
+
readonly area: "ribbon";
|
|
320
|
+
readonly tab: "home";
|
|
321
|
+
readonly group: "number";
|
|
322
|
+
};
|
|
323
|
+
};
|
|
324
|
+
readonly increaseDecimalPlaces: {
|
|
325
|
+
readonly id: "number.increaseDecimalPlaces";
|
|
326
|
+
readonly label: "增加小数位";
|
|
327
|
+
readonly location: {
|
|
328
|
+
readonly area: "ribbon";
|
|
329
|
+
readonly tab: "home";
|
|
330
|
+
readonly group: "number";
|
|
331
|
+
};
|
|
332
|
+
};
|
|
333
|
+
readonly formatCells: {
|
|
334
|
+
readonly id: "number.formatCells";
|
|
335
|
+
readonly label: "设置单元格格式";
|
|
336
|
+
readonly location: {
|
|
337
|
+
readonly area: "ribbon";
|
|
338
|
+
readonly tab: "home";
|
|
339
|
+
readonly group: "number";
|
|
340
|
+
};
|
|
341
|
+
readonly shortcut: {
|
|
342
|
+
readonly label: "Cmd/Ctrl+1";
|
|
343
|
+
readonly aria: "Control+1 Meta+1";
|
|
344
|
+
readonly editor: readonly ["Mod-1"];
|
|
345
|
+
};
|
|
346
|
+
};
|
|
176
347
|
readonly borderTop: {
|
|
177
348
|
readonly id: "font.borderTop";
|
|
178
349
|
readonly label: "上框线";
|
|
@@ -331,6 +502,15 @@ export declare const spreadsheetCommandCatalog: {
|
|
|
331
502
|
readonly group: "styles";
|
|
332
503
|
};
|
|
333
504
|
};
|
|
505
|
+
readonly cellStyles: {
|
|
506
|
+
readonly id: "styles.cellStyles";
|
|
507
|
+
readonly label: "单元格样式";
|
|
508
|
+
readonly location: {
|
|
509
|
+
readonly area: "ribbon";
|
|
510
|
+
readonly tab: "home";
|
|
511
|
+
readonly group: "styles";
|
|
512
|
+
};
|
|
513
|
+
};
|
|
334
514
|
readonly insertRowsAbove: {
|
|
335
515
|
readonly id: "cells.insertRowsAbove";
|
|
336
516
|
readonly label: "在上方插入行";
|
|
@@ -385,6 +565,56 @@ export declare const spreadsheetCommandCatalog: {
|
|
|
385
565
|
readonly group: "cells";
|
|
386
566
|
};
|
|
387
567
|
};
|
|
568
|
+
readonly autoSum: {
|
|
569
|
+
readonly id: "editing.autoSum";
|
|
570
|
+
readonly label: "自动求和";
|
|
571
|
+
readonly location: {
|
|
572
|
+
readonly area: "ribbon";
|
|
573
|
+
readonly tab: "home";
|
|
574
|
+
readonly group: "editing";
|
|
575
|
+
};
|
|
576
|
+
readonly shortcut: {
|
|
577
|
+
readonly label: "Alt+=";
|
|
578
|
+
readonly aria: "Alt+=";
|
|
579
|
+
readonly editor: readonly ["Alt-equal"];
|
|
580
|
+
};
|
|
581
|
+
};
|
|
582
|
+
readonly autoAverage: {
|
|
583
|
+
readonly id: "editing.autoAverage";
|
|
584
|
+
readonly label: "平均值";
|
|
585
|
+
readonly location: {
|
|
586
|
+
readonly area: "ribbon";
|
|
587
|
+
readonly tab: "home";
|
|
588
|
+
readonly group: "editing";
|
|
589
|
+
};
|
|
590
|
+
};
|
|
591
|
+
readonly autoCount: {
|
|
592
|
+
readonly id: "editing.autoCount";
|
|
593
|
+
readonly label: "计数";
|
|
594
|
+
readonly location: {
|
|
595
|
+
readonly area: "ribbon";
|
|
596
|
+
readonly tab: "home";
|
|
597
|
+
readonly group: "editing";
|
|
598
|
+
};
|
|
599
|
+
};
|
|
600
|
+
readonly autoMaximum: {
|
|
601
|
+
readonly id: "editing.autoMaximum";
|
|
602
|
+
readonly label: "最大值";
|
|
603
|
+
readonly location: {
|
|
604
|
+
readonly area: "ribbon";
|
|
605
|
+
readonly tab: "home";
|
|
606
|
+
readonly group: "editing";
|
|
607
|
+
};
|
|
608
|
+
};
|
|
609
|
+
readonly autoMinimum: {
|
|
610
|
+
readonly id: "editing.autoMinimum";
|
|
611
|
+
readonly label: "最小值";
|
|
612
|
+
readonly location: {
|
|
613
|
+
readonly area: "ribbon";
|
|
614
|
+
readonly tab: "home";
|
|
615
|
+
readonly group: "editing";
|
|
616
|
+
};
|
|
617
|
+
};
|
|
388
618
|
readonly fillDown: {
|
|
389
619
|
readonly id: "editing.fillDown";
|
|
390
620
|
readonly label: "向下填充";
|
|
@@ -495,6 +725,29 @@ export declare const spreadsheetCommandCatalog: {
|
|
|
495
725
|
readonly editor: readonly ["Mod-f"];
|
|
496
726
|
};
|
|
497
727
|
};
|
|
728
|
+
readonly findAndSelect: {
|
|
729
|
+
readonly id: "editing.findAndSelect";
|
|
730
|
+
readonly label: "查找和选择";
|
|
731
|
+
readonly location: {
|
|
732
|
+
readonly area: "ribbon";
|
|
733
|
+
readonly tab: "home";
|
|
734
|
+
readonly group: "editing";
|
|
735
|
+
};
|
|
736
|
+
};
|
|
737
|
+
readonly goTo: {
|
|
738
|
+
readonly id: "editing.goTo";
|
|
739
|
+
readonly label: "定位";
|
|
740
|
+
readonly location: {
|
|
741
|
+
readonly area: "ribbon";
|
|
742
|
+
readonly tab: "home";
|
|
743
|
+
readonly group: "editing";
|
|
744
|
+
};
|
|
745
|
+
readonly shortcut: {
|
|
746
|
+
readonly label: "Ctrl+G 或 F5";
|
|
747
|
+
readonly aria: "Control+G F5";
|
|
748
|
+
readonly editor: readonly ["Control-g", "F5"];
|
|
749
|
+
};
|
|
750
|
+
};
|
|
498
751
|
readonly insertChart: {
|
|
499
752
|
readonly id: "insert.chart";
|
|
500
753
|
readonly label: "插入图表";
|
|
@@ -2,13 +2,19 @@ import type { Cell, Selection, Sheet } from '@fortune-sheet/core';
|
|
|
2
2
|
import { type SpreadsheetGridSize } from '../spreadsheet-sparse';
|
|
3
3
|
import type { WorkSpreadsheetContent } from '../work-types';
|
|
4
4
|
import { type OfficeEditorCanCommands, type OfficeEditorExtension } from './office-editor-extension';
|
|
5
|
+
import type { SpreadsheetAutoSumFunction } from './spreadsheet-auto-sum';
|
|
5
6
|
import { type SpreadsheetCellClearMode } from './spreadsheet-cell-clear';
|
|
6
7
|
import type { SpreadsheetCellBorderFormat } from './spreadsheet-cell-border';
|
|
8
|
+
import type { SpreadsheetCellFormatRequest } from './spreadsheet-cell-format';
|
|
9
|
+
import type { SpreadsheetCellRange } from './spreadsheet-cell-range';
|
|
10
|
+
import type { SpreadsheetCellStyleChoice } from './spreadsheet-cell-style';
|
|
7
11
|
import type { SpreadsheetCellFillDirection } from './spreadsheet-cell-fill';
|
|
8
12
|
import { type SpreadsheetCellMergeCommand } from './spreadsheet-cell-merge';
|
|
9
13
|
import type { SpreadsheetFormatPainterMode } from './spreadsheet-format-painter';
|
|
10
14
|
import { type SpreadsheetFreezePanePreset } from './spreadsheet-freeze-panes';
|
|
11
15
|
import { type SpreadsheetKeyboardSelection, type SpreadsheetSelectionMove, type SpreadsheetSelectionScope } from './spreadsheet-keyboard-navigation';
|
|
16
|
+
import type { SpreadsheetPasteContent } from './spreadsheet-paste-special';
|
|
17
|
+
import { type SpreadsheetDecimalPlacesDirection } from './spreadsheet-number-format-command';
|
|
12
18
|
import { type SpreadsheetSheetMoveDirection } from './spreadsheet-sheet-model';
|
|
13
19
|
export interface SpreadsheetWorkbookCommandPort {
|
|
14
20
|
autoFillCell: (copyRange: SpreadsheetCommandRange, applyRange: SpreadsheetCommandRange, direction: SpreadsheetCellFillDirection) => void;
|
|
@@ -74,10 +80,14 @@ export interface SpreadsheetHistoryCommandPort {
|
|
|
74
80
|
export interface SpreadsheetClipboardCommandPort {
|
|
75
81
|
canCopySelection: boolean;
|
|
76
82
|
canCutSelection: boolean;
|
|
83
|
+
canOpenPasteSpecial: boolean;
|
|
77
84
|
canPasteSelection: boolean;
|
|
85
|
+
canPasteSpecial: (content: SpreadsheetPasteContent) => boolean;
|
|
78
86
|
copySelection: () => boolean;
|
|
79
87
|
cutSelection: () => boolean;
|
|
88
|
+
openPasteSpecial: () => boolean;
|
|
80
89
|
pasteSelection: () => boolean;
|
|
90
|
+
pasteSpecial: (content: SpreadsheetPasteContent) => boolean;
|
|
81
91
|
}
|
|
82
92
|
export interface SpreadsheetAutoFilterCommandPort {
|
|
83
93
|
active: boolean;
|
|
@@ -94,6 +104,25 @@ export interface SpreadsheetFormatPainterCommandPort {
|
|
|
94
104
|
applySelection: (target: SpreadsheetCommandSelection) => boolean;
|
|
95
105
|
cancel: () => boolean;
|
|
96
106
|
}
|
|
107
|
+
export interface SpreadsheetFormatCellsOpenRequest {
|
|
108
|
+
sheetId: string;
|
|
109
|
+
range: SpreadsheetCellRange;
|
|
110
|
+
activeCell: {
|
|
111
|
+
row: number;
|
|
112
|
+
column: number;
|
|
113
|
+
};
|
|
114
|
+
cells: (Cell | null)[][];
|
|
115
|
+
}
|
|
116
|
+
export interface SpreadsheetFormatCellsCommandPort {
|
|
117
|
+
canOpen: boolean;
|
|
118
|
+
open: (request: SpreadsheetFormatCellsOpenRequest) => boolean;
|
|
119
|
+
}
|
|
120
|
+
export interface SpreadsheetNavigationCommandPort {
|
|
121
|
+
canOpenFind: boolean;
|
|
122
|
+
canOpenGoTo: boolean;
|
|
123
|
+
openFind: () => boolean;
|
|
124
|
+
openGoTo: () => boolean;
|
|
125
|
+
}
|
|
97
126
|
export interface SpreadsheetFormulaBarCommandPort {
|
|
98
127
|
setValue: (value: unknown) => void;
|
|
99
128
|
}
|
|
@@ -104,6 +133,10 @@ export interface SpreadsheetEditorCommands {
|
|
|
104
133
|
activateSheet: (sheetId: string) => boolean;
|
|
105
134
|
activateFormatPainter: (mode: SpreadsheetFormatPainterMode) => boolean;
|
|
106
135
|
addSheet: () => boolean;
|
|
136
|
+
adjustDecimalPlaces: (direction: SpreadsheetDecimalPlacesDirection) => boolean;
|
|
137
|
+
applyCellStyle: (preset: SpreadsheetCellStyleChoice) => boolean;
|
|
138
|
+
applyCellFormat: (request: SpreadsheetCellFormatRequest) => boolean;
|
|
139
|
+
applyAutoSum: (functionName: SpreadsheetAutoSumFunction) => boolean;
|
|
107
140
|
applyFormatPainter: (target: SpreadsheetCommandSelection) => boolean;
|
|
108
141
|
cancelFormatPainter: () => boolean;
|
|
109
142
|
clearSelectedCells: (mode?: SpreadsheetCellClearMode) => boolean;
|
|
@@ -119,8 +152,13 @@ export interface SpreadsheetEditorCommands {
|
|
|
119
152
|
moveSheet: (sheetId: string, direction: SpreadsheetSheetMoveDirection) => boolean;
|
|
120
153
|
moveSelection: (move: SpreadsheetSelectionMove, extend: boolean) => boolean;
|
|
121
154
|
openAutoFilterMenu: () => boolean;
|
|
155
|
+
openFind: () => boolean;
|
|
156
|
+
openFormatCells: () => boolean;
|
|
157
|
+
openGoTo: () => boolean;
|
|
158
|
+
openPasteSpecial: () => boolean;
|
|
122
159
|
pasteCells: (values: readonly (readonly unknown[])[]) => boolean;
|
|
123
160
|
pasteSelection: () => boolean;
|
|
161
|
+
pasteSpecial: (content: SpreadsheetPasteContent) => boolean;
|
|
124
162
|
recalculateFormula: (scope: 'selection' | 'workbook') => boolean;
|
|
125
163
|
renameSheet: (sheetId: string, name: string) => boolean;
|
|
126
164
|
redo: () => boolean;
|
|
@@ -149,7 +187,9 @@ export interface SpreadsheetCommandContext {
|
|
|
149
187
|
fallbackRange: SpreadsheetCommandRange;
|
|
150
188
|
formulaBar: SpreadsheetFormulaBarCommandPort | null;
|
|
151
189
|
formatPainter: SpreadsheetFormatPainterCommandPort;
|
|
190
|
+
formatCells: SpreadsheetFormatCellsCommandPort;
|
|
152
191
|
history: SpreadsheetHistoryCommandPort | null;
|
|
192
|
+
navigation: SpreadsheetNavigationCommandPort;
|
|
153
193
|
onChange: (content: WorkSpreadsheetContent) => void;
|
|
154
194
|
selection: SpreadsheetCommandSelection | null;
|
|
155
195
|
targetSheetGridSize?: SpreadsheetGridSize | null;
|
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
import type { WorkspaceContextMenuItem } from '../../workspace/components/workspace-context-menu';
|
|
2
2
|
import type { WorkSpreadsheetAgentSelection } from '../work-spreadsheet-agent-context';
|
|
3
3
|
import type { SpreadsheetEditorCanCommands, SpreadsheetEditorCommands, SpreadsheetStructureAxis } from './spreadsheet-command-controller';
|
|
4
|
-
type SpreadsheetContextCan = Pick<SpreadsheetEditorCanCommands, 'clearSelectedCells' | '
|
|
5
|
-
type SpreadsheetContextCommands = Pick<SpreadsheetEditorCommands, 'clearSelectedCells' | '
|
|
4
|
+
type SpreadsheetContextCan = Pick<SpreadsheetEditorCanCommands, 'clearSelectedCells' | 'copySelection' | 'cutSelection' | 'openPasteSpecial' | 'pasteSelection'>;
|
|
5
|
+
type SpreadsheetContextCommands = Pick<SpreadsheetEditorCommands, 'clearSelectedCells' | 'copySelection' | 'cutSelection' | 'openPasteSpecial' | 'pasteSelection'>;
|
|
6
6
|
type SpreadsheetStructureCan = Pick<SpreadsheetEditorCanCommands, 'deleteSelectedStructure' | 'insertSelectedStructure' | 'setSelectedStructureHidden' | 'setSelectedStructureSize' | 'sortSelectedCells'>;
|
|
7
7
|
type SpreadsheetStructureCommands = Pick<SpreadsheetEditorCommands, 'deleteSelectedStructure' | 'insertSelectedStructure' | 'setSelectedStructureHidden' | 'setSelectedStructureSize' | 'sortSelectedCells'>;
|
|
8
8
|
type SpreadsheetSortCan = Pick<SpreadsheetEditorCanCommands, 'sortSelectedCells'>;
|
|
9
9
|
type SpreadsheetSortCommands = Pick<SpreadsheetEditorCommands, 'sortSelectedCells'>;
|
|
10
|
-
export
|
|
11
|
-
readText(): Promise<string>;
|
|
12
|
-
writeText(value: string): Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
export declare function spreadsheetCoreContextMenuItems({ can, clipboard, commands, selection, }: {
|
|
10
|
+
export declare function spreadsheetCoreContextMenuItems({ can, commands, selection, }: {
|
|
15
11
|
can: SpreadsheetContextCan;
|
|
16
|
-
clipboard?: SpreadsheetClipboardPort;
|
|
17
12
|
commands: SpreadsheetContextCommands;
|
|
18
13
|
selection: Pick<WorkSpreadsheetAgentSelection, 'clipboard' | 'reference'>;
|
|
19
14
|
}): WorkspaceContextMenuItem[];
|
|
@@ -29,10 +24,5 @@ export declare function spreadsheetSortContextMenuItems({ can, commands, idSuffi
|
|
|
29
24
|
idSuffix?: string;
|
|
30
25
|
separatorBefore?: boolean;
|
|
31
26
|
}): WorkspaceContextMenuItem[];
|
|
32
|
-
export
|
|
33
|
-
export
|
|
34
|
-
export declare function readSpreadsheetClipboardText(readSystem: (() => Promise<string>) | undefined, readLocal: () => string, timeoutMs?: number, canReadSystem?: () => boolean | Promise<boolean>): Promise<string>;
|
|
35
|
-
export declare function writeSpreadsheetClipboardText(value: string, writeSystem: ((value: string) => Promise<void>) | undefined, writeLocal: (value: string) => void, timeoutMs?: number): Promise<void>;
|
|
36
|
-
export declare function copySpreadsheetSelection(clipboard: SpreadsheetClipboardPort, value: string, cut: boolean): Promise<boolean>;
|
|
37
|
-
export declare function pasteSpreadsheetSelection(clipboard: SpreadsheetClipboardPort, paste: SpreadsheetContextCommands['pasteCells']): Promise<void>;
|
|
38
|
-
export {};
|
|
27
|
+
export { browserSpreadsheetClipboard, copySpreadsheetSelection, parseSpreadsheetClipboardText, readSpreadsheetClipboardText, writeSpreadsheetClipboardText, } from './spreadsheet-clipboard';
|
|
28
|
+
export type { SpreadsheetClipboardPort } from './spreadsheet-clipboard';
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { Cell, Selection } from '@fortune-sheet/core';
|
|
2
2
|
import type { WorkSpreadsheetContent } from '../work-types';
|
|
3
|
+
import type { SpreadsheetResolvedCellBorders } from './spreadsheet-cell-border';
|
|
3
4
|
import { type SpreadsheetRibbonTabId } from './spreadsheet-command-catalog';
|
|
4
5
|
import type { SpreadsheetEditorCanCommands, SpreadsheetEditorCommands } from './spreadsheet-command-controller';
|
|
5
6
|
import type { SpreadsheetFormatPainterMode } from './spreadsheet-format-painter';
|
|
6
7
|
import type { SpreadsheetWorkbookPanelView } from './spreadsheet-workbook-panel';
|
|
7
8
|
import { type WorkOfficeFileAction } from './work-office-chrome';
|
|
8
9
|
export type { SpreadsheetRibbonTabId } from './spreadsheet-command-catalog';
|
|
9
|
-
export declare function SpreadsheetEditorRibbon({ activeTab, autoFilterActive, can, commands, content, fileActions, findOpen, formatPainterMode, freezePanesActive, freezePanesSelection, gridLinesVisible, panelId,
|
|
10
|
+
export declare function SpreadsheetEditorRibbon({ activeTab, autoFilterActive, can, commands, content, fileActions, findOpen, formatPainterMode, freezePanesActive, freezePanesSelection, gridLinesVisible, panelId, onTabChange, onTogglePanel, panel, toolbarCell, toolbarCellBorders, }: {
|
|
10
11
|
activeTab: SpreadsheetRibbonTabId;
|
|
11
12
|
autoFilterActive?: boolean;
|
|
12
13
|
can: SpreadsheetEditorCanCommands;
|
|
@@ -19,9 +20,9 @@ export declare function SpreadsheetEditorRibbon({ activeTab, autoFilterActive, c
|
|
|
19
20
|
freezePanesSelection?: Selection;
|
|
20
21
|
gridLinesVisible: boolean;
|
|
21
22
|
panelId: string;
|
|
22
|
-
onOpenFind: () => void;
|
|
23
23
|
onTabChange: (tab: SpreadsheetRibbonTabId) => void;
|
|
24
24
|
onTogglePanel: (panel: SpreadsheetWorkbookPanelView, trigger: HTMLButtonElement) => void;
|
|
25
25
|
panel: SpreadsheetWorkbookPanelView | null;
|
|
26
26
|
toolbarCell: Cell | null | undefined;
|
|
27
|
+
toolbarCellBorders?: SpreadsheetResolvedCellBorders;
|
|
27
28
|
}): import("react").JSX.Element;
|