@univerjs/sheets-ui 0.5.4-nightly.202501150735 → 0.5.4-nightly.202501151252

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/lib/cjs/facade.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@univerjs/core"),w=require("@univerjs/docs"),h=require("@univerjs/engine-render"),c=require("@univerjs/sheets-ui"),m=require("@univerjs/sheets/facade"),g=require("@univerjs/ui"),I=require("rxjs"),f=require("@univerjs/sheets");var _=(d=>(d[d.UNIVER_UNKNOWN=0]="UNIVER_UNKNOWN",d[d.UNIVER_DOC=1]="UNIVER_DOC",d[d.UNIVER_SHEET=2]="UNIVER_SHEET",d[d.UNIVER_SLIDE=3]="UNIVER_SLIDE",d[d.UNIVER_PROJECT=4]="UNIVER_PROJECT",d[d.UNRECOGNIZED=-1]="UNRECOGNIZED",d))(_||{});class k extends s.FUniver{_initSheetUIEvent(e){const t=e.get(s.ICommandService);this.disposeWithMe(t.beforeCommandExecuted(r=>{if(r.id===c.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.BeforeSheetEditStart)&&!this._eventListend(this.Event.BeforeSheetEditEnd))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:n,worksheet:o}=i,a=e.get(c.IEditorBridgeService),S=e.get(s.IUniverInstanceService),E=r.params,{visible:u,keycode:p,eventType:v}=E,b=a.getEditLocation();if(u){const l={row:b.row,column:b.column,eventType:v,keycode:p,workbook:n,worksheet:o,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,l),l.cancel)throw new s.CanceledError}else{const l={row:b.row,column:b.column,eventType:v,keycode:p,workbook:n,worksheet:o,isZenEditor:!1,value:s.RichTextValue.create(S.getUnit(s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:p!==g.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,l),l.cancel)throw new s.CanceledError}}})),this.disposeWithMe(t.onCommandExecuted(r=>{if(r.id===c.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.SheetEditStarted)&&!this._eventListend(this.Event.SheetEditEnded))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:n,worksheet:o}=i,a=e.get(c.IEditorBridgeService),S=r.params,{visible:E,keycode:u,eventType:p}=S,v=a.getEditLocation();if(E){const b={row:v.row,column:v.column,eventType:p,keycode:u,workbook:n,worksheet:o,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,b)}else{const b={row:v.row,column:v.column,eventType:p,keycode:u,workbook:n,worksheet:o,isZenEditor:!1,isConfirm:u!==g.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,b)}}if(r.id===w.RichTextEditingMutation.id){if(!this._eventListend(this.Event.SheetEditChanging))return;const i=this.getCommandSheetTarget(r);if(!i)return;const{workbook:n,worksheet:o}=i,a=e.get(c.IEditorBridgeService),S=e.get(s.IUniverInstanceService),E=r.params;if(!a.isVisible().visible)return;const{unitId:u}=E;if(u===s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){const{row:p,column:v}=a.getEditLocation(),b={workbook:n,worksheet:o,row:p,column:v,value:s.RichTextValue.create(S.getUnit(s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,b)}}})),this._initObserverListener(e)}_initObserverListener(e){const r=e.get(s.IUniverInstanceService).getFocusedUnit(),i=r==null?void 0:r.getUnitId(),n=e.get(h.IRenderManagerService);if(i){const o=this._injector.get(s.LifecycleService);let a,S;I.combineLatest([o.lifecycle$,n.created$]).subscribe(([u,p])=>{var b;if(p.type===_.UNIVER_SHEET){if(p.getRenderContext){const l=(b=p.getRenderContext())==null?void 0:b.unit;l&&(a=this._injector.createInstance(m.FWorkbook,l))}S=a==null?void 0:a.getActiveSheet()}if(u<s.LifecycleStages.Rendered||!a||!S)return;const v={workbook:a,worksheet:S};a.onScroll(l=>{this.fireEvent(this.Event.Scroll,{scrollX:l==null?void 0:l.viewportScrollX,scrollY:l==null?void 0:l.viewportScrollY,...v})}),a.onCellClick(l=>{this.fireEvent(this.Event.CellClicked,{row:l.location.row,column:l.location.col,...v})}),a.onDrop(l=>{this.fireEvent(this.Event.Drop,{row:l.location.row,column:l.location.col,...v})}),a.onSelectionMoveStart(l=>{this.fireEvent(this.Event.SelectionMoveStart,{selections:l,...v})}),a.onSelectionMoving(l=>{this.fireEvent(this.Event.SelectionMoving,{selections:l,...v})}),a.onSelectionMoving(l=>{this.fireEvent(this.Event.SelectionMoving,{selections:l,...v})}),a.onSelectionMoveEnd(l=>{this.fireEvent(this.Event.SelectionMoveEnd,{selections:l,...v})}),a.onSelectionChanged(l=>{this.fireEvent(this.Event.SelectionChanged,{selections:l,...v})})})}}_initialize(e){this._initSheetUIEvent(e);const t=e.get(s.ICommandService);this.disposeWithMe(t.beforeCommandExecuted(r=>{switch(r.id){case g.CopyCommand.id:case g.CutCommand.id:this._beforeClipboardChange();break;case c.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(r.params);break}})),this.disposeWithMe(t.onCommandExecuted(r=>{switch(r.id){case g.CopyCommand.id:case g.CutCommand.id:this._clipboardChanged();break;case c.SheetPasteShortKeyCommand.id:this._clipboardPaste();break;case g.PasteCommand.id:this._clipboardPasteAsync();break}})),this.disposeWithMe(t.beforeCommandExecuted(async r=>{switch(r.id){case g.PasteCommand.id:await this._beforeClipboardPasteAsync();break}}))}_generateClipboardCopyParam(){const e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet(),r=e==null?void 0:e.getActiveRange();if(!e||!t||!r)return;const n=this._injector.get(c.ISheetClipboardService).generateCopyContent(e.getId(),t.getSheetId(),r.getRange());if(!n)return;const{html:o,plain:a}=n;return{workbook:e,worksheet:t,text:a,html:o,fromSheet:t,fromRange:r}}_beforeClipboardChange(){if(!this.hasEventCallback(this.Event.BeforeClipboardChange))return;const e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.BeforeClipboardChange,e),e.cancel))throw new Error("Before clipboard change is canceled")}_clipboardChanged(){if(!this.hasEventCallback(this.Event.ClipboardChanged))return;const e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.ClipboardChanged,e),e.cancel))throw new Error("Clipboard changed is canceled")}_generateClipboardPasteParam(e){if(!e)return;const{htmlContent:t,textContent:r}=e,i=this.getActiveWorkbook(),n=i==null?void 0:i.getActiveSheet();return!i||!n?void 0:{workbook:i,worksheet:n,text:r,html:t}}async _generateClipboardPasteParamAsync(){const e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet();if(!e||!t)return;const n=(await this._injector.get(g.IClipboardInterfaceService).read())[0];let o;if(n){const a=n.types,S=a.indexOf(g.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await n.getType(g.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(u=>u&&u.text()):"",E=a.indexOf(g.HTML_CLIPBOARD_MIME_TYPE)!==-1?await n.getType(g.HTML_CLIPBOARD_MIME_TYPE).then(u=>u&&u.text()):"";o={workbook:e,worksheet:t,text:S,html:E}}return o}_beforeClipboardPaste(e){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const t=this._generateClipboardPasteParam(e);if(t&&(this.fireEvent(this.Event.BeforeClipboardPaste,t),t.cancel))throw new Error("Before clipboard paste is canceled")}_clipboardPaste(e){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const t=this._generateClipboardPasteParam(e);if(t&&(this.fireEvent(this.Event.BeforeClipboardPaste,t),t.cancel))throw new Error("Clipboard pasted is canceled")}async _beforeClipboardPasteAsync(){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;if(!g.supportClipboardAPI()){this._injector.get(s.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.BeforeClipboardPaste,e),e.cancel))throw new Error("Before clipboard paste is canceled")}async _clipboardPasteAsync(){if(!this.hasEventCallback(this.Event.ClipboardPasted))return;if(!g.supportClipboardAPI()){this._injector.get(s.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.ClipboardPasted,e),e.cancel))throw new Error("Clipboard pasted is canceled")}customizeColumnHeader(e){const t=this.getActiveWorkbook();if(!t){console.error("WorkBook not exist");return}const r=t==null?void 0:t.getId();this._getSheetRenderComponent(r,c.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e)}customizeRowHeader(e){const t=this.getActiveWorkbook();if(!t){console.error("WorkBook not exist");return}const r=t==null?void 0:t.getId();this._getSheetRenderComponent(r,c.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...t){const r=this._getSheetRenderComponent(e,c.SHEET_VIEW_KEY.ROW),i=r.register(...t);return s.toDisposable(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...t){const r=this._getSheetRenderComponent(e,c.SHEET_VIEW_KEY.COLUMN),i=r.register(...t);return s.toDisposable(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetMainExtension(e,...t){const r=this._getSheetRenderComponent(e,c.SHEET_VIEW_KEY.MAIN),i=r.register(...t);return s.toDisposable(()=>{i.dispose(),r.makeDirty(!0)})}_getSheetRenderComponent(e,t){const i=this._injector.get(h.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:n}=i,o=n.get(t);if(!o)throw new Error("Render component not found");return o}getSheetHooks(){return this._injector.createInstance(m.FSheetHooks)}}s.FUniver.extend(k);const C={CellClicked:"CellClicked",CellPointerDown:"CellPointerDown",CellPointerUp:"CellPointerUp",CellPointerMove:"CellPointerMove",CellHover:"CellHover",DragOver:"DragOver",Drop:"Drop",Scroll:"Scroll",SelectionMoveStart:"SelectionMoveStart",SelectionMoving:"SelectionMoving",SelectionMoveEnd:"SelectionMoveEnd",SelectionChanged:"SelectionChanged"};class P extends s.FEventName{get BeforeClipboardChange(){return"BeforeClipboardChange"}get ClipboardChanged(){return"ClipboardChanged"}get BeforeClipboardPaste(){return"BeforeClipboardPaste"}get ClipboardPasted(){return"ClipboardPasted"}get BeforeSheetEditStart(){return"BeforeSheetEditStart"}get SheetEditStarted(){return"SheetEditStarted"}get SheetEditChanging(){return"SheetEditChanging"}get BeforeSheetEditEnd(){return"BeforeSheetEditEnd"}get SheetEditEnded(){return"SheetEditEnded"}get CellClicked(){return C.CellClicked}get CellHover(){return C.CellHover}get CellPointerDown(){return C.CellPointerDown}get CellPointerUp(){return C.CellPointerUp}get CellPointerMove(){return C.CellPointerMove}get DragOver(){return"DragOver"}get Drop(){return"Drop"}get Scroll(){return"Scroll"}get SelectionMoveStart(){return"SelectionMoveStart"}get SelectionChanged(){return"SelectionChanged"}get SelectionMoving(){return"SelectionMoving"}get SelectionMoveEnd(){return"SelectionMoveEnd"}}s.FEventName.extend(P);class R extends m.FWorkbook{openSiderbar(e){return this._logDeprecation("openSiderbar"),this._injector.get(g.ISidebarService).open(e)}openDialog(e){this._logDeprecation("openDialog");const r=this._injector.get(g.IDialogService).open({...e,onClose:()=>{r.dispose()}});return r}_logDeprecation(e){this._injector.get(s.ILogService).warn("[FWorkbook]",`${e} is deprecated. Please use the function of the same name on "FUniver".`)}addUIEvent(e,t){const r=this.getActiveSheet(),i={workbook:this,worksheet:r};switch(e){case C.CellClicked:this.onCellClick(n=>{this.fireEvent(this.Event.CellClicked,{row:n.location.row,column:n.location.col,...i})});break;case C.CellPointerDown:this.onCellPointerDown(n=>{this.fireEvent(this.Event.CellPointerDown,this.generateCellParams(n))});break;case C.CellPointerUp:this.onCellPointerUp(n=>{this.fireEvent(this.Event.CellPointerUp,this.generateCellParams(n))});break;case C.CellPointerMove:this.onCellPointerMove(n=>{this.fireEvent(this.Event.CellPointerMove,this.generateCellParams(n))});break;case C.CellHover:this.onCellHover(n=>{this.fireEvent(this.Event.CellHover,this.generateCellParams(n))});break;case C.DragOver:this.onDragOver(n=>{this.fireEvent(this.Event.DragOver,{row:n.location.row,column:n.location.col,...i})});break;case C.Drop:this.onDrop(n=>{this.fireEvent(this.Event.Drop,{row:n.location.row,column:n.location.col,...i})});break;case C.Scroll:this.onScroll(n=>{this.fireEvent(this.Event.Scroll,{scrollX:n==null?void 0:n.viewportScrollX,scrollY:n==null?void 0:n.viewportScrollY,...i})});break;case C.SelectionMoveStart:this.onSelectionMoveStart(n=>{this.fireEvent(this.Event.SelectionMoveStart,{selections:n,...i})});break;case C.SelectionMoving:this.onSelectionMoving(n=>{this.fireEvent(this.Event.SelectionMoving,{selections:n,...i})});break;case C.SelectionMoveEnd:this.onSelectionMoveEnd(n=>{this.fireEvent(this.Event.SelectionMoveEnd,{selections:n,...i})});break;case C.SelectionChanged:this.onSelectionChanged(n=>{this.fireEvent(this.Event.SelectionChanged,{selections:n,...i})});break}return s.toDisposable(()=>{})}generateCellParams(e){const t=this.getActiveSheet();return{row:e.row,column:e.col,workbook:this,worksheet:t}}onCellClick(e){const t=this._injector.get(c.HoverManagerService);return s.toDisposable(t.currentClickedCell$.pipe(I.filter(r=>!!r)).subscribe(r=>{e(r)}))}onCellHover(e){const t=this._injector.get(c.HoverManagerService);return s.toDisposable(t.currentRichText$.pipe(I.filter(r=>!!r)).subscribe(e))}onCellPointerDown(e){const t=this._injector.get(c.HoverManagerService);return s.toDisposable(t.currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){const t=this._injector.get(c.HoverManagerService);return s.toDisposable(t.currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){const t=this._injector.get(c.HoverManagerService);return s.toDisposable(t.currentCellPosWithEvent$.pipe(I.filter(r=>!!r)).subscribe(r=>{e(r,r.event)}))}onDragOver(e){const t=this._injector.get(c.DragManagerService);return s.toDisposable(t.currentCell$.pipe(I.filter(r=>!!r)).subscribe(r=>{e(r)}))}onDrop(e){const t=this._injector.get(c.DragManagerService);return s.toDisposable(t.endCell$.pipe(I.filter(r=>!!r)).subscribe(r=>{e(r)}))}startEditing(){return this._injector.get(s.ICommandService).syncExecuteCommand(c.SetCellEditVisibleOperation.id,{eventType:h.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){return this._injector.get(s.ICommandService).syncExecuteCommand(c.SetCellEditVisibleOperation.id,{eventType:h.DeviceInputEventType.Keyboard,keycode:e?g.KeyCode.ENTER:g.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await s.awaitTime(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}getScrollStateBySheetId(e){const t=this._workbook.getUnitId(),i=this._injector.get(h.IRenderManagerService).getRenderById(t);return i?i.with(c.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:e}):null}disableSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(h.IRenderManagerService).getRenderById(e);return r&&r.with(c.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(h.IRenderManagerService).getRenderById(e);return r&&r.with(c.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(h.IRenderManagerService).getRenderById(e);return r&&r.with(c.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(h.IRenderManagerService).getRenderById(e);return r&&r.with(c.ISheetSelectionRenderService).showSelection(),this}onScroll(e){var n;const t=this._workbook.getUnitId(),i=(n=this._injector.get(h.IRenderManagerService).getRenderById(t))==null?void 0:n.with(c.SheetScrollManagerService);if(i){const o=i.validViewportScrollInfo$.subscribe(a=>{e(a)});return s.toDisposable(o)}}onSelectionMoveStart(e){var n;const t=this._workbook.getUnitId();if((n=this._injector.get(h.IRenderManagerService).getRenderById(t))==null?void 0:n.with(f.SheetsSelectionsService))return s.toDisposable(this._selectionManagerService.selectionMoveStart$.subscribe(o=>{o!=null&&o.length?e(o.map(a=>a.range)):e([])}))}onSelectionMoving(e){var n;const t=this._workbook.getUnitId();if((n=this._injector.get(h.IRenderManagerService).getRenderById(t))==null?void 0:n.with(f.SheetsSelectionsService))return s.toDisposable(this._selectionManagerService.selectionMoving$.subscribe(o=>{o!=null&&o.length?e(o.map(a=>a.range)):e([])}))}onSelectionMoveEnd(e){var n;const t=this._workbook.getUnitId();if((n=this._injector.get(h.IRenderManagerService).getRenderById(t))==null?void 0:n.with(f.SheetsSelectionsService))return s.toDisposable(this._selectionManagerService.selectionMoveEnd$.subscribe(o=>{o!=null&&o.length?e(o.map(a=>a.range)):e([])}))}onSelectionChanged(e){var n;const t=this._workbook.getUnitId();if((n=this._injector.get(h.IRenderManagerService).getRenderById(t))==null?void 0:n.with(f.SheetsSelectionsService))return s.toDisposable(this._selectionManagerService.selectionChanged$.subscribe(o=>{o!=null&&o.length?e(o.map(a=>a.range)):e([])}))}}m.FWorkbook.extend(R);class y extends m.FWorksheet{refreshCanvas(){const e=this._injector.get(h.IRenderManagerService),t=this._fWorkbook.id,r=e.getRenderById(t);if(!r)throw new Error(`Render Unit with unitId ${t} not found`);r.with(c.SheetSkeletonManagerService).reCalculate();const i=r.mainComponent;if(!i)throw new Error("Main component not found");return i.makeDirty(),this}zoom(e){return this._injector.get(s.ICommandService).syncExecuteCommand(c.ChangeZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:e}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){const e=this._workbook.getUnitId(),r=this._injector.get(h.IRenderManagerService).getRenderById(e);let i={startColumn:0,startRow:0,endColumn:0,endRow:0};if(!r)return i;const o=r.with(c.SheetSkeletonManagerService).getCurrentSkeleton();if(!o)return i;const a=o==null?void 0:o.getVisibleRanges();if(!a)return i;i=o.getVisibleRangeByViewport(h.SHEET_VIEWPORT_KEY.VIEW_MAIN);for(const[S,E]of a)h.sheetContentViewportKeys.indexOf(S)!==-1&&(i.startColumn=Math.min(i.startColumn,E.startColumn),i.startRow=Math.min(i.startRow,E.startRow),i.endColumn=Math.max(i.endColumn,E.endColumn),i.endRow=Math.max(i.endRow,E.endRow));return i}scrollToCell(e,t){const r=this._workbook.getUnitId(),n=this._injector.get(h.IRenderManagerService).getRenderById(r);return n&&(n==null?void 0:n.with(c.SheetsScrollRenderController)).scrollToCell(e,t),this}getScrollState(){const e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),n=this._injector.get(h.IRenderManagerService).getRenderById(t);return n&&n.with(c.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:r})||e}}m.FWorksheet.extend(y);class D extends m.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}m.FPermission.extend(D);class U extends m.FSheetHooks{onCellPointerMove(e){return s.toDisposable(this._injector.get(c.HoverManagerService).currentPosition$.subscribe(e))}onCellPointerOver(e){return s.toDisposable(this._injector.get(c.HoverManagerService).currentCell$.subscribe(e))}onCellDragOver(e){return s.toDisposable(this._injector.get(c.DragManagerService).currentCell$.subscribe(e))}onCellDrop(e){return s.toDisposable(this._injector.get(c.DragManagerService).endCell$.subscribe(e))}onCellRender(e,t=s.InterceptorEffectEnum.Style,r=f.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(f.SheetInterceptorService).intercept(f.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t,handler:(i,n,o)=>o({...i,customRender:[...(i==null?void 0:i.customRender)||[],...e||[]]}),priority:r})}onBeforeCellEdit(e){return this._injector.get(s.ICommandService).beforeCommandExecuted(t=>{const r=t.params;t.id===c.SetCellEditVisibleOperation.id&&r.visible&&e(r)})}onAfterCellEdit(e){return this._injector.get(s.ICommandService).onCommandExecuted(t=>{const r=t.params;t.id===c.SetCellEditVisibleOperation.id&&!r.visible&&e(r)})}}m.FSheetHooks.extend(U);class x extends m.FRange{getCell(){var a;const e=this._injector.get(h.IRenderManagerService),t=this._injector.get(s.ILogService),r=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),n=e.getRenderById(r),o=(a=n==null?void 0:n.with(c.SheetSkeletonManagerService).getWorksheetSkeleton(i))==null?void 0:a.skeleton;if(!o)throw t.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),new Error("`FRange.getCell` can only be called in current worksheet");return o.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){const{startX:e,startY:t,endX:r,endY:i}=this.getCell(),n={x:e,y:t,width:r-e,height:i-t,top:t,left:e,bottom:i,right:r};return{...n,toJSON:()=>JSON.stringify(n)}}generateHTML(){var t;const e=this._injector.get(c.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(t=e==null?void 0:e.html)!=null?t:""}attachPopup(e){var o,a,S;e.direction=(o=e.direction)!=null?o:"horizontal",e.extraProps=(a=e.extraProps)!=null?a:{},e.offset=(S=e.offset)!=null?S:[0,0];const{key:t,disposableCollection:r}=M(e,this._injector.get(g.ComponentManager)),n=this._injector.get(c.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:t},this.getUnitId(),this._worksheet.getSheetId());return n?(r.add(n),r):(r.dispose(),null)}attachAlertPopup(e){const t=this._injector.get(c.CellAlertManagerService),r={workbook:this._workbook,worksheet:this._worksheet,row:this._range.startRow,col:this._range.startColumn,unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId()};return t.showAlert({...e,location:r}),{dispose:()=>{t.removeAlert(e.key)}}}highlight(e,t){const r=this._injector.get(c.IMarkSelectionService),i=r.addShape({range:this._range,style:e,primary:t});if(!i)throw new Error("Failed to highlight current range");return s.toDisposable(()=>{r.removeShape(i)})}}m.FRange.extend(x);function M(d,e){const{componentKey:t,isVue3:r}=d;let i;const n=new s.DisposableCollection;return typeof t=="string"?i=t:(i=`External_${s.generateRandomId(6)}`,n.add(e.register(i,t,{framework:r?"vue3":"react"}))),{key:i,disposableCollection:n}}exports.transformComponentKey=M;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@univerjs/core"),$=require("@univerjs/docs"),f=require("@univerjs/engine-render"),M=require("@univerjs/sheets"),c=require("@univerjs/sheets-ui"),I=require("@univerjs/sheets/facade"),C=require("@univerjs/ui"),b=require("rxjs");class V extends s.FUniver{_initSheetUIEvent(e){const r=e.get(s.ICommandService);this.disposeWithMe(r.beforeCommandExecuted(t=>{if(t.id===c.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.BeforeSheetEditStart)&&!this._eventListend(this.Event.BeforeSheetEditEnd))return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:d}=i,h=e.get(c.IEditorBridgeService),m=e.get(s.IUniverInstanceService),E=t.params,{visible:p,keycode:g,eventType:l}=E,u=h.getEditLocation();if(p){const S={row:u.row,column:u.column,eventType:l,keycode:g,workbook:o,worksheet:d,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,S),S.cancel)throw new s.CanceledError}else{const S={row:u.row,column:u.column,eventType:l,keycode:g,workbook:o,worksheet:d,isZenEditor:!1,value:s.RichTextValue.create(m.getUnit(s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:g!==C.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,S),S.cancel)throw new s.CanceledError}}if(t.id===c.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.BeforeSheetZoomChange))return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:d}=i;this.fireEvent(this.Event.BeforeSheetZoomChange,{zoom:t.params.zoomRatio,workbook:o,worksheet:d})}})),this.disposeWithMe(r.onCommandExecuted(t=>{if(t.id===c.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.SheetEditStarted)&&!this._eventListend(this.Event.SheetEditEnded))return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:d}=i,h=e.get(c.IEditorBridgeService),m=t.params,{visible:E,keycode:p,eventType:g}=m,l=h.getEditLocation();if(E){const u={row:l.row,column:l.column,eventType:g,keycode:p,workbook:o,worksheet:d,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,u)}else{const u={row:l.row,column:l.column,eventType:g,keycode:p,workbook:o,worksheet:d,isZenEditor:!1,isConfirm:p!==C.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,u)}}if(t.id===$.RichTextEditingMutation.id){if(!this._eventListend(this.Event.SheetEditChanging))return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:d}=i,h=e.get(c.IEditorBridgeService),m=e.get(s.IUniverInstanceService),E=t.params;if(!h.isVisible().visible)return;const{unitId:p}=E;if(p===s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){const{row:g,column:l}=h.getEditLocation(),u={workbook:o,worksheet:d,row:g,column:l,value:s.RichTextValue.create(m.getUnit(s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,u)}}if(t.id===c.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.SheetZoomChanged))return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:d}=i;this.fireEvent(this.Event.SheetZoomChanged,{zoom:d.getZoom(),workbook:o,worksheet:d})}})),this._initObserverListener(e)}_initObserverListener(e){const t=e.get(s.IUniverInstanceService).getFocusedUnit(),i=t==null?void 0:t.getUnitId(),o=e.get(f.IRenderManagerService);if(i){const d=e.get(s.LifecycleService),h=new s.DisposableCollection,m=b.combineLatest([o.created$,d.lifecycle$]),E=new Map;this.disposeWithMe(d.lifecycle$.subscribe(g=>{var S,H,P,R,v,w,_,U,D,T,x,L,B,A,O;if(g<s.LifecycleStages.Rendered)return;h.dispose();const l=e.get(c.HoverManagerService),u=e.get(c.DragManagerService);l&&(h.add((S=l.currentClickedCell$)==null?void 0:S.pipe(b.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellClicked))return;const a=this.getSheetTarget(n.location.unitId,n.location.subUnitId);a&&this.fireEvent(this.Event.CellClicked,{...a,...n,row:n.location.row,column:n.location.col})})),h.add((H=l.currentRichText$)==null?void 0:H.pipe(b.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellHover))return;const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.CellHover,{...a,...n,row:n.row,column:n.col})})),h.add((P=l.currentPointerDownCell$)==null?void 0:P.pipe(b.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerDown))return;const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.CellPointerDown,{...a,...n,row:n.row,column:n.col})})),h.add((R=l.currentPointerUpCell$)==null?void 0:R.pipe(b.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerUp))return;const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.CellPointerUp,{...a,...n,row:n.row,column:n.col})})),h.add((v=l.currentCellPosWithEvent$)==null?void 0:v.pipe(b.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.CellPointerMove))return;const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.CellPointerMove,{...a,...n,row:n.row,column:n.col})})),h.add((w=u.currentCell$)==null?void 0:w.pipe(b.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.DragOver))return;const a=this.getSheetTarget(n.location.unitId,n.location.subUnitId);a&&this.fireEvent(this.Event.DragOver,{...a,...n,row:n.location.row,column:n.location.col})})),h.add((_=u.endCell$)==null?void 0:_.pipe(b.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.Drop))return;const a=this.getSheetTarget(n.location.unitId,n.location.subUnitId);a&&this.fireEvent(this.Event.Drop,{...a,...n,row:n.location.row,column:n.location.col})})),h.add((U=l.currentRowHeaderClick$)==null?void 0:U.pipe(b.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderClick))return;const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.RowHeaderClick,{...a,row:n.index})})),h.add((D=l.currentRowHeaderPointerDown$)==null?void 0:D.pipe(b.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderPointerDown))return;const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.RowHeaderPointerDown,{...a,row:n.index})})),h.add((T=l.currentRowHeaderPointerUp$)==null?void 0:T.pipe(b.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderPointerUp))return;const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.RowHeaderPointerUp,{...a,row:n.index})})),h.add((x=l.currentHoveredRowHeader$)==null?void 0:x.pipe(b.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.RowHeaderHover))return;const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.RowHeaderHover,{...a,row:n.index})})),h.add((L=l.currentColHeaderClick$)==null?void 0:L.pipe(b.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderClick))return;const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.ColumnHeaderClick,{...a,column:n.index})})),h.add((B=l.currentColHeaderPointerDown$)==null?void 0:B.pipe(b.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderPointerDown))return;const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...a,column:n.index})})),h.add((A=l.currentColHeaderPointerUp$)==null?void 0:A.pipe(b.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderPointerUp))return;const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...a,column:n.index})})),h.add((O=l.currentHoveredColHeader$)==null?void 0:O.pipe(b.filter(n=>!!n)).subscribe(n=>{if(!this._eventListend(this.Event.ColumnHeaderHover))return;const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.ColumnHeaderHover,{...a,column:n.index})})))})),this.disposeWithMe(h);let p;this.disposeWithMe(m.subscribe(([g,l])=>{var R;if(g.type===s.UniverInstanceType.UNIVER_SHEET&&(p=g),l!==s.LifecycleStages.Rendered)return;const u=new s.DisposableCollection;E.get(g.unitId)&&((R=E.get(g.unitId))==null||R.dispose()),E.set(g.unitId,u);const S=this.getWorkbook(p.unitId);if(!S||!p)return;const H=p.with(c.SheetScrollManagerService);u.add(H.validViewportScrollInfo$.subscribe(v=>{v&&this._eventListend(this.Event.Scroll)&&this.fireEvent(this.Event.Scroll,{workbook:S,worksheet:S.getActiveSheet(),...v})}));const P=g.with(M.SheetsSelectionsService);u.add(P.selectionMoveStart$.subscribe(v=>{var w;this._eventListend(this.Event.SelectionMoveStart)&&this.fireEvent(this.Event.SelectionMoveStart,{workbook:S,worksheet:S.getActiveSheet(),selections:(w=v==null?void 0:v.map(_=>_.range))!=null?w:[]})})),u.add(P.selectionMoving$.subscribe(v=>{var w;this._eventListend(this.Event.SelectionMoving)&&this.fireEvent(this.Event.SelectionMoving,{workbook:S,worksheet:S.getActiveSheet(),selections:(w=v==null?void 0:v.map(_=>_.range))!=null?w:[]})})),u.add(P.selectionMoveEnd$.subscribe(v=>{var w;this._eventListend(this.Event.SelectionMoveEnd)&&this.fireEvent(this.Event.SelectionMoveEnd,{workbook:S,worksheet:S.getActiveSheet(),selections:(w=v==null?void 0:v.map(_=>_.range))!=null?w:[]})})),u.add(P.selectionChanged$.subscribe(v=>{var w;this._eventListend(this.Event.SelectionChanged)&&this.fireEvent(this.Event.SelectionChanged,{workbook:S,worksheet:S.getActiveSheet(),selections:(w=v==null?void 0:v.map(_=>_.range))!=null?w:[]})}))})),this.disposeWithMe(o.disposed$.subscribe(g=>{var l;(l=E.get(g))==null||l.dispose(),E.delete(g)})),this.disposeWithMe(()=>{E.forEach(g=>{g.dispose()})})}}_initialize(e){this._initSheetUIEvent(e);const r=e.get(s.ICommandService);this.disposeWithMe(r.beforeCommandExecuted(t=>{switch(t.id){case C.CopyCommand.id:case C.CutCommand.id:this._beforeClipboardChange();break;case c.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(t.params);break}})),this.disposeWithMe(r.onCommandExecuted(t=>{if(M.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(t.id)>-1){if(!this._eventListend(this.Event.SheetSkeletonChanged))return;const i=this.getActiveSheet();if(!i)return;this.fireEvent(this.Event.SheetSkeletonChanged,{workbook:i.workbook,worksheet:i.worksheet,payload:t,skeleton:i.worksheet.getSkeleton()});return}if(M.COMMAND_LISTENER_VALUE_CHANGE.indexOf(t.id)>-1){if(!this._eventListend(this.Event.SheetValueChanged)||!this.getActiveSheet())return;this.fireEvent(this.Event.SheetValueChanged,{payload:t,effectedRanges:M.getValueChangedEffectedRange(t).map(o=>{var d,h;return(h=(d=this.getWorkbook(o.unitId))==null?void 0:d.getSheetBySheetId(o.subUnitId))==null?void 0:h.getRange(o.range)}).filter(Boolean)});return}switch(t.id){case C.CopyCommand.id:case C.CutCommand.id:this._clipboardChanged();break;case c.SheetPasteShortKeyCommand.id:this._clipboardPaste();break;case C.PasteCommand.id:this._clipboardPasteAsync();break}})),this.disposeWithMe(r.beforeCommandExecuted(async t=>{switch(t.id){case C.PasteCommand.id:await this._beforeClipboardPasteAsync();break}}))}_generateClipboardCopyParam(){const e=this.getActiveWorkbook(),r=e==null?void 0:e.getActiveSheet(),t=e==null?void 0:e.getActiveRange();if(!e||!r||!t)return;const o=this._injector.get(c.ISheetClipboardService).generateCopyContent(e.getId(),r.getSheetId(),t.getRange());if(!o)return;const{html:d,plain:h}=o;return{workbook:e,worksheet:r,text:h,html:d,fromSheet:r,fromRange:t}}_beforeClipboardChange(){if(!this.hasEventCallback(this.Event.BeforeClipboardChange))return;const e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.BeforeClipboardChange,e),e.cancel))throw new Error("Before clipboard change is canceled")}_clipboardChanged(){if(!this.hasEventCallback(this.Event.ClipboardChanged))return;const e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.ClipboardChanged,e),e.cancel))throw new Error("Clipboard changed is canceled")}_generateClipboardPasteParam(e){if(!e)return;const{htmlContent:r,textContent:t}=e,i=this.getActiveWorkbook(),o=i==null?void 0:i.getActiveSheet();return!i||!o?void 0:{workbook:i,worksheet:o,text:t,html:r}}async _generateClipboardPasteParamAsync(){const e=this.getActiveWorkbook(),r=e==null?void 0:e.getActiveSheet();if(!e||!r)return;const o=(await this._injector.get(C.IClipboardInterfaceService).read())[0];let d;if(o){const h=o.types,m=h.indexOf(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(p=>p&&p.text()):"",E=h.indexOf(C.HTML_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.HTML_CLIPBOARD_MIME_TYPE).then(p=>p&&p.text()):"";d={workbook:e,worksheet:r,text:m,html:E}}return d}_beforeClipboardPaste(e){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.BeforeClipboardPaste,r),r.cancel))throw new Error("Before clipboard paste is canceled")}_clipboardPaste(e){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.BeforeClipboardPaste,r),r.cancel))throw new Error("Clipboard pasted is canceled")}async _beforeClipboardPasteAsync(){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;if(!C.supportClipboardAPI()){this._injector.get(s.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.BeforeClipboardPaste,e),e.cancel))throw new Error("Before clipboard paste is canceled")}async _clipboardPasteAsync(){if(!this.hasEventCallback(this.Event.ClipboardPasted))return;if(!C.supportClipboardAPI()){this._injector.get(s.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.ClipboardPasted,e),e.cancel))throw new Error("Clipboard pasted is canceled")}customizeColumnHeader(e){const r=this.getActiveWorkbook();if(!r){console.error("WorkBook not exist");return}const t=r==null?void 0:r.getId();this._getSheetRenderComponent(t,c.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e)}customizeRowHeader(e){const r=this.getActiveWorkbook();if(!r){console.error("WorkBook not exist");return}const t=r==null?void 0:r.getId();this._getSheetRenderComponent(t,c.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,c.SHEET_VIEW_KEY.ROW),i=t.register(...r);return s.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,c.SHEET_VIEW_KEY.COLUMN),i=t.register(...r);return s.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetMainExtension(e,...r){const t=this._getSheetRenderComponent(e,c.SHEET_VIEW_KEY.MAIN),i=t.register(...r);return s.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}_getSheetRenderComponent(e,r){const i=this._injector.get(f.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,d=o.get(r);if(!d)throw new Error("Render component not found");return d}getSheetHooks(){return this._injector.createInstance(I.FSheetHooks)}}s.FUniver.extend(V);class F extends I.FWorkbook{openSiderbar(e){return this._logDeprecation("openSiderbar"),this._injector.get(C.ISidebarService).open(e)}openDialog(e){this._logDeprecation("openDialog");const t=this._injector.get(C.IDialogService).open({...e,onClose:()=>{t.dispose()}});return t}_logDeprecation(e){this._injector.get(s.ILogService).warn("[FWorkbook]",`${e} is deprecated. Please use the function of the same name on "FUniver".`)}generateCellParams(e){const r=this.getActiveSheet();return{row:e.row,column:e.col,workbook:this,worksheet:r}}onCellClick(e){const r=this._injector.get(c.HoverManagerService);return s.toDisposable(r.currentClickedCell$.pipe(b.filter(t=>!!t)).subscribe(t=>{e(t)}))}onCellHover(e){const r=this._injector.get(c.HoverManagerService);return s.toDisposable(r.currentRichText$.pipe(b.filter(t=>!!t)).subscribe(e))}startEditing(){return this._injector.get(s.ICommandService).syncExecuteCommand(c.SetCellEditVisibleOperation.id,{eventType:f.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){return this._injector.get(s.ICommandService).syncExecuteCommand(c.SetCellEditVisibleOperation.id,{eventType:f.DeviceInputEventType.Keyboard,keycode:e?C.KeyCode.ENTER:C.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await s.awaitTime(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}getScrollStateBySheetId(e){const r=this._workbook.getUnitId(),i=this._injector.get(f.IRenderManagerService).getRenderById(r);return i?i.with(c.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:e}):null}disableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(f.IRenderManagerService).getRenderById(e);return t&&t.with(c.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(f.IRenderManagerService).getRenderById(e);return t&&t.with(c.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(f.IRenderManagerService).getRenderById(e);return t&&t.with(c.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(f.IRenderManagerService).getRenderById(e);return t&&t.with(c.ISheetSelectionRenderService).showSelection(),this}}I.FWorkbook.extend(F);class N extends I.FWorksheet{refreshCanvas(){const e=this._injector.get(f.IRenderManagerService),r=this._fWorkbook.id,t=e.getRenderById(r);if(!t)throw new Error(`Render Unit with unitId ${r} not found`);t.with(c.SheetSkeletonManagerService).reCalculate();const i=t.mainComponent;if(!i)throw new Error("Main component not found");return i.makeDirty(),this}zoom(e){return this._injector.get(s.ICommandService).syncExecuteCommand(c.ChangeZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:e}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){const e=this._workbook.getUnitId(),t=this._injector.get(f.IRenderManagerService).getRenderById(e);let i={startColumn:0,startRow:0,endColumn:0,endRow:0};if(!t)return i;const d=t.with(c.SheetSkeletonManagerService).getCurrentSkeleton();if(!d)return i;const h=d==null?void 0:d.getVisibleRanges();if(!h)return i;i=d.getVisibleRangeByViewport(f.SHEET_VIEWPORT_KEY.VIEW_MAIN);for(const[m,E]of h)f.sheetContentViewportKeys.indexOf(m)!==-1&&(i.startColumn=Math.min(i.startColumn,E.startColumn),i.startRow=Math.min(i.startRow,E.startRow),i.endColumn=Math.max(i.endColumn,E.endColumn),i.endRow=Math.max(i.endRow,E.endRow));return i}scrollToCell(e,r){const t=this._workbook.getUnitId(),o=this._injector.get(f.IRenderManagerService).getRenderById(t);return o&&(o==null?void 0:o.with(c.SheetsScrollRenderController)).scrollToCell(e,r),this}getScrollState(){const e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(f.IRenderManagerService).getRenderById(r);return o&&o.with(c.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:t})||e}getSkeleton(){var r,t;const e=(r=this._injector.get(f.IRenderManagerService).getRenderById(this._workbook.getUnitId()))==null?void 0:r.with(c.SheetSkeletonManagerService);return(t=e==null?void 0:e.getWorksheetSkeleton(this._worksheet.getSheetId()))==null?void 0:t.skeleton}}I.FWorksheet.extend(N);class j extends I.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}I.FPermission.extend(j);class K extends I.FSheetHooks{onCellPointerMove(e){return s.toDisposable(this._injector.get(c.HoverManagerService).currentPosition$.subscribe(e))}onCellPointerOver(e){return s.toDisposable(this._injector.get(c.HoverManagerService).currentCell$.subscribe(e))}onCellDragOver(e){return s.toDisposable(this._injector.get(c.DragManagerService).currentCell$.subscribe(e))}onCellDrop(e){return s.toDisposable(this._injector.get(c.DragManagerService).endCell$.subscribe(e))}onCellRender(e,r=s.InterceptorEffectEnum.Style,t=M.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(M.SheetInterceptorService).intercept(M.INTERCEPTOR_POINT.CELL_CONTENT,{effect:r,handler:(i,o,d)=>d({...i,customRender:[...(i==null?void 0:i.customRender)||[],...e||[]]}),priority:t})}onBeforeCellEdit(e){return this._injector.get(s.ICommandService).beforeCommandExecuted(r=>{const t=r.params;r.id===c.SetCellEditVisibleOperation.id&&t.visible&&e(t)})}onAfterCellEdit(e){return this._injector.get(s.ICommandService).onCommandExecuted(r=>{const t=r.params;r.id===c.SetCellEditVisibleOperation.id&&!t.visible&&e(t)})}}I.FSheetHooks.extend(K);const y={CellClicked:"CellClicked",CellPointerDown:"CellPointerDown",CellPointerUp:"CellPointerUp",CellPointerMove:"CellPointerMove",CellHover:"CellHover",DragOver:"DragOver",Drop:"Drop",Scroll:"Scroll",SelectionMoveStart:"SelectionMoveStart",SelectionMoving:"SelectionMoving",SelectionMoveEnd:"SelectionMoveEnd",SelectionChanged:"SelectionChanged"};class Y extends s.FEventName{get BeforeClipboardChange(){return"BeforeClipboardChange"}get ClipboardChanged(){return"ClipboardChanged"}get BeforeClipboardPaste(){return"BeforeClipboardPaste"}get ClipboardPasted(){return"ClipboardPasted"}get BeforeSheetEditStart(){return"BeforeSheetEditStart"}get SheetEditStarted(){return"SheetEditStarted"}get SheetEditChanging(){return"SheetEditChanging"}get BeforeSheetEditEnd(){return"BeforeSheetEditEnd"}get SheetEditEnded(){return"SheetEditEnded"}get CellClicked(){return y.CellClicked}get CellHover(){return y.CellHover}get CellPointerDown(){return y.CellPointerDown}get CellPointerUp(){return y.CellPointerUp}get CellPointerMove(){return y.CellPointerMove}get DragOver(){return"DragOver"}get Drop(){return"Drop"}get Scroll(){return"Scroll"}get SelectionMoveStart(){return"SelectionMoveStart"}get SelectionChanged(){return"SelectionChanged"}get SelectionMoving(){return"SelectionMoving"}get SelectionMoveEnd(){return"SelectionMoveEnd"}get RowHeaderClick(){return"RowHeaderClick"}get RowHeaderPointerDown(){return"RowHeaderPointerDown"}get RowHeaderPointerUp(){return"RowHeaderPointerUp"}get RowHeaderHover(){return"RowHeaderHover"}get ColumnHeaderClick(){return"ColumnHeaderClick"}get ColumnHeaderPointerDown(){return"ColumnHeaderPointerDown"}get ColumnHeaderPointerUp(){return"ColumnHeaderPointerUp"}get ColumnHeaderHover(){return"ColumnHeaderHover"}get SheetSkeletonChanged(){return"SheetSkeletonChanged"}get SheetValueChanged(){return"SheetValueChanged"}}s.FEventName.extend(Y);class Z extends I.FRange{getCell(){var h;const e=this._injector.get(f.IRenderManagerService),r=this._injector.get(s.ILogService),t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=e.getRenderById(t),d=(h=o==null?void 0:o.with(c.SheetSkeletonManagerService).getWorksheetSkeleton(i))==null?void 0:h.skeleton;if(!d)throw r.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),new Error("`FRange.getCell` can only be called in current worksheet");return d.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){const{startX:e,startY:r,endX:t,endY:i}=this.getCell(),o={x:e,y:r,width:t-e,height:i-r,top:r,left:e,bottom:i,right:t};return{...o,toJSON:()=>JSON.stringify(o)}}generateHTML(){var r;const e=this._injector.get(c.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(r=e==null?void 0:e.html)!=null?r:""}attachPopup(e){var d,h,m;e.direction=(d=e.direction)!=null?d:"horizontal",e.extraProps=(h=e.extraProps)!=null?h:{},e.offset=(m=e.offset)!=null?m:[0,0];const{key:r,disposableCollection:t}=W(e,this._injector.get(C.ComponentManager)),o=this._injector.get(c.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:r},this.getUnitId(),this._worksheet.getSheetId());return o?(t.add(o),t):(t.dispose(),null)}attachAlertPopup(e){const r=this._injector.get(c.CellAlertManagerService),t={workbook:this._workbook,worksheet:this._worksheet,row:this._range.startRow,col:this._range.startColumn,unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId()};return r.showAlert({...e,location:t}),{dispose:()=>{r.removeAlert(e.key)}}}highlight(e,r){const t=this._injector.get(c.IMarkSelectionService),i=t.addShape({range:this._range,style:e,primary:r});if(!i)throw new Error("Failed to highlight current range");return s.toDisposable(()=>{t.removeShape(i)})}}I.FRange.extend(Z);function W(k,e){const{componentKey:r,isVue3:t}=k;let i;const o=new s.DisposableCollection;return typeof r=="string"?i=r:(i=`External_${s.generateRandomId(6)}`,o.add(e.register(i,r,{framework:t?"vue3":"react"}))),{key:i,disposableCollection:o}}exports.transformComponentKey=W;