@univerjs/sheets-ui 0.5.4 → 0.5.5-experimental.20250122-3362a4a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +44 -48
  3. package/lib/cjs/locale/en-US.js +1 -1
  4. package/lib/cjs/locale/fa-IR.js +1 -1
  5. package/lib/cjs/locale/fr-FR.js +1 -1
  6. package/lib/cjs/locale/ru-RU.js +1 -1
  7. package/lib/cjs/locale/vi-VN.js +1 -1
  8. package/lib/cjs/locale/zh-CN.js +1 -1
  9. package/lib/cjs/locale/zh-TW.js +1 -1
  10. package/lib/es/facade.js +798 -474
  11. package/lib/es/index.js +17244 -16473
  12. package/lib/es/locale/en-US.js +2 -2
  13. package/lib/es/locale/fa-IR.js +2 -2
  14. package/lib/es/locale/fr-FR.js +2 -2
  15. package/lib/es/locale/ru-RU.js +2 -2
  16. package/lib/es/locale/vi-VN.js +2 -2
  17. package/lib/es/locale/zh-CN.js +2 -2
  18. package/lib/es/locale/zh-TW.js +2 -2
  19. package/lib/index.css +1 -1
  20. package/lib/types/commands/commands/clipboard.command.d.ts +1 -0
  21. package/lib/types/commands/commands/set-selection.command.d.ts +5 -0
  22. package/lib/types/common/keys.d.ts +1 -0
  23. package/lib/types/components/border-panel/BorderPanel.d.ts +1 -2
  24. package/lib/types/components/border-panel/border-line/BorderLine.d.ts +1 -2
  25. package/lib/types/components/border-panel/border-line/icons/BorderDashDot.d.ts +16 -2
  26. package/lib/types/components/border-panel/border-line/icons/BorderDashDotDot.d.ts +16 -2
  27. package/lib/types/components/border-panel/border-line/icons/BorderDashed.d.ts +16 -2
  28. package/lib/types/components/border-panel/border-line/icons/BorderDotted.d.ts +16 -2
  29. package/lib/types/components/border-panel/border-line/icons/BorderHair.d.ts +16 -2
  30. package/lib/types/components/border-panel/border-line/icons/BorderMedium.d.ts +16 -2
  31. package/lib/types/components/border-panel/border-line/icons/BorderMediumDashDot.d.ts +16 -2
  32. package/lib/types/components/border-panel/border-line/icons/BorderMediumDashDotDot.d.ts +16 -2
  33. package/lib/types/components/border-panel/border-line/icons/BorderMediumDashed.d.ts +16 -2
  34. package/lib/types/components/border-panel/border-line/icons/BorderThick.d.ts +16 -2
  35. package/lib/types/components/border-panel/border-line/icons/BorderThin.d.ts +16 -2
  36. package/lib/types/components/menu-item-input/MenuItemInput.d.ts +1 -2
  37. package/lib/types/controllers/clipboard/clipboard.controller.d.ts +1 -0
  38. package/lib/types/controllers/clipboard/utils.d.ts +0 -11
  39. package/lib/types/controllers/editor/data-sync.controller.d.ts +3 -1
  40. package/lib/types/controllers/editor/editing.render-controller.d.ts +3 -4
  41. package/lib/types/controllers/editor/formula-editor.controller.d.ts +4 -2
  42. package/lib/types/controllers/render-controllers/freeze.render-controller.d.ts +6 -2
  43. package/lib/types/facade/f-event.d.ts +279 -11
  44. package/lib/types/facade/f-range.d.ts +39 -2
  45. package/lib/types/facade/f-univer.d.ts +5 -1
  46. package/lib/types/facade/f-workbook.d.ts +18 -24
  47. package/lib/types/facade/f-worksheet.d.ts +26 -5
  48. package/lib/types/index.d.ts +2 -1
  49. package/lib/types/services/auto-fill/tools.d.ts +5 -0
  50. package/lib/types/services/canvas-pop-manager.service.d.ts +41 -6
  51. package/lib/types/services/clipboard/clipboard.service.d.ts +5 -2
  52. package/lib/types/services/clipboard/type.d.ts +69 -5
  53. package/lib/types/services/editor/cell-editor-resize.service.d.ts +3 -2
  54. package/lib/types/services/editor-bridge.service.d.ts +3 -1
  55. package/lib/types/services/hover-manager.service.d.ts +41 -0
  56. package/lib/types/services/selection/base-selection-render.service.d.ts +4 -0
  57. package/lib/types/services/selection/selection-control.d.ts +2 -2
  58. package/lib/types/services/sheet-skeleton-manager.service.d.ts +2 -1
  59. package/lib/types/views/cell-alert/CellAlertPopup.d.ts +1 -2
  60. package/lib/types/views/clipboard/ClipboardPopupMenu.d.ts +16 -2
  61. package/lib/types/views/count-bar/CountBar.d.ts +16 -2
  62. package/lib/types/views/count-bar/ZoomSlider.d.ts +16 -2
  63. package/lib/types/views/defined-name/DefinedName.d.ts +16 -2
  64. package/lib/types/views/defined-name/DefinedNameContainer.d.ts +16 -2
  65. package/lib/types/views/defined-name/DefinedNameInput.d.ts +1 -2
  66. package/lib/types/views/defined-name/DefinedNameOverlay.d.ts +16 -2
  67. package/lib/types/views/editor-container/hooks.d.ts +8 -0
  68. package/lib/types/views/formula-bar/FormulaBar.d.ts +16 -2
  69. package/lib/types/views/mobile/sheet-bar/MobileSheetBar.d.ts +16 -2
  70. package/lib/types/views/permission/error-msg-dialog/index.d.ts +16 -2
  71. package/lib/types/views/permission/panel/index.d.ts +1 -2
  72. package/lib/types/views/permission/panel-detail/PermissionDetailFooterPart.d.ts +1 -2
  73. package/lib/types/views/permission/panel-detail/PermissionDetailMainPart.d.ts +1 -1
  74. package/lib/types/views/permission/panel-detail/PermissionDetailPanel.d.ts +1 -2
  75. package/lib/types/views/permission/panel-detail/PermissionDetailUserPart.d.ts +1 -2
  76. package/lib/types/views/permission/panel-list/index.d.ts +16 -2
  77. package/lib/types/views/permission/permission-dialog/index.d.ts +16 -2
  78. package/lib/types/views/permission/spin/index.d.ts +1 -1
  79. package/lib/types/views/permission/user-dialog/index.d.ts +16 -2
  80. package/lib/types/views/sheet-bar/SheetBar.d.ts +16 -2
  81. package/lib/types/views/sheet-bar/sheet-bar-button/SheetBarButton.d.ts +1 -1
  82. package/lib/types/views/sheet-bar/sheet-bar-menu/SheetBarMenu.d.ts +1 -1
  83. package/lib/types/views/sheet-bar/sheet-bar-tabs/SheetBarItem.d.ts +1 -1
  84. package/lib/types/views/sheet-bar/sheet-bar-tabs/SheetBarTabs.d.ts +16 -2
  85. package/lib/types/views/sheet-container/SheetContainer.d.ts +18 -4
  86. package/lib/types/views/status-bar/StatusBar.d.ts +16 -2
  87. package/lib/umd/facade.js +1 -1
  88. package/lib/umd/index.js +44 -48
  89. package/lib/umd/locale/en-US.js +1 -1
  90. package/lib/umd/locale/fa-IR.js +1 -1
  91. package/lib/umd/locale/fr-FR.js +1 -1
  92. package/lib/umd/locale/ru-RU.js +1 -1
  93. package/lib/umd/locale/vi-VN.js +1 -1
  94. package/lib/umd/locale/zh-CN.js +1 -1
  95. package/lib/umd/locale/zh-TW.js +1 -1
  96. package/package.json +13 -13
  97. package/LICENSE +0 -176
@@ -1,8 +1,9 @@
1
1
  import { ICommandService, IContextService, IUndoRedoService, IUniverInstanceService, RxDisposable } from '@univerjs/core';
2
2
  import { DocSelectionManagerService } from '@univerjs/docs';
3
+ import { IEditorService } from '@univerjs/docs-ui';
3
4
  import { IRenderManagerService } from '@univerjs/engine-render';
4
- import { IFormulaEditorManagerService } from '../../services/editor/formula-editor-manager.service';
5
5
  import { IEditorBridgeService } from '../../services/editor-bridge.service';
6
+ import { IFormulaEditorManagerService } from '../../services/editor/formula-editor-manager.service';
6
7
  export declare class FormulaEditorController extends RxDisposable {
7
8
  private readonly _univerInstanceService;
8
9
  private readonly _renderManagerService;
@@ -12,8 +13,9 @@ export declare class FormulaEditorController extends RxDisposable {
12
13
  private readonly _formulaEditorManagerService;
13
14
  private readonly _undoRedoService;
14
15
  private readonly _textSelectionManagerService;
16
+ private readonly _editorService;
15
17
  private _loadedMap;
16
- constructor(_univerInstanceService: IUniverInstanceService, _renderManagerService: IRenderManagerService, _editorBridgeService: IEditorBridgeService, _commandService: ICommandService, _contextService: IContextService, _formulaEditorManagerService: IFormulaEditorManagerService, _undoRedoService: IUndoRedoService, _textSelectionManagerService: DocSelectionManagerService);
18
+ constructor(_univerInstanceService: IUniverInstanceService, _renderManagerService: IRenderManagerService, _editorBridgeService: IEditorBridgeService, _commandService: ICommandService, _contextService: IContextService, _formulaEditorManagerService: IFormulaEditorManagerService, _undoRedoService: IUndoRedoService, _textSelectionManagerService: DocSelectionManagerService, _editorService: IEditorService);
17
19
  private _initialize;
18
20
  private _handleContentChange;
19
21
  private _create;
@@ -1,8 +1,12 @@
1
- import { Disposable, ICommandService, Injector, InterceptorManager, ThemeService, Workbook } from '@univerjs/core';
2
- import { SheetInterceptorService, SheetsSelectionsService } from '@univerjs/sheets';
1
+ import { Workbook, Disposable, ICommandService, Injector, InterceptorManager, ThemeService } from '@univerjs/core';
3
2
  import { IRenderContext, IRenderModule } from '@univerjs/engine-render';
3
+ import { SheetInterceptorService, SheetsSelectionsService } from '@univerjs/sheets';
4
4
  import { SheetScrollManagerService } from '../../services/scroll-manager.service';
5
5
  import { SheetSkeletonManagerService } from '../../services/sheet-skeleton-manager.service';
6
+ export declare const FREEZE_ROW_MAIN_NAME = "__SpreadsheetFreezeRowMainName__";
7
+ export declare const FREEZE_ROW_HEADER_NAME = "__SpreadsheetFreezeRowHeaderName__";
8
+ export declare const FREEZE_COLUMN_MAIN_NAME = "__SpreadsheetFreezeColumnMainName__";
9
+ export declare const FREEZE_COLUMN_HEADER_NAME = "__SpreadsheetFreezeColumnHeaderName__";
6
10
  export declare const FREEZE_PERMISSION_CHECK: import('@univerjs/core').IInterceptor<boolean, null>;
7
11
  export declare class HeaderFreezeRenderController extends Disposable implements IRenderModule {
8
12
  private readonly _context;
@@ -1,7 +1,8 @@
1
- import { DeviceInputEventType } from '@univerjs/engine-render';
1
+ import { IEventBase, IRange, RichTextValue, FEventName } from '@univerjs/core';
2
+ import { DeviceInputEventType, SpreadsheetSkeleton } from '@univerjs/engine-render';
3
+ import { CommandListenerSkeletonChange } from '@univerjs/sheets';
2
4
  import { FRange, FWorkbook, FWorksheet } from '@univerjs/sheets/facade';
3
5
  import { KeyCode } from '@univerjs/ui';
4
- import { FEventName, IEventBase, RichTextValue } from '@univerjs/core';
5
6
  /**
6
7
  * Event interface triggered when cell editing starts
7
8
  * @interface ISheetEditStartedEventParams
@@ -119,6 +120,11 @@ export declare const CellFEventName: {
119
120
  readonly CellHover: "CellHover";
120
121
  readonly DragOver: "DragOver";
121
122
  readonly Drop: "Drop";
123
+ readonly Scroll: "Scroll";
124
+ readonly SelectionMoveStart: "SelectionMoveStart";
125
+ readonly SelectionMoving: "SelectionMoving";
126
+ readonly SelectionMoveEnd: "SelectionMoveEnd";
127
+ readonly SelectionChanged: "SelectionChanged";
122
128
  };
123
129
  export interface IFSheetsUIEventNameMixin {
124
130
  /**
@@ -230,60 +236,257 @@ export interface IFSheetsUIEventNameMixin {
230
236
  readonly SheetEditEnded: 'SheetEditEnded';
231
237
  /**
232
238
  * Event fired when a cell is clicked
239
+ * @see {@link ICellEventParam}
233
240
  * @example
234
241
  * ```ts
235
- * univerAPI.getActiveWorkbook().addEvent('CellClicked', (p)=> console.log(p));
242
+ * univerAPI.addEvent(univerAPI.Event.CellClicked, (params)=> {
243
+ * const { worksheet, workbook, row, column, value, isZenEditor } = params;
244
+ * });
236
245
  * ```
237
246
  */
238
247
  readonly CellClicked: 'CellClicked';
239
248
  /**
240
249
  * Event fired when a cell is pointer down
250
+ * @see {@link ICellEventParam}
241
251
  * @example
242
252
  * ```ts
243
- * univerAPI.getActiveWorkbook().addEvent('CellPointerDown', (p)=> console.log(p));
253
+ * univerAPI.addEvent(univerAPI.Event.CellPointerDown, (params)=> {
254
+ * const { worksheet, workbook, row, column } = params;
255
+ * });
244
256
  * ```
245
257
  */
246
258
  readonly CellPointerDown: 'CellPointerDown';
247
259
  /**
248
260
  * Event fired when a cell is pointer up
261
+ * @see {@link ICellEventParam}
249
262
  * @example
250
263
  * ```ts
251
- * univerAPI.getActiveWorkbook().addEvent('CellPointerUp', (p)=> console.log(p));
264
+ * univerAPI.addEvent(univerAPI.Event.CellPointerUp, (params)=> {
265
+ * const { worksheet, workbook, row, column } = params;
266
+ * });
252
267
  * ```
253
268
  */
254
269
  readonly CellPointerUp: 'CellPointerUp';
255
270
  /**
256
271
  * Event fired when a cell is hovered
272
+ * @see {@link ICellEventParam}
257
273
  * @example
258
274
  * ```ts
259
- * univerAPI.getActiveWorkbook().addEvent('CellHover', (p)=> console.log(p));
275
+ * univerAPI.addEvent(univerAPI.Event.CellHover, (params)=> {
276
+ * const { worksheet, workbook, row, column } = params;
277
+ * });
260
278
  * ```
261
279
  */
262
280
  readonly CellHover: 'CellHover';
263
281
  /**
264
282
  * Event fired when move on spreadsheet cells
283
+ * @see {@link ICellEventParam}
265
284
  * @example
266
285
  * ```ts
267
- * univerAPI.getActiveWorkbook().addEvent('CellPointerMove', (p)=> console.log(p));
286
+ * univerAPI.addEvent(univerAPI.Event.CellPointerMove, (params)=> {
287
+ * const { worksheet, workbook, row, column } = params;
288
+ * });
268
289
  * ```
269
290
  */
270
291
  readonly CellPointerMove: 'CellPointerMove';
292
+ /**
293
+ * Triggered when a row header is clicked
294
+ * @param {ISheetRowHeaderEvent} params - Event parameters containing unitId, subUnitId, and row index
295
+ * @example
296
+ * ```typescript
297
+ * univerAPI.onSheetEvent(Event.RowHeaderClick, (params) => {
298
+ * console.log(`Row ${params.row} header clicked in sheet ${params.worksheet.getSheetId()}`);
299
+ * });
300
+ * ```
301
+ */
302
+ readonly RowHeaderClick: 'RowHeaderClick';
303
+ /**
304
+ * Triggered when pointer is pressed down on a row header
305
+ * @param {ISheetRowHeaderEvent} params - Event parameters containing unitId, subUnitId, and row index
306
+ * @example
307
+ * ```typescript
308
+ * univerAPI.onSheetEvent(Event.RowHeaderPointerDown, (params) => {
309
+ * console.log(`Pointer down on row ${params.row} header in sheet ${params.worksheet.getSheetId()}`);
310
+ * });
311
+ * ```
312
+ */
313
+ readonly RowHeaderPointerDown: 'RowHeaderPointerDown';
314
+ /**
315
+ * Triggered when pointer is released on a row header
316
+ * @param {ISheetRowHeaderEvent} params - Event parameters containing unitId, subUnitId, and row index
317
+ * @example
318
+ * ```typescript
319
+ * univerAPI.onSheetEvent(Event.RowHeaderPointerUp, (params) => {
320
+ * console.log(`Pointer up on row ${params.row} header in sheet ${params.worksheet.getSheetId()}`);
321
+ * });
322
+ * ```
323
+ */
324
+ readonly RowHeaderPointerUp: 'RowHeaderPointerUp';
325
+ /**
326
+ * Triggered when pointer hovers over a row header
327
+ * @param {ISheetRowHeaderEvent} params - Event parameters containing unitId, subUnitId, and row index
328
+ * @example
329
+ * ```typescript
330
+ * univerAPI.onSheetEvent(Event.RowHeaderHover, (params) => {
331
+ * console.log(`Hovering over row ${params.row} header in sheet ${params.worksheet.getSheetId()}`);
332
+ * });
333
+ * ```
334
+ */
335
+ readonly RowHeaderHover: 'RowHeaderHover';
336
+ /**
337
+ * Triggered when a column header is clicked
338
+ * @param {ISheetColumnHeaderEvent} params - Event parameters containing unitId, subUnitId, and column index
339
+ * @example
340
+ * ```typescript
341
+ * univerAPI.onSheetEvent(Event.ColumnHeaderClick, (params) => {
342
+ * console.log(`Column ${params.column} header clicked in sheet ${params.worksheet.getSheetId()}`);
343
+ * });
344
+ * ```
345
+ */
346
+ readonly ColumnHeaderClick: 'ColumnHeaderClick';
347
+ /**
348
+ * Triggered when pointer is pressed down on a column header
349
+ * @param {ISheetColumnHeaderEvent} params - Event parameters containing unitId, subUnitId, and column index
350
+ * @example
351
+ * ```typescript
352
+ * univerAPI.onSheetEvent(Event.ColumnHeaderPointerDown, (params) => {
353
+ * console.log(`Pointer down on column ${params.column} header in sheet ${params.worksheet.getSheetId()}`);
354
+ * });
355
+ * ```
356
+ */
357
+ readonly ColumnHeaderPointerDown: 'ColumnHeaderPointerDown';
358
+ /**
359
+ * Triggered when pointer is released on a column header
360
+ * @param {ISheetColumnHeaderEvent} params - Event parameters containing unitId, subUnitId, and column index
361
+ * @example
362
+ * ```typescript
363
+ * univerAPI.onSheetEvent(Event.ColumnHeaderPointerUp, (params) => {
364
+ * console.log(`Pointer up on column ${params.column} header in sheet ${params.worksheet.getSheetId()}`);
365
+ * });
366
+ * ```
367
+ */
368
+ readonly ColumnHeaderPointerUp: 'ColumnHeaderPointerUp';
369
+ /**
370
+ * Triggered when pointer hovers over a column header
371
+ * @param {ISheetColumnHeaderEvent} params - Event parameters containing unitId, subUnitId, and column index
372
+ * @example
373
+ * ```typescript
374
+ * univerAPI.onSheetEvent(Event.ColumnHeaderHover, (params) => {
375
+ * console.log(`Hovering over column ${params.column} header in sheet ${params.worksheet.getSheetId()}`);
376
+ * });
377
+ * ```
378
+ */
379
+ readonly ColumnHeaderHover: 'ColumnHeaderHover';
271
380
  /**
272
381
  * Event fired when drag over spreadsheet cells
382
+ * @see {@link ICellEventParam}
273
383
  * @example
274
384
  * ```ts
275
- * univerAPI.getActiveWorkbook().addEvent('DragOver', (p)=> console.log(p));
385
+ * univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.DragOver, (params)=> {
386
+ * const { worksheet, workbook, row, column } = params;
387
+ * });
276
388
  * ```
277
389
  */
278
390
  readonly DragOver: 'DragOver';
279
391
  /**
280
392
  * Event fired when drop on spreadsheet cells
393
+ * @see {@link ICellEventParam}
281
394
  * @example
282
395
  * ```ts
283
- * univerAPI.getActiveWorkbook().addEvent('Drop', (p)=> console.log(p));
396
+ * univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.Drop, (params)=> {
397
+ * const { worksheet, workbook, row, column } = params;
398
+ * });
284
399
  * ```
285
400
  */
286
401
  readonly Drop: 'Drop';
402
+ /**
403
+ * Event fired when scroll spreadsheet.
404
+ * @see {@link IScrollEventParam}
405
+ * @example
406
+ * ```ts
407
+ * univerAPI.addEvent(univerAPI.Event.Scroll, (params)=> {
408
+ * const { worksheet, workbook, scrollX, scrollY } = params;
409
+ * });
410
+ * ```
411
+ */
412
+ readonly Scroll: 'Scroll';
413
+ /**
414
+ * Event fired when selection changed.
415
+ * @see {@link ISelectionEventParam}
416
+ * @example
417
+ * ```ts
418
+ * univerAPI.addEvent(univerAPI.Event.SelectionChanged, (p)=> {
419
+ * const { worksheet, workbook, selections } = p;
420
+ * });
421
+ * ```
422
+ */
423
+ readonly SelectionChanged: 'SelectionChanged';
424
+ /**
425
+ * Event fired when selection move start
426
+ * @see {@link ISelectionEventParam}
427
+ * @example
428
+ * ```ts
429
+ * univerAPI.addEvent(univerAPI.Event.SelectionMoveStart, (p)=> {
430
+ * const { worksheet, workbook, selections } = p;
431
+ * });
432
+ * ```
433
+ */
434
+ readonly SelectionMoveStart: 'SelectionMoveStart';
435
+ /**
436
+ * Event fired when selection move end
437
+ * @see {@link ISelectionEventParam}
438
+ * @example
439
+ * ```ts
440
+ * univerAPI.addEvent(univerAPI.Event.SelectionMoving, (p)=> {
441
+ * const { worksheet, workbook, selections } = p;
442
+ * });
443
+ * ```
444
+ */
445
+ readonly SelectionMoving: 'SelectionMoving';
446
+ /**
447
+ * Event fired when selection move end
448
+ * @see {@link ISelectionEventParam}
449
+ * @example
450
+ * ```ts
451
+ * univerAPI.addEvent(univerAPI.Event.SelectionMoveEnd, (p)=> {
452
+ * const { worksheet, workbook, selections } = p;
453
+ * });
454
+ * ```
455
+ */
456
+ readonly SelectionMoveEnd: 'SelectionMoveEnd';
457
+ /**
458
+ * Event fired when zoom changed
459
+ * @see {@link ISheetZoomEvent}
460
+ * @example
461
+ * ```ts
462
+ * univerAPI.addEvent(univerAPI.Event.SheetZoomChanged, (p)=> {
463
+ * const { worksheet, workbook, zoom } = p;
464
+ * });
465
+ * ```
466
+ */
467
+ readonly SheetZoomChanged: 'SheetZoomChanged';
468
+ /**
469
+ * Event fired before zoom changed
470
+ * @see {@link ISheetZoomEvent}
471
+ * @example
472
+ * ```ts
473
+ * univerAPI.addEvent(univerAPI.Event.BeforeSheetZoomChange, (p)=> {
474
+ * const { worksheet, workbook, zoom } = p;
475
+ * });
476
+ * ```
477
+ */
478
+ readonly BeforeSheetZoomChange: 'BeforeSheetZoomChange';
479
+ /**
480
+ * Event fired when sheet skeleton changed
481
+ * @see {@link ISheetSkeletonChangedEvent}
482
+ * @example
483
+ * ```ts
484
+ * univerAPI.addEvent(univerAPI.Event.SheetSkeletonChanged, (p)=> {
485
+ * const { worksheet, workbook } = p;
486
+ * });
487
+ * ```
488
+ */
489
+ readonly SheetSkeletonChanged: 'SheetSkeletonChanged';
287
490
  }
288
491
  export declare class FSheetsUIEventName extends FEventName implements IFSheetsUIEventNameMixin {
289
492
  get BeforeClipboardChange(): 'BeforeClipboardChange';
@@ -302,8 +505,22 @@ export declare class FSheetsUIEventName extends FEventName implements IFSheetsUI
302
505
  get CellPointerMove(): 'CellPointerMove';
303
506
  get DragOver(): 'DragOver';
304
507
  get Drop(): 'Drop';
508
+ get Scroll(): 'Scroll';
509
+ get SelectionMoveStart(): 'SelectionMoveStart';
510
+ get SelectionChanged(): 'SelectionChanged';
511
+ get SelectionMoving(): 'SelectionMoving';
512
+ get SelectionMoveEnd(): 'SelectionMoveEnd';
513
+ get RowHeaderClick(): 'RowHeaderClick';
514
+ get RowHeaderPointerDown(): 'RowHeaderPointerDown';
515
+ get RowHeaderPointerUp(): 'RowHeaderPointerUp';
516
+ get RowHeaderHover(): 'RowHeaderHover';
517
+ get ColumnHeaderClick(): 'ColumnHeaderClick';
518
+ get ColumnHeaderPointerDown(): 'ColumnHeaderPointerDown';
519
+ get ColumnHeaderPointerUp(): 'ColumnHeaderPointerUp';
520
+ get ColumnHeaderHover(): 'ColumnHeaderHover';
521
+ get SheetSkeletonChanged(): 'SheetSkeletonChanged';
305
522
  }
306
- export interface IUIEventBase extends IEventBase {
523
+ export interface ISheetUIEventBase extends IEventBase {
307
524
  /**
308
525
  * The workbook instance currently being operated on. {@link FWorkbook}
309
526
  */
@@ -359,10 +576,42 @@ export interface IBeforeClipboardPasteParam extends IEventBase {
359
576
  html?: string;
360
577
  }
361
578
  export type IClipboardPastedParam = IBeforeClipboardPasteParam;
362
- export interface ICellEventParam extends IUIEventBase {
579
+ export interface ISheetZoomEvent extends IEventBase {
580
+ /**
581
+ * Zoom ratio
582
+ */
583
+ zoom: number;
584
+ /**
585
+ * The workbook instance currently being operated on. {@link FWorkbook}
586
+ */
587
+ workbook: FWorkbook;
588
+ /**
589
+ * The worksheet instance currently being operated on. {@link FWorkbook}
590
+ */
591
+ worksheet: FWorksheet;
592
+ }
593
+ export interface ICellEventParam extends ISheetUIEventBase {
363
594
  row: number;
364
595
  column: number;
365
596
  }
597
+ export interface IScrollEventParam extends ISheetUIEventBase {
598
+ scrollX: number;
599
+ scrollY: number;
600
+ }
601
+ export interface ISelectionEventParam extends ISheetUIEventBase {
602
+ selections: IRange[];
603
+ }
604
+ export interface ISheetRowHeaderEvent extends ISheetUIEventBase {
605
+ row: number;
606
+ }
607
+ export interface ISheetColumnHeaderEvent extends ISheetUIEventBase {
608
+ column: number;
609
+ }
610
+ export interface ISheetSkeletonChangedEvent extends ISheetUIEventBase {
611
+ skeleton: SpreadsheetSkeleton;
612
+ payload: CommandListenerSkeletonChange;
613
+ effectedRanges: FRange[];
614
+ }
366
615
  export interface IFSheetsUIEventParamConfig {
367
616
  BeforeClipboardChange: IBeforeClipboardChangeParam;
368
617
  ClipboardChanged: IClipboardChangedParam;
@@ -380,6 +629,25 @@ export interface IFSheetsUIEventParamConfig {
380
629
  CellPointerMove: ICellEventParam;
381
630
  Drop: ICellEventParam;
382
631
  DragOver: ICellEventParam;
632
+ RowHeaderClick: ISheetRowHeaderEvent;
633
+ RowHeaderDbClick: ISheetRowHeaderEvent;
634
+ RowHeaderHover: ISheetRowHeaderEvent;
635
+ RowHeaderPointerDown: ISheetRowHeaderEvent;
636
+ RowHeaderPointerUp: ISheetRowHeaderEvent;
637
+ ColumnHeaderClick: ISheetColumnHeaderEvent;
638
+ ColumnHeaderDbClick: ISheetColumnHeaderEvent;
639
+ ColumnHeaderHover: ISheetColumnHeaderEvent;
640
+ ColumnHeaderPointerDown: ISheetColumnHeaderEvent;
641
+ ColumnHeaderPointerUp: ISheetColumnHeaderEvent;
642
+ Scroll: IScrollEventParam;
643
+ SelectionChanging: ISelectionEventParam;
644
+ SelectionMoveStart: ISelectionEventParam;
645
+ SelectionMoving: ISelectionEventParam;
646
+ SelectionMoveEnd: ISelectionEventParam;
647
+ SelectionChanged: ISelectionEventParam;
648
+ SheetZoomChanged: ISheetZoomEvent;
649
+ BeforeSheetZoomChange: ISheetZoomEvent;
650
+ SheetSkeletonChanged: ISheetSkeletonChangedEvent;
383
651
  }
384
652
  declare module '@univerjs/core' {
385
653
  interface FEventName extends IFSheetsUIEventNameMixin {
@@ -55,11 +55,21 @@ interface IFRangeSheetsUIMixin {
55
55
  * @returns The disposable object to detach the popup, if the popup is not attached, return `null`.
56
56
  * @example
57
57
  ```
58
+ univerAPI.getComponentManager().register(
59
+ 'myPopup',
60
+ () => React.createElement('div', {
61
+ style: {
62
+ color: 'red',
63
+ fontSize: '14px'
64
+ }
65
+ }, 'Custom Popup')
66
+ );
67
+
58
68
  let sheet = univerAPI.getActiveWorkbook().getActiveSheet();
59
69
  let range = sheet.getRange(2, 2, 3, 3);
70
+ univerAPI.getActiveWorkbook().setActiveRange(range);
60
71
  let disposable = range.attachPopup({
61
- componentKey: 'univer.sheet.cell-alert',
62
- extraProps: { alert: { type: 0, title: 'This is an Info', message: 'This is an info message' } },
72
+ componentKey: 'myPopup'
63
73
  });
64
74
  ```
65
75
  */
@@ -76,6 +86,32 @@ interface IFRangeSheetsUIMixin {
76
86
  * ```
77
87
  */
78
88
  attachAlertPopup(alert: Omit<ICellAlert, 'location'>): IDisposable;
89
+ /**
90
+ * Attach a DOM popup to the current range.
91
+ * @param alert The alert to attach
92
+ * @returns The disposable object to detach the alert.
93
+ * @example
94
+ * ```ts
95
+ let sheet = univerAPI.getActiveWorkbook().getActiveSheet();
96
+ let range = sheet.getRange(2, 2, 3, 3);
97
+ univerAPI.getActiveWorkbook().setActiveRange(range);
98
+
99
+ univerAPI.getComponentManager().register(
100
+ 'myPopup',
101
+ () => React.createElement('div', {
102
+ style: {
103
+ background: 'red',
104
+ fontSize: '14px'
105
+ }
106
+ }, 'Custom Popup')
107
+ );
108
+ let disposable = range.attachRangePopup({
109
+ componentKey: 'myPopup',
110
+ direction: 'top' // 'vertical' | 'horizontal' | 'top' | 'right' | 'left' | 'bottom' | 'bottom-center' | 'top-center';
111
+ });
112
+ * ```
113
+ */
114
+ attachRangePopup(popup: IFCanvasPopup): Nullable<IDisposable>;
79
115
  /**
80
116
  * Highlight the range with the specified style and primary cell.
81
117
  * @param style - style for highlight range.
@@ -97,6 +133,7 @@ declare module '@univerjs/sheets/facade' {
97
133
  * Transform component key
98
134
  * @param {IFComponentKey} component - The component key to transform.
99
135
  * @param {ComponentManager} componentManager - The component manager to use for registration.
136
+ * @returns {string} The transformed component key.
100
137
  */
101
138
  export declare function transformComponentKey(component: IFComponentKey, componentManager: ComponentManager): {
102
139
  key: string;
@@ -7,7 +7,7 @@ export interface IFUniverSheetsUIMixin {
7
7
  * @param {IColumnsHeaderCfgParam} cfg The configuration of the column header.
8
8
  * @example
9
9
  * ```typescript
10
- * univerAPI.customizeColumnHeader({ headerStyle: { backgroundColor: 'pink', fontSize: 9 }, columnsCfg: ['MokaII', undefined, null, { text: 'Size', textAlign: 'left' }] });
10
+ * univerAPI.customizeColumnHeader({ headerStyle: { fontColor: '#fff', size: 40, backgroundColor: '#4e69ee', fontSize: 9 }, columnsCfg: ['MokaII', undefined, null, { text: 'Size', textAlign: 'left' }] });
11
11
  * ```
12
12
  */
13
13
  customizeColumnHeader(cfg: IColumnsHeaderCfgParam): void;
@@ -48,6 +48,10 @@ export interface IFUniverSheetsUIMixin {
48
48
  }
49
49
  export declare class FUniverSheetsUIMixin extends FUniver implements IFUniverSheetsUIMixin {
50
50
  private _initSheetUIEvent;
51
+ _initObserverListener(injector: Injector): void;
52
+ /**
53
+ * @ignore
54
+ */
51
55
  _initialize(injector: Injector): void;
52
56
  private _generateClipboardCopyParam;
53
57
  private _beforeClipboardChange;
@@ -1,9 +1,9 @@
1
1
  import { IDisposable, Nullable } from '@univerjs/core';
2
2
  import { IMouseEvent, IPointerEvent } from '@univerjs/engine-render';
3
3
  import { ICellPosWithEvent, IDragCellPosition, IHoverRichTextInfo, IHoverRichTextPosition, IScrollState } from '@univerjs/sheets-ui';
4
+ import { ICellEventParam } from './f-event';
4
5
  import { FWorkbook } from '@univerjs/sheets/facade';
5
6
  import { IDialogPartMethodOptions, ISidebarMethodOptions } from '@univerjs/ui';
6
- import { ICellEventParam, IFSheetsUIEventParamConfig } from './f-event';
7
7
  export interface IFWorkbookSheetsUIMixin {
8
8
  /**
9
9
  * Open a sidebar.
@@ -20,33 +20,32 @@ export interface IFWorkbookSheetsUIMixin {
20
20
  */
21
21
  openDialog(dialog: IDialogPartMethodOptions): IDisposable;
22
22
  /**
23
- * Subscribe to cell click events
24
- * @param callback - The callback function to be called when a cell is clicked
25
- * @returns A disposable object that can be used to unsubscribe from the event
23
+ * @deprecated use `univerAPI.addEvent(univerAPI.Event.CellClick, () => {})` instead
26
24
  */
27
25
  onCellClick(callback: (cell: IHoverRichTextInfo) => void): IDisposable;
28
26
  /**
29
- * Subscribe cell hover events
30
- * @param callback - The callback function to be called when a cell is hovered
31
- * @returns A disposable object that can be used to unsubscribe from the event
27
+ * @deprecated use `univerAPI.addEvent(univerAPI.Event.CellHover, () => {})` instead
32
28
  */
33
29
  onCellHover(callback: (cell: IHoverRichTextPosition) => void): IDisposable;
34
30
  /**
35
- * Subscribe to pointer move events on workbook. Just like onCellHover, but with event information.
36
- * @param {function(ICellPosWithEvent): any} callback The callback function accept cell location and event.
31
+ * @deprecated use `univerAPI.addEvent(univerAPI.Event.CellPointerMove, () => {})` instead
37
32
  */
38
33
  onCellPointerMove(callback: (cell: ICellPosWithEvent, event: IPointerEvent | IMouseEvent) => void): IDisposable;
39
34
  /**
40
- * Subscribe to cell pointer down events.
41
- * @param {function(ICellPosWithEvent): any} callback The callback function accept cell location and event.
35
+ * @deprecated use `univerAPI.addEvent(univerAPI.Event.CellPointerDown, () => {})` instead
42
36
  */
43
37
  onCellPointerDown(callback: (cell: ICellPosWithEvent) => void): IDisposable;
44
38
  /**
45
- * Subscribe to cell pointer up events.
46
- * @param {function(ICellPosWithEvent): any} callback The callback function accept cell location and event.
39
+ * @deprecated use `univerAPI.addEvent(univerAPI.Event.CellPointerUp, () => {})` instead
47
40
  */
48
41
  onCellPointerUp(callback: (cell: ICellPosWithEvent) => void): IDisposable;
42
+ /**
43
+ * @deprecated use `univerAPI.addEvent(univerAPI.Event.DragOver, () => {})` instead
44
+ */
49
45
  onDragOver(callback: (cell: IDragCellPosition) => void): IDisposable;
46
+ /**
47
+ * @deprecated use `univerAPI.addEvent(univerAPI.Event.Drop, () => {})` instead
48
+ */
50
49
  onDrop(callback: (cell: IDragCellPosition) => void): IDisposable;
51
50
  /**
52
51
  * Start the editing process
@@ -58,22 +57,18 @@ export interface IFWorkbookSheetsUIMixin {
58
57
  */
59
58
  startEditing(): boolean;
60
59
  /**
61
- * Use endEditingAsync as instead
62
- * @deprecated
63
- * End the editing process
64
- * @async
65
- * @param save - Whether to save the changes
66
- * @returns A promise that resolves to a boolean value
67
- * @example
68
- * ``` ts
69
- * univerAPI.getActiveWorkbook().endEditing(true);
70
- * ```
60
+ * @deprecated Use `endEditingAsync` as instead
71
61
  */
72
62
  endEditing(save?: boolean): Promise<boolean>;
73
63
  /**
74
64
  * @async
65
+ * End the editing process
75
66
  * @param {boolean} save - Whether to save the changes, default is true
76
67
  * @returns {Promise<boolean>} A promise that resolves to a boolean value
68
+ * @example
69
+ * ```ts
70
+ * await univerAPI.getActiveWorkbook().endEditingAsync(false);
71
+ * ```
77
72
  */
78
73
  endEditingAsync(save?: boolean): Promise<boolean>;
79
74
  getScrollStateBySheetId(sheetId: string): Nullable<IScrollState>;
@@ -115,7 +110,6 @@ export declare class FWorkbookSheetsUIMixin extends FWorkbook implements IFWorkb
115
110
  openSiderbar(params: ISidebarMethodOptions): IDisposable;
116
111
  openDialog(dialog: IDialogPartMethodOptions): IDisposable;
117
112
  private _logDeprecation;
118
- addUIEvent(event: keyof IFSheetsUIEventParamConfig, _callback: (params: IFSheetsUIEventParamConfig[typeof event]) => void): IDisposable;
119
113
  generateCellParams(cell: IHoverRichTextPosition | ICellPosWithEvent): ICellEventParam;
120
114
  onCellClick(callback: (cell: IHoverRichTextInfo) => void): IDisposable;
121
115
  onCellHover(callback: (cell: IHoverRichTextPosition) => void): IDisposable;
@@ -1,4 +1,5 @@
1
1
  import { IDisposable, IRange, Nullable } from '@univerjs/core';
2
+ import { SpreadsheetSkeleton } from '@univerjs/engine-render';
2
3
  import { IScrollState, IViewportScrollState } from '@univerjs/sheets-ui';
3
4
  import { FWorksheet } from '@univerjs/sheets/facade';
4
5
  export interface IFWorksheetSkeletonMixin {
@@ -65,14 +66,32 @@ export interface IFWorksheetSkeletonMixin {
65
66
  */
66
67
  getScrollState(): IScrollState;
67
68
  /**
68
- * Invoked when scrolling the sheet.
69
- * @param {function(Nullable<IViewportScrollState>): void} callback The scrolling callback function.
70
- * @returns {IDisposable} The disposable object to remove the event listener.
69
+ * Get the skeleton service of the worksheet.
70
+ * @returns {Nullable<SpreadsheetSkeleton>} The skeleton of the worksheet.
71
71
  * @example
72
- * ``` ts
73
- * univerAPI.getActiveWorkbook().getActiveSheet().onScroll((params) => {...})
72
+ * ```ts
73
+ * const fWorkbook = univerAPI.getActiveWorkbook();
74
+ * const fWorksheet = fWorkbook.getActiveSheet();
75
+ * const skeleton = fWorksheet.getSkeleton();
76
+ * console.log(skeleton);
74
77
  * ```
75
78
  */
79
+ getSkeleton(): Nullable<SpreadsheetSkeleton>;
80
+ /**
81
+ * Set the given column width to fix-content.
82
+ * @param {number} columnPosition - Column position
83
+ * @param {number} numColumn - Number of columns
84
+ * @example
85
+ * ```ts
86
+ * const fWorkbook = univerAPI.getActiveWorkbook();
87
+ * const fWorksheet = fWorkbook.getActiveSheet();
88
+ * fWorksheet.setColumnAutoWidth(0, 3);
89
+ * ```
90
+ */
91
+ setColumnAutoWidth(columnPosition: number, numColumn: number): FWorksheet;
92
+ /**
93
+ * @deprecated use `univerAPI.addEvent(univerAPI.Event.Scroll, () => {})` instead
94
+ */
76
95
  onScroll(callback: (params: Nullable<IViewportScrollState>) => void): IDisposable;
77
96
  }
78
97
  export declare class FWorksheetSkeletonMixin extends FWorksheet implements IFWorksheetSkeletonMixin {
@@ -83,6 +102,8 @@ export declare class FWorksheetSkeletonMixin extends FWorksheet implements IFWor
83
102
  scrollToCell(row: number, column: number): FWorksheet;
84
103
  getScrollState(): IScrollState;
85
104
  onScroll(callback: (params: Nullable<IViewportScrollState>) => void): IDisposable;
105
+ getSkeleton(): Nullable<SpreadsheetSkeleton>;
106
+ setColumnAutoWidth(columnPosition: number, numColumn: number): FWorksheet;
86
107
  }
87
108
  declare module '@univerjs/sheets/facade' {
88
109
  interface FWorksheet extends IFWorksheetSkeletonMixin {
@@ -92,6 +92,7 @@ export { FormatPainterStatus, IFormatPainterService } from './services/format-pa
92
92
  export type { IFormatPainterBeforeApplyHookParams, IFormatPainterHook } from './services/format-painter/format-painter.service';
93
93
  export { SELECTION_SHAPE_DEPTH } from './services/selection/const';
94
94
  export { type IBaseSheetBarProps } from './views/sheet-bar/sheet-bar-tabs/SheetBarItem';
95
+ export { SetWorksheetColAutoWidthCommand } from './commands/commands/set-worksheet-auto-col-width.command';
95
96
  export { AutoClearContentCommand, AutoFillCommand } from './commands/commands/auto-fill.command';
96
97
  export { type ISheetPasteByShortKeyParams, type ISheetPasteParams, SheetCopyCommand, SheetCutCommand, SheetPasteBesidesBorderCommand, SheetPasteColWidthCommand, SheetPasteCommand, SheetPasteFormatCommand, SheetPasteShortKeyCommand, SheetPasteValueCommand, } from './commands/commands/clipboard.command';
97
98
  export { DeleteRangeMoveLeftConfirmCommand } from './commands/commands/delete-range-move-left-confirm.command';
@@ -108,7 +109,7 @@ export { ApplyFormatPainterCommand, SetInfiniteFormatPainterCommand, SetOnceForm
108
109
  export { SetColumnFrozenCommand, SetRowFrozenCommand, SetSelectionFrozenCommand } from './commands/commands/set-frozen.command';
109
110
  export { type IScrollCommandParams, type IScrollToCellCommandParams, type ISetScrollRelativeCommandParams, ResetScrollCommand, ScrollCommand, ScrollToCellCommand, SetScrollRelativeCommand, } from './commands/commands/set-scroll.command';
110
111
  export { ExpandSelectionCommand, JumpOver, MoveSelectionCommand, MoveSelectionEnterAndTabCommand, SelectAllCommand } from './commands/commands/set-selection.command';
111
- export { ChangeZoomRatioCommand, SetZoomRatioCommand } from './commands/commands/set-zoom-ratio.command';
112
+ export { ChangeZoomRatioCommand, type ISetZoomRatioCommandParams, SetZoomRatioCommand } from './commands/commands/set-zoom-ratio.command';
112
113
  export { ShowMenuListCommand } from './commands/commands/unhide.command';
113
114
  export { ChangeSheetProtectionFromSheetBarCommand, DeleteWorksheetProtectionFormSheetBarCommand, } from './commands/commands/worksheet-protection.command';
114
115
  export { SetActivateCellEditOperation } from './commands/operations/activate-cell-edit.operation';