@a3s-lab/office 0.12.0 → 0.13.1
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 +112 -7
- package/dist/0~1403.js +20 -12
- package/dist/0~2805.js +241 -241
- package/dist/0~4980.js +1 -1
- package/dist/0~5050.js +1 -20
- package/dist/0~5093.js +547 -547
- package/dist/0~6090.js +63 -4
- package/dist/0~7048.js +31 -29
- package/dist/0~document-editor.js +694 -90
- package/dist/0~pdf-viewer.js +41 -10
- package/dist/0~presentation-editor.js +8 -6
- package/dist/0~spreadsheet-editor.js +11892 -9682
- package/dist/0~work-document-import-worker-client.js +237 -0
- package/dist/0~work-docx-export.js +1 -1
- package/dist/0~work-docx-import.js +1 -1
- package/dist/0~work-docx-large-document-import.js +559 -0
- package/dist/0~work-office-diagnostics.js +46 -32
- package/dist/4104.js +5070 -3112
- package/dist/432.js +51 -7
- package/dist/4476.js +201 -7
- package/dist/5184.js +24 -2
- package/dist/{8928.js → 6282.js} +2338 -93
- package/dist/8715.js +895 -888
- package/dist/9356.js +3 -1
- package/dist/core.js +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/features/work/editors/document-editor-support.d.ts +1 -9
- package/dist/internal/features/work/editors/document-external-content.d.ts +1 -1
- package/dist/internal/features/work/editors/office-menu-keyboard.d.ts +1 -0
- package/dist/internal/features/work/editors/presentation-slide-canvas.d.ts +3 -1
- package/dist/internal/features/work/editors/presentation-slide-thumbnail.d.ts +3 -2
- package/dist/internal/features/work/editors/presentation-thumbnail-rail.d.ts +2 -1
- package/dist/internal/features/work/editors/presentation-workspace.d.ts +2 -1
- package/dist/internal/features/work/editors/spreadsheet-border-ribbon.d.ts +5 -0
- package/dist/internal/features/work/editors/spreadsheet-calculation-projection.d.ts +10 -0
- package/dist/internal/features/work/editors/spreadsheet-cell-border-command.d.ts +3 -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 +28 -0
- package/dist/internal/features/work/editors/spreadsheet-cell-fill-command.d.ts +3 -0
- package/dist/internal/features/work/editors/spreadsheet-cell-fill.d.ts +12 -0
- package/dist/internal/features/work/editors/spreadsheet-cell-range.d.ts +14 -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-command-catalog.d.ts +293 -0
- package/dist/internal/features/work/editors/spreadsheet-command-controller.d.ts +10 -4
- package/dist/internal/features/work/editors/spreadsheet-editor-ribbon.d.ts +3 -1
- package/dist/internal/features/work/editors/spreadsheet-editor-support.d.ts +8 -2
- package/dist/internal/features/work/editors/spreadsheet-home-format-ribbon.d.ts +10 -0
- package/dist/internal/features/work/editors/spreadsheet-in-place-workbook-sync.d.ts +10 -0
- package/dist/internal/features/work/editors/spreadsheet-number-format.d.ts +15 -3
- package/dist/internal/features/work/editors/spreadsheet-operation-projection.d.ts +14 -0
- package/dist/internal/features/work/editors/spreadsheet-structure-selection.d.ts +7 -0
- package/dist/internal/features/work/editors/use-document-pagination.d.ts +5 -0
- package/dist/internal/features/work/editors/use-presentation-design-commands.d.ts +2 -1
- package/dist/internal/features/work/editors/use-spreadsheet-workbook-sync.d.ts +2 -1
- package/dist/internal/features/work/spreadsheet-history-value.d.ts +1 -0
- package/dist/internal/features/work/spreadsheet-sparse.d.ts +6 -1
- package/dist/internal/features/work/work-document-chunk-geometry.d.ts +28 -0
- package/dist/internal/features/work/work-document-chunk-node.d.ts +23 -0
- package/dist/internal/features/work/work-document-extensions.d.ts +1 -0
- package/dist/internal/features/work/work-document-html-fingerprint.d.ts +15 -0
- package/dist/internal/features/work/work-document-import-worker-client.d.ts +13 -0
- package/dist/internal/features/work/work-document-import-worker-protocol.d.ts +36 -0
- package/dist/internal/features/work/work-document-import.worker.d.ts +1 -0
- package/dist/internal/features/work/work-document-incremental-layout.d.ts +1 -1
- package/dist/internal/features/work/work-document-integrity-index.d.ts +14 -0
- package/dist/internal/features/work/work-document-lazy-block.d.ts +3 -0
- package/dist/internal/features/work/work-document-lazy-html.d.ts +21 -0
- package/dist/internal/features/work/work-document-lazy-model.d.ts +29 -0
- package/dist/internal/features/work/work-document-lazy-pagination-measurement.d.ts +3 -0
- package/dist/internal/features/work/work-document-lazy-preview.d.ts +21 -0
- package/dist/internal/features/work/work-document-lazy-update.d.ts +14 -0
- package/dist/internal/features/work/work-document-model.d.ts +18 -2
- package/dist/internal/features/work/work-document-page-surface-registry.d.ts +16 -0
- package/dist/internal/features/work/work-document-pagination-dom.d.ts +1 -0
- package/dist/internal/features/work/work-document-pagination-types.d.ts +1 -0
- package/dist/internal/features/work/work-document-pagination.d.ts +1 -1
- package/dist/internal/features/work/work-document-text-statistics.d.ts +25 -0
- package/dist/internal/features/work/work-document-windowing.d.ts +23 -0
- package/dist/internal/features/work/work-docx-large-document-import.d.ts +35 -0
- package/dist/internal/features/work/work-docx-large-document-parser.d.ts +29 -0
- package/dist/internal/features/work/work-file-import.d.ts +5 -0
- package/dist/internal/features/work/work-file-io.d.ts +3 -3
- package/dist/internal/features/work/work-file-kind.d.ts +5 -0
- package/dist/internal/features/work/work-office-diagnostics.d.ts +10 -1
- package/dist/internal/features/work/work-ooxml-package.d.ts +8 -0
- package/dist/internal/features/work/work-presentation-layouts.d.ts +7 -1
- package/dist/internal/features/work/work-repository.d.ts +1 -0
- package/dist/internal/features/work/work-spreadsheet-compatibility-summary.d.ts +10 -0
- package/dist/internal/features/work/work-spreadsheet-file-export.d.ts +2 -0
- package/dist/internal/features/work/work-spreadsheet-file-import.d.ts +3 -0
- package/dist/internal/features/work/work-spreadsheet-import-diagnostics.d.ts +2 -0
- package/dist/internal/features/work/work-spreadsheet-import-worker-client.d.ts +6 -0
- package/dist/internal/features/work/work-spreadsheet-import-worker-protocol.d.ts +32 -0
- package/dist/internal/features/work/work-spreadsheet-import.worker.d.ts +1 -0
- package/dist/internal/features/work/work-spreadsheet-matrix-profile.d.ts +64 -0
- package/dist/internal/features/work/work-spreadsheet-package-scan-worker-client.d.ts +6 -0
- package/dist/internal/features/work/work-spreadsheet-package-scan-worker-protocol.d.ts +49 -0
- package/dist/internal/features/work/work-spreadsheet-package-scan.worker.d.ts +1 -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-formula-diagnostics.d.ts +3 -1
- package/dist/internal/features/work/work-xlsx-formulas.d.ts +2 -1
- package/dist/internal/features/work/work-xlsx-interop.d.ts +8 -5
- package/dist/internal/features/work/work-xlsx-pivot-diagnostics.d.ts +2 -1
- package/dist/internal/features/work/work-xlsx-plain-fast-path.d.ts +54 -0
- package/dist/internal/features/work/work-xlsx-style-gate.d.ts +1 -0
- package/dist/internal/features/work/work-xlsx-worksheet-scan.d.ts +13 -0
- package/dist/internal/features/work/work-xlsx-worksheet.d.ts +12 -0
- package/dist/office-kernel.wasm +0 -0
- package/dist/office-kernel.worker.js +31 -29
- package/dist/react.d.ts +7 -1
- package/dist/styles.css +557 -3
- package/dist/work-document-import.worker.js +558 -0
- package/dist/work-spreadsheet-import.worker.js +24745 -0
- package/dist/work-spreadsheet-import.worker.js.LICENSE.txt +3 -0
- package/dist/work-spreadsheet-package-scan.worker.js +4161 -0
- package/dist/work-spreadsheet-package-scan.worker.js.LICENSE.txt +11 -0
- package/docs/latest/en/browser-editor-architecture.md +351 -15
- package/package.json +23 -3
package/dist/9356.js
CHANGED
|
@@ -51,7 +51,9 @@ class WorkFileImportController {
|
|
|
51
51
|
}
|
|
52
52
|
async yieldToMainThread() {
|
|
53
53
|
this.throwIfAborted();
|
|
54
|
-
|
|
54
|
+
const taskScheduler = globalThis.scheduler;
|
|
55
|
+
if ('function' == typeof taskScheduler?.yield) await taskScheduler.yield();
|
|
56
|
+
else await new Promise((resolve)=>setTimeout(resolve, 0));
|
|
55
57
|
this.throwIfAborted();
|
|
56
58
|
}
|
|
57
59
|
complete() {
|
package/dist/core.js
CHANGED
|
@@ -4,7 +4,7 @@ export { DOCUMENT_SNAPSHOT_MEDIA_TYPE, DOCUMENT_SNAPSHOT_SCHEMA, DOCUMENT_SNAPSH
|
|
|
4
4
|
export { OFFICE_COLLABORATION_NAMESPACE, OFFICE_COLLABORATION_PROTOCOL, OfficeCollaborationError, createOfficeCollaborationSession, readOfficeCollaborationMetadata } from "./9787.js";
|
|
5
5
|
export { assertPdfCollaborationSource, createOfficePdfCollaborationBinding, initializeOfficePdfCollaboration, readOfficePdfCollaboration, readOfficePdfCollaborationSource, replaceOfficePdfCollaboration } from "./3818.js";
|
|
6
6
|
export { createArtifact, createOfficeId, officeTemplates } from "./5184.js";
|
|
7
|
-
export { createOfficeDocumentCollaborationBinding, initializeOfficeDocumentCollaboration, officeDocumentCollaborationFragment, readOfficeDocumentCollaboration } from "./
|
|
7
|
+
export { createOfficeDocumentCollaborationBinding, initializeOfficeDocumentCollaboration, officeDocumentCollaborationFragment, readOfficeDocumentCollaboration } from "./6282.js";
|
|
8
8
|
export { createOfficeMarkdownCollaborationBinding, initializeOfficeMarkdownCollaboration, readOfficeMarkdownCollaboration, replaceOfficeMarkdownCollaboration } from "./2591.js";
|
|
9
9
|
export { createOfficePresentationCollaborationBinding, initializeOfficePresentationCollaboration, readOfficePresentationCollaboration, replaceOfficePresentationCollaboration } from "./4560.js";
|
|
10
10
|
export { createOfficeSpreadsheetCollaborationBinding, initializeOfficeSpreadsheetCollaboration, readOfficeSpreadsheetCollaboration, replaceOfficeSpreadsheetCollaboration } from "./4476.js";
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ export { DocumentEditor, MarkdownEditor, PDF_EVIDENCE_COORDINATE_BASIS, PdfViewe
|
|
|
7
7
|
export { OFFICE_COLLABORATION_NAMESPACE, OFFICE_COLLABORATION_PROTOCOL, OfficeCollaborationError, createOfficeCollaborationSession, readOfficeCollaborationMetadata } from "./9787.js";
|
|
8
8
|
export { assertPdfCollaborationSource, createOfficePdfCollaborationBinding, initializeOfficePdfCollaboration, readOfficePdfCollaboration, readOfficePdfCollaborationSource, replaceOfficePdfCollaboration } from "./3818.js";
|
|
9
9
|
export { createArtifact, createOfficeId, officeTemplates } from "./5184.js";
|
|
10
|
-
export { createOfficeDocumentCollaborationBinding, initializeOfficeDocumentCollaboration, officeDocumentCollaborationFragment, readOfficeDocumentCollaboration } from "./
|
|
10
|
+
export { createOfficeDocumentCollaborationBinding, initializeOfficeDocumentCollaboration, officeDocumentCollaborationFragment, readOfficeDocumentCollaboration } from "./6282.js";
|
|
11
11
|
export { createOfficeMarkdownCollaborationBinding, initializeOfficeMarkdownCollaboration, readOfficeMarkdownCollaboration, replaceOfficeMarkdownCollaboration } from "./2591.js";
|
|
12
12
|
export { createOfficePresentationCollaborationBinding, initializeOfficePresentationCollaboration, readOfficePresentationCollaboration, replaceOfficePresentationCollaboration } from "./4560.js";
|
|
13
13
|
export { createOfficeSpreadsheetCollaborationBinding, initializeOfficeSpreadsheetCollaboration, readOfficeSpreadsheetCollaboration, replaceOfficeSpreadsheetCollaboration } from "./4476.js";
|
|
@@ -3,6 +3,7 @@ import type { WorkspaceContextMenuItem } from '../../workspace/components/worksp
|
|
|
3
3
|
import { type WorkAgentProposalRequest, type WorkAgentProposalTarget } from '../work-agent-proposal';
|
|
4
4
|
import type { WorkEditorAgentRequest } from '../work-agent-request';
|
|
5
5
|
import type { WorkDocumentSelectionAction, WorkDocumentSelectionMenuIcon, WorkDocumentSelectionMenuItem } from '../work-document-selection-menu';
|
|
6
|
+
export { type DocumentTextStatistics, documentTextStatistics, documentWordCount, } from '../work-document-text-statistics';
|
|
6
7
|
export declare function documentEditorSelectionText(editor: Pick<Editor, 'state'>): string;
|
|
7
8
|
export declare function documentAgentMenuItems(selection: string, onAgentRequest: (request: WorkEditorAgentRequest) => void | Promise<void>, proposalOptions?: {
|
|
8
9
|
target: WorkAgentProposalTarget;
|
|
@@ -27,12 +28,3 @@ interface CustomSelectionMenuItem<Context> {
|
|
|
27
28
|
export declare function customSelectionMenuItems<Context>(items: readonly CustomSelectionMenuItem<Context>[], createAction: () => CustomSelectionAction<Context>): WorkspaceContextMenuItem[];
|
|
28
29
|
export declare function documentPageCount(editor: Editor): number;
|
|
29
30
|
export declare function documentCurrentPage(editor: Editor): number;
|
|
30
|
-
export declare function documentWordCount(value: string): number;
|
|
31
|
-
export interface DocumentTextStatistics {
|
|
32
|
-
characterCountWithSpaces: number;
|
|
33
|
-
characterCountWithoutSpaces: number;
|
|
34
|
-
paragraphCount: number;
|
|
35
|
-
wordCount: number;
|
|
36
|
-
}
|
|
37
|
-
export declare function documentTextStatistics(editor: Pick<Editor, 'getText' | 'state'>): DocumentTextStatistics;
|
|
38
|
-
export {};
|
|
@@ -5,7 +5,7 @@ export type ExternalDocumentContentResult = 'applied' | 'unchanged' | 'unsupport
|
|
|
5
5
|
* Returns whether an editor transaction represents a user-authored document
|
|
6
6
|
* change that the controlled host must persist.
|
|
7
7
|
*/
|
|
8
|
-
export declare function shouldPublishDocumentUpdate(transaction: Transaction): boolean;
|
|
8
|
+
export declare function shouldPublishDocumentUpdate(transaction: Transaction, appendedTransactions?: readonly Transaction[]): boolean;
|
|
9
9
|
/**
|
|
10
10
|
* Applies controlled host content as the smallest ProseMirror transaction.
|
|
11
11
|
* This keeps selections, editor instances, and local history stable while an
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { type WorkPresentationDesignContent } from '../work-presentation-layouts';
|
|
1
2
|
import type { WorkPresentationContent, WorkSlide, WorkSlideElement } from '../work-types';
|
|
2
|
-
export declare function SlideCanvas({ content, slide, interactive, aspectRatio, showPlaceholders, }: {
|
|
3
|
+
export declare function SlideCanvas({ content, designContent, slide, interactive, aspectRatio, showPlaceholders, }: {
|
|
3
4
|
content?: WorkPresentationContent;
|
|
5
|
+
designContent?: WorkPresentationDesignContent;
|
|
4
6
|
slide: WorkSlide;
|
|
5
7
|
interactive: boolean;
|
|
6
8
|
aspectRatio: string;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { WorkspaceContextMenuEvent } from '../../workspace/components/workspace-context-menu';
|
|
2
|
-
import type {
|
|
2
|
+
import type { WorkPresentationDesignContent } from '../work-presentation-layouts';
|
|
3
|
+
import type { WorkSlide } from '../work-types';
|
|
3
4
|
export declare function PresentationSlideThumbnail({ content, slide, index, selected, slideCount, aspectRatio, variant, renderPreview, onFocus, onSelect, onDelete, onNavigate, onContextMenu, onDoubleClick, }: {
|
|
4
|
-
content:
|
|
5
|
+
content: WorkPresentationDesignContent;
|
|
5
6
|
slide: WorkSlide;
|
|
6
7
|
index: number;
|
|
7
8
|
selected: boolean;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { type RefObject } from 'react';
|
|
2
2
|
import type { WorkspaceContextMenuEvent } from '../../workspace/components/workspace-context-menu';
|
|
3
|
+
import type { WorkPresentationDesignContent } from '../work-presentation-layouts';
|
|
3
4
|
import type { WorkPresentationContent, WorkSlide, WorkSlideElement } from '../work-types';
|
|
4
5
|
export declare function PresentationThumbnailRail({ aspectRatio, content, designContent, selectedSlide, viewMode, zoom, mobileCloseButtonRef, mobileNavigationModal, mobileNavigationId, onAddSlide, onCloseMobileNavigation, onDeleteSlide, onOpenContextMenu, onSelectSlide, onViewModeChange, }: {
|
|
5
6
|
aspectRatio: string;
|
|
6
7
|
content: WorkPresentationContent;
|
|
7
|
-
designContent:
|
|
8
|
+
designContent: WorkPresentationDesignContent;
|
|
8
9
|
selectedSlide: WorkSlide;
|
|
9
10
|
viewMode: 'normal' | 'sorter';
|
|
10
11
|
zoom: number;
|
|
@@ -2,6 +2,7 @@ import type { Editor } from '@tiptap/core';
|
|
|
2
2
|
import { type PointerEvent, type RefObject } from 'react';
|
|
3
3
|
import type { OfficeKernelPresentationSnapGuide } from '../../../kernel/office-kernel-protocol';
|
|
4
4
|
import { type WorkspaceContextMenuEvent } from '../../workspace/components/workspace-context-menu';
|
|
5
|
+
import type { WorkPresentationDesignContent } from '../work-presentation-layouts';
|
|
5
6
|
import type { WorkPresentationContent, WorkPresentationLayout, WorkPresentationMaster, WorkSlide, WorkSlideElement } from '../work-types';
|
|
6
7
|
import type { PresentationEditorCommands } from './presentation-command-types';
|
|
7
8
|
import type { PresentationDesignMode } from './presentation-editor-types';
|
|
@@ -15,7 +16,7 @@ export interface PresentationWorkspaceProps {
|
|
|
15
16
|
canvasRef: RefObject<HTMLElement | null>;
|
|
16
17
|
commands: PresentationWorkspaceCommands;
|
|
17
18
|
content: WorkPresentationContent;
|
|
18
|
-
designContent:
|
|
19
|
+
designContent: WorkPresentationDesignContent;
|
|
19
20
|
designMode: PresentationDesignMode;
|
|
20
21
|
inheritedElements: WorkSlideElement[];
|
|
21
22
|
placeholderGuides: WorkSlideElement[];
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { SpreadsheetEditorCanCommands, SpreadsheetEditorCommands } from './spreadsheet-command-controller';
|
|
2
|
+
export declare function SpreadsheetBorderRibbon({ can, commands, }: {
|
|
3
|
+
can: SpreadsheetEditorCanCommands;
|
|
4
|
+
commands: SpreadsheetEditorCommands;
|
|
5
|
+
}): import("react").JSX.Element;
|
|
@@ -16,6 +16,10 @@ export interface SpreadsheetKernelOperationProjection {
|
|
|
16
16
|
sourceChanged: boolean;
|
|
17
17
|
workbook: SpreadsheetKernelWorkbook;
|
|
18
18
|
}
|
|
19
|
+
export interface SpreadsheetKernelWorkbookPreparation {
|
|
20
|
+
hasFormulaCells: boolean;
|
|
21
|
+
workbook: SpreadsheetKernelWorkbook | null;
|
|
22
|
+
}
|
|
19
23
|
interface SpreadsheetKernelSourceState {
|
|
20
24
|
cellCount: number;
|
|
21
25
|
fingerprintA: bigint;
|
|
@@ -24,6 +28,12 @@ interface SpreadsheetKernelSourceState {
|
|
|
24
28
|
structureKey: string;
|
|
25
29
|
}
|
|
26
30
|
export declare function createSpreadsheetKernelWorkbook(content: Pick<WorkSpreadsheetContent, 'sheets'>): SpreadsheetKernelWorkbook | null;
|
|
31
|
+
/**
|
|
32
|
+
* Prepares automatic calculation without compiling a value-only workbook that
|
|
33
|
+
* cannot produce any formula result. A later formula edit will prepare a fresh
|
|
34
|
+
* snapshot from the updated controlled content.
|
|
35
|
+
*/
|
|
36
|
+
export declare function prepareSpreadsheetKernelWorkbook(content: Pick<WorkSpreadsheetContent, 'sheets'>): SpreadsheetKernelWorkbookPreparation;
|
|
27
37
|
export declare function refreshSpreadsheetKernelWorkbook(sheets: readonly Sheet[], fallbackCells: readonly SpreadsheetKernelFallbackCell[]): SpreadsheetKernelWorkbook | null;
|
|
28
38
|
export declare function projectSpreadsheetKernelWorkbookOperations(previous: SpreadsheetKernelWorkbook, sheets: readonly WorkSpreadsheetSheet[], operations: readonly Op[]): SpreadsheetKernelOperationProjection | null;
|
|
29
39
|
export declare function spreadsheetOperationsMayChangeCalculation(operations: readonly Op[], workbook?: SpreadsheetKernelWorkbook | null): 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 createSpreadsheetCellBorderExtension(): OfficeEditorExtension<SpreadsheetCommandContext, SpreadsheetEditorCommands>;
|
|
@@ -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;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { WorkSpreadsheetContent, WorkSpreadsheetSheet } from '../work-types';
|
|
2
|
+
import { type SpreadsheetCellRangeInput } from './spreadsheet-cell-range';
|
|
3
|
+
export declare const spreadsheetCellBorderTargets: readonly ["top", "bottom", "left", "right", "none", "all", "outside", "inside", "horizontal", "vertical", "diagonal"];
|
|
4
|
+
export type SpreadsheetCellBorderTarget = (typeof spreadsheetCellBorderTargets)[number];
|
|
5
|
+
export declare const spreadsheetCellBorderStyles: readonly ["thin", "dotted", "dashed", "dash-dot", "dash-dot-dot", "medium", "medium-dashed", "medium-dash-dot", "medium-dash-dot-dot", "thick"];
|
|
6
|
+
export type SpreadsheetCellBorderStyle = (typeof spreadsheetCellBorderStyles)[number];
|
|
7
|
+
export interface SpreadsheetCellBorderFormat {
|
|
8
|
+
target: SpreadsheetCellBorderTarget;
|
|
9
|
+
color: string;
|
|
10
|
+
style: SpreadsheetCellBorderStyle;
|
|
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
|
+
}
|
|
23
|
+
export declare const MAX_SPREADSHEET_DIAGONAL_BORDER_CELLS = 4096;
|
|
24
|
+
export declare function spreadsheetNativeBorderStyle(style: SpreadsheetCellBorderStyle): string;
|
|
25
|
+
export declare function canSetSpreadsheetCellBorders(content: WorkSpreadsheetContent, sheetId: string, range: SpreadsheetCellRangeInput, format: SpreadsheetCellBorderFormat): boolean;
|
|
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 createSpreadsheetCellFillExtension(): OfficeEditorExtension<SpreadsheetCommandContext, SpreadsheetEditorCommands>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { WorkSpreadsheetSheet } from '../work-types';
|
|
2
|
+
import { type SpreadsheetCellRange, type SpreadsheetCellRangeInput } from './spreadsheet-cell-range';
|
|
3
|
+
export declare const spreadsheetCellFillMaximumCells = 50000;
|
|
4
|
+
export type SpreadsheetCellFillDirection = 'down' | 'left' | 'right' | 'up';
|
|
5
|
+
export interface SpreadsheetCellFillPlan {
|
|
6
|
+
applyRange: SpreadsheetCellRange;
|
|
7
|
+
copyRange: SpreadsheetCellRange;
|
|
8
|
+
direction: SpreadsheetCellFillDirection;
|
|
9
|
+
targetCellCount: number;
|
|
10
|
+
}
|
|
11
|
+
export declare function planSpreadsheetCellFill(selection: SpreadsheetCellRangeInput, direction: SpreadsheetCellFillDirection, maximumCells?: number): SpreadsheetCellFillPlan | null;
|
|
12
|
+
export declare function canApplySpreadsheetCellFill(sheet: WorkSpreadsheetSheet | undefined, plan: SpreadsheetCellFillPlan): boolean;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface SpreadsheetCellRange {
|
|
2
|
+
row: [number, number];
|
|
3
|
+
column: [number, number];
|
|
4
|
+
}
|
|
5
|
+
export interface SpreadsheetCellRangeInput {
|
|
6
|
+
row: readonly number[];
|
|
7
|
+
column: readonly number[];
|
|
8
|
+
}
|
|
9
|
+
export declare function normalizeSpreadsheetCellRange(value: SpreadsheetCellRangeInput): SpreadsheetCellRange | null;
|
|
10
|
+
export declare function parseSpreadsheetCellRange(value: unknown): SpreadsheetCellRange | null;
|
|
11
|
+
export declare function subtractSpreadsheetCellRange(source: SpreadsheetCellRange, removed: SpreadsheetCellRange): SpreadsheetCellRange[];
|
|
12
|
+
export declare function spreadsheetCellRangesIntersect(left: SpreadsheetCellRange, right: SpreadsheetCellRange): boolean;
|
|
13
|
+
export declare function spreadsheetCellRangeContains(range: SpreadsheetCellRange, row: number, column: number): boolean;
|
|
14
|
+
export declare function spreadsheetCellRangeArea(range: SpreadsheetCellRange): number;
|
|
@@ -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 {};
|
|
@@ -159,6 +159,244 @@ export declare const spreadsheetCommandCatalog: {
|
|
|
159
159
|
readonly editor: readonly ["Mod-u"];
|
|
160
160
|
};
|
|
161
161
|
};
|
|
162
|
+
readonly strike: {
|
|
163
|
+
readonly id: "font.strike";
|
|
164
|
+
readonly label: "删除线";
|
|
165
|
+
readonly location: {
|
|
166
|
+
readonly area: "ribbon";
|
|
167
|
+
readonly tab: "home";
|
|
168
|
+
readonly group: "font";
|
|
169
|
+
};
|
|
170
|
+
readonly shortcut: {
|
|
171
|
+
readonly label: "Cmd/Ctrl+5";
|
|
172
|
+
readonly aria: "Control+5 Meta+5";
|
|
173
|
+
readonly editor: readonly ["Mod-5"];
|
|
174
|
+
};
|
|
175
|
+
};
|
|
176
|
+
readonly numberFormatGeneral: {
|
|
177
|
+
readonly id: "number.general";
|
|
178
|
+
readonly label: "常规";
|
|
179
|
+
readonly location: {
|
|
180
|
+
readonly area: "ribbon";
|
|
181
|
+
readonly tab: "home";
|
|
182
|
+
readonly group: "number";
|
|
183
|
+
};
|
|
184
|
+
readonly shortcut: {
|
|
185
|
+
readonly label: "Cmd/Ctrl+Shift+~";
|
|
186
|
+
readonly aria: "Control+Shift+~ Meta+Shift+~";
|
|
187
|
+
readonly editor: readonly ["Mod-Shift-~"];
|
|
188
|
+
};
|
|
189
|
+
};
|
|
190
|
+
readonly numberFormatNumber: {
|
|
191
|
+
readonly id: "number.number";
|
|
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 numberFormatCurrency: {
|
|
205
|
+
readonly id: "number.currency";
|
|
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 numberFormatAccounting: {
|
|
219
|
+
readonly id: "number.accounting";
|
|
220
|
+
readonly label: "会计专用";
|
|
221
|
+
readonly location: {
|
|
222
|
+
readonly area: "ribbon";
|
|
223
|
+
readonly tab: "home";
|
|
224
|
+
readonly group: "number";
|
|
225
|
+
};
|
|
226
|
+
};
|
|
227
|
+
readonly numberFormatPercent: {
|
|
228
|
+
readonly id: "number.percent";
|
|
229
|
+
readonly label: "百分比";
|
|
230
|
+
readonly location: {
|
|
231
|
+
readonly area: "ribbon";
|
|
232
|
+
readonly tab: "home";
|
|
233
|
+
readonly group: "number";
|
|
234
|
+
};
|
|
235
|
+
readonly shortcut: {
|
|
236
|
+
readonly label: "Cmd/Ctrl+Shift+%";
|
|
237
|
+
readonly aria: "Control+Shift+% Meta+Shift+%";
|
|
238
|
+
readonly editor: readonly ["Mod-Shift-%"];
|
|
239
|
+
};
|
|
240
|
+
};
|
|
241
|
+
readonly numberFormatDate: {
|
|
242
|
+
readonly id: "number.date";
|
|
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 numberFormatTime: {
|
|
256
|
+
readonly id: "number.time";
|
|
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 numberFormatScientific: {
|
|
270
|
+
readonly id: "number.scientific";
|
|
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 numberFormatFraction: {
|
|
284
|
+
readonly id: "number.fraction";
|
|
285
|
+
readonly label: "分数";
|
|
286
|
+
readonly location: {
|
|
287
|
+
readonly area: "ribbon";
|
|
288
|
+
readonly tab: "home";
|
|
289
|
+
readonly group: "number";
|
|
290
|
+
};
|
|
291
|
+
};
|
|
292
|
+
readonly numberFormatText: {
|
|
293
|
+
readonly id: "number.text";
|
|
294
|
+
readonly label: "文本";
|
|
295
|
+
readonly location: {
|
|
296
|
+
readonly area: "ribbon";
|
|
297
|
+
readonly tab: "home";
|
|
298
|
+
readonly group: "number";
|
|
299
|
+
};
|
|
300
|
+
};
|
|
301
|
+
readonly borderTop: {
|
|
302
|
+
readonly id: "font.borderTop";
|
|
303
|
+
readonly label: "上框线";
|
|
304
|
+
readonly location: {
|
|
305
|
+
readonly area: "ribbon";
|
|
306
|
+
readonly tab: "home";
|
|
307
|
+
readonly group: "font";
|
|
308
|
+
};
|
|
309
|
+
};
|
|
310
|
+
readonly borderBottom: {
|
|
311
|
+
readonly id: "font.borderBottom";
|
|
312
|
+
readonly label: "下框线";
|
|
313
|
+
readonly location: {
|
|
314
|
+
readonly area: "ribbon";
|
|
315
|
+
readonly tab: "home";
|
|
316
|
+
readonly group: "font";
|
|
317
|
+
};
|
|
318
|
+
};
|
|
319
|
+
readonly borderLeft: {
|
|
320
|
+
readonly id: "font.borderLeft";
|
|
321
|
+
readonly label: "左框线";
|
|
322
|
+
readonly location: {
|
|
323
|
+
readonly area: "ribbon";
|
|
324
|
+
readonly tab: "home";
|
|
325
|
+
readonly group: "font";
|
|
326
|
+
};
|
|
327
|
+
};
|
|
328
|
+
readonly borderRight: {
|
|
329
|
+
readonly id: "font.borderRight";
|
|
330
|
+
readonly label: "右框线";
|
|
331
|
+
readonly location: {
|
|
332
|
+
readonly area: "ribbon";
|
|
333
|
+
readonly tab: "home";
|
|
334
|
+
readonly group: "font";
|
|
335
|
+
};
|
|
336
|
+
};
|
|
337
|
+
readonly borderNone: {
|
|
338
|
+
readonly id: "font.borderNone";
|
|
339
|
+
readonly label: "无框线";
|
|
340
|
+
readonly location: {
|
|
341
|
+
readonly area: "ribbon";
|
|
342
|
+
readonly tab: "home";
|
|
343
|
+
readonly group: "font";
|
|
344
|
+
};
|
|
345
|
+
};
|
|
346
|
+
readonly borderAll: {
|
|
347
|
+
readonly id: "font.borderAll";
|
|
348
|
+
readonly label: "所有框线";
|
|
349
|
+
readonly location: {
|
|
350
|
+
readonly area: "ribbon";
|
|
351
|
+
readonly tab: "home";
|
|
352
|
+
readonly group: "font";
|
|
353
|
+
};
|
|
354
|
+
};
|
|
355
|
+
readonly borderOutside: {
|
|
356
|
+
readonly id: "font.borderOutside";
|
|
357
|
+
readonly label: "外侧框线";
|
|
358
|
+
readonly location: {
|
|
359
|
+
readonly area: "ribbon";
|
|
360
|
+
readonly tab: "home";
|
|
361
|
+
readonly group: "font";
|
|
362
|
+
};
|
|
363
|
+
};
|
|
364
|
+
readonly borderInside: {
|
|
365
|
+
readonly id: "font.borderInside";
|
|
366
|
+
readonly label: "内部框线";
|
|
367
|
+
readonly location: {
|
|
368
|
+
readonly area: "ribbon";
|
|
369
|
+
readonly tab: "home";
|
|
370
|
+
readonly group: "font";
|
|
371
|
+
};
|
|
372
|
+
};
|
|
373
|
+
readonly borderHorizontal: {
|
|
374
|
+
readonly id: "font.borderHorizontal";
|
|
375
|
+
readonly label: "内部横框线";
|
|
376
|
+
readonly location: {
|
|
377
|
+
readonly area: "ribbon";
|
|
378
|
+
readonly tab: "home";
|
|
379
|
+
readonly group: "font";
|
|
380
|
+
};
|
|
381
|
+
};
|
|
382
|
+
readonly borderVertical: {
|
|
383
|
+
readonly id: "font.borderVertical";
|
|
384
|
+
readonly label: "内部竖框线";
|
|
385
|
+
readonly location: {
|
|
386
|
+
readonly area: "ribbon";
|
|
387
|
+
readonly tab: "home";
|
|
388
|
+
readonly group: "font";
|
|
389
|
+
};
|
|
390
|
+
};
|
|
391
|
+
readonly borderDiagonal: {
|
|
392
|
+
readonly id: "font.borderDiagonal";
|
|
393
|
+
readonly label: "斜线框线";
|
|
394
|
+
readonly location: {
|
|
395
|
+
readonly area: "ribbon";
|
|
396
|
+
readonly tab: "home";
|
|
397
|
+
readonly group: "font";
|
|
398
|
+
};
|
|
399
|
+
};
|
|
162
400
|
readonly mergeAndCenter: {
|
|
163
401
|
readonly id: "alignment.mergeAndCenter";
|
|
164
402
|
readonly label: "合并居中";
|
|
@@ -218,6 +456,15 @@ export declare const spreadsheetCommandCatalog: {
|
|
|
218
456
|
readonly group: "styles";
|
|
219
457
|
};
|
|
220
458
|
};
|
|
459
|
+
readonly cellStyles: {
|
|
460
|
+
readonly id: "styles.cellStyles";
|
|
461
|
+
readonly label: "单元格样式";
|
|
462
|
+
readonly location: {
|
|
463
|
+
readonly area: "ribbon";
|
|
464
|
+
readonly tab: "home";
|
|
465
|
+
readonly group: "styles";
|
|
466
|
+
};
|
|
467
|
+
};
|
|
221
468
|
readonly insertRowsAbove: {
|
|
222
469
|
readonly id: "cells.insertRowsAbove";
|
|
223
470
|
readonly label: "在上方插入行";
|
|
@@ -272,6 +519,52 @@ export declare const spreadsheetCommandCatalog: {
|
|
|
272
519
|
readonly group: "cells";
|
|
273
520
|
};
|
|
274
521
|
};
|
|
522
|
+
readonly fillDown: {
|
|
523
|
+
readonly id: "editing.fillDown";
|
|
524
|
+
readonly label: "向下填充";
|
|
525
|
+
readonly location: {
|
|
526
|
+
readonly area: "ribbon";
|
|
527
|
+
readonly tab: "home";
|
|
528
|
+
readonly group: "editing";
|
|
529
|
+
};
|
|
530
|
+
readonly shortcut: {
|
|
531
|
+
readonly label: "Cmd/Ctrl+D";
|
|
532
|
+
readonly aria: "Control+D Meta+D";
|
|
533
|
+
readonly editor: readonly ["Mod-d"];
|
|
534
|
+
};
|
|
535
|
+
};
|
|
536
|
+
readonly fillRight: {
|
|
537
|
+
readonly id: "editing.fillRight";
|
|
538
|
+
readonly label: "向右填充";
|
|
539
|
+
readonly location: {
|
|
540
|
+
readonly area: "ribbon";
|
|
541
|
+
readonly tab: "home";
|
|
542
|
+
readonly group: "editing";
|
|
543
|
+
};
|
|
544
|
+
readonly shortcut: {
|
|
545
|
+
readonly label: "Cmd/Ctrl+R";
|
|
546
|
+
readonly aria: "Control+R Meta+R";
|
|
547
|
+
readonly editor: readonly ["Mod-r"];
|
|
548
|
+
};
|
|
549
|
+
};
|
|
550
|
+
readonly fillUp: {
|
|
551
|
+
readonly id: "editing.fillUp";
|
|
552
|
+
readonly label: "向上填充";
|
|
553
|
+
readonly location: {
|
|
554
|
+
readonly area: "ribbon";
|
|
555
|
+
readonly tab: "home";
|
|
556
|
+
readonly group: "editing";
|
|
557
|
+
};
|
|
558
|
+
};
|
|
559
|
+
readonly fillLeft: {
|
|
560
|
+
readonly id: "editing.fillLeft";
|
|
561
|
+
readonly label: "向左填充";
|
|
562
|
+
readonly location: {
|
|
563
|
+
readonly area: "ribbon";
|
|
564
|
+
readonly tab: "home";
|
|
565
|
+
readonly group: "editing";
|
|
566
|
+
};
|
|
567
|
+
};
|
|
275
568
|
readonly clearAll: {
|
|
276
569
|
readonly id: "editing.clearAll";
|
|
277
570
|
readonly label: "清除全部";
|