@univerjs/sheets-ui 0.5.1 → 0.5.2-nightly.202412281605

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 (45) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +52 -30
  3. package/lib/es/facade.js +180 -237
  4. package/lib/es/index.js +20005 -19632
  5. package/lib/index.css +1 -1
  6. package/lib/types/commands/commands/__tests__/create-sheet-skeleton-test-bed.d.ts +22 -0
  7. package/lib/types/commands/commands/__tests__/sheet-skeleton.spec.d.ts +16 -0
  8. package/lib/types/commands/commands/add-worksheet-merge.command.d.ts +2 -1
  9. package/lib/types/commands/commands/auto-fill.command.d.ts +2 -2
  10. package/lib/types/commands/commands/set-selection.command.d.ts +2 -2
  11. package/lib/types/controllers/auto-fill.controller.d.ts +0 -3
  12. package/lib/types/controllers/clipboard/clipboard.controller.d.ts +0 -4
  13. package/lib/types/controllers/clipboard/utils.d.ts +4 -0
  14. package/lib/types/controllers/editor/editing.render-controller.d.ts +1 -1
  15. package/lib/types/controllers/hover-render.controller.d.ts +1 -1
  16. package/lib/types/controllers/move-range.controller.d.ts +1 -1
  17. package/lib/types/controllers/render-controllers/scroll.render-controller.d.ts +10 -3
  18. package/lib/types/facade/f-workbook.d.ts +67 -3
  19. package/lib/types/facade/f-worksheet.d.ts +63 -0
  20. package/lib/types/index.d.ts +61 -66
  21. package/lib/types/services/auto-fill/auto-fill.service.d.ts +7 -6
  22. package/lib/types/services/cell-alert-manager.service.d.ts +3 -3
  23. package/lib/types/services/clipboard/__tests__/clipboard-test-bed.d.ts +1 -0
  24. package/lib/types/services/clipboard/clipboard.service.d.ts +5 -3
  25. package/lib/types/services/clipboard/copy-content-cache.d.ts +1 -0
  26. package/lib/types/services/clipboard/html-to-usm/utils.d.ts +1 -0
  27. package/lib/types/services/clipboard/type.d.ts +1 -0
  28. package/lib/types/services/hover-manager.service.d.ts +27 -3
  29. package/lib/types/services/mark-selection/mark-selection.service.d.ts +3 -1
  30. package/lib/types/services/scroll-manager.service.d.ts +5 -6
  31. package/lib/types/services/selection/base-selection-render.service.d.ts +21 -9
  32. package/lib/types/services/selection/mobile-selection-render.service.d.ts +1 -1
  33. package/lib/types/services/selection/selection-control.d.ts +20 -6
  34. package/lib/types/services/selection/selection-render-model.d.ts +0 -1
  35. package/lib/types/services/selection/selection-render.service.d.ts +12 -3
  36. package/lib/types/services/selection/selection-shape-extension.d.ts +1 -1
  37. package/lib/types/services/shortcut-experience.service.d.ts +0 -1
  38. package/lib/types/services/utils/doc-skeleton-util.d.ts +1 -1
  39. package/lib/types/services/utils/drawing-position-util.d.ts +35 -0
  40. package/lib/types/views/defined-name/component-name.d.ts +0 -1
  41. package/lib/types/views/permission/panel-detail/PermissionDetailMainPart.d.ts +1 -0
  42. package/lib/umd/facade.js +1 -1
  43. package/lib/umd/index.js +50 -28
  44. package/package.json +16 -15
  45. package/LICENSE +0 -176
package/lib/cjs/facade.js CHANGED
@@ -1 +1 @@
1
- "use strict";var f=Object.defineProperty;var w=(i,e,t)=>e in i?f(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var h=(i,e,t)=>w(i,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@univerjs/core"),g=require("@univerjs/engine-render"),l=require("@univerjs/sheets/facade"),c=require("@univerjs/sheets-ui"),S=require("@univerjs/ui"),_=require("rxjs"),m=require("@univerjs/sheets");class E extends s.FUniver{customizeColumnHeader(e){const t=this.getActiveWorkbook();if(!t){console.error("WorkBook not exist");return}const n=t==null?void 0:t.getId();this._getSheetRenderComponent(n,c.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e)}customizeRowHeader(e){const t=this.getActiveWorkbook();if(!t){console.error("WorkBook not exist");return}const n=t==null?void 0:t.getId();this._getSheetRenderComponent(n,c.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...t){const n=this._getSheetRenderComponent(e,c.SHEET_VIEW_KEY.ROW),r=n.register(...t);return s.toDisposable(()=>{r.dispose(),n.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...t){const n=this._getSheetRenderComponent(e,c.SHEET_VIEW_KEY.COLUMN),r=n.register(...t);return s.toDisposable(()=>{r.dispose(),n.makeDirty(!0)})}registerSheetMainExtension(e,...t){const n=this._getSheetRenderComponent(e,c.SHEET_VIEW_KEY.MAIN),r=n.register(...t);return s.toDisposable(()=>{r.dispose(),n.makeDirty(!0)})}_getSheetRenderComponent(e,t){const r=this._injector.get(g.IRenderManagerService).getRenderById(e);if(!r)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=r,a=o.get(t);if(!a)throw new Error("Render component not found");return a}getSheetHooks(){return this._injector.createInstance(l.FSheetHooks)}}s.FUniver.extend(E);class x extends l.FWorkbook{openSiderbar(e){return this._logDeprecation("openSiderbar"),this._injector.get(S.ISidebarService).open(e)}openDialog(e){this._logDeprecation("openDialog");const n=this._injector.get(S.IDialogService).open({...e,onClose:()=>{n.dispose()}});return n}_logDeprecation(e){this._injector.get(s.ILogService).warn("[FWorkbook]",`${e} is deprecated. Please use the function of the same name on "FUniver".`)}onCellClick(e){const t=this._injector.get(c.HoverManagerService);return s.toDisposable(t.currentClickedCell$.pipe(_.filter(n=>!!n)).subscribe(e))}onCellHover(e){const t=this._injector.get(c.HoverManagerService);return s.toDisposable(t.currentRichText$.pipe(_.filter(n=>!!n)).subscribe(e))}startEditing(){return this._injector.get(s.ICommandService).syncExecuteCommand(c.SetCellEditVisibleOperation.id,{eventType:g.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){return this._injector.get(s.ICommandService).syncExecuteCommand(c.SetCellEditVisibleOperation.id,{eventType:g.DeviceInputEventType.Keyboard,keycode:e?S.KeyCode.ENTER:S.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await s.awaitTime(0),!0}}l.FWorkbook.extend(x);function y(i,e){const{startRow:t,startColumn:n,endRow:r,endColumn:o,rangeType:a}=e,I=r<t?r:t,k=r<t?t:r,p=o<n?o:n,b=o<n?n:o,d=i.getNoMergeCellPositionByIndex(I,p),u=i.getNoMergeCellPositionByIndex(k,b);return{startRow:t,startColumn:n,endRow:r,endColumn:o,rangeType:a,startY:(d==null?void 0:d.startY)||0,endY:(u==null?void 0:u.endY)||0,startX:(d==null?void 0:d.startX)||0,endX:(u==null?void 0:u.endX)||0}}var R=Object.defineProperty,M=Object.getOwnPropertyDescriptor,D=(i,e,t,n)=>{for(var r=n>1?void 0:n?M(e,t):e,o=i.length-1,a;o>=0;o--)(a=i[o])&&(r=(n?a(e,t,r):a(r))||r);return n&&r&&R(e,t,r),r},j=(i,e)=>(t,n)=>e(t,n,i);let C=class extends s.Disposable{constructor(e,t){super();h(this,"_currentSkeletonSearchParam",{sheetId:""});h(this,"_sheetSkeletonParam",[]);h(this,"_currentSkeleton$",new _.BehaviorSubject(null));h(this,"currentSkeleton$",this._currentSkeleton$.asObservable());h(this,"_currentSkeletonBefore$",new _.BehaviorSubject(null));h(this,"currentSkeletonBefore$",this._currentSkeletonBefore$.asObservable());this._context=e,this._injector=t,this.disposeWithMe(()=>{this._currentSkeletonBefore$.complete(),this._currentSkeleton$.complete(),this._sheetSkeletonParam=[]}),this._initRemoveSheet()}_initRemoveSheet(){this.disposeWithMe(this._context.unit.sheetDisposed$.subscribe(e=>{this.disposeSkeleton({sheetId:e.getSheetId()})}))}getCurrentSkeleton(){var e;return(e=this.getCurrent())==null?void 0:e.skeleton}getCurrent(){return this._getSkeleton(this._currentSkeletonSearchParam)}getWorksheetSkeleton(e){return this._getSkeleton({sheetId:e})}getUnitSkeleton(e,t){const n=this._getSkeleton({sheetId:t});return n!=null&&(n.unitId=e),n}setCurrent(e){this._setCurrent(e)}_setCurrent(e){const t=this._getSkeleton(e),n=this._context.unitId;if(t!=null)this._reCalculate(t);else{const{sheetId:a}=e,k=this._context.unit.getSheetBySheetId(e.sheetId);if(k==null)return;const p=this._buildSkeleton(k);this._sheetSkeletonParam.push({unitId:n,sheetId:a,skeleton:p,dirty:!1})}this._currentSkeletonSearchParam=e;const r=this._currentSkeletonSearchParam.sheetId,o=this.getUnitSkeleton(n,r);this._currentSkeletonBefore$.next(o),this._currentSkeleton$.next(o)}reCalculate(){const e=this.getCurrent();e!=null&&this._reCalculate(e)}_reCalculate(e){e.dirty&&(e.skeleton.makeDirty(!0),e.dirty=!1),e.skeleton.calculate()}makeDirty(e,t=!0){const n=this._getSkeleton(e);n!=null&&(n.dirty=t)}getOrCreateSkeleton(e){const t=this._getSkeleton(e);if(t)return t.skeleton;const r=this._context.unit.getSheetBySheetId(e.sheetId);if(!r)return;const o=this._buildSkeleton(r);return this._sheetSkeletonParam.push({unitId:this._context.unitId,sheetId:e.sheetId,skeleton:o,dirty:!1}),o}disposeSkeleton(e){const t=this._sheetSkeletonParam.findIndex(n=>n.sheetId===e.sheetId);t>-1&&(this._sheetSkeletonParam[t].skeleton.dispose(),this._sheetSkeletonParam.splice(t,1))}attachRangeWithCoord(e){const t=this.getCurrentSkeleton();return t?y(t,e):null}_getSkeleton(e){const t=this._sheetSkeletonParam.find(n=>n.sheetId===e.sheetId);return t!=null&&(t.commandId=e.commandId),t}_buildSkeleton(e){const t=e.getConfig();return this._injector.createInstance(g.SpreadsheetSkeleton,e,t,e.getCellMatrix(),this._context.unit.getStyles())}};C=D([j(1,s.Inject(s.Injector))],C);class P extends l.FWorksheet{refreshCanvas(){const e=this._injector.get(g.IRenderManagerService),t=this._fWorkbook.id,n=e.getRenderById(t);if(!n)throw new Error(`Render Unit with unitId ${t} not found`);n.with(C).reCalculate();const r=n.mainComponent;if(!r)throw new Error("Main component not found");r.makeDirty()}}l.FWorksheet.extend(P);class W extends l.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}l.FPermission.extend(W);class O extends l.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,n=m.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(m.SheetInterceptorService).intercept(m.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t,handler:(r,o,a)=>a({...r,customRender:[...(r==null?void 0:r.customRender)||[],...e||[]]}),priority:n})}onBeforeCellEdit(e){return this._injector.get(s.ICommandService).beforeCommandExecuted(t=>{const n=t.params;t.id===c.SetCellEditVisibleOperation.id&&n.visible&&e(n)})}onAfterCellEdit(e){return this._injector.get(s.ICommandService).onCommandExecuted(t=>{const n=t.params;t.id===c.SetCellEditVisibleOperation.id&&!n.visible&&e(n)})}}l.FSheetHooks.extend(O);class U extends l.FRange{getCell(){const e=this._injector.get(g.IRenderManagerService),t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return e.getRenderById(t).with(c.SheetSkeletonManagerService).getWorksheetSkeleton(n).skeleton.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){const{startX:e,startY:t,endX:n,endY:r}=this.getCell(),o={x:e,y:t,width:n-e,height:r-t,top:t,left:e,bottom:r,right:n};return{...o,toJSON:()=>JSON.stringify(o)}}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){const{key:t,disposableCollection:n}=v(e,this._injector.get(S.ComponentManager)),o=this._injector.get(c.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:t},this.getUnitId(),this._worksheet.getSheetId());return o?(n.add(o),n):(n.dispose(),null)}attachAlertPopup(e){const t=this._injector.get(c.CellAlertManagerService),n={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:n}),{dispose:()=>{t.removeAlert(e.key)}}}highlight(e,t){const n=this._injector.get(c.IMarkSelectionService),r=n.addShape({range:this._range,style:e,primary:t});if(!r)throw new Error("Failed to highlight current range");return s.toDisposable(()=>{n.removeShape(r)})}}l.FRange.extend(U);function v(i,e){const{componentKey:t,isVue3:n}=i;let r;const o=new s.DisposableCollection;return typeof t=="string"?r=t:(r=`External_${s.generateRandomId(6)}`,o.add(e.register(r,t,{framework:n?"vue3":"react"}))),{key:r,disposableCollection:o}}exports.transformComponentKey=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("@univerjs/core"),c=require("@univerjs/engine-render"),o=require("@univerjs/sheets-ui"),d=require("@univerjs/sheets/facade"),g=require("@univerjs/ui"),u=require("rxjs"),v=require("@univerjs/sheets");class p extends i.FUniver{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,o.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,o.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...t){const r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.ROW),n=r.register(...t);return i.toDisposable(()=>{n.dispose(),r.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...t){const r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.COLUMN),n=r.register(...t);return i.toDisposable(()=>{n.dispose(),r.makeDirty(!0)})}registerSheetMainExtension(e,...t){const r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.MAIN),n=r.register(...t);return i.toDisposable(()=>{n.dispose(),r.makeDirty(!0)})}_getSheetRenderComponent(e,t){const n=this._injector.get(c.IRenderManagerService).getRenderById(e);if(!n)throw new Error(`Render Unit with unitId ${e} not found`);const{components:s}=n,a=s.get(t);if(!a)throw new Error("Render component not found");return a}getSheetHooks(){return this._injector.createInstance(d.FSheetHooks)}}i.FUniver.extend(p);class C extends d.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(i.ILogService).warn("[FWorkbook]",`${e} is deprecated. Please use the function of the same name on "FUniver".`)}onCellClick(e){const t=this._injector.get(o.HoverManagerService);return i.toDisposable(t.currentClickedCell$.pipe(u.filter(r=>!!r)).subscribe(e))}onCellHover(e){const t=this._injector.get(o.HoverManagerService);return i.toDisposable(t.currentRichText$.pipe(u.filter(r=>!!r)).subscribe(e))}onCellPointerDown(e){const t=this._injector.get(o.HoverManagerService);return i.toDisposable(t.currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){const t=this._injector.get(o.HoverManagerService);return i.toDisposable(t.currentPointerUpCell$.subscribe(e))}onPointerMove(e){const t=this._injector.get(o.HoverManagerService);return i.toDisposable(t.currentCellPosWithEvent$.pipe(u.filter(r=>!!r)).subscribe(r=>{e(r,r.event.buttons)}))}startEditing(){return this._injector.get(i.ICommandService).syncExecuteCommand(o.SetCellEditVisibleOperation.id,{eventType:c.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){return this._injector.get(i.ICommandService).syncExecuteCommand(o.SetCellEditVisibleOperation.id,{eventType:c.DeviceInputEventType.Keyboard,keycode:e?g.KeyCode.ENTER:g.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await i.awaitTime(0),!0}getScrollStateBySheetId(e){const t=this._workbook.getUnitId(),n=this._injector.get(c.IRenderManagerService).getRenderById(t);return n?n.with(o.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:e}):null}disableSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(c.IRenderManagerService).getRenderById(e);r&&r.with(o.ISheetSelectionRenderService).disableSelection()}enableSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(c.IRenderManagerService).getRenderById(e);r&&r.with(o.ISheetSelectionRenderService).enableSelection()}transparentSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(c.IRenderManagerService).getRenderById(e);r&&r.with(o.ISheetSelectionRenderService).transparentSelection()}showSelection(){const e=this._workbook.getUnitId(),r=this._injector.get(c.IRenderManagerService).getRenderById(e);r&&r.with(o.ISheetSelectionRenderService).showSelection()}}d.FWorkbook.extend(C);class b extends d.FWorksheet{refreshCanvas(){const e=this._injector.get(c.IRenderManagerService),t=this._fWorkbook.id,r=e.getRenderById(t);if(!r)throw new Error(`Render Unit with unitId ${t} not found`);r.with(o.SheetSkeletonManagerService).reCalculate();const n=r.mainComponent;if(!n)throw new Error("Main component not found");n.makeDirty()}zoom(e){return this._injector.get(i.ICommandService).executeCommand(o.ChangeZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:e})}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){const e=this._workbook.getUnitId(),r=this._injector.get(c.IRenderManagerService).getRenderById(e);let n={startColumn:0,startRow:0,endColumn:0,endRow:0};if(!r)return n;const a=r.with(o.SheetSkeletonManagerService).getCurrentSkeleton();if(!a)return n;const h=a==null?void 0:a.getVisibleRanges();if(!h)return n;n=a.getVisibleRangeByViewport(c.SHEET_VIEWPORT_KEY.VIEW_MAIN);for(const[I,S]of h)c.sheetContentViewportKeys.indexOf(I)!==-1&&(n.startColumn=Math.min(n.startColumn,S.startColumn),n.startRow=Math.min(n.startRow,S.startRow),n.endColumn=Math.max(n.endColumn,S.endColumn),n.endRow=Math.max(n.endRow,S.endRow));return n}scrollToCell(e,t){const r=this._workbook.getUnitId(),s=this._injector.get(c.IRenderManagerService).getRenderById(r);s&&(s==null?void 0:s.with(o.SheetsScrollRenderController)).scrollToCell(e,t)}getScrollState(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),n=this._injector.get(c.IRenderManagerService).getRenderById(e);return n?n.with(o.SheetScrollManagerService).getScrollStateByParam({unitId:e,sheetId:t}):null}onScroll(e){var s;const t=this._workbook.getUnitId(),n=(s=this._injector.get(c.IRenderManagerService).getRenderById(t))==null?void 0:s.with(o.SheetScrollManagerService);if(n){const a=n.validViewportScrollInfo$.subscribe(h=>{e(h)});return i.toDisposable(a)}return i.toDisposable(()=>{})}}d.FWorksheet.extend(b);class _ extends d.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}d.FPermission.extend(_);class k extends d.FSheetHooks{onCellPointerMove(e){return i.toDisposable(this._injector.get(o.HoverManagerService).currentPosition$.subscribe(e))}onCellPointerOver(e){return i.toDisposable(this._injector.get(o.HoverManagerService).currentCell$.subscribe(e))}onCellDragOver(e){return i.toDisposable(this._injector.get(o.DragManagerService).currentCell$.subscribe(e))}onCellDrop(e){return i.toDisposable(this._injector.get(o.DragManagerService).endCell$.subscribe(e))}onCellRender(e,t=i.InterceptorEffectEnum.Style,r=v.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(v.SheetInterceptorService).intercept(v.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t,handler:(n,s,a)=>a({...n,customRender:[...(n==null?void 0:n.customRender)||[],...e||[]]}),priority:r})}onBeforeCellEdit(e){return this._injector.get(i.ICommandService).beforeCommandExecuted(t=>{const r=t.params;t.id===o.SetCellEditVisibleOperation.id&&r.visible&&e(r)})}onAfterCellEdit(e){return this._injector.get(i.ICommandService).onCommandExecuted(t=>{const r=t.params;t.id===o.SetCellEditVisibleOperation.id&&!r.visible&&e(r)})}}d.FSheetHooks.extend(k);class M extends d.FRange{getCell(){const e=this._injector.get(c.IRenderManagerService),t=this._workbook.getUnitId(),r=this._worksheet.getSheetId();return e.getRenderById(t).with(o.SheetSkeletonManagerService).getWorksheetSkeleton(r).skeleton.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){const{startX:e,startY:t,endX:r,endY:n}=this.getCell(),s={x:e,y:t,width:r-e,height:n-t,top:t,left:e,bottom:n,right:r};return{...s,toJSON:()=>JSON.stringify(s)}}generateHTML(){var t;const e=this._injector.get(o.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(t=e==null?void 0:e.html)!=null?t:""}attachPopup(e){const{key:t,disposableCollection:r}=m(e,this._injector.get(g.ComponentManager)),s=this._injector.get(o.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:t},this.getUnitId(),this._worksheet.getSheetId());return s?(r.add(s),r):(r.dispose(),null)}attachAlertPopup(e){const t=this._injector.get(o.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(o.IMarkSelectionService),n=r.addShape({range:this._range,style:e,primary:t});if(!n)throw new Error("Failed to highlight current range");return i.toDisposable(()=>{r.removeShape(n)})}}d.FRange.extend(M);function m(l,e){const{componentKey:t,isVue3:r}=l;let n;const s=new i.DisposableCollection;return typeof t=="string"?n=t:(n=`External_${i.generateRandomId(6)}`,s.add(e.register(n,t,{framework:r?"vue3":"react"}))),{key:n,disposableCollection:s}}exports.transformComponentKey=m;