@univerjs/sheets-ui 0.5.5 → 0.6.0-experimental.20250125-1d060b9

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 (107) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +30 -34
  3. package/lib/es/facade.js +374 -322
  4. package/lib/es/index.js +11136 -10953
  5. package/lib/index.css +1 -1
  6. package/lib/types/commands/commands/clipboard.command.d.ts +1 -0
  7. package/lib/types/commands/commands/headersize-changed.command.d.ts +8 -0
  8. package/lib/types/components/border-panel/BorderPanel.d.ts +1 -2
  9. package/lib/types/components/border-panel/border-line/BorderLine.d.ts +1 -2
  10. package/lib/types/components/border-panel/border-line/icons/BorderDashDot.d.ts +16 -2
  11. package/lib/types/components/border-panel/border-line/icons/BorderDashDotDot.d.ts +16 -2
  12. package/lib/types/components/border-panel/border-line/icons/BorderDashed.d.ts +16 -2
  13. package/lib/types/components/border-panel/border-line/icons/BorderDotted.d.ts +16 -2
  14. package/lib/types/components/border-panel/border-line/icons/BorderHair.d.ts +16 -2
  15. package/lib/types/components/border-panel/border-line/icons/BorderMedium.d.ts +16 -2
  16. package/lib/types/components/border-panel/border-line/icons/BorderMediumDashDot.d.ts +16 -2
  17. package/lib/types/components/border-panel/border-line/icons/BorderMediumDashDotDot.d.ts +16 -2
  18. package/lib/types/components/border-panel/border-line/icons/BorderMediumDashed.d.ts +16 -2
  19. package/lib/types/components/border-panel/border-line/icons/BorderThick.d.ts +16 -2
  20. package/lib/types/components/border-panel/border-line/icons/BorderThin.d.ts +16 -2
  21. package/lib/types/components/menu-item-input/MenuItemInput.d.ts +1 -2
  22. package/lib/types/controllers/clipboard/clipboard.controller.d.ts +1 -0
  23. package/lib/types/controllers/editor/formula-editor.controller.d.ts +0 -1
  24. package/lib/types/controllers/render-controllers/freeze.render-controller.d.ts +10 -4
  25. package/lib/types/controllers/render-controllers/zoom.render-controller.d.ts +4 -0
  26. package/lib/types/facade/f-event.d.ts +56 -32
  27. package/lib/types/facade/f-permission.d.ts +3 -0
  28. package/lib/types/facade/f-range.d.ts +27 -5
  29. package/lib/types/facade/f-sheet-hooks.d.ts +3 -0
  30. package/lib/types/facade/f-univer.d.ts +12 -1
  31. package/lib/types/facade/f-workbook.d.ts +3 -0
  32. package/lib/types/facade/f-worksheet.d.ts +86 -1
  33. package/lib/types/index.d.ts +1 -0
  34. package/lib/types/services/clipboard/clipboard.service.d.ts +5 -2
  35. package/lib/types/services/clipboard/type.d.ts +9 -1
  36. package/lib/types/services/clipboard/utils.d.ts +1 -1
  37. package/lib/types/services/selection/base-selection-render.service.d.ts +1 -0
  38. package/lib/types/services/selection/selection-control.d.ts +2 -2
  39. package/lib/types/services/sheet-skeleton-manager.service.d.ts +3 -1
  40. package/lib/types/views/cell-alert/CellAlertPopup.d.ts +1 -2
  41. package/lib/types/views/clipboard/ClipboardPopupMenu.d.ts +16 -2
  42. package/lib/types/views/count-bar/CountBar.d.ts +16 -2
  43. package/lib/types/views/count-bar/ZoomSlider.d.ts +16 -2
  44. package/lib/types/views/defined-name/DefinedName.d.ts +16 -2
  45. package/lib/types/views/defined-name/DefinedNameContainer.d.ts +16 -2
  46. package/lib/types/views/defined-name/DefinedNameInput.d.ts +1 -2
  47. package/lib/types/views/defined-name/DefinedNameOverlay.d.ts +16 -2
  48. package/lib/types/views/formula-bar/FormulaBar.d.ts +16 -2
  49. package/lib/types/views/mobile/sheet-bar/MobileSheetBar.d.ts +16 -2
  50. package/lib/types/views/permission/error-msg-dialog/index.d.ts +16 -2
  51. package/lib/types/views/permission/panel/index.d.ts +1 -2
  52. package/lib/types/views/permission/panel-detail/PermissionDetailFooterPart.d.ts +1 -2
  53. package/lib/types/views/permission/panel-detail/PermissionDetailMainPart.d.ts +1 -1
  54. package/lib/types/views/permission/panel-detail/PermissionDetailPanel.d.ts +1 -2
  55. package/lib/types/views/permission/panel-detail/PermissionDetailUserPart.d.ts +1 -2
  56. package/lib/types/views/permission/panel-list/index.d.ts +16 -2
  57. package/lib/types/views/permission/permission-dialog/index.d.ts +16 -2
  58. package/lib/types/views/permission/spin/index.d.ts +1 -1
  59. package/lib/types/views/permission/user-dialog/index.d.ts +16 -2
  60. package/lib/types/views/sheet-bar/SheetBar.d.ts +16 -2
  61. package/lib/types/views/sheet-bar/sheet-bar-button/SheetBarButton.d.ts +1 -1
  62. package/lib/types/views/sheet-bar/sheet-bar-menu/SheetBarMenu.d.ts +1 -1
  63. package/lib/types/views/sheet-bar/sheet-bar-tabs/SheetBarItem.d.ts +1 -1
  64. package/lib/types/views/sheet-bar/sheet-bar-tabs/SheetBarTabs.d.ts +16 -2
  65. package/lib/types/views/sheet-container/SheetContainer.d.ts +18 -4
  66. package/lib/types/views/status-bar/StatusBar.d.ts +16 -2
  67. package/lib/umd/facade.js +1 -1
  68. package/lib/umd/index.js +33 -37
  69. package/package.json +16 -16
  70. package/LICENSE +0 -176
  71. package/lib/types/commands/commands/__tests__/add-worksheet-merge.command.spec.d.ts +0 -16
  72. package/lib/types/commands/commands/__tests__/auto-fill.controller.spec.d.ts +0 -16
  73. package/lib/types/commands/commands/__tests__/create-command-test-bed.d.ts +0 -7
  74. package/lib/types/commands/commands/__tests__/create-selection-command-test-bed.d.ts +0 -28
  75. package/lib/types/commands/commands/__tests__/create-sheet-skeleton-test-bed.d.ts +0 -22
  76. package/lib/types/commands/commands/__tests__/hide-row-col-confirm.command.spec.d.ts +0 -16
  77. package/lib/types/commands/commands/__tests__/remove-row-col-confirm.command.spec.d.ts +0 -16
  78. package/lib/types/commands/commands/__tests__/selection-utils.spec.d.ts +0 -16
  79. package/lib/types/commands/commands/__tests__/set-format-painter.command.spec.d.ts +0 -16
  80. package/lib/types/commands/commands/__tests__/set-frozen.command.spec.d.ts +0 -16
  81. package/lib/types/commands/commands/__tests__/set-selections.command.spec.d.ts +0 -16
  82. package/lib/types/commands/commands/__tests__/sheet-skeleton.spec.d.ts +0 -16
  83. package/lib/types/controllers/editor/__tests__/create-test-bed.d.ts +0 -7
  84. package/lib/types/controllers/editor/__tests__/end-edit.controller.spec.d.ts +0 -16
  85. package/lib/types/controllers/editor/__tests__/mock-function.service.d.ts +0 -5
  86. package/lib/types/controllers/menu/__tests__/create-menu-test-bed.d.ts +0 -13
  87. package/lib/types/controllers/menu/__tests__/menu.spec.d.ts +0 -16
  88. package/lib/types/controllers/menu/__tests__/row-col.menu.spec.d.ts +0 -16
  89. package/lib/types/controllers/utils/__tests__/cell-tools.spec.d.ts +0 -16
  90. package/lib/types/facade/__tests__/create-test-bed.d.ts +0 -10
  91. package/lib/types/facade/__tests__/f-sheet-hooks.spec.d.ts +0 -16
  92. package/lib/types/services/auto-fill/__tests__/tool.spec.d.ts +0 -16
  93. package/lib/types/services/clipboard/__tests__/clipboard-copy-filter.spec.d.ts +0 -16
  94. package/lib/types/services/clipboard/__tests__/clipboard-paste-alignment.spec.d.ts +0 -16
  95. package/lib/types/services/clipboard/__tests__/clipboard-paste-border.spec.d.ts +0 -16
  96. package/lib/types/services/clipboard/__tests__/clipboard-paste-col-width.spec.d.ts +0 -16
  97. package/lib/types/services/clipboard/__tests__/clipboard-paste-font.spec.d.ts +0 -16
  98. package/lib/types/services/clipboard/__tests__/clipboard-paste-form-excel.spec.d.ts +0 -16
  99. package/lib/types/services/clipboard/__tests__/clipboard-paste-from-google.spec.d.ts +0 -16
  100. package/lib/types/services/clipboard/__tests__/clipboard-paste-from-notepad.spec.d.ts +0 -16
  101. package/lib/types/services/clipboard/__tests__/clipboard-paste-rotate.spec.d.ts +0 -16
  102. package/lib/types/services/clipboard/__tests__/clipboard-service.spec.d.ts +0 -16
  103. package/lib/types/services/clipboard/__tests__/clipboard-test-bed.d.ts +0 -29
  104. package/lib/types/services/clipboard/__tests__/constant.d.ts +0 -28
  105. package/lib/types/services/clipboard/__tests__/mock-clipboard.d.ts +0 -39
  106. package/lib/types/services/clipboard/__tests__/sheet-paste.spec.d.ts +0 -16
  107. package/lib/types/services/clipboard/__tests__/utils.spec.d.ts +0 -16
@@ -126,6 +126,9 @@ export declare const CellFEventName: {
126
126
  readonly SelectionMoveEnd: "SelectionMoveEnd";
127
127
  readonly SelectionChanged: "SelectionChanged";
128
128
  };
129
+ /**
130
+ * @ignore
131
+ */
129
132
  export interface IFSheetsUIEventNameMixin {
130
133
  /**
131
134
  * Trigger this event before the clipboard content changes.
@@ -159,10 +162,10 @@ export interface IFSheetsUIEventNameMixin {
159
162
  * @example
160
163
  * ```ts
161
164
  * univerAPI.addEvent(univerAPI.Event.BeforeClipboardPaste, (param) => {
162
- * const {text, html} = param;
163
- * console.log('debugger', text, html);
164
- * // if want to cancel the clipboard paste
165
- * param.cancel = true;
165
+ * const {text, html} = param;
166
+ * console.log('debugger', text, html);
167
+ * // if want to cancel the clipboard paste
168
+ * param.cancel = true;
166
169
  * })
167
170
  * ```
168
171
  */
@@ -173,8 +176,8 @@ export interface IFSheetsUIEventNameMixin {
173
176
  * @example
174
177
  * ```ts
175
178
  * univerAPI.addEvent(univerAPI.Event.ClipboardPasted, (param) => {
176
- * const {text, html} = param;
177
- * console.log('debugger', text, html); // {text: '...', html: '...'}
179
+ * const {text, html} = param;
180
+ * console.log('debugger', text, html); // {text: '...', html: '...'}
178
181
  * })
179
182
  * ```
180
183
  */
@@ -185,7 +188,7 @@ export interface IFSheetsUIEventNameMixin {
185
188
  * @example
186
189
  * ```ts
187
190
  * univerAPI.addEvent(univerAPI.Event.BeforeSheetEditStart, (params) => {
188
- * const { worksheet, workbook, row, column, eventType, keycode, isZenEditor } = params;
191
+ * const { worksheet, workbook, row, column, eventType, keycode, isZenEditor } = params;
189
192
  * });
190
193
  * ```
191
194
  */
@@ -196,7 +199,7 @@ export interface IFSheetsUIEventNameMixin {
196
199
  * @example
197
200
  * ```ts
198
201
  * univerAPI.addEvent(univerAPI.Event.SheetEditStarted, (params) => {
199
- * const { worksheet, workbook, row, column, eventType, keycode, isZenEditor } = params;
202
+ * const { worksheet, workbook, row, column, eventType, keycode, isZenEditor } = params;
200
203
  * });
201
204
  * ```
202
205
  */
@@ -207,7 +210,7 @@ export interface IFSheetsUIEventNameMixin {
207
210
  * @example
208
211
  * ```ts
209
212
  * univerAPI.addEvent(univerAPI.Event.SheetEditChanging, (params) => {
210
- * const { worksheet, workbook, row, column, value, isZenEditor } = params;
213
+ * const { worksheet, workbook, row, column, value, isZenEditor } = params;
211
214
  * });
212
215
  * ```
213
216
  */
@@ -218,7 +221,7 @@ export interface IFSheetsUIEventNameMixin {
218
221
  * @example
219
222
  * ```ts
220
223
  * univerAPI.addEvent(univerAPI.Event.BeforeSheetEditEnd, (params) => {
221
- * const { worksheet, workbook, row, column, value, eventType, keycode, isZenEditor } = params;
224
+ * const { worksheet, workbook, row, column, value, eventType, keycode, isZenEditor } = params;
222
225
  * });
223
226
  * ```
224
227
  */
@@ -229,16 +232,17 @@ export interface IFSheetsUIEventNameMixin {
229
232
  * @example
230
233
  * ```ts
231
234
  * univerAPI.addEvent(univerAPI.Event.SheetEditEnded, (params) => {
232
- * const { worksheet, workbook, row, column, eventType, keycode, isZenEditor } = params;
235
+ * const { worksheet, workbook, row, column, eventType, keycode, isZenEditor } = params;
233
236
  * });
234
237
  * ```
235
238
  */
236
239
  readonly SheetEditEnded: 'SheetEditEnded';
237
240
  /**
238
241
  * Event fired when a cell is clicked
242
+ * @see {@link ICellEventParam}
239
243
  * @example
240
244
  * ```ts
241
- * univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.CellClicked, (params)=> {
245
+ * univerAPI.addEvent(univerAPI.Event.CellClicked, (params) => {
242
246
  * const { worksheet, workbook, row, column, value, isZenEditor } = params;
243
247
  * });
244
248
  * ```
@@ -246,40 +250,44 @@ export interface IFSheetsUIEventNameMixin {
246
250
  readonly CellClicked: 'CellClicked';
247
251
  /**
248
252
  * Event fired when a cell is pointer down
253
+ * @see {@link ICellEventParam}
249
254
  * @example
250
255
  * ```ts
251
- * univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.CellPointerDown, (params)=> {
252
- * const { worksheet, workbook, row, column } = params;
256
+ * univerAPI.addEvent(univerAPI.Event.CellPointerDown, (params) => {
257
+ * const { worksheet, workbook, row, column } = params;
253
258
  * });
254
259
  * ```
255
260
  */
256
261
  readonly CellPointerDown: 'CellPointerDown';
257
262
  /**
258
263
  * Event fired when a cell is pointer up
264
+ * @see {@link ICellEventParam}
259
265
  * @example
260
266
  * ```ts
261
- * univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.CellPointerUp, (params)=> {
262
- * const { worksheet, workbook, row, column } = params;
267
+ * univerAPI.addEvent(univerAPI.Event.CellPointerUp, (params) => {
268
+ * const { worksheet, workbook, row, column } = params;
263
269
  * });
264
270
  * ```
265
271
  */
266
272
  readonly CellPointerUp: 'CellPointerUp';
267
273
  /**
268
274
  * Event fired when a cell is hovered
275
+ * @see {@link ICellEventParam}
269
276
  * @example
270
277
  * ```ts
271
- * univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.CellHover, (params)=> {
272
- * const { worksheet, workbook, row, column } = params;
278
+ * univerAPI.addEvent(univerAPI.Event.CellHover, (params) => {
279
+ * const { worksheet, workbook, row, column } = params;
273
280
  * });
274
281
  * ```
275
282
  */
276
283
  readonly CellHover: 'CellHover';
277
284
  /**
278
285
  * Event fired when move on spreadsheet cells
286
+ * @see {@link ICellEventParam}
279
287
  * @example
280
288
  * ```ts
281
- * univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.CellPointerMove, (params)=> {
282
- * const { worksheet, workbook, row, column } = params;
289
+ * univerAPI.addEvent(univerAPI.Event.CellPointerMove, (params) => {
290
+ * const { worksheet, workbook, row, column } = params;
283
291
  * });
284
292
  * ```
285
293
  */
@@ -374,19 +382,21 @@ export interface IFSheetsUIEventNameMixin {
374
382
  readonly ColumnHeaderHover: 'ColumnHeaderHover';
375
383
  /**
376
384
  * Event fired when drag over spreadsheet cells
385
+ * @see {@link ICellEventParam}
377
386
  * @example
378
387
  * ```ts
379
- * univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.DragOver, (params)=> {
380
- * const { worksheet, workbook, row, column } = params;
388
+ * univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.DragOver, (params) => {
389
+ * const { worksheet, workbook, row, column } = params;
381
390
  * });
382
391
  * ```
383
392
  */
384
393
  readonly DragOver: 'DragOver';
385
394
  /**
386
395
  * Event fired when drop on spreadsheet cells
396
+ * @see {@link ICellEventParam}
387
397
  * @example
388
398
  * ```ts
389
- * univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.Drop, (params)=> {
399
+ * univerAPI.getActiveWorkbook().addEvent(univerAPI.Event.Drop, (params) => {
390
400
  * const { worksheet, workbook, row, column } = params;
391
401
  * });
392
402
  * ```
@@ -394,80 +404,88 @@ export interface IFSheetsUIEventNameMixin {
394
404
  readonly Drop: 'Drop';
395
405
  /**
396
406
  * Event fired when scroll spreadsheet.
407
+ * @see {@link IScrollEventParam}
397
408
  * @example
398
409
  * ```ts
399
- * univerAPI.addEvent(univerAPI.Event.Scroll, (params)=> {
400
- * const { worksheet, workbook, scrollX, scrollY } = params;
410
+ * univerAPI.addEvent(univerAPI.Event.Scroll, (params) => {
411
+ * const { worksheet, workbook, scrollX, scrollY } = params;
401
412
  * });
402
413
  * ```
403
414
  */
404
415
  readonly Scroll: 'Scroll';
405
416
  /**
406
417
  * Event fired when selection changed.
418
+ * @see {@link ISelectionEventParam}
407
419
  * @example
408
420
  * ```ts
409
421
  * univerAPI.addEvent(univerAPI.Event.SelectionChanged, (p)=> {
410
- * const { worksheet, workbook, selections } = p;
422
+ * const { worksheet, workbook, selections } = p;
411
423
  * });
412
424
  * ```
413
425
  */
414
426
  readonly SelectionChanged: 'SelectionChanged';
415
427
  /**
416
428
  * Event fired when selection move start
429
+ * @see {@link ISelectionEventParam}
417
430
  * @example
418
431
  * ```ts
419
432
  * univerAPI.addEvent(univerAPI.Event.SelectionMoveStart, (p)=> {
420
- * const { worksheet, workbook, selections } = p;
433
+ * const { worksheet, workbook, selections } = p;
421
434
  * });
422
435
  * ```
423
436
  */
424
437
  readonly SelectionMoveStart: 'SelectionMoveStart';
425
438
  /**
426
439
  * Event fired when selection move end
440
+ * @see {@link ISelectionEventParam}
427
441
  * @example
428
442
  * ```ts
429
443
  * univerAPI.addEvent(univerAPI.Event.SelectionMoving, (p)=> {
430
- * const { worksheet, workbook, selections } = p;
444
+ * const { worksheet, workbook, selections } = p;
431
445
  * });
432
446
  * ```
433
447
  */
434
448
  readonly SelectionMoving: 'SelectionMoving';
435
449
  /**
436
450
  * Event fired when selection move end
451
+ * @see {@link ISelectionEventParam}
437
452
  * @example
438
453
  * ```ts
439
454
  * univerAPI.addEvent(univerAPI.Event.SelectionMoveEnd, (p)=> {
440
- * const { worksheet, workbook, selections } = p;
455
+ * const { worksheet, workbook, selections } = p;
441
456
  * });
442
457
  * ```
443
458
  */
444
459
  readonly SelectionMoveEnd: 'SelectionMoveEnd';
445
460
  /**
446
461
  * Event fired when zoom changed
462
+ * @see {@link ISheetZoomEvent}
447
463
  * @example
448
464
  * ```ts
449
465
  * univerAPI.addEvent(univerAPI.Event.SheetZoomChanged, (p)=> {
450
- * const { worksheet, workbook, zoom } = p;
466
+ * const { worksheet, workbook, zoom } = p;
451
467
  * });
452
468
  * ```
453
469
  */
454
470
  readonly SheetZoomChanged: 'SheetZoomChanged';
455
471
  /**
456
472
  * Event fired before zoom changed
473
+ * @see {@link ISheetZoomEvent}
457
474
  * @example
458
475
  * ```ts
459
476
  * univerAPI.addEvent(univerAPI.Event.BeforeSheetZoomChange, (p)=> {
460
- * const { worksheet, workbook, zoom } = p;
477
+ * const { worksheet, workbook, zoom } = p;
461
478
  * });
462
479
  * ```
463
480
  */
464
481
  readonly BeforeSheetZoomChange: 'BeforeSheetZoomChange';
465
482
  /**
466
483
  * Event fired when sheet skeleton changed
484
+ * @see {@link ISheetSkeletonChangedEvent}
467
485
  * @example
468
486
  * ```ts
469
487
  * univerAPI.addEvent(univerAPI.Event.SheetSkeletonChanged, (p)=> {
470
- * const { worksheet, workbook } = p;
488
+ * const { worksheet, workbook } = p;
471
489
  * });
472
490
  * ```
473
491
  */
@@ -505,6 +523,9 @@ export declare class FSheetsUIEventName extends FEventName implements IFSheetsUI
505
523
  get ColumnHeaderHover(): 'ColumnHeaderHover';
506
524
  get SheetSkeletonChanged(): 'SheetSkeletonChanged';
507
525
  }
526
+ /**
527
+ * @ignore
528
+ */
508
529
  export interface ISheetUIEventBase extends IEventBase {
509
530
  /**
510
531
  * The workbook instance currently being operated on. {@link FWorkbook}
@@ -597,6 +618,9 @@ export interface ISheetSkeletonChangedEvent extends ISheetUIEventBase {
597
618
  payload: CommandListenerSkeletonChange;
598
619
  effectedRanges: FRange[];
599
620
  }
621
+ /**
622
+ * @ignore
623
+ */
600
624
  export interface IFSheetsUIEventParamConfig {
601
625
  BeforeClipboardChange: IBeforeClipboardChangeParam;
602
626
  ClipboardChanged: IClipboardChangedParam;
@@ -1,4 +1,7 @@
1
1
  import { FPermission } from '@univerjs/sheets/facade';
2
+ /**
3
+ * @ignore
4
+ */
2
5
  export interface IFPermissionSheetsUIMixin {
3
6
  /**
4
7
  * Set visibility of unauthorized pop-up window
@@ -17,6 +17,9 @@ export interface IFComponentKey {
17
17
  }
18
18
  export interface IFCanvasPopup extends Omit<ICanvasPopup, 'componentKey'>, IFComponentKey {
19
19
  }
20
+ /**
21
+ * @ignore
22
+ */
20
23
  interface IFRangeSheetsUIMixin {
21
24
  /**
22
25
  * Return this cell information, including whether it is merged and cell coordinates
@@ -55,12 +58,21 @@ interface IFRangeSheetsUIMixin {
55
58
  * @returns The disposable object to detach the popup, if the popup is not attached, return `null`.
56
59
  * @example
57
60
  ```
61
+ univerAPI.getComponentManager().register(
62
+ 'myPopup',
63
+ () => React.createElement('div', {
64
+ style: {
65
+ color: 'red',
66
+ fontSize: '14px'
67
+ }
68
+ }, 'Custom Popup')
69
+ );
70
+
58
71
  let sheet = univerAPI.getActiveWorkbook().getActiveSheet();
59
72
  let range = sheet.getRange(2, 2, 3, 3);
60
73
  univerAPI.getActiveWorkbook().setActiveRange(range);
61
74
  let disposable = range.attachPopup({
62
- componentKey: 'univer.sheet.cell-alert',
63
- extraProps: { alert: { type: 0, title: 'This is an Info', message: 'This is an info message' } },
75
+ componentKey: 'myPopup'
64
76
  });
65
77
  ```
66
78
  */
@@ -78,7 +90,7 @@ interface IFRangeSheetsUIMixin {
78
90
  */
79
91
  attachAlertPopup(alert: Omit<ICellAlert, 'location'>): IDisposable;
80
92
  /**
81
- * Attach a DOM popup to the start cell of current range.
93
+ * Attach a DOM popup to the current range.
82
94
  * @param alert The alert to attach
83
95
  * @returns The disposable object to detach the alert.
84
96
  * @example
@@ -86,9 +98,19 @@ interface IFRangeSheetsUIMixin {
86
98
  let sheet = univerAPI.getActiveWorkbook().getActiveSheet();
87
99
  let range = sheet.getRange(2, 2, 3, 3);
88
100
  univerAPI.getActiveWorkbook().setActiveRange(range);
101
+
102
+ univerAPI.getComponentManager().register(
103
+ 'myPopup',
104
+ () => React.createElement('div', {
105
+ style: {
106
+ background: 'red',
107
+ fontSize: '14px'
108
+ }
109
+ }, 'Custom Popup')
110
+ );
89
111
  let disposable = range.attachRangePopup({
90
- componentKey: 'univer.sheet.single-dom-popup',
91
- extraProps: { alert: { type: 0, title: 'This is an Info', message: 'This is an info message' } },
112
+ componentKey: 'myPopup',
113
+ direction: 'top' // 'vertical' | 'horizontal' | 'top' | 'right' | 'left' | 'bottom' | 'bottom-center' | 'top-center';
92
114
  });
93
115
  * ```
94
116
  */
@@ -1,6 +1,9 @@
1
1
  import { ICellCustomRender, IDisposable, Nullable, InterceptorEffectEnum } from '@univerjs/core';
2
2
  import { IDragCellPosition, IEditorBridgeServiceVisibleParam, IHoverCellPosition } from '@univerjs/sheets-ui';
3
3
  import { FSheetHooks } from '@univerjs/sheets/facade';
4
+ /**
5
+ * @ignore
6
+ */
4
7
  export interface IFSheetHooksUIMixin {
5
8
  /**
6
9
  * The onCellPointerMove event is fired when a pointer changes coordinates.
@@ -1,17 +1,22 @@
1
1
  import { IDisposable, Injector, FUniver } from '@univerjs/core';
2
2
  import { IColumnsHeaderCfgParam, IRowsHeaderCfgParam, SheetExtension } from '@univerjs/engine-render';
3
3
  import { FSheetHooks } from '@univerjs/sheets/facade';
4
+ /**
5
+ * @ignore
6
+ */
4
7
  export interface IFUniverSheetsUIMixin {
5
8
  /**
9
+ * @deprecated use same API in FWorkSheet.
6
10
  * Customize the column header of the spreadsheet.
7
11
  * @param {IColumnsHeaderCfgParam} cfg The configuration of the column header.
8
12
  * @example
9
13
  * ```typescript
10
- * univerAPI.customizeColumnHeader({ headerStyle: { backgroundColor: 'pink', fontSize: 9 }, columnsCfg: ['MokaII', undefined, null, { text: 'Size', textAlign: 'left' }] });
14
+ * univerAPI.customizeColumnHeader({ headerStyle: { fontColor: '#fff', size: 40, backgroundColor: '#4e69ee', fontSize: 9 }, columnsCfg: ['MokaII', undefined, null, { text: 'Size', textAlign: 'left' }] });
11
15
  * ```
12
16
  */
13
17
  customizeColumnHeader(cfg: IColumnsHeaderCfgParam): void;
14
18
  /**
19
+ * @deprecated use same API in FWorkSheet.
15
20
  * Customize the row header of the spreadsheet.
16
21
  * @param {IRowsHeaderCfgParam} cfg The configuration of the row header.
17
22
  * @example
@@ -48,7 +53,13 @@ export interface IFUniverSheetsUIMixin {
48
53
  }
49
54
  export declare class FUniverSheetsUIMixin extends FUniver implements IFUniverSheetsUIMixin {
50
55
  private _initSheetUIEvent;
56
+ /**
57
+ * @ignore
58
+ */
51
59
  _initObserverListener(injector: Injector): void;
60
+ /**
61
+ * @ignore
62
+ */
52
63
  _initialize(injector: Injector): void;
53
64
  private _generateClipboardCopyParam;
54
65
  private _beforeClipboardChange;
@@ -4,6 +4,9 @@ import { ICellPosWithEvent, IDragCellPosition, IHoverRichTextInfo, IHoverRichTex
4
4
  import { ICellEventParam } from './f-event';
5
5
  import { FWorkbook } from '@univerjs/sheets/facade';
6
6
  import { IDialogPartMethodOptions, ISidebarMethodOptions } from '@univerjs/ui';
7
+ /**
8
+ * @ignore
9
+ */
7
10
  export interface IFWorkbookSheetsUIMixin {
8
11
  /**
9
12
  * Open a sidebar.
@@ -1,7 +1,10 @@
1
1
  import { IDisposable, IRange, Nullable } from '@univerjs/core';
2
- import { SpreadsheetSkeleton } from '@univerjs/engine-render';
2
+ import { IColumnsHeaderCfgParam, IRowsHeaderCfgParam, SpreadsheetSkeleton } from '@univerjs/engine-render';
3
3
  import { IScrollState, IViewportScrollState } from '@univerjs/sheets-ui';
4
4
  import { FWorksheet } from '@univerjs/sheets/facade';
5
+ /**
6
+ * @ignore
7
+ */
5
8
  export interface IFWorksheetSkeletonMixin {
6
9
  /**
7
10
  * Refresh the canvas.
@@ -89,6 +92,76 @@ export interface IFWorksheetSkeletonMixin {
89
92
  * ```
90
93
  */
91
94
  setColumnAutoWidth(columnPosition: number, numColumn: number): FWorksheet;
95
+ /**
96
+ * Customize the column header of the spreadsheet.
97
+ * @param {IColumnsHeaderCfgParam} cfg The configuration of the column header.
98
+ * @example
99
+ * ```typescript
100
+ const fWorkbook = univerAPI.getActiveWorkbook();
101
+ const fWorksheet = fWorkbook.getActiveSheet();
102
+ fWorksheet.customizeColumnHeader({
103
+ headerStyle: {
104
+ fontColor: '#fff',
105
+ backgroundColor: '#4e69ee',
106
+ fontSize: 9
107
+ },
108
+ columnsCfg: {
109
+ 0: 'kuma II',
110
+ 3: {
111
+ text: 'Size',
112
+ textAlign: 'left', // CanvasTextAlign
113
+ fontColor: '#fff',
114
+ fontSize: 12,
115
+ borderColor: 'pink',
116
+ backgroundColor: 'pink',
117
+ },
118
+ 4: 'Wow'
119
+ }
120
+ });
121
+ * ```
122
+ */
123
+ customizeColumnHeader(cfg: IColumnsHeaderCfgParam): void;
124
+ /**
125
+ * Customize the row header of the spreadsheet.
126
+ * @param {IRowsHeaderCfgParam} cfg The configuration of the row header.
127
+ * @example
128
+ * ```typescript
129
+ univerAPI.customizeRowHeader({
130
+ headerStyle: {
131
+ backgroundColor: 'pink',
132
+ fontSize: 12
133
+ },
134
+ rowsCfg: {
135
+ 0: 'MokaII',
136
+ 3: {
137
+ text: 'Size',
138
+ textAlign: 'left'
139
+ }
140
+ }
141
+ });
142
+ * ```
143
+ */
144
+ customizeRowHeader(cfg: IRowsHeaderCfgParam): void;
145
+ /**
146
+ * Set column height for column header.
147
+ * @param height
148
+ * @example
149
+ * ```ts
150
+ const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
151
+ sheet.setColumnHeaderHeight(100);
152
+ * ```
153
+ */
154
+ setColumnHeaderHeight(height: number): FWorksheet;
155
+ /**
156
+ * Set column height for column header.
157
+ * @param width
158
+ * @example
159
+ * ```ts
160
+ const sheet = univerAPI.getActiveWorkbook().getActiveSheet();
161
+ sheet.setRowHeaderWidth(100);
162
+ * ```
163
+ */
164
+ setRowHeaderWidth(width: number): FWorksheet;
92
165
  /**
93
166
  * @deprecated use `univerAPI.addEvent(univerAPI.Event.Scroll, () => {})` instead
94
167
  */
@@ -104,6 +177,18 @@ export declare class FWorksheetSkeletonMixin extends FWorksheet implements IFWor
104
177
  onScroll(callback: (params: Nullable<IViewportScrollState>) => void): IDisposable;
105
178
  getSkeleton(): Nullable<SpreadsheetSkeleton>;
106
179
  setColumnAutoWidth(columnPosition: number, numColumn: number): FWorksheet;
180
+ customizeColumnHeader(cfg: IColumnsHeaderCfgParam): void;
181
+ customizeRowHeader(cfg: IRowsHeaderCfgParam): void;
182
+ setColumnHeaderHeight(height: number): FWorksheet;
183
+ setRowHeaderWidth(width: number): FWorksheet;
184
+ /**
185
+ * Get sheet render component from render by unitId and view key.
186
+ * @private
187
+ * @param {string} unitId The unit id of the spreadsheet.
188
+ * @param {SHEET_VIEW_KEY} viewKey The view key of the spreadsheet.
189
+ * @returns {Nullable<RenderComponentType>} The render component.
190
+ */
191
+ private _getSheetRenderComponent;
107
192
  }
108
193
  declare module '@univerjs/sheets/facade' {
109
194
  interface FWorksheet extends IFWorksheetSkeletonMixin {
@@ -112,6 +112,7 @@ export { ExpandSelectionCommand, JumpOver, MoveSelectionCommand, MoveSelectionEn
112
112
  export { ChangeZoomRatioCommand, type ISetZoomRatioCommandParams, SetZoomRatioCommand } from './commands/commands/set-zoom-ratio.command';
113
113
  export { ShowMenuListCommand } from './commands/commands/unhide.command';
114
114
  export { ChangeSheetProtectionFromSheetBarCommand, DeleteWorksheetProtectionFormSheetBarCommand, } from './commands/commands/worksheet-protection.command';
115
+ export { SetColumnHeaderHeightCommand, SetRowHeaderWidthCommand } from './commands/commands/headersize-changed.command';
115
116
  export { SetActivateCellEditOperation } from './commands/operations/activate-cell-edit.operation';
116
117
  export { SetCellEditVisibleArrowOperation, SetCellEditVisibleOperation, SetCellEditVisibleWithF2Operation } from './commands/operations/cell-edit.operation';
117
118
  export { RenameSheetOperation } from './commands/operations/rename-sheet.operation';
@@ -31,7 +31,7 @@ export interface ISheetClipboardService {
31
31
  copy(): Promise<boolean>;
32
32
  cut(): Promise<boolean>;
33
33
  paste(item: ClipboardItem, pasteType?: string): Promise<boolean>;
34
- legacyPaste(html?: string, text?: string): Promise<boolean>;
34
+ legacyPaste(html?: string, text?: string, files?: File[]): Promise<boolean>;
35
35
  rePasteWithPasteType(type: IPasteHookKeyType): boolean;
36
36
  disposePasteOptionsCache(): void;
37
37
  generateCopyContent(workbookId: string, worksheetId: string, range: IRange): Nullable<ICopyContent>;
@@ -74,14 +74,17 @@ export declare class SheetClipboardService extends Disposable implements ISheetC
74
74
  copy(copyType?: COPY_TYPE): Promise<boolean>;
75
75
  cut(): Promise<boolean>;
76
76
  paste(item: ClipboardItem, pasteType?: "default-paste"): Promise<boolean>;
77
- legacyPaste(html?: string, text?: string): Promise<boolean>;
77
+ legacyPaste(html?: string, text?: string, files?: File[]): Promise<boolean>;
78
78
  rePasteWithPasteType(type: IPasteHookKeyType): boolean;
79
79
  updatePasteOptionsCache(cache: IPasteOptionCache | null): void;
80
80
  addClipboardHook(hook: ISheetClipboardHook): IDisposable;
81
81
  getClipboardHooks(): ISheetClipboardHook[];
82
82
  private _generateCopyContent;
83
83
  private _notifyClipboardHook;
84
+ private _executePaste;
85
+ private _pasteFiles;
84
86
  private _pastePlainText;
87
+ private _pasteUnrecognized;
85
88
  private _pasteHTML;
86
89
  private _pasteExternal;
87
90
  private _pasteInternal;
@@ -83,7 +83,7 @@ export interface ISheetClipboardHook {
83
83
  * @param subUnitId
84
84
  * @param range
85
85
  */
86
- onBeforeCopy?(unitId: string, subUnitId: string, range: IRange): void;
86
+ onBeforeCopy?(unitId: string, subUnitId: string, range: IRange, copyType: COPY_TYPE): void;
87
87
  /**
88
88
  * Properties that would be appended to the td element.
89
89
  *
@@ -177,6 +177,14 @@ export interface ISheetClipboardHook {
177
177
  undos: IMutationInfo[];
178
178
  redos: IMutationInfo[];
179
179
  };
180
+ onPasteFiles?(pasteTo: ISheetDiscreteRangeLocation, files: File[], payload: ICopyPastePayload): {
181
+ undos: IMutationInfo[];
182
+ redos: IMutationInfo[];
183
+ };
184
+ onPasteUnrecognized?(pasteTo: ISheetDiscreteRangeLocation): {
185
+ undos: IMutationInfo[];
186
+ redos: IMutationInfo[];
187
+ };
180
188
  /**
181
189
  * Would be called after paste content has been written into Univer.
182
190
  * Features could do some cleaning up jobs here.
@@ -13,7 +13,7 @@ export declare const getRepeatRange: (sourceRange: IRange, targetRange: IRange,
13
13
  startRange: IRange;
14
14
  repeatRelativeRange: IRange;
15
15
  }[];
16
- export declare function clipboardItemIsFromExcel(html: string): Promise<boolean>;
16
+ export declare function htmlIsFromExcel(html: string): boolean;
17
17
  export declare function mergeCellValues(...cellValues: IObjectMatrixPrimitiveType<Nullable<ICellData>>[]): IObjectMatrixPrimitiveType<Nullable<ICellData>> | IObjectMatrixPrimitiveType<IObjectMatrixPrimitiveType<Nullable<ICellData>>>;
18
18
  export declare function getRangeValuesMergeable(m1: IMutationInfo<ISetRangeValuesMutationParams>, m2: IMutationInfo<ISetRangeValuesMutationParams>): boolean;
19
19
  export declare function mergeSetRangeValues(mutations: IMutationInfo[]): IMutationInfo<object>[];
@@ -39,6 +39,7 @@ export interface ISheetSelectionRenderService {
39
39
  getCellWithCoordByOffset(x: number, y: number, skeleton?: SpreadsheetSkeleton): Nullable<ICellWithCoord>;
40
40
  setSingleSelectionEnabled(enabled: boolean): void;
41
41
  refreshSelectionMoveEnd(): void;
42
+ resetSelectionsByModelData(selectionsWithStyleList: readonly ISelectionWithStyle[]): void;
42
43
  }
43
44
  export declare const ISheetSelectionRenderService: import('@wendellhu/redi').IdentifierDecorator<ISheetSelectionRenderService>;
44
45
  /**
@@ -1,5 +1,5 @@
1
1
  import { ICellWithCoord, IRangeWithCoord, Nullable, ThemeService, Disposable, RANGE_TYPE } from '@univerjs/core';
2
- import { Scene, Group, Rect } from '@univerjs/engine-render';
2
+ import { Scene, SpreadsheetSkeleton, Group, Rect } from '@univerjs/engine-render';
3
3
  import { ISelectionStyle, ISelectionWidgetConfig, ISelectionWithCoord } from '@univerjs/sheets';
4
4
  import { ISelectionShapeExtensionOption, SelectionShapeExtension } from './selection-shape-extension';
5
5
  import { Subject } from 'rxjs';
@@ -175,7 +175,7 @@ export declare class SelectionControl extends Disposable {
175
175
  * Update range and primary range and style.
176
176
  * @param selectionWthCoord
177
177
  */
178
- updateRangeBySelectionWithCoord(selectionWthCoord: ISelectionWithCoord): void;
178
+ updateRangeBySelectionWithCoord(selectionWthCoord: ISelectionWithCoord, sk?: SpreadsheetSkeleton): void;
179
179
  /**
180
180
  * Update selection model with new range & primary cell(aka: highlight/current), also update row/col selection size & style.
181
181
  *
@@ -1,5 +1,5 @@
1
1
  import { IRange, IRangeWithCoord, Nullable, Workbook, Disposable, Injector } from '@univerjs/core';
2
- import { IRenderContext, IRenderModule, SpreadsheetSkeleton } from '@univerjs/engine-render';
2
+ import { IRender, IRenderContext, IRenderModule, SpreadsheetSkeleton } from '@univerjs/engine-render';
3
3
  export interface ISheetSkeletonManagerParam {
4
4
  unitId: string;
5
5
  sheetId: string;
@@ -58,4 +58,6 @@ export declare class SheetSkeletonManagerService extends Disposable implements I
58
58
  attachRangeWithCoord(range: IRange): Nullable<IRangeWithCoord>;
59
59
  private _getSkeleton;
60
60
  private _buildSkeleton;
61
+ setColumnHeaderSize(render: Nullable<IRender>, sheetId: string, size: number): void;
62
+ setRowHeaderSize(render: Nullable<IRender>, sheetId: string, size: number): void;
61
63
  }
@@ -1,5 +1,4 @@
1
1
  import { ICanvasPopup } from '../../services/canvas-pop-manager.service';
2
- import { default as React } from 'react';
3
2
  /**
4
3
  *
5
4
  * @param root0
@@ -7,4 +6,4 @@ import { default as React } from 'react';
7
6
  */
8
7
  export declare function CellAlert({ popup }: {
9
8
  popup: ICanvasPopup;
10
- }): React.JSX.Element | null;
9
+ }): import("react/jsx-runtime").JSX.Element | null;