@univerjs/sheets-zen-editor 0.1.0-beta.4 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var lt=Object.defineProperty;var ct=(o,e,t)=>e in o?lt(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var a=(o,e,t)=>(ct(o,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("@univerjs/core"),N=require("@wendellhu/redi"),ge=require("@univerjs/docs"),_=require("@univerjs/engine-render"),Pe=require("@univerjs/sheets-ui"),H=require("rxjs"),A=require("@univerjs/sheets"),X=require("@univerjs/ui"),q=require("react"),Me=require("@wendellhu/redi/react-bindings"),$e=require("clsx");var b=(o=>(o.VIEW_MAIN="viewMain",o.VIEW_MAIN_LEFT_TOP="viewMainLeftTop",o.VIEW_MAIN_TOP="viewMainTop",o.VIEW_MAIN_LEFT="viewMainLeft",o.VIEW_ROW_TOP="viewRowTop",o.VIEW_ROW_BOTTOM="viewRowBottom",o.VIEW_COLUMN_LEFT="viewColumnLeft",o.VIEW_COLUMN_RIGHT="viewColumnRight",o.VIEW_LEFT_TOP="viewLeftTop",o))(b||{});const at=3;var dt=Object.defineProperty,ht=Object.getOwnPropertyDescriptor,_t=(o,e,t,i)=>{for(var n=i>1?void 0:i?ht(e,t):e,r=o.length-1,s;r>=0;r--)(s=o[r])&&(n=(i?s(e,t,n):s(n))||n);return i&&n&&dt(e,t,n),n},je=(o,e)=>(t,i)=>e(t,i,o);let me=class{constructor(o,e){a(this,"_currentSkeleton",{unitId:"",sheetId:""});a(this,"_sheetSkeletonParam",[]);a(this,"_currentSkeleton$",new H.BehaviorSubject(null));a(this,"currentSkeleton$",this._currentSkeleton$.asObservable());a(this,"_currentSkeletonBefore$",new H.BehaviorSubject(null));a(this,"currentSkeletonBefore$",this._currentSkeletonBefore$.asObservable());this._currentUniverService=o,this._localeService=e}dispose(){this._currentSkeletonBefore$.complete(),this._currentSkeleton$.complete(),this._sheetSkeletonParam=[]}getCurrent(){return this._getCurrentBySearch(this._currentSkeleton)}setCurrent(o){const e=this._getCurrentBySearch(o);if(e!=null)this._reCalculate(e);else{const{unitId:i,sheetId:n}=o,r=this._currentUniverService.getUniverSheetInstance(o.unitId),s=r==null?void 0:r.getSheetBySheetId(o.sheetId);if(s==null||r==null)return;const d=this._buildSkeleton(s,r);this._sheetSkeletonParam.push({unitId:i,sheetId:n,skeleton:d,dirty:!1})}this._currentSkeleton=o;const t=this.getCurrent();return this._currentSkeletonBefore$.next(t),this._currentSkeleton$.next(t),this.getCurrent()}reCalculate(){const o=this.getCurrent();o!=null&&this._reCalculate(o)}_reCalculate(o){o.dirty&&(o.skeleton.makeDirty(!0),o.dirty=!1),o.skeleton.calculate()}makeDirtyCurrent(o=!0){this.makeDirty(this._currentSkeleton,o)}makeDirty(o,e=!0){const t=this._getCurrentBySearch(o);t!=null&&(t.dirty=e)}_getCurrentBySearch(o){const e=this._sheetSkeletonParam.find(t=>t.unitId===o.unitId&&t.sheetId===o.sheetId);return e!=null&&(e.commandId=o.commandId),e}_buildSkeleton(o,e){const t=o.getConfig();return _.SpreadsheetSkeleton.create(o,t,o.getCellMatrix(),e.getStyles(),this._localeService)}};me=_t([je(0,p.IUniverInstanceService),je(1,N.Inject(p.LocaleService))],me);class ut{constructor(){a(this,"_startColumn",-1);a(this,"_startRow",-1);a(this,"_endColumn",-1);a(this,"_endRow",-1);a(this,"_startX",0);a(this,"_startY",0);a(this,"_endX",0);a(this,"_endY",0);a(this,"_currentCell");a(this,"_rangeType",p.RANGE_TYPE.NORMAL)}get startColumn(){return this._startColumn}get startRow(){return this._startRow}get endColumn(){return this._endColumn}get endRow(){return this._endRow}get startX(){return this._startX}get startY(){return this._startY}get endX(){return this._endX}get endY(){return this._endY}get currentCell(){return this._currentCell}get rangeType(){return this._rangeType}isEqual(e){const{startColumn:t,startRow:i,endColumn:n,endRow:r}=this,{startColumn:s,startRow:d,endColumn:c,endRow:l}=e;return t===s&&i===d&&n===c&&r===l}isInclude(e){const{startColumn:t,startRow:i,endColumn:n,endRow:r}=this,{startColumn:s,startRow:d,endColumn:c,endRow:l}=e;return!(c<t||s>n||d>r||l<i)}highlightToSelection(){return p.makeCellToSelection(this._currentCell)}getRange(){return{startColumn:this._startColumn,startRow:this._startRow,endColumn:this._endColumn,endRow:this._endRow,startX:this._startX,startY:this._startY,endX:this._endX,endY:this._endY,rangeType:this.rangeType}}getCell(){return this._currentCell}getRangeType(){return this._rangeType}getValue(){return{rangeWithCoord:{startColumn:this._startColumn,startRow:this._startRow,endColumn:this._endColumn,endRow:this._endRow,startX:this._startX,startY:this._startY,endX:this._endX,endY:this._endY,rangeType:this._rangeType},primaryWithCoord:this._currentCell}}setValue(e,t){const{startColumn:i,startRow:n,endColumn:r,endRow:s,startX:d,startY:c,endX:l,endY:f,rangeType:C}=e;this._startColumn=i,this._startRow=n,this._endColumn=r,this._endRow=s,this._startX=d,this._startY=c,this._endX=l,this._endY=f,C!=null&&(this._rangeType=C),this.setCurrentCell(t)}setCurrentCell(e){e&&(this._currentCell=e)}clearCurrentCell(){this._currentCell=null}}const Ze=.3;class Ge{constructor(e,t,i=!0,n){a(this,"_leftControl");a(this,"_rightControl");a(this,"_topControl");a(this,"_bottomControl");a(this,"_backgroundControlTop");a(this,"_backgroundControlBottom");a(this,"_backgroundControlMiddleLeft");a(this,"_backgroundControlMiddleRight");a(this,"_fillControl");a(this,"_selectionShape");a(this,"_rowHeaderBackground");a(this,"_rowHeaderBorder");a(this,"_rowHeaderGroup");a(this,"_rowHeaderHighlight");a(this,"_columnHeaderBackground");a(this,"_columnHeaderBorder");a(this,"_columnHeaderGroup");a(this,"_columnHeaderHighlight");a(this,"_topLeftWidget");a(this,"_topCenterWidget");a(this,"_topRightWidget");a(this,"_middleLeftWidget");a(this,"_middleRightWidget");a(this,"_bottomLeftWidget");a(this,"_bottomCenterWidget");a(this,"_bottomRightWidget");a(this,"_dashRect");a(this,"_selectionModel");a(this,"_selectionStyle");a(this,"_rowHeaderWidth",0);a(this,"_columnHeaderHeight",0);a(this,"_widgetRects",[]);a(this,"_dispose$",new H.BehaviorSubject(this));a(this,"dispose$",this._dispose$.asObservable());a(this,"selectionMoving$",new H.Subject);a(this,"selectionMoved$",new H.Subject);a(this,"selectionScaling$",new H.Subject);a(this,"selectionScaled$",new H.Subject);a(this,"selectionFilling$",new H.Subject);a(this,"_selectionFilled$",new H.Subject);a(this,"selectionFilled$",this._selectionFilled$.asObservable());a(this,"_defaultStyle");a(this,"_currentStyle");a(this,"_isHelperSelection",!0);this._scene=e,this._zIndex=t,this._isHeaderHighlight=i,this._themeService=n,this._initialize()}get zIndex(){return this._zIndex}get leftControl(){return this._leftControl}get rightControl(){return this._rightControl}get topControl(){return this._topControl}get bottomControl(){return this._bottomControl}get fillControl(){return this._fillControl}get backgroundControlTop(){return this._backgroundControlTop}get backgroundControlBottom(){return this._backgroundControlBottom}get backgroundControlMiddleLeft(){return this._backgroundControlMiddleLeft}get backgroundControlMiddleRight(){return this._backgroundControlMiddleRight}get selectionShape(){return this._selectionShape}get model(){return this._selectionModel}get topLeftWidget(){return this._topLeftWidget}get topCenterWidget(){return this._topCenterWidget}get topRightWidget(){return this._topRightWidget}get middleLeftWidget(){return this._middleLeftWidget}get middleRightWidget(){return this._middleRightWidget}get bottomLeftWidget(){return this._bottomLeftWidget}get bottomCenterWidget(){return this._bottomCenterWidget}get bottomRightWidget(){return this._bottomRightWidget}get selectionStyle(){return this._selectionStyle}get dashRect(){return this._dashRect}get isHelperSelection(){return this._isHelperSelection}setEvent(e){this.leftControl.evented=e,this.rightControl.evented=e,this.topControl.evented=e,this.bottomControl.evented=e}enableHeaderHighlight(){this._isHelperSelection=!0}disableHeaderHighlight(){this._isHeaderHighlight=!1}refreshSelectionFilled(e){this._selectionFilled$.next(e)}updateStyle(e){this._updateControl(e,this._rowHeaderWidth,this._columnHeaderHeight)}update(e,t=0,i=0,n,r){this._selectionModel.setValue(e,r),n==null&&(n=this._selectionStyle),this._updateControl(n,t,i)}clearHighlight(){this._selectionModel.clearCurrentCell(),this._updateControl(this._selectionStyle,this._rowHeaderWidth,this._columnHeaderHeight)}getScene(){return this._scene}dispose(){var e,t,i,n,r,s,d,c,l,f,C,u,g,h,S,m,v,R,w,E,O,T,L,M,k;(e=this._leftControl)==null||e.dispose(),(t=this._rightControl)==null||t.dispose(),(i=this._topControl)==null||i.dispose(),(n=this._bottomControl)==null||n.dispose(),(r=this._backgroundControlTop)==null||r.dispose(),(s=this._backgroundControlMiddleLeft)==null||s.dispose(),(d=this._backgroundControlMiddleRight)==null||d.dispose(),(c=this._backgroundControlBottom)==null||c.dispose(),(l=this._fillControl)==null||l.dispose(),(f=this._selectionShape)==null||f.dispose(),(C=this._rowHeaderBackground)==null||C.dispose(),(u=this._rowHeaderBorder)==null||u.dispose(),(g=this._rowHeaderGroup)==null||g.dispose(),(h=this._rowHeaderBackground)==null||h.dispose(),(S=this._columnHeaderBackground)==null||S.dispose(),(m=this._columnHeaderBorder)==null||m.dispose(),(v=this._columnHeaderGroup)==null||v.dispose(),(R=this._topLeftWidget)==null||R.dispose(),(w=this._topCenterWidget)==null||w.dispose(),(E=this._topRightWidget)==null||E.dispose(),(O=this._middleLeftWidget)==null||O.dispose(),(T=this._middleRightWidget)==null||T.dispose(),(L=this._bottomLeftWidget)==null||L.dispose(),(M=this._bottomCenterWidget)==null||M.dispose(),(k=this._bottomRightWidget)==null||k.dispose(),this._dispose$.next(this),this._dispose$.complete()}getCurrentCellInfo(){const e=this.model.currentCell;if(e){let t;if(e.isMerged){const i=e.mergeInfo;t={startRow:i.startRow,endRow:i.endRow,startColumn:i.startColumn,endColumn:i.endColumn,startX:i.startX,endX:i.endX,startY:i.startY,endY:i.endY}}else{const{actualRow:i,actualColumn:n,startX:r,endX:s,startY:d,endY:c}=e;t={startRow:i,endRow:i,startColumn:n,endColumn:n,startX:r,endX:s,startY:d,endY:c}}return t}}getValue(){return{...this._selectionModel.getValue(),style:this._selectionStyle}}getRange(){return this._selectionModel.getValue().rangeWithCoord}enableHelperSelection(){this._isHelperSelection=!0}disableHelperSelection(){this._isHelperSelection=!1}updateStyleId(e){this._selectionStyle!=null&&(this._selectionStyle.id=e)}_updateControl(e,t,i){const{startX:n,startY:r,endX:s,endY:d}=this._selectionModel,c=this._defaultStyle;e==null&&(e=c),this._currentStyle=e;const{stroke:l=c.stroke,widgets:f=c.widgets,hasAutoFill:C=c.hasAutoFill,AutofillStroke:u=c.AutofillStroke,strokeDash:g}=e;let{strokeWidth:h=c.strokeWidth,AutofillSize:S=c.AutofillSize,AutofillStrokeWidth:m=c.AutofillStrokeWidth}=e;const v=this._getScale(),R=(h+A.SELECTION_CONTROL_BORDER_BUFFER_WIDTH)/2/v;h/=v,S/=v,m/=v<1?1:v;const w=A.SELECTION_CONTROL_BORDER_BUFFER_WIDTH/v,E=_.FIX_ONE_PIXEL_BLUR_OFFSET/v;this.leftControl.transformByState({height:d-r,left:-R+E,width:h,strokeWidth:w,top:-w/2+E}),this.leftControl.setProps({fill:l,stroke:A.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),this.rightControl.transformByState({height:d-r,left:s-n-R+E,width:h,strokeWidth:w,top:-w/2+E}),this.rightControl.setProps({fill:l,stroke:A.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),this.topControl.transformByState({width:s-n+h,top:-R+E,left:-R+E,height:h,strokeWidth:w}),this.topControl.setProps({fill:l,stroke:A.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),this.bottomControl.transformByState({width:s-n+h,top:d-r-R+E,height:h,left:-R+E,strokeWidth:w}),this.bottomControl.setProps({fill:l,stroke:A.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),g==null?this.dashRect.hide():(this.dashRect.transformByState({height:d-r-h/2,width:s-n-h/2,strokeWidth:h,left:h/2-1/v,top:h/2-1/v}),this.dashRect.setProps({strokeDashArray:[0,g]}),this.dashRect.show()),C===!0&&!this._hasWidgets(f)?(this.fillControl.setProps({fill:l,stroke:u,strokeScaleEnabled:!1}),this.fillControl.transformByState({width:S-m,height:S-m,left:s-n-S/2+m/2,top:d-r-S/2+m/2,strokeWidth:m}),this.fillControl.show()):this.fillControl.hide(),this._updateBackgroundControl(e),this._updateBackgroundTitle(e,t,i),this._updateWidgets(e),this.selectionShape.show(),this.selectionShape.translate(n,r),this._selectionStyle=e,this._rowHeaderWidth=t||0,this._columnHeaderHeight=i||0,this.selectionShape.makeDirtyNoDebounce(!0)}_initialize(){this._defaultStyle=A.getNormalSelectionStyle(this._themeService),this._selectionModel=new ut;const e=this._zIndex;this._leftControl=new _.Rect("__SpreadsheetSelectionShapeLeftControl__"+e,{zIndex:e}),this._rightControl=new _.Rect("__SpreadsheetSelectionShapeRightControl__"+e,{zIndex:e}),this._topControl=new _.Rect("__SpreadsheetSelectionTopControl__"+e,{zIndex:e}),this._bottomControl=new _.Rect("__SpreadsheetSelectionBottomControl__"+e,{zIndex:e}),this._backgroundControlTop=new _.Rect("__SpreadsheetSelectionBackgroundControlTop__"+e,{zIndex:e-1,evented:!1}),this._backgroundControlBottom=new _.Rect("__SpreadsheetSelectionBackgroundControlBottom__"+e,{zIndex:e-1,evented:!1}),this._backgroundControlMiddleLeft=new _.Rect("__SpreadsheetSelectionBackgroundControlMiddleLeft__"+e,{zIndex:e-1,evented:!1}),this._backgroundControlMiddleRight=new _.Rect("__SpreadsheetSelectionBackgroundControlMiddleRight__"+e,{zIndex:e-1,evented:!1}),this._fillControl=new _.Rect("__SpreadsheetSelectionFillControl__"+e,{zIndex:e+1}),this._dashRect=new _.Rect("__SpreadsheetDragDashControl__"+e,{zIndex:e+2,evented:!1,stroke:"#fff"});const t=[this._fillControl,this._leftControl,this._rightControl,this._topControl,this._bottomControl,this._backgroundControlTop,this._backgroundControlMiddleLeft,this._backgroundControlMiddleRight,this._backgroundControlBottom,this._dashRect];this._widgetRects=this._initialWidget(),this._selectionShape=new _.Group("__SpreadsheetSelectionShape__"+e,...t,...this._widgetRects),this._selectionShape.hide(),this._selectionShape.evented=!1,this._selectionShape.zIndex=e;const i=this.getScene();i.addObject(this._selectionShape,at),i.onTransformChangeObservable.add(n=>{n.type===_.TRANSFORM_CHANGE_OBSERVABLE_TYPE.scale&&this._updateControl(this._currentStyle,this._rowHeaderWidth,this._columnHeaderHeight)}),this._initialTitle()}_initialTitle(){const e=this._zIndex;this._rowHeaderBackground=new _.Rect("__SpreadSheetSelectionRowHeaderBackground__"+e,{zIndex:e-1,evented:!1}),this._rowHeaderBorder=new _.Rect("__SpreadSheetSelectionRowHeaderBorder__"+e,{zIndex:e-1,evented:!1}),this._rowHeaderGroup=new _.Group("__SpreadSheetSelectionRowHeaderGroup__"+e,this._rowHeaderBackground,this._rowHeaderBorder),this._rowHeaderGroup.hide(),this._rowHeaderGroup.evented=!1,this._rowHeaderGroup.zIndex=e,this._columnHeaderBackground=new _.Rect("__SpreadSheetSelectionColumnHeaderBackground__"+e,{zIndex:e-1,evented:!1}),this._columnHeaderBorder=new _.Rect("__SpreadSheetSelectionColumnHeaderBorder__"+e,{zIndex:e-1,evented:!1}),this._columnHeaderGroup=new _.Group("__SpreadSheetSelectionColumnHeaderGroup__"+e,this._columnHeaderBackground,this._columnHeaderBorder),this._columnHeaderGroup.hide(),this._columnHeaderGroup.evented=!1,this._columnHeaderGroup.zIndex=e,this.getScene().addObjects([this._rowHeaderGroup,this._columnHeaderGroup],_.DEFAULT_SELECTION_LAYER_INDEX)}_initialWidget(){const e=this._zIndex;return this._topLeftWidget=new _.Rect("__SpreadSheetSelectionTopLeftWidget__"+e,{zIndex:e+1}),this._topCenterWidget=new _.Rect("__SpreadSheetSelectionTopCenterWidget__"+e,{zIndex:e+1}),this._topRightWidget=new _.Rect("__SpreadSheetSelectionTopRightWidget__"+e,{zIndex:e+1}),this._middleLeftWidget=new _.Rect("__SpreadSheetSelectionMiddleLeftWidget__"+e,{zIndex:e+1}),this._middleRightWidget=new _.Rect("__SpreadSheetSelectionMiddleRightWidget__"+e,{zIndex:e+1}),this._bottomLeftWidget=new _.Rect("__SpreadSheetSelectionBottomLeftWidget__"+e,{zIndex:e+1}),this._bottomCenterWidget=new _.Rect("__SpreadSheetSelectionBottomCenterWidget__"+e,{zIndex:e+1}),this._bottomRightWidget=new _.Rect("__SpreadSheetSelectionBottomRightWidget__"+e,{zIndex:e+1}),[this._topLeftWidget,this._topCenterWidget,this._topRightWidget,this._middleLeftWidget,this._middleRightWidget,this._bottomLeftWidget,this._bottomCenterWidget,this._bottomRightWidget]}_updateBackgroundTitle(e,t,i){const{startX:n,startY:r,endX:s,endY:d,rangeType:c}=this._selectionModel,l=this._defaultStyle;e==null&&(e=l);const f=this._getScale(),{stroke:C,hasRowHeader:u,rowHeaderFill:g=l.rowHeaderFill,rowHeaderStroke:h=l.rowHeaderStroke,hasColumnHeader:S,columnHeaderFill:m=l.columnHeaderFill,columnHeaderStroke:v=l.columnHeaderStroke}=e;let{rowHeaderStrokeWidth:R=l.rowHeaderStrokeWidth,columnHeaderStrokeWidth:w=l.columnHeaderStrokeWidth}=e;if(R/=f,w/=f,S===!0){let E=m;this._isHeaderHighlight&&c===p.RANGE_TYPE.COLUMN&&(E=new p.ColorKit(C).setAlpha(Ze).toString()),this._columnHeaderBackground.setProps({fill:E}),this._columnHeaderBackground.resize(s-n,i),this._columnHeaderBorder.setProps({fill:v}),this._columnHeaderBorder.transformByState({width:s-n,height:w,top:i-w+1/f}),this._columnHeaderGroup.show(),this._columnHeaderGroup.translate(n,0)}else this._columnHeaderGroup.hide();if(this._columnHeaderGroup.makeDirty(!0),u===!0){let E=g;this._isHeaderHighlight&&c===p.RANGE_TYPE.ROW&&(E=new p.ColorKit(C).setAlpha(Ze).toString()),this._rowHeaderBackground.setProps({fill:E}),this._rowHeaderBackground.resize(t,d-r),this._rowHeaderBorder.setProps({fill:h}),this._rowHeaderBorder.transformByState({width:R,height:d-r,left:t-R+1/f}),this._rowHeaderGroup.show(),this._rowHeaderGroup.translate(0,r)}else this._rowHeaderGroup.hide();this._rowHeaderGroup.makeDirty(!0)}_updateBackgroundControl(e){const{startX:t,startY:i,endX:n,endY:r}=this._selectionModel,s=this._defaultStyle;e==null&&(e=s);const d=this._getScale(),{fill:c=s.fill}=e;let{strokeWidth:l=s.strokeWidth}=e;l/=d;const f=this._selectionModel.highlightToSelection();if(!f){this._backgroundControlTop.resize(n-t,r-i),this._backgroundControlTop.setProps({fill:c}),this._backgroundControlBottom.resize(0,0),this._backgroundControlMiddleLeft.resize(0,0),this._backgroundControlMiddleRight.resize(0,0);return}const{startX:C,startY:u,endX:g,endY:h}=f,S=l/2,m={left:-S,top:-S,width:n-t+S*2,height:u-i+S};m.height<0&&(m.width=0,m.height=0),this._backgroundControlTop.transformByState(m);const v={left:-S,top:u-i,width:C-t+S,height:h-u};v.width<0&&(v.width=0,v.height=0),this._backgroundControlMiddleLeft.transformByState(v);const R={left:g-t-S,top:u-i,width:n-g+S*2,height:h-u};R.width<0&&(R.width=0,R.height=0),this._backgroundControlMiddleRight.transformByState(R);const w={left:-S,top:h-i,width:n-t+S*2,height:r-h+S};w.height<0&&(w.width=0,w.height=0),this._backgroundControlBottom.transformByState(w),this._backgroundControlTop.setProps({fill:c}),this._backgroundControlMiddleLeft.setProps({fill:c}),this._backgroundControlMiddleRight.setProps({fill:c}),this._backgroundControlBottom.setProps({fill:c})}_updateWidgets(e){const{startX:t,startY:i,endX:n,endY:r}=this._selectionModel,s=this._defaultStyle;e==null&&(e=s);const{stroke:d=s.stroke,widgets:c=s.widgets,widgetStroke:l=s.widgetStroke}=e,f=this._getScale();let{widgetSize:C=s.widgetSize,widgetStrokeWidth:u=s.widgetStrokeWidth}=e;C/=f,u/=f;const g={left:-C/2+u/2,center:(n-t)/2-C/2+u/2,right:n-t-C/2+u/2,top:-C/2,middle:(r-i)/2-C/2,bottom:r-i-C/2+u/2},h=C-u;this._widgetRects.forEach(S=>{S.setProps({fill:d,stroke:l})}),c.tl===!0?(this._topLeftWidget.transformByState({height:h,width:h,left:g.left,top:g.top,strokeWidth:u}),this._topLeftWidget.show()):this._topLeftWidget.hide(),c.tc===!0?(this._topCenterWidget.transformByState({height:h,width:h,left:g.center,top:g.top,strokeWidth:u}),this._topCenterWidget.show()):this._topCenterWidget.hide(),c.tr===!0?(this._topRightWidget.transformByState({height:h,width:h,left:g.right,top:g.top,strokeWidth:u}),this._topRightWidget.show()):this._topRightWidget.hide(),c.ml===!0?(this._middleLeftWidget.transformByState({height:h,width:h,left:g.left,top:g.middle,strokeWidth:u}),this._middleLeftWidget.show()):this._middleLeftWidget.hide(),c.mr===!0?(this._middleRightWidget.transformByState({height:h,width:h,left:g.right,top:g.middle,strokeWidth:u}),this._middleRightWidget.show()):this._middleRightWidget.hide(),c.bl===!0?(this._bottomLeftWidget.transformByState({height:h,width:h,left:g.left,top:g.bottom,strokeWidth:u}),this._bottomLeftWidget.show()):this._bottomLeftWidget.hide(),c.bc===!0?(this._bottomCenterWidget.transformByState({height:h,width:h,left:g.center,top:g.bottom,strokeWidth:u}),this._bottomCenterWidget.show()):this._bottomCenterWidget.hide(),c.br===!0?(this._bottomRightWidget.transformByState({height:h,width:h,left:g.right,top:g.bottom,strokeWidth:u}),this._bottomRightWidget.show()):this._bottomRightWidget.hide()}_hasWidgets(e){if(e==null)return!1;const t=Object.keys(e);if(t.length===0)return!1;for(const i of t)if(e[i]===!0)return!0;return!0}_getScale(){const{scaleX:e,scaleY:t}=this._scene.getAncestorScale();return Math.max(e,t)}}const Ke="__SpreadsheetHelperSelectionTempRect",gt=35;class qe{constructor(e,t,i,n,r){a(this,"_startOffsetX",0);a(this,"_startOffsetY",0);a(this,"_relativeSelectionPositionRow",0);a(this,"_relativeSelectionPositionColumn",0);a(this,"_relativeSelectionRowLength",0);a(this,"_relativeSelectionColumnLength",0);a(this,"_moveObserver");a(this,"_upObserver");a(this,"_helperSelection");a(this,"_scrollTimer");a(this,"_activeViewport");a(this,"_targetSelection",{startY:0,endY:0,startX:0,endX:0,startRow:-1,endRow:-1,startColumn:-1,endColumn:-1});a(this,"_isInMergeState",!1);a(this,"_fillControlColors",[]);this._control=e,this._skeleton=t,this._scene=i,this._themeService=n,this._injector=r,this._initialControl(),this._initialWidget(),this._initialFill(),this._control.dispose$.subscribe(()=>{this.dispose()})}get isHelperSelection(){return this._control.isHelperSelection}dispose(){var e,t;(e=this._scrollTimer)==null||e.dispose(),this._fillControlColors=[],this._clearObserverEvent(),(t=this._helperSelection)==null||t.dispose()}_getFreeze(){var t;return(t=this._injector.get(me).getCurrent())==null?void 0:t.skeleton.getWorksheetConfig().freeze}_isSelectionInViewport(e,t){const i=this._getFreeze()||{startRow:-1,startColumn:-1,xSplit:0,ySplit:0};switch(t.viewPortKey){case b.VIEW_MAIN:return e.endRow>=i.startRow&&e.endColumn>=i.startColumn;case b.VIEW_MAIN_TOP:case b.VIEW_COLUMN_RIGHT:return e.endColumn>=i.startColumn&&e.startRow<i.startRow;case b.VIEW_MAIN_LEFT:case b.VIEW_ROW_BOTTOM:return e.endRow>=i.startRow&&e.startColumn<i.startColumn;case b.VIEW_MAIN_LEFT_TOP:case b.VIEW_COLUMN_LEFT:case b.VIEW_ROW_TOP:case b.VIEW_LEFT_TOP:return e.startRow<i.startRow&&e.startColumn<i.startColumn}}_clearObserverEvent(){this._scene.onPointerMoveObserver.remove(this._moveObserver),this._scene.onPointerUpObserver.remove(this._upObserver),this._moveObserver=null,this._upObserver=null}_initialControl(){const{leftControl:e,rightControl:t,topControl:i,bottomControl:n}=this._control;[e,t,i,n].forEach(r=>{r.onPointerEnterObserver.add(()=>{r.setCursor(_.CURSOR_TYPE.MOVE)}),r.onPointerLeaveObserver.add(()=>{r.resetCursor()}),r.onPointerDownObserver.add(this._controlEvent.bind(this))})}_controlMoving(e,t){var T;const i=this._scene,n=i.getScrollXYByRelativeCoords(_.Vector2.FromArray([e,t])),{scaleX:r,scaleY:s}=i.getAncestorScale(),d=this._skeleton.getCellPositionByOffset(e,t,r,s,n),{row:c,column:l}=d,f=this._skeleton.getRowCount()-1,C=this._skeleton.getColumnCount()-1;let u=c+this._relativeSelectionPositionRow;u<0&&(u=0);let g=u+this._relativeSelectionRowLength;g>f&&(g=f,g-u<this._relativeSelectionRowLength&&(u=g-this._relativeSelectionRowLength));let h=l+this._relativeSelectionPositionColumn;h<0&&(h=0);let S=h+this._relativeSelectionColumnLength;S>C&&(S=C,S-h<this._relativeSelectionColumnLength&&(h=S-this._relativeSelectionColumnLength));const m=this._skeleton.getNoMergeCellPositionByIndex(u,h),v=this._skeleton.getNoMergeCellPositionByIndex(g,S),R=(m==null?void 0:m.startY)||0,w=(v==null?void 0:v.endY)||0,E=(m==null?void 0:m.startX)||0,O=(v==null?void 0:v.endX)||0;(T=this._helperSelection)==null||T.transformByState({left:E,top:R,width:O-E,height:w-R}),this._targetSelection={startY:R,endY:w,startX:E,endX:O,startRow:u,endRow:g,startColumn:h,endColumn:S},this._control.selectionMoving$.next(this._targetSelection)}_controlEvent(e){const{offsetX:t,offsetY:i}=e,n=this._scene,r=n.getRelativeCoord(_.Vector2.FromArray([t,i])),{x:s,y:d}=r,c=n.getScrollXYByRelativeCoords(r),{scaleX:l,scaleY:f}=n.getAncestorScale(),C=this._skeleton.getCellPositionByOffset(s,d,l,f,c);this._startOffsetX=s,this._startOffsetY=d;const{row:u,column:g}=C,{startRow:h,startColumn:S,endRow:m,endColumn:v}=this._control.model;let R=0,w=0;u<h?R-=1:u>m&&(R+=1),g<S?w-=1:g>v&&(w+=1),this._relativeSelectionPositionRow=h-u+R,this._relativeSelectionPositionColumn=S-g+w,this._relativeSelectionRowLength=m-h,this._relativeSelectionColumnLength=v-S;const E=this._control.selectionStyle,O=this._getScale();this.isHelperSelection&&(this._helperSelection=new _.Rect(Ke,{stroke:E.stroke,strokeWidth:E.strokeWidth/O}),n.addObject(this._helperSelection));const T=n.getViewport(b.VIEW_MAIN),L=_.ScrollTimer.create(n);L.startScroll(s,d,T),this._scrollTimer=L,n.disableEvent(),this._moveObserver=n.onPointerMoveObserver.add(M=>{const{offsetX:k,offsetY:W}=M,{x:y,y:Y}=n.getRelativeCoord(_.Vector2.FromArray([k,W]));this._controlMoving(y,Y),n.setCursor(_.CURSOR_TYPE.MOVE),L.scrolling(y,Y,()=>{this._controlMoving(y,Y)})}),this._upObserver=n.onPointerUpObserver.add(()=>{var k,W;(k=this._helperSelection)==null||k.dispose();const M=this._scene;M.resetCursor(),this._clearObserverEvent(),M.enableEvent(),(W=this._scrollTimer)==null||W.dispose(),this._control.selectionMoved$.next(this._targetSelection)})}_initialWidget(){const{topLeftWidget:e,topCenterWidget:t,topRightWidget:i,middleLeftWidget:n,middleRightWidget:r,bottomLeftWidget:s,bottomCenterWidget:d,bottomRightWidget:c}=this._control,l=[_.CURSOR_TYPE.NORTH_WEST_RESIZE,_.CURSOR_TYPE.NORTH_RESIZE,_.CURSOR_TYPE.NORTH_EAST_RESIZE,_.CURSOR_TYPE.WEST_RESIZE,_.CURSOR_TYPE.EAST_RESIZE,_.CURSOR_TYPE.SOUTH_WEST_RESIZE,_.CURSOR_TYPE.SOUTH_RESIZE,_.CURSOR_TYPE.SOUTH_EAST_RESIZE];[e,t,i,n,r,s,d,c].forEach((f,C)=>{f.onPointerEnterObserver.add(()=>{f.setCursor(l[C])}),f.onPointerLeaveObserver.add(()=>{f.resetCursor()}),f.onPointerDownObserver.add(u=>{this._widgetEvent(u,l[C])})})}_widgetMoving(e,t,i){const n=this._scene,r=n.getScrollXYByRelativeCoords(_.Vector2.FromArray([this._startOffsetX,this._startOffsetY])),{scaleX:s,scaleY:d}=n.getAncestorScale(),c=this._skeleton.getCellPositionByOffset(e,t,s,d,r),{row:l,column:f}=c,{rowHeaderWidth:C,columnHeaderHeight:u}=this._skeleton;let g=this._relativeSelectionPositionRow,h=this._relativeSelectionPositionColumn,S=l,m=f;i===_.CURSOR_TYPE.NORTH_WEST_RESIZE?(g=l,h=f,S=this._relativeSelectionPositionRow,m=this._relativeSelectionPositionColumn):i===_.CURSOR_TYPE.NORTH_RESIZE?(g=l,h=this._relativeSelectionPositionColumn,S=this._relativeSelectionPositionRow,m=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength):i===_.CURSOR_TYPE.NORTH_EAST_RESIZE?(g=l,h=this._relativeSelectionPositionColumn,S=this._relativeSelectionPositionRow,m=f):i===_.CURSOR_TYPE.WEST_RESIZE?(g=this._relativeSelectionPositionRow,h=f,S=this._relativeSelectionPositionRow+this._relativeSelectionRowLength,m=this._relativeSelectionPositionColumn):i===_.CURSOR_TYPE.EAST_RESIZE?S=this._relativeSelectionPositionRow+this._relativeSelectionRowLength:i===_.CURSOR_TYPE.SOUTH_WEST_RESIZE?(g=this._relativeSelectionPositionRow,h=f,S=l,m=this._relativeSelectionPositionColumn):i===_.CURSOR_TYPE.SOUTH_RESIZE&&(g=this._relativeSelectionPositionRow,h=this._relativeSelectionPositionColumn,S=l,m=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength);const{startRow:v,startColumn:R,endRow:w,endColumn:E}=this._swapPositions(g,h,S,m),O=this._skeleton.getNoMergeCellPositionByIndex(v,R),T=this._skeleton.getNoMergeCellPositionByIndex(w,E),L=(O==null?void 0:O.startY)||0,M=(T==null?void 0:T.endY)||0,k=(O==null?void 0:O.startX)||0,W=(T==null?void 0:T.endX)||0;this._targetSelection={startY:L,endY:M,startX:k,endX:W,startRow:g,endRow:S,startColumn:h,endColumn:m},this._control.update(this._targetSelection,C,u,this._control.selectionStyle),this._control.clearHighlight(),this._control.selectionScaling$.next(this._targetSelection)}_widgetEvent(e,t){const{offsetX:i,offsetY:n}=e,r=this._scene,s=r.getRelativeCoord(_.Vector2.FromArray([i,n])),{x:d,y:c}=s;this._startOffsetX=i,this._startOffsetY=n;const{startRow:l,startColumn:f,endRow:C,endColumn:u}=this._control.model;this._relativeSelectionPositionRow=l,this._relativeSelectionPositionColumn=f,this._relativeSelectionRowLength=C-l,this._relativeSelectionColumnLength=u-f,t===_.CURSOR_TYPE.NORTH_WEST_RESIZE?(this._relativeSelectionPositionRow=C,this._relativeSelectionPositionColumn=u):t===_.CURSOR_TYPE.NORTH_RESIZE?this._relativeSelectionPositionRow=C:t===_.CURSOR_TYPE.NORTH_EAST_RESIZE?this._relativeSelectionPositionRow=C:t===_.CURSOR_TYPE.WEST_RESIZE?this._relativeSelectionPositionColumn=u:t===_.CURSOR_TYPE.SOUTH_WEST_RESIZE&&(this._relativeSelectionPositionColumn=u);const g=_.ScrollTimer.create(r);g.startScroll(d,c),this._scrollTimer=g,r.disableEvent(),this._moveObserver=r.onPointerMoveObserver.add(h=>{const{offsetX:S,offsetY:m}=h,{x:v,y:R}=r.getRelativeCoord(_.Vector2.FromArray([S,m]));this._widgetMoving(v,R,t),r.setCursor(t),g.scrolling(v,R,()=>{this._widgetMoving(v,R,t)})}),this._upObserver=r.onPointerUpObserver.add(()=>{var S;const h=this._scene;h.resetCursor(),this._clearObserverEvent(),h.enableEvent(),(S=this._scrollTimer)==null||S.dispose(),this._control.selectionScaled$.next(this._targetSelection)})}_initialFill(){const{fillControl:e}=this._control;e.onPointerEnterObserver.add(()=>{e.setCursor(_.CURSOR_TYPE.CROSSHAIR)}),e.onPointerLeaveObserver.add(()=>{e.resetCursor()}),e.onPointerDownObserver.add(this._fillEvent.bind(this))}_fillMoving(e,t){var W,y,Y;const i=this._scene,n=i.getScrollXY(this._activeViewport),{scaleX:r,scaleY:s}=i.getAncestorScale(),d=this._skeleton.getCellPositionByOffset(e,t,r,s,n),{row:c,column:l}=d,f=i.getRelativeCoord(_.Vector2.FromArray([e,t])),C=this._skeleton.getRowCount()-1,u=this._skeleton.getColumnCount()-1;let g=this._relativeSelectionPositionRow,h=this._relativeSelectionPositionColumn,S=this._relativeSelectionPositionRow+this._relativeSelectionRowLength,m=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength,v=!1,R=!0;if((l<h||l>m)&&c>=g&&c<=S){const I=this._fillRuler(l,h,m,this._relativeSelectionColumnLength,u);h=I.startRowOrColumn,m=I.endRowOrColumn,v=I.isLighten,R=!1}else if((c<g||c>S)&&l>=h&&l<=m){const I=this._fillRuler(c,g,S,this._relativeSelectionRowLength,C);g=I.startRowOrColumn,S=I.endRowOrColumn,v=I.isLighten}else if(Math.abs(this._startOffsetX-f.x-n.x)/2>Math.abs(this._startOffsetY-f.y-n.y)){const I=this._fillRuler(l,h,m,this._relativeSelectionColumnLength,u);h=I.startRowOrColumn,m=I.endRowOrColumn,v=I.isLighten,R=!1}else{const I=this._fillRuler(c,g,S,this._relativeSelectionRowLength,C);g=I.startRowOrColumn,S=I.endRowOrColumn,v=I.isLighten}const w=this._skeleton.getNoMergeCellPositionByIndex(g,h),E=this._skeleton.getNoMergeCellPositionByIndex(S,m),O=(w==null?void 0:w.startY)||0,T=(E==null?void 0:E.endY)||0,L=(w==null?void 0:w.startX)||0,M=(E==null?void 0:E.endX)||0;v?this._controlHandler((I,P)=>{const U=new p.ColorKit(this._fillControlColors[P]).lighten(gt).toRgbString();I.setProps({fill:U})}):this._controlHandler((I,P)=>{I.setProps({fill:this._fillControlColors[P]})});const k=A.SELECTION_CONTROL_BORDER_BUFFER_WIDTH/this._getScale();g===S&&R===!0||h===m&&R===!1?(W=this._helperSelection)==null||W.hide():((y=this._helperSelection)==null||y.transformByState({left:L-k/2,top:O-k/2,width:M-L,height:T-O}),(Y=this._helperSelection)==null||Y.show()),this._targetSelection={startY:O,endY:T,startX:L,endX:M,startRow:g,endRow:S,startColumn:h,endColumn:m},this._control.selectionFilling$.next(this._targetSelection)}_fillEvent(e){const{offsetX:t,offsetY:i}=e,n=this._scene,r=n.getRelativeCoord(_.Vector2.FromArray([t,i])),{x:s,y:d}=r;this._startOffsetX=s,this._startOffsetY=d;const{startRow:c,startColumn:l,endRow:f,endColumn:C}=this._control.model;this._isInMergeState=this._hasMergeInRange(c,l,f,C),this._relativeSelectionPositionRow=c,this._relativeSelectionPositionColumn=l,this._relativeSelectionRowLength=f-c,this._relativeSelectionColumnLength=C-l;const u=this._control.selectionStyle;let g=u==null?void 0:u.stroke,h=u==null?void 0:u.strokeWidth;const S=A.getNormalSelectionStyle(this._themeService);g==null&&(g=S.stroke),h==null&&(h=S.strokeWidth);const m=this._getScale();h/=m;const v=A.SELECTION_CONTROL_BORDER_BUFFER_WIDTH/m,R=new p.ColorKit(g).darken(2).toRgbString();this.isHelperSelection&&(this._helperSelection=new _.Rect(Ke,{stroke:R,strokeWidth:h+v/2}),n.addObject(this._helperSelection)),this._activeViewport=n.getActiveViewportByCoord(_.Vector2.FromArray([t,i]));const w=n.getViewport(b.VIEW_MAIN),E=_.ScrollTimer.create(n,this._activeViewport.viewPortKey===b.VIEW_MAIN?_.ScrollTimerType.ALL:_.ScrollTimerType.NONE);E.startScroll(s,d,w),this._scrollTimer=E,n.disableEvent(),this._controlHandler(O=>{this._fillControlColors.push(O.fill)}),this._moveObserver=n.onPointerMoveObserver.add(O=>{var Y;const{offsetX:T,offsetY:L}=O,M=n.getActiveViewportByCoord(_.Vector2.FromArray([T,L])),{x:k,y:W}=n.getRelativeCoord(_.Vector2.FromArray([T,L]));this._fillMoving(k,W),n.setCursor(_.CURSOR_TYPE.CROSSHAIR);const y=this._targetSelection;if(w&&M&&((Y=this._activeViewport)==null?void 0:Y.viewPortKey)!==(M==null?void 0:M.viewPortKey)){let I;y.startRow!==c?(E.scrollTimerType=_.ScrollTimerType.Y,I={...y,endRow:y.startRow}):y.endRow!==f?(E.scrollTimerType=_.ScrollTimerType.Y,I={...y,startRow:y.endRow}):y.startColumn!==l?(E.scrollTimerType=_.ScrollTimerType.X,I={...y,endColumn:y.startColumn}):(E.scrollTimerType=_.ScrollTimerType.X,I={...y,startColumn:y.endColumn}),this._isSelectionInViewport(I,M)&&(w.scrollTo({x:E.scrollTimerType===_.ScrollTimerType.X?0:void 0,y:E.scrollTimerType===_.ScrollTimerType.Y?0:void 0}),this._activeViewport=M)}E.scrolling(k,W,()=>{this._fillMoving(k,W)})}),this._upObserver=n.onPointerUpObserver.add(()=>{var T,L;(T=this._helperSelection)==null||T.dispose();const O=this._scene;O.resetCursor(),this._clearObserverEvent(),O.enableEvent(),(L=this._scrollTimer)==null||L.dispose(),this._control.refreshSelectionFilled(this._targetSelection),this._isInMergeState=!1,this._controlHandler((M,k)=>{M.setProps({fill:this._fillControlColors[k]})}),this._fillControlColors=[]})}_hasMergeInRange(e,t,i,n){const r=this._skeleton.mergeData;if(!r)return!1;for(const s of r){const{startRow:d,startColumn:c,endRow:l,endColumn:f}=s,C={left:t,top:e,right:n,bottom:i},u={left:c,top:d,right:f,bottom:l};if(_.isRectIntersect(C,u))return!0}return!1}_swapPositions(e,t,i,n){const r=Math.min(e,i),s=Math.min(t,n),d=Math.max(e,i),c=Math.max(t,n);return{startRow:r,startColumn:s,endRow:d,endColumn:c}}_controlHandler(e){const{leftControl:t,rightControl:i,topControl:n,bottomControl:r,backgroundControlTop:s,backgroundControlMiddleLeft:d,backgroundControlMiddleRight:c,backgroundControlBottom:l,fillControl:f}=this._control,C=[t,i,n,r,s,d,c,l,f];for(let u=0,g=C.length;u<g;u++){const h=C[u];e(h,u)}}_fillRuler(e,t,i,n,r){let s=!1;if(e<t)if(this._isInMergeState&&e<t){const d=t-e,c=n+1,l=Math.ceil(d/c);let f=t-l*c;f<0&&(f=t-(l-1)*c),t=f}else t=e;else if(e>=t&&e<=i)s=!0,i=e;else if(this._isInMergeState&&e>i){const d=e-i,c=n+1,l=Math.ceil(d/c);let f=i+l*c;f>r&&(f=i+(l-1)*c),i=f}else i=e;return{rowOrColumn:e,startRowOrColumn:t,endRowOrColumn:i,isLighten:s}}_getScale(){const{scaleX:e,scaleY:t}=this._scene.getAncestorScale();return Math.max(e,t)}}var ft=Object.defineProperty,St=Object.getOwnPropertyDescriptor,Ct=(o,e,t,i)=>{for(var n=i>1?void 0:i?St(e,t):e,r=o.length-1,s;r>=0;r--)(s=o[r])&&(n=(i?s(e,t,n):s(n))||n);return i&&n&&ft(e,t,n),n},pe=(o,e)=>(t,i)=>e(t,i,o);let Je=class{constructor(o,e,t,i){a(this,"hasSelection",!1);a(this,"_downObserver");a(this,"_moveObserver");a(this,"_upObserver");a(this,"_controlFillConfig$",new H.BehaviorSubject(null));a(this,"controlFillConfig$",this._controlFillConfig$.asObservable());a(this,"_selectionControls",[]);a(this,"_startSelectionRange",{startY:0,endY:0,startX:0,endX:0,startRow:-1,endRow:-1,startColumn:-1,endColumn:-1});a(this,"_startOffsetX",0);a(this,"_startOffsetY",0);a(this,"_scrollTimer");a(this,"_cancelDownObserver");a(this,"_cancelUpObserver");a(this,"_skeleton");a(this,"_scene");a(this,"_isHeaderHighlight",!0);a(this,"_isDetectMergedCell",!0);a(this,"_selectionStyle");a(this,"_isSelectionEnabled",!0);a(this,"_isShowPreviousEnable",0);a(this,"_isRemainLastEnable",!0);a(this,"_isSkipRemainLastEnable",!1);a(this,"_selectionMoveEnd$",new H.BehaviorSubject([]));a(this,"selectionMoveEnd$",this._selectionMoveEnd$.asObservable());a(this,"_selectionMoving$",new H.Subject);a(this,"selectionMoving$",this._selectionMoving$.asObservable());a(this,"_selectionMoveStart$",new H.Subject);a(this,"selectionMoveStart$",this._selectionMoveStart$.asObservable());a(this,"_activeViewport");this._themeService=o,this._shortcutService=e,this._sheetSkeletonManagerService=t,this._injector=i,this._selectionStyle=A.getNormalSelectionStyle(this._themeService)}enableHeaderHighlight(){this._isHeaderHighlight=!0}disableHeaderHighlight(){this._isHeaderHighlight=!1}enableDetectMergedCell(){this._isDetectMergedCell=!0}disableDetectMergedCell(){this._isDetectMergedCell=!1}setStyle(o){this._selectionStyle=o}resetStyle(){this.setStyle(A.getNormalSelectionStyle(this._themeService))}enableSelection(){this._isSelectionEnabled=!0}disableSelection(){this._isSelectionEnabled=!1}enableShowPrevious(){this._isShowPreviousEnable=!0}disableShowPrevious(){this._isShowPreviousEnable=!1}enableRemainLast(){this._isRemainLastEnable=!0}disableRemainLast(){this._isRemainLastEnable=!1}enableSkipRemainLast(){this._isSkipRemainLastEnable=!0}disableSkipRemainLast(){this._isSkipRemainLastEnable=!1}getViewPort(){return this._activeViewport}addControlToCurrentByRangeData(o){const e=this.getCurrentControls();if(!e)return;const{rangeWithCoord:t,primaryWithCoord:i}=o,n=this._skeleton;let r=o.style;r==null&&(r=A.getNormalSelectionStyle(this._themeService));const s=this._scene;if(s==null||n==null)return;const d=new Ge(s,e.length,this._isHeaderHighlight,this._themeService);new qe(d,n,s,this._themeService,this._injector);const{rowHeaderWidth:c,columnHeaderHeight:l}=n;d.update(t,c,l,r,i),this._isHeaderHighlight?d.enableHeaderHighlight():d.disableHeaderHighlight(),e.push(d)}updateControlForCurrentByRangeData(o){const e=this.getCurrentControls();if(!e)return;const t=this._skeleton;if(t==null)return;const{rowHeaderWidth:i,columnHeaderHeight:n}=t;for(let r=0,s=o.length;r<s;r++){const{rangeWithCoord:d,primaryWithCoord:c,style:l}=o[r];e[r].update(d,i,n,l,c)}}refreshSelectionMoveStart(){this._selectionMoveStart$.next(this.getSelectionDataWithStyle())}changeRuntime(o,e,t){this._skeleton=o,this._scene=e,this._activeViewport=t||e.getViewports()[0]}getSelectionDataWithStyle(){return this._selectionControls.map(e=>e.getValue())}getCurrentControls(){return this._selectionControls}_clearSelectionControls(){const o=this.getCurrentControls();if(o.length>0){for(const e of o)e.dispose();o.length=0}}_getFreeze(){var e;return(e=this._sheetSkeletonManagerService.getCurrent())==null?void 0:e.skeleton.getWorksheetConfig().freeze}_getViewportByCell(o,e){if(!this._scene||o===void 0||e===void 0)return null;const t=this._getFreeze();if(!t||t.startRow<=0&&t.startColumn<=0)return this._scene.getViewport(b.VIEW_MAIN);if(o>t.startRow&&e>t.startColumn)return this._scene.getViewport(b.VIEW_MAIN);if(o<=t.startRow&&e<=t.startColumn)return this._scene.getViewport(b.VIEW_MAIN_LEFT_TOP);if(o<=t.startRow&&e>t.startColumn)return this._scene.getViewport(b.VIEW_MAIN_TOP);if(o>t.startRow&&e<=t.startColumn)return this._scene.getViewport(b.VIEW_MAIN_LEFT)}getActiveSelections(){const o=this.getCurrentControls();if(o&&o.length>0)return o==null?void 0:o.map(t=>{const i=t.model,n=i.currentCell;let r=null;return n&&(r={actualRow:n.actualRow,actualColumn:n.actualColumn,isMerged:n.isMerged,isMergedMainCell:n.isMergedMainCell,startRow:n.mergeInfo.startRow,startColumn:n.mergeInfo.startColumn,endRow:n.mergeInfo.endRow,endColumn:n.mergeInfo.endColumn}),{range:{startRow:i.startRow,startColumn:i.startColumn,endRow:i.endRow,endColumn:i.endColumn},primary:r}})}getActiveRange(){const o=this.getCurrentControls(),e=o&&o[o.length-1].model;return e&&{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn}}getActiveSelection(){const o=this.getCurrentControls();return o&&o[o.length-1]}endSelection(){this._endSelection(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),this._shortcutService.setDisable(!1)}reset(){this._clearSelectionControls(),this._moveObserver=null,this._upObserver=null,this._downObserver=null}resetAndEndSelection(){this.endSelection(),this.reset()}eventTrigger(o,e=0,t=p.RANGE_TYPE.NORMAL,i,n=_.ScrollTimerType.ALL){var ve,fe;if(this._isSelectionEnabled===!1)return;const r=this._skeleton,{offsetX:s,offsetY:d}=o,c=this._scene;if(c==null||r==null)return;i!=null&&(this._activeViewport=i);const l=c.getViewport(b.VIEW_MAIN),f=c.getRelativeCoord(_.Vector2.FromArray([s,d]));let{x:C,y:u}=f;this._startOffsetX=C,this._startOffsetY=u;const g=c.getScrollXYByRelativeCoords(f),{scaleX:h,scaleY:S}=c.getAncestorScale();t===p.RANGE_TYPE.ROW?C=0:t===p.RANGE_TYPE.COLUMN&&(u=0);const m=this._getSelectedRangeWithMerge(C,u,h,S,g);if(!m)return!1;const{rangeWithCoord:v,primaryWithCoord:R}=m,{startRow:w,startColumn:E,endColumn:O,endRow:T,startY:L,endY:M,startX:k,endX:W}=v,{rowHeaderWidth:y,columnHeaderHeight:Y}=r,I={startColumn:E,startRow:w,endColumn:O,endRow:T,startY:L,endY:M,startX:k,endX:W,rangeType:t};this._startSelectionRange=I;let P=this.getActiveSelection();const U=this.getCurrentControls();if(!U)return!1;for(const D of U){if(o.button===2&&D.model.isInclude(I)){P=D;return}if(D.model.isEqual(I)){P=D;break}o.shiftKey||D.clearHighlight()}if(U.length>0&&!o.ctrlKey&&!o.shiftKey&&!this._isShowPreviousEnable&&!this._isRemainLastEnable){for(const D of U)D.dispose();U.length=0}const oe=P&&P.model.currentCell;if(P&&o.shiftKey&&oe){const{actualRow:D,actualColumn:le,mergeInfo:ee}=oe,te=Math.min(D,I.startRow,ee.startRow),ie=Math.max(D,I.endRow,ee.endRow),ce=Math.min(le,I.startColumn,ee.startColumn),ae=Math.max(le,I.endColumn,ee.endColumn),V=r.getMergeBounding(te,ce,ie,ae),x=r.getNoMergeCellPositionByIndex(V.startRow,V.startColumn),B=r.getNoMergeCellPositionByIndex(V.endRow,V.endColumn),ue={startColumn:V.startColumn,startRow:V.startRow,endColumn:V.endColumn,endRow:V.endRow,startY:x.startY,endY:B.endY,startX:x.startX,endX:B.endX,rangeType:t},$=r.getCellByIndex(D,le);this._startSelectionRange={startColumn:$.mergeInfo.startColumn,startRow:$.mergeInfo.startRow,endColumn:$.mergeInfo.endColumn,endRow:$.mergeInfo.endRow,startY:$.mergeInfo.startY||0,endY:$.mergeInfo.endY||0,startX:$.mergeInfo.startX||0,endX:$.mergeInfo.endX||0,rangeType:t},P.update(ue,y,Y,this._selectionStyle,oe)}else this._isRemainLastEnable&&P&&!o.ctrlKey&&!o.shiftKey&&!this._isSkipRemainLastEnable?P.update(I,y,Y,this._selectionStyle,R):(P=new Ge(c,U.length+e,this._isHeaderHighlight,this._themeService),new qe(P,r,c,this._themeService,this._injector),P.update(I,y,Y,this._selectionStyle,R),U.push(P));this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),this.hasSelection=!0,this._endSelection(),c.disableEvent();const Q=c.getActiveViewportByCoord(_.Vector2.FromArray([C,u])),ne=_.ScrollTimer.create(this._scene,n);ne.startScroll((ve=l==null?void 0:l.left)!=null?ve:0,(fe=l==null?void 0:l.top)!=null?fe:0,l),this._scrollTimer=ne,this._addCancelObserver(),(t===p.RANGE_TYPE.ROW||t===p.RANGE_TYPE.COLUMN)&&this._moving(C,u,P,t);let re=0,se=0,j=C,Z=u;this._moveObserver=c.onPointerMoveObserver.add(D=>{var $,Ne,xe,De,Xe,Ae,Ue,Ve,ze,Fe;const{offsetX:le,offsetY:ee}=D,{x:te,y:ie}=c.getRelativeCoord(_.Vector2.FromArray([le,ee]));this._moving(te,ie,P,t);let ce=te,ae=ie;const V=this.getActiveSelection(),x=($=this._sheetSkeletonManagerService.getCurrent())==null?void 0:$.skeleton.getWorksheetConfig().freeze,B=V==null?void 0:V.model,ue=(Ne=c.getActiveViewportByCoord(_.Vector2.FromArray([le,ee])))!=null?Ne:this._getViewportByCell(B==null?void 0:B.endRow,B==null?void 0:B.endColumn);if(Q&&ue&&l){const Oe=j<l.left&&te>l.left||j>l.left&&te<l.left,be=Z<l.top&&ie>l.top||Z>l.top&&ie<l.top;Oe&&(re+=1),be&&(se+=1);const G=Q.viewPortKey,Se=ue.viewPortKey;if(G===b.VIEW_ROW_TOP)ee<l.top&&((xe=B==null?void 0:B.endRow)!=null?xe:0)<((De=x==null?void 0:x.startRow)!=null?De:0)?ae=l.top:be&&se%2===1&&l.scrollTo({y:0});else if(G===b.VIEW_COLUMN_LEFT)le<l.left&&((Xe=B==null?void 0:B.endColumn)!=null?Xe:0)<((Ae=x==null?void 0:x.startColumn)!=null?Ae:0)?ce=l.left:Oe&&re%2===1&&l.scrollTo({x:0});else if(G===Se){let J=!1,de=!1;G===b.VIEW_MAIN_LEFT_TOP?(J=!0,de=!0):G===b.VIEW_MAIN_TOP?de=!0:G===b.VIEW_MAIN_LEFT&&(J=!0),((Ue=B==null?void 0:B.endRow)!=null?Ue:0)>((Ve=x==null?void 0:x.startRow)!=null?Ve:0)&&(de=!1),((ze=B==null?void 0:B.endColumn)!=null?ze:0)>((Fe=x==null?void 0:x.startColumn)!=null?Fe:0)&&(J=!1),J&&(ce=l.left),de&&(ae=l.top)}else{const J={x:Q.scrollX,y:Q.scrollY},de={x:ue.scrollX,y:ue.scrollY},Te=J.x!==de.x&&Oe&&re%2===1,ye=J.y!==de.y&&be&&se%2===1;(Te||ye)&&(l.scrollTo({x:Te?J.x:void 0,y:ye?J.y:void 0}),Te||(ce=l.left),ye||(ae=l.top)),(G===b.VIEW_MAIN_LEFT_TOP&&Se===b.VIEW_MAIN_LEFT||Se===b.VIEW_MAIN_LEFT_TOP&&G===b.VIEW_MAIN_LEFT)&&(ce=l.left),(G===b.VIEW_MAIN_LEFT_TOP&&Se===b.VIEW_MAIN_TOP||Se===b.VIEW_MAIN_LEFT_TOP&&G===b.VIEW_MAIN_TOP)&&(ae=l.top)}j=te,Z=ie}ne.scrolling(ce,ae,()=>{this._moving(te,ie,P,t)})}),this._upObserver=c.onPointerUpObserver.add(D=>{this._endSelection(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),this._shortcutService.setDisable(!1)}),this._shortcutService.setDisable(!0)}convertSelectionRangeToData(o){const{range:e,primary:t,style:i}=o;let n=this.convertRangeDataToSelection(e);return n==null&&(n={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1,startY:0,endY:0,startX:0,endX:0,rangeType:p.RANGE_TYPE.NORMAL}),{rangeWithCoord:n,primaryWithCoord:this.convertCellRangeToInfo(t),style:i}}convertRangeDataToSelection(o){const{startRow:e,startColumn:t,endRow:i,endColumn:n,rangeType:r}=o,s=this._scene,d=this._skeleton;if(s==null||d==null)return;s.getAncestorScale();const c=d.getNoMergeCellPositionByIndex(e,t),l=d.getNoMergeCellPositionByIndex(i,n);return{startRow:e,startColumn:t,endRow:i,endColumn:n,rangeType:r,startY:(c==null?void 0:c.startY)||0,endY:(l==null?void 0:l.endY)||0,startX:(c==null?void 0:c.startX)||0,endX:(l==null?void 0:l.endX)||0}}convertCellRangeToInfo(o){if(o==null)return;const e=this._scene,t=this._skeleton;if(e==null||t==null)return;const{actualRow:i,actualColumn:n,isMerged:r,isMergedMainCell:s,startRow:d,startColumn:c,endRow:l,endColumn:f}=o,C=t.getNoMergeCellPositionByIndex(i,n),u=t.getNoMergeCellPositionByIndex(d,c),g=t.getNoMergeCellPositionByIndex(l,f);return{actualRow:i,actualColumn:n,isMerged:r,isMergedMainCell:s,startX:C.startX,startY:C.startY,endX:C.endX,endY:C.endY,mergeInfo:{startRow:d,startColumn:c,endRow:l,endColumn:f,startY:(u==null?void 0:u.startY)||0,endY:(g==null?void 0:g.endY)||0,startX:(u==null?void 0:u.startX)||0,endX:(g==null?void 0:g.endX)||0}}}_moving(o,e,t,i){var fe;const n=this._skeleton,r=this._scene;if(r==null||n==null)return!1;const{startRow:s,startColumn:d,endRow:c,endColumn:l}=this._startSelectionRange,{startRow:f,endRow:C,startColumn:u,endColumn:g}=(t==null?void 0:t.model)||{startRow:-1,endRow:-1,startColumn:-1,endColumn:-1},h=r.getViewport(b.VIEW_MAIN),S=(fe=this._getViewportByCell(C,g))!=null?fe:h,m=r.getScrollXYByRelativeCoords(_.Vector2.FromArray([this._startOffsetX,this._startOffsetY]),S),{scaleX:v,scaleY:R}=r.getAncestorScale(),{rowHeaderWidth:w,columnHeaderHeight:E}=n;i===p.RANGE_TYPE.ROW?o=Number.POSITIVE_INFINITY:i===p.RANGE_TYPE.COLUMN&&(e=Number.POSITIVE_INFINITY);const O=this._getSelectedRangeWithMerge(o,e,v,R,m);if(!O)return!1;const{rangeWithCoord:T,primaryWithCoord:L}=O,{startRow:M,startColumn:k,endColumn:W,endRow:y}=T,Y=Math.min(M,s),I=Math.min(k,d),P=Math.max(y,c),U=Math.max(W,l);let oe={startRow:Y,startColumn:I,endRow:P,endColumn:U};if(this._isDetectMergedCell&&(oe=n.getSelectionBounding(Y,I,P,U)),!oe)return!1;const{startRow:Q,startColumn:ne,endRow:re,endColumn:se}=oe,j=n.getNoMergeCellPositionByIndex(Q,ne),Z=n.getNoMergeCellPositionByIndex(re,se),ve={startColumn:ne,startRow:Q,endColumn:se,endRow:re,startY:(j==null?void 0:j.startY)||0,endY:(Z==null?void 0:Z.endY)||0,startX:(j==null?void 0:j.startX)||0,endX:(Z==null?void 0:Z.endX)||0};(u!==ne||f!==Q||g!==se||C!==re)&&t!=null&&(t.update(ve,w,E),this._selectionMoving$.next(this.getSelectionDataWithStyle()))}_endSelection(){var t,i;const o=this._scene;if(o==null)return;o.onPointerMoveObserver.remove(this._moveObserver),o.onPointerUpObserver.remove(this._upObserver),o.enableEvent(),(t=this._scrollTimer)==null||t.dispose();const e=(i=o.getEngine())==null?void 0:i.activeScene;e==null||e.onPointerDownObserver.remove(this._cancelDownObserver),e==null||e.onPointerUpObserver.remove(this._cancelUpObserver)}_addCancelObserver(){var t;const o=this._scene;if(o==null)return;const e=(t=o.getEngine())==null?void 0:t.activeScene;e==null||e===o||(e.onPointerDownObserver.remove(this._cancelDownObserver),e.onPointerUpObserver.remove(this._cancelUpObserver),this._cancelDownObserver=e.onPointerDownObserver.add(i=>{this._endSelection()}),this._cancelUpObserver=e.onPointerUpObserver.add(i=>{this._endSelection()}))}_getSelectedRangeWithMerge(o,e,t,i,n){var m;if(this._isDetectMergedCell){const v=(m=this._skeleton)==null?void 0:m.calculateCellIndexByPosition(o,e,t,i,n),R=p.makeCellToSelection(v);return R==null?void 0:{primaryWithCoord:v,rangeWithCoord:R}}const r=this._skeleton;if(r==null)return;const s=r.getCellPositionByOffset(o,e,t,i,n),{row:d,column:c}=s,l=r.getNoMergeCellPositionByIndex(d,c),{startX:f,startY:C,endX:u,endY:g}=l,h={startY:C,endY:g,startX:f,endX:u,startRow:d,endRow:d,startColumn:c,endColumn:c};return{primaryWithCoord:{actualRow:d,actualColumn:c,isMerged:!1,isMergedMainCell:!1,startY:C,endY:g,startX:f,endX:u,mergeInfo:h},rangeWithCoord:h}}};Je=Ct([pe(0,N.Inject(p.ThemeService)),pe(1,X.IShortcutService),pe(2,N.Inject(me)),pe(3,N.Inject(N.Injector))],Je);const mt=N.createIdentifier("deprecated.univer.sheet.selection-render-service");var vt=Object.defineProperty,pt=Object.getOwnPropertyDescriptor,Rt=(o,e,t,i)=>{for(var n=i>1?void 0:i?pt(e,t):e,r=o.length-1,s;r>=0;r--)(s=o[r])&&(n=(i?s(e,t,n):s(n))||n);return i&&n&&vt(e,t,n),n},Re=(o,e)=>(t,i)=>e(t,i,o);const Et=p.createInterceptorKey("BEFORE_CELL_EDIT"),wt=p.createInterceptorKey("AFTER_CELL_EDIT");let Qe=class extends p.Disposable{constructor(e,t,i,n){super();a(this,"_editorUnitId",p.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);a(this,"_isForceKeepVisible",!1);a(this,"_editorIsDirty",!1);a(this,"_visible",{visible:!1,eventType:_.DeviceInputEventType.Dblclick});a(this,"_currentEditCell",null);a(this,"_currentEditCellState",null);a(this,"_currentEditCellState$",new H.BehaviorSubject(null));a(this,"currentEditCellState$",this._currentEditCellState$.asObservable());a(this,"_visible$",new H.BehaviorSubject(this._visible));a(this,"visible$",this._visible$.asObservable());a(this,"_afterVisible$",new H.BehaviorSubject(this._visible));a(this,"afterVisible$",this._afterVisible$.asObservable());a(this,"interceptor",new p.InterceptorManager({BEFORE_CELL_EDIT:Et,AFTER_CELL_EDIT:wt}));this._sheetSkeletonManagerService=e,this._selectionRenderService=t,this._themeService=i,this._currentUniverService=n,this.disposeWithMe(p.toDisposable(()=>{this._currentEditCellState$.complete(),this._currentEditCell=null})),this.disposeWithMe(p.toDisposable(this.interceptor.intercept(this.interceptor.getInterceptPoints().AFTER_CELL_EDIT,{priority:-1,handler:r=>r}))),this.disposeWithMe(p.toDisposable(this.interceptor.intercept(this.interceptor.getInterceptPoints().BEFORE_CELL_EDIT,{priority:-1,handler:r=>r})))}refreshEditCellState(){const e=this.getLatestEditCellState();this._currentEditCellState=e,this._currentEditCellState$.next(e)}setEditCell(e){this._currentEditCell=e;const t=this.getLatestEditCellState();this._currentEditCellState=t,this._currentEditCellState$.next(t)}getEditCellState(){return this._currentEditCellState}getLatestEditCellState(){var Y,I;const e=this._currentEditCell;if(e==null)return;const t=this._sheetSkeletonManagerService.getCurrent();if(t==null)return;const{skeleton:i}=t,{primary:n,unitId:r,sheetId:s,scene:d,engine:c}=e,{startRow:l,startColumn:f}=n,C=this._selectionRenderService.convertCellRangeToInfo(n);if(C==null)return;const u=p.makeCellToSelection(C);if(u==null)return;const g=_.getCanvasOffsetByEngine(c);let{startX:h,startY:S,endX:m,endY:v}=u;const{scaleX:R,scaleY:w}=d.getAncestorScale(),{scaleX:E,scaleY:O}=d.getPrecisionScale(),T=d.getScrollXY(this._selectionRenderService.getViewPort());h=_.fixLineWidthByScale(i.convertTransformToOffsetX(h,R,T),E),S=_.fixLineWidthByScale(i.convertTransformToOffsetY(S,w,T),O),m=_.fixLineWidthByScale(i.convertTransformToOffsetX(m,R,T),E),v=_.fixLineWidthByScale(i.convertTransformToOffsetY(v,w,T),O);const L=this._currentUniverService.getCurrentUniverSheetInstance(),M=L.getActiveSheet(),k={workbook:L,worksheet:M,unitId:L.getUnitId(),subUnitId:M.getSheetId(),row:l,col:f},W=this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().BEFORE_CELL_EDIT)(M.getCell(l,f),k);let y=W&&i.getCellDocumentModelWithFormula(W);if((!y||y.documentModel==null)&&(y=i.getBlankCellDocumentModel(W)),(Y=y.documentModel)==null||Y.setZoomRatio(Math.max(R,w)),(W==null?void 0:W.isInArrayFormulaRange)===!0){const P=(I=y.documentModel)==null?void 0:I.getBody();P&&(P.textRuns=[{st:0,ed:P.dataStream.length-2,ts:{cl:{rgb:this._themeService.getCurrentTheme().textColorSecondary}}}])}return{position:{startX:h,startY:S,endX:m,endY:v},scaleX:R,scaleY:w,canvasOffset:g,row:l,column:f,unitId:r,sheetId:s,documentLayoutObject:y,editorUnitId:this._editorUnitId,isInArrayFormulaRange:W==null?void 0:W.isInArrayFormulaRange}}getCurrentEditorId(){return this._editorUnitId}changeVisible(e){this._visible=e,e.visible&&(this._editorIsDirty=!1),this._visible$.next(this._visible),this._afterVisible$.next(this._visible)}isVisible(){return this._visible}enableForceKeepVisible(){this._isForceKeepVisible=!0}disableForceKeepVisible(){this._isForceKeepVisible=!1}isForceKeepVisible(){return this._isForceKeepVisible}changeEditorDirty(e){this._editorIsDirty=e}getEditorDirty(){return this._editorIsDirty}};Qe=Rt([Re(0,N.Inject(me)),Re(1,mt),Re(2,N.Inject(p.ThemeService)),Re(3,p.IUniverInstanceService)],Qe);const It=N.createIdentifier("univer.sheet-editor-bridge.service"),Le={id:"zen-editor.operation.open-zen-editor",type:p.CommandType.OPERATION,handler:o=>!0};class Ot{constructor(){a(this,"_position",null);a(this,"_position$",new H.BehaviorSubject(null));a(this,"position$",this._position$.asObservable())}dispose(){this._position$.complete(),this._position=null}setPosition(e){this._position=e,this._refresh(e)}getPosition(){return this._position}_refresh(e){this._position$.next(e)}}const ke=N.createIdentifier("univer.sheet-zen-editor-manager.service");var bt=Object.defineProperty,Tt=Object.getOwnPropertyDescriptor,yt=(o,e,t,i)=>{for(var n=i>1?void 0:i?Tt(e,t):e,r=o.length-1,s;r>=0;r--)(s=o[r])&&(n=(i?s(e,t,n):s(n))||n);return i&&n&&bt(e,t,n),n},K=(o,e)=>(t,i)=>e(t,i,o);const z="__defaultDocumentZenEditorSpecialUnitId_20231218__";let Ee=class extends p.RxDisposable{constructor(o,e,t,i,n,r,s,d,c,l){super(),this._currentUniverService=o,this._zenEditorManagerService=e,this._renderManagerService=t,this._commandService=i,this._zenZoneService=n,this._editorBridgeService=r,this._undoRedoService=s,this._textSelectionManagerService=d,this._docSkeletonManagerService=c,this._docViewModelManagerService=l,this._initialize()}_initialize(){this._syncZenEditorSize(),this._commandExecutedListener(),this._createZenEditorInstance()}_createZenEditorInstance(){const o={id:z,body:{dataStream:`${p.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[],paragraphs:[{startIndex:0}]},documentStyle:{pageSize:{width:595,height:842},marginTop:50,marginBottom:50,marginRight:40,marginLeft:40,renderConfig:{vertexAngle:0,centerAngle:0}}};this._currentUniverService.createDoc(o)}_syncZenEditorSize(){this._zenEditorManagerService.position$.pipe(H.takeUntil(this.dispose$)).subscribe(o=>{var d;if(o==null)return;const e=Pe.getEditorObject(z,this._renderManagerService),t=this._currentUniverService.getUniverDocInstance(z);if(e==null||t==null)return;const{width:i,height:n}=o,{engine:r}=e,s=(d=this._docSkeletonManagerService.getSkeletonByUnitId(z))==null?void 0:d.skeleton;requestIdleCallback(()=>{r.resizeBySize(i,n),this._calculatePagePosition(e),s&&this._textSelectionManagerService.refreshSelection()})})}_handleOpenZenEditor(){this._zenZoneService.open(),this._undoRedoService.clearUndoRedo(z),this._currentUniverService.focusUniverInstance(z),this._currentUniverService.setCurrentUniverDocInstance(z),this._editorBridgeService.isVisible().visible===!1&&this._editorBridgeService.changeVisible({visible:!0,eventType:_.DeviceInputEventType.PointerDown});const e=this._editorBridgeService.getLatestEditCellState();if(e==null)return;this._editorSyncHandler(e);const t=[{startOffset:0,endOffset:0}];this._textSelectionManagerService.replaceTextRanges(t)}_editorSyncHandler(o){var r,s;const e=(r=o.documentLayoutObject.documentModel)==null?void 0:r.getBody(),t=e==null?void 0:e.dataStream,i=e==null?void 0:e.paragraphs;let n=[];t==null||i==null||((s=e==null?void 0:e.textRuns)!=null&&s.length&&(n=e==null?void 0:e.textRuns),this._syncContentAndRender(z,t,i,n))}_syncContentAndRender(o,e,t,i=[]){const n=[z,p.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,p.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY],r=this._docSkeletonManagerService.getSkeletonByUnitId(o),s=this._currentUniverService.getUniverDocInstance(o),d=this._docViewModelManagerService.getViewModel(o);if(s==null||d==null||r==null)return;const c=s.getBody();c.dataStream=e,c.paragraphs=t,o===p.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY&&(c.textRuns=[]),i.length>0&&(c.textRuns=i),d.reset(s);const{skeleton:l}=r,f=this._getDocObject();f!=null&&(l.calculate(),n.includes(o)&&f.document.makeDirty())}_calculatePagePosition(o){const{document:e,scene:t}=o,i=t==null?void 0:t.getParent(),{width:n,height:r,pageMarginLeft:s,pageMarginTop:d}=e;if(i==null||n===1/0||r===1/0)return;const{width:c,height:l}=i;let f=0,C=0,u=0,g=0,h=1/0;const{scaleX:S,scaleY:m}=t.getAncestorScale();c>(n+s*2)*S?(f=c/2-n*S/2,f/=S,u=(c-s*2)/S,h=0):(f=s,u=n+s*2,h=(u-c/S)/2),l>r?(C=l/2-r/2,g=(l-d*2)/m):(C=d,g=r+d*2),t.resize(u,g+200),e.translate(f,C);const v=t.getViewport(ge.VIEWPORT_KEY.VIEW_MAIN);if(h!==1/0&&v!=null){const R=v.getBarScroll(h,0).x;v.scrollTo({x:R})}return this}_commandExecutedListener(){const o=[Le.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{o.includes(t.id)&&this._handleOpenZenEditor()}));const e=[ge.RichTextEditingMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){const i=t.params,{unitId:n}=i;if(n===z){const r=this._currentUniverService.getUniverDocInstance(n),s=r==null?void 0:r.getBody(),d=s==null?void 0:s.dataStream,c=s==null?void 0:s.paragraphs,l=s==null?void 0:s.textRuns;if(d==null||c==null)return;this._syncContentAndRender(p.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,d,c,l)}}}))}_getDocObject(){return ge.getDocObject(this._currentUniverService,this._renderManagerService)}};Ee=yt([p.OnLifecycle(p.LifecycleStages.Steady,Ee),K(0,p.IUniverInstanceService),K(1,ke),K(2,_.IRenderManagerService),K(3,p.ICommandService),K(4,X.IZenZoneService),K(5,It),K(6,p.IUndoRedoService),K(7,N.Inject(ge.TextSelectionManagerService)),K(8,N.Inject(ge.DocSkeletonManagerService)),K(9,N.Inject(ge.DocViewModelManagerService))],Ee);const Be={id:"zen-editor.command.cancel-zen-edit",type:p.CommandType.COMMAND,handler:async o=>{const e=o.get(X.IZenZoneService),t=o.get(Pe.IEditorBridgeService),i=o.get(p.IUniverInstanceService);t.isVisible().visible&&t.changeVisible({visible:!1,eventType:_.DeviceInputEventType.Keyboard,keycode:X.KeyCode.ESC}),e.close();const r=i.getCurrentUniverSheetInstance();return i.focusUniverInstance(r.getUnitId()),t.refreshEditCellState(),!0}},Ye={id:"zen-editor.command.confirm-zen-edit",type:p.CommandType.COMMAND,handler:async o=>{const e=o.get(X.IZenZoneService),t=o.get(Pe.IEditorBridgeService),i=o.get(p.IUniverInstanceService);t.isVisible().visible&&t.changeVisible({visible:!1,eventType:_.DeviceInputEventType.PointerDown}),e.close();const r=i.getCurrentUniverSheetInstance();return i.focusUniverInstance(r.getUnitId()),t.refreshEditCellState(),!0}};function Mt(){return{id:Le.id,group:X.MenuGroup.CONTEXT_MENU_OTHERS,type:X.MenuItemType.BUTTON,title:"rightClick.zenEditor",icon:"AmplifySingle",positions:[X.MenuPosition.CONTEXT_MENU]}}var tt={exports:{}},Ie={};/**
1
+ "use strict";var Q=Object.defineProperty;var ee=(e,t,i)=>t in e?Q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var O=(e,t,i)=>(ee(e,typeof t!="symbol"?t+"":t,i),i);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@univerjs/core"),g=require("@wendellhu/redi"),E=require("@univerjs/docs"),M=require("@univerjs/engine-render"),N=require("@univerjs/sheets-ui"),u=require("@univerjs/ui"),k=require("rxjs"),S=require("react"),j=require("@wendellhu/redi/react-bindings"),$=require("clsx"),Z={id:"zen-editor.operation.open-zen-editor",type:c.CommandType.OPERATION,handler:e=>!0};class te{constructor(){O(this,"_position",null);O(this,"_position$",new k.BehaviorSubject(null));O(this,"position$",this._position$.asObservable())}dispose(){this._position$.complete(),this._position=null}setPosition(t){this._position=t,this._refresh(t)}getPosition(){return this._position}_refresh(t){this._position$.next(t)}}const L=g.createIdentifier("univer.sheet-zen-editor-manager.service");var ne=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,re=(e,t,i,n)=>{for(var r=n>1?void 0:n?ie(t,i):t,s=e.length-1,o;s>=0;s--)(o=e[s])&&(r=(n?o(t,i,r):o(r))||r);return n&&r&&ne(t,i,r),r},f=(e,t)=>(i,n)=>t(i,n,e);const v="__defaultDocumentZenEditorSpecialUnitId_20231218__";let b=class extends c.RxDisposable{constructor(e,t,i,n,r,s,o,a,d,l){super(),this._currentUniverService=e,this._zenEditorManagerService=t,this._renderManagerService=i,this._commandService=n,this._zenZoneService=r,this._editorBridgeService=s,this._undoRedoService=o,this._textSelectionManagerService=a,this._docSkeletonManagerService=d,this._docViewModelManagerService=l,this._initialize()}_initialize(){this._syncZenEditorSize(),this._commandExecutedListener(),this._createZenEditorInstance()}_createZenEditorInstance(){const e={id:v,body:{dataStream:`${c.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[],paragraphs:[{startIndex:0}]},documentStyle:{pageSize:{width:595,height:842},marginTop:50,marginBottom:50,marginRight:40,marginLeft:40,renderConfig:{vertexAngle:0,centerAngle:0}}};this._currentUniverService.createDoc(e)}_syncZenEditorSize(){this._zenEditorManagerService.position$.pipe(k.takeUntil(this.dispose$)).subscribe(e=>{var a;if(e==null)return;const t=N.getEditorObject(v,this._renderManagerService),i=this._currentUniverService.getUniverDocInstance(v);if(t==null||i==null)return;const{width:n,height:r}=e,{engine:s}=t,o=(a=this._docSkeletonManagerService.getSkeletonByUnitId(v))==null?void 0:a.skeleton;requestIdleCallback(()=>{s.resizeBySize(n,r),this._calculatePagePosition(t),o&&this._textSelectionManagerService.refreshSelection()})})}_handleOpenZenEditor(){this._zenZoneService.open(),this._undoRedoService.clearUndoRedo(v),this._currentUniverService.focusUniverInstance(v),this._currentUniverService.setCurrentUniverDocInstance(v),this._editorBridgeService.isVisible().visible===!1&&this._editorBridgeService.changeVisible({visible:!0,eventType:M.DeviceInputEventType.PointerDown});const t=this._editorBridgeService.getLatestEditCellState();if(t==null)return;this._editorSyncHandler(t);const i=[{startOffset:0,endOffset:0}];this._textSelectionManagerService.replaceTextRanges(i)}_editorSyncHandler(e){var s,o;const t=(s=e.documentLayoutObject.documentModel)==null?void 0:s.getBody(),i=t==null?void 0:t.dataStream,n=t==null?void 0:t.paragraphs;let r=[];i==null||n==null||((o=t==null?void 0:t.textRuns)!=null&&o.length&&(r=t==null?void 0:t.textRuns),this._syncContentAndRender(v,i,n,r))}_syncContentAndRender(e,t,i,n=[]){const r=[v,c.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,c.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY],s=this._docSkeletonManagerService.getSkeletonByUnitId(e),o=this._currentUniverService.getUniverDocInstance(e),a=this._docViewModelManagerService.getViewModel(e);if(o==null||a==null||s==null)return;const d=o.getBody();d.dataStream=t,d.paragraphs=i,e===c.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY&&(d.textRuns=[]),n.length>0&&(d.textRuns=n),a.reset(o);const{skeleton:l}=s,_=this._getDocObject();_!=null&&(l.calculate(),r.includes(e)&&_.document.makeDirty())}_calculatePagePosition(e){const{document:t,scene:i}=e,n=i==null?void 0:i.getParent(),{width:r,height:s,pageMarginLeft:o,pageMarginTop:a}=t;if(n==null||r===Number.POSITIVE_INFINITY||s===Number.POSITIVE_INFINITY)return;const{width:d,height:l}=n;let _=0,m=0,z=0,D=0,R=Number.POSITIVE_INFINITY;const{scaleX:C,scaleY:G}=i.getAncestorScale();d>(r+o*2)*C?(_=d/2-r*C/2,_/=C,z=(d-o*2)/C,R=0):(_=o,z=r+o*2,R=(z-d/C)/2),l>s?(m=l/2-s/2,D=(l-a*2)/G):(m=a,D=s+a*2),i.resize(z,D+200),t.translate(_,m);const U=i.getViewport(E.VIEWPORT_KEY.VIEW_MAIN);if(R!==Number.POSITIVE_INFINITY&&U!=null){const J=U.getBarScroll(R,0).x;U.scrollTo({x:J})}return this}_commandExecutedListener(){const e=[Z.id];this.disposeWithMe(this._commandService.onCommandExecuted(i=>{e.includes(i.id)&&this._handleOpenZenEditor()}));const t=[E.RichTextEditingMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(t.includes(i.id)){const n=i.params,{unitId:r}=n;if(r===v){const s=this._currentUniverService.getUniverDocInstance(r),o=s==null?void 0:s.getBody(),a=o==null?void 0:o.dataStream,d=o==null?void 0:o.paragraphs,l=o==null?void 0:o.textRuns;if(this._editorBridgeService.changeEditorDirty(!0),a==null||d==null)return;this._syncContentAndRender(c.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,a,d,l)}}}))}_getDocObject(){return E.getDocObject(this._currentUniverService,this._renderManagerService)}};b=re([c.OnLifecycle(c.LifecycleStages.Steady,b),f(0,c.IUniverInstanceService),f(1,L),f(2,M.IRenderManagerService),f(3,c.ICommandService),f(4,u.IZenZoneService),f(5,N.IEditorBridgeService),f(6,c.IUndoRedoService),f(7,g.Inject(E.TextSelectionManagerService)),f(8,g.Inject(E.DocSkeletonManagerService)),f(9,g.Inject(E.DocViewModelManagerService))],b);const w={id:"zen-editor.command.cancel-zen-edit",type:c.CommandType.COMMAND,handler:async e=>{const t=e.get(u.IZenZoneService),i=e.get(N.IEditorBridgeService),n=e.get(c.IUniverInstanceService);i.isVisible().visible&&i.changeVisible({visible:!1,eventType:M.DeviceInputEventType.Keyboard,keycode:u.KeyCode.ESC}),t.close();const s=n.getCurrentUniverSheetInstance();return n.focusUniverInstance(s.getUnitId()),i.refreshEditCellState(),!0}},A={id:"zen-editor.command.confirm-zen-edit",type:c.CommandType.COMMAND,handler:async e=>{const t=e.get(u.IZenZoneService),i=e.get(N.IEditorBridgeService),n=e.get(c.IUniverInstanceService);i.isVisible().visible&&i.changeVisible({visible:!1,eventType:M.DeviceInputEventType.PointerDown}),t.close();const s=n.getCurrentUniverSheetInstance();return n.focusUniverInstance(s.getUnitId()),i.refreshEditCellState(),!0}};function oe(){return{id:Z.id,group:u.MenuGroup.CONTEXT_MENU_OTHERS,type:u.MenuItemType.BUTTON,title:"rightClick.zenEditor",icon:"AmplifySingle",positions:[u.MenuPosition.CONTEXT_MENU]}}var W={exports:{}},x={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.min.js
4
4
  *
@@ -6,4 +6,4 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var Wt=q,Pt=Symbol.for("react.element"),Lt=Symbol.for("react.fragment"),kt=Object.prototype.hasOwnProperty,Bt=Wt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Yt={key:!0,ref:!0,__self:!0,__source:!0};function it(o,e,t){var i,n={},r=null,s=null;t!==void 0&&(r=""+t),e.key!==void 0&&(r=""+e.key),e.ref!==void 0&&(s=e.ref);for(i in e)kt.call(e,i)&&!Yt.hasOwnProperty(i)&&(n[i]=e[i]);if(o&&o.defaultProps)for(i in e=o.defaultProps,e)n[i]===void 0&&(n[i]=e[i]);return{$$typeof:Pt,type:o,key:r,ref:s,props:n,_owner:Bt.current}}Ie.Fragment=Lt;Ie.jsx=it;Ie.jsxs=it;tt.exports=Ie;var he=tt.exports,F=function(){return F=Object.assign||function(o){for(var e,t=1,i=arguments.length;t<i;t++){e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(o[n]=e[n])}return o},F.apply(this,arguments)},Ht=function(o,e){var t={};for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&e.indexOf(i)<0&&(t[i]=o[i]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(o);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(o,i[n])&&(t[i[n]]=o[i[n]]);return t},He=q.forwardRef(function(o,e){var t=o.icon,i=o.id,n=o.className,r=o.extend,s=Ht(o,["icon","id","className","extend"]),d="univerjs-icon univerjs-icon-".concat(i," ").concat(n||"").trim(),c=q.useRef("_".concat(Dt()));return ot(t,"".concat(i),{defIds:t.defIds,idSuffix:c.current},F({ref:e,className:d},s),r)});function ot(o,e,t,i,n){return q.createElement(o.tag,F(F({key:e},Nt(o,t,n)),i),(xt(o,t).children||[]).map(function(r,s){return ot(r,"".concat(e,"-").concat(o.tag,"-").concat(s),t,void 0,n)}))}function Nt(o,e,t){var i=F({},o.attrs);t!=null&&t.colorChannel1&&i.fill==="colorChannel1"&&(i.fill=t.colorChannel1);var n=e.defIds;return!n||n.length===0||(o.tag==="use"&&i["xlink:href"]&&(i["xlink:href"]=i["xlink:href"]+e.idSuffix),Object.entries(i).forEach(function(r){var s=r[0],d=r[1];typeof d=="string"&&(i[s]=d.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),i}function xt(o,e){var t,i=e.defIds;return!i||i.length===0?o:o.tag==="defs"&&(!((t=o.children)===null||t===void 0)&&t.length)?F(F({},o),{children:o.children.map(function(n){return typeof n.attrs.id=="string"&&i&&i.indexOf(n.attrs.id)>-1?F(F({},n),{attrs:F(F({},n.attrs),{id:n.attrs.id+e.idSuffix})}):n})}):o}function Dt(){return Math.random().toString(36).substring(2,8)}He.displayName="UniverIcon";var Xt={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M14.44 3.57291C14.698 3.83093 14.698 4.24927 14.44 4.50729L6.44342 12.5037C6.28721 12.6599 6.03395 12.6599 5.87774 12.5037L1.55992 8.18578C1.3019 7.92776 1.3019 7.50942 1.55993 7.2514C1.81795 6.99338 2.23629 6.99338 2.49431 7.25141L6.01916 10.7763C6.09727 10.8544 6.2239 10.8544 6.30201 10.7763L13.5056 3.57291C13.7636 3.31489 14.1819 3.31489 14.44 3.57291Z",fillRule:"evenodd",clipRule:"evenodd"}}]},nt=q.forwardRef(function(o,e){return q.createElement(He,Object.assign({},o,{id:"check-mark-single",ref:e,icon:Xt}))});nt.displayName="CheckMarkSingle";const At=nt;var Ut={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.57061 3.65132C4.31677 3.39748 3.90521 3.39748 3.65137 3.65132C3.39753 3.90516 3.39753 4.31672 3.65137 4.57056L7.08079 7.99998L3.65123 11.4295C3.39739 11.6834 3.39739 12.0949 3.65123 12.3488C3.90507 12.6026 4.31662 12.6026 4.57047 12.3488L8.00003 8.91921L11.4295 12.3487C11.6834 12.6026 12.0949 12.6026 12.3488 12.3487C12.6026 12.0949 12.6026 11.6833 12.3488 11.4295L8.91927 7.99998L12.3486 4.57061C12.6025 4.31677 12.6025 3.90521 12.3486 3.65137C12.0948 3.39753 11.6832 3.39753 11.4294 3.65137L8.00003 7.08074L4.57061 3.65132Z"}}]},rt=q.forwardRef(function(o,e){return q.createElement(He,Object.assign({},o,{id:"close-single",ref:e,icon:Ut}))});rt.displayName="CloseSingle";const Vt=rt,zt="univer-zen-editor",Ft="univer-zen-editor-icon-wrapper",$t="univer-zen-editor-icon-container",jt="univer-zen-editor-icon-success",Zt="univer-zen-editor-icon-error",Gt="univer-zen-editor-canvas-container",_e={zenEditor:zt,zenEditorIconWrapper:Ft,zenEditorIconContainer:$t,zenEditorIconSuccess:jt,zenEditorIconError:Zt,zenEditorCanvasContainer:Gt},Kt="ZEN_EDITOR_PLUGIN_",qt=`${Kt}ZEN_EDITOR_COMPONENT`;function Jt(){const o=q.useRef(null),e=Me.useDependency(_.IRenderManagerService),t=Me.useDependency(ke),i=Me.useDependency(p.ICommandService);q.useEffect(()=>{const s=o.current;if(!s)return;const d=e.currentRender$.subscribe(l=>{var C;if(l!==z)return;const f=(C=e.getRenderById(z))==null?void 0:C.engine;f==null||f.setContainer(s)}),c=new ResizeObserver(()=>{const l=s.getBoundingClientRect();t.setPosition(l)});return c.observe(s),()=>{c.unobserve(s),d.unsubscribe()}},[]);function n(){i.executeCommand(Be.id)}function r(){i.executeCommand(Ye.id)}return he.jsxs("div",{className:_e.zenEditor,children:[he.jsxs("div",{className:_e.zenEditorIconWrapper,children:[he.jsx("span",{className:$e(_e.zenEditorIconContainer,_e.zenEditorIconError),onClick:n,children:he.jsx(Vt,{style:{fontSize:"22px"}})}),he.jsx("span",{className:$e(_e.zenEditorIconContainer,_e.zenEditorIconSuccess),onClick:r,children:he.jsx(At,{style:{fontSize:"22px"}})})]}),he.jsx("div",{className:_e.zenEditorCanvasContainer,ref:o})]})}const Qt={id:Ye.id,description:"shortcut.sheet.zen-edit-confirm",group:"4_sheet-edit",preconditions:o=>st(o),binding:X.KeyCode.ENTER|X.MetaKeys.ALT},ei={id:Be.id,description:"shortcut.sheet.zen-edit-cancel",group:"4_sheet-edit",preconditions:o=>st(o),binding:X.KeyCode.ESC};function st(o){return o.getContextValue(p.FOCUSING_DOC)&&o.getContextValue(p.FOCUSING_UNIVER_EDITOR)&&o.getContextValue(p.EDITOR_ACTIVATED)}var ti=Object.defineProperty,ii=Object.getOwnPropertyDescriptor,oi=(o,e,t,i)=>{for(var n=i>1?void 0:i?ii(e,t):e,r=o.length-1,s;r>=0;r--)(s=o[r])&&(n=(i?s(e,t,n):s(n))||n);return i&&n&&ti(e,t,n),n},Ce=(o,e)=>(t,i)=>e(t,i,o);let we=class extends p.Disposable{constructor(o,e,t,i,n){super(),this._injector=o,this._zenZoneService=e,this._commandService=t,this._menuService=i,this._shortcutService=n,this._initialize()}_initialize(){this._initCustomComponents(),this._initCommands(),this._initMenus(),this._initShortcuts()}_initCustomComponents(){this.disposeWithMe(this._zenZoneService.set(qt,Jt))}_initCommands(){[Le,Be,Ye].forEach(o=>{this.disposeWithMe(this._commandService.registerCommand(o))})}_initMenus(){[Mt].forEach(o=>{this.disposeWithMe(this._menuService.addMenuItem(this._injector.invoke(o)))})}_initShortcuts(){[Qt,ei].forEach(o=>{this.disposeWithMe(this._shortcutService.registerShortcut(o))})}};we=oi([p.OnLifecycle(p.LifecycleStages.Ready,we),Ce(0,N.Inject(N.Injector)),Ce(1,X.IZenZoneService),Ce(2,p.ICommandService),Ce(3,X.IMenuService),Ce(4,X.IShortcutService)],we);const ni={shortcut:{sheet:{"zen-edit-cancel":"取消编辑(禅模式状态)","zen-edit-confirm":"放弃编辑(禅模式状态)"}}};var ri=Object.defineProperty,si=Object.getOwnPropertyDescriptor,li=(o,e,t,i)=>{for(var n=i>1?void 0:i?si(e,t):e,r=o.length-1,s;r>=0;r--)(s=o[r])&&(n=(i?s(e,t,n):s(n))||n);return i&&n&&ri(e,t,n),n},et=(o,e)=>(t,i)=>e(t,i,o),We;exports.UniverSheetsZenEditorPlugin=(We=class extends p.Plugin{constructor(e,t,i){super("zen-editor"),this._injector=t,this._localeService=i,this._initialize(),this._initializeDependencies(this._injector)}_initialize(){this._localeService.load({zhCN:ni})}_initializeDependencies(e){[[we],[Ee],[ke,{useClass:Ot}]].forEach(i=>e.add(i))}onRendered(){}onDestroy(){}},a(We,"type",p.PluginType.Doc),We);exports.UniverSheetsZenEditorPlugin=li([et(1,N.Inject(N.Injector)),et(2,N.Inject(p.LocaleService))],exports.UniverSheetsZenEditorPlugin);
9
+ */var se=S,ce=Symbol.for("react.element"),ae=Symbol.for("react.fragment"),de=Object.prototype.hasOwnProperty,le=se.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,ue={key:!0,ref:!0,__self:!0,__source:!0};function q(e,t,i){var n,r={},s=null,o=null;i!==void 0&&(s=""+i),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(o=t.ref);for(n in t)de.call(t,n)&&!ue.hasOwnProperty(n)&&(r[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps,t)r[n]===void 0&&(r[n]=t[n]);return{$$typeof:ce,type:e,key:s,ref:o,props:r,_owner:le.current}}x.Fragment=ae;x.jsx=q;x.jsxs=q;W.exports=x;var p=W.exports,h=function(){return h=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++){t=arguments[i];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},h.apply(this,arguments)},ve=function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]]);return i},B=S.forwardRef(function(e,t){var i=e.icon,n=e.id,r=e.className,s=e.extend,o=ve(e,["icon","id","className","extend"]),a="univerjs-icon univerjs-icon-".concat(n," ").concat(r||"").trim(),d=S.useRef("_".concat(fe()));return F(i,"".concat(n),{defIds:i.defIds,idSuffix:d.current},h({ref:t,className:a},o),s)});function F(e,t,i,n,r){return S.createElement(e.tag,h(h({key:t},he(e,i,r)),n),(_e(e,i).children||[]).map(function(s,o){return F(s,"".concat(t,"-").concat(e.tag,"-").concat(o),i,void 0,r)}))}function he(e,t,i){var n=h({},e.attrs);i!=null&&i.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=i.colorChannel1);var r=t.defIds;return!r||r.length===0||(e.tag==="use"&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+t.idSuffix),Object.entries(n).forEach(function(s){var o=s[0],a=s[1];typeof a=="string"&&(n[o]=a.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))})),n}function _e(e,t){var i,n=t.defIds;return!n||n.length===0?e:e.tag==="defs"&&(!((i=e.children)===null||i===void 0)&&i.length)?h(h({},e),{children:e.children.map(function(r){return typeof r.attrs.id=="string"&&n&&n.indexOf(r.attrs.id)>-1?h(h({},r),{attrs:h(h({},r.attrs),{id:r.attrs.id+t.idSuffix})}):r})}):e}function fe(){return Math.random().toString(36).substring(2,8)}B.displayName="UniverIcon";var Se={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M14.44 3.57291C14.698 3.83093 14.698 4.24927 14.44 4.50729L6.44342 12.5037C6.28721 12.6599 6.03395 12.6599 5.87774 12.5037L1.55992 8.18578C1.3019 7.92776 1.3019 7.50942 1.55993 7.2514C1.81795 6.99338 2.23629 6.99338 2.49431 7.25141L6.01916 10.7763C6.09727 10.8544 6.2239 10.8544 6.30201 10.7763L13.5056 3.57291C13.7636 3.31489 14.1819 3.31489 14.44 3.57291Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Y=S.forwardRef(function(e,t){return S.createElement(B,Object.assign({},e,{id:"check-mark-single",ref:t,icon:Se}))});Y.displayName="CheckMarkSingle";const ge=Y;var pe={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.57061 3.65132C4.31677 3.39748 3.90521 3.39748 3.65137 3.65132C3.39753 3.90516 3.39753 4.31672 3.65137 4.57056L7.08079 7.99998L3.65123 11.4295C3.39739 11.6834 3.39739 12.0949 3.65123 12.3488C3.90507 12.6026 4.31662 12.6026 4.57047 12.3488L8.00003 8.91921L11.4295 12.3487C11.6834 12.6026 12.0949 12.6026 12.3488 12.3487C12.6026 12.0949 12.6026 11.6833 12.3488 11.4295L8.91927 7.99998L12.3486 4.57061C12.6025 4.31677 12.6025 3.90521 12.3486 3.65137C12.0948 3.39753 11.6832 3.39753 11.4294 3.65137L8.00003 7.08074L4.57061 3.65132Z"}}]},K=S.forwardRef(function(e,t){return S.createElement(B,Object.assign({},e,{id:"close-single",ref:t,icon:pe}))});K.displayName="CloseSingle";const Ie=K,me="univer-zen-editor",Ee="univer-zen-editor-icon-wrapper",Ce="univer-zen-editor-icon-container",Oe="univer-zen-editor-icon-success",ye="univer-zen-editor-icon-error",Me="univer-zen-editor-canvas-container",I={zenEditor:me,zenEditorIconWrapper:Ee,zenEditorIconContainer:Ce,zenEditorIconSuccess:Oe,zenEditorIconError:ye,zenEditorCanvasContainer:Me},ze="ZEN_EDITOR_PLUGIN_",Re=`${ze}ZEN_EDITOR_COMPONENT`;function be(){const e=S.useRef(null),t=j.useDependency(M.IRenderManagerService),i=j.useDependency(L),n=j.useDependency(c.ICommandService);S.useEffect(()=>{const o=e.current;if(!o)return;const a=t.currentRender$.subscribe(l=>{var m;if(l!==v)return;const _=(m=t.getRenderById(v))==null?void 0:m.engine;_==null||_.setContainer(o)}),d=new ResizeObserver(()=>{const l=o.getBoundingClientRect();i.setPosition(l)});return d.observe(o),()=>{d.unobserve(o),a.unsubscribe()}},[]);function r(){n.executeCommand(w.id)}function s(){n.executeCommand(A.id)}return p.jsxs("div",{className:I.zenEditor,children:[p.jsxs("div",{className:I.zenEditorIconWrapper,children:[p.jsx("span",{className:$(I.zenEditorIconContainer,I.zenEditorIconError),onClick:r,children:p.jsx(Ie,{style:{fontSize:"22px"}})}),p.jsx("span",{className:$(I.zenEditorIconContainer,I.zenEditorIconSuccess),onClick:s,children:p.jsx(ge,{style:{fontSize:"22px"}})})]}),p.jsx("div",{className:I.zenEditorCanvasContainer,ref:e})]})}const Te={id:A.id,description:"shortcut.sheet.zen-edit-confirm",group:"4_sheet-edit",preconditions:e=>H(e),binding:u.KeyCode.ENTER|u.MetaKeys.ALT},Ne={id:w.id,description:"shortcut.sheet.zen-edit-cancel",group:"4_sheet-edit",preconditions:e=>H(e),binding:u.KeyCode.ESC};function H(e){return e.getContextValue(c.FOCUSING_DOC)&&e.getContextValue(c.FOCUSING_UNIVER_EDITOR)&&e.getContextValue(c.EDITOR_ACTIVATED)}var xe=Object.defineProperty,De=Object.getOwnPropertyDescriptor,Ue=(e,t,i,n)=>{for(var r=n>1?void 0:n?De(t,i):t,s=e.length-1,o;s>=0;s--)(o=e[s])&&(r=(n?o(t,i,r):o(r))||r);return n&&r&&xe(t,i,r),r},y=(e,t)=>(i,n)=>t(i,n,e);let T=class extends c.Disposable{constructor(e,t,i,n,r){super(),this._injector=e,this._zenZoneService=t,this._commandService=i,this._menuService=n,this._shortcutService=r,this._initialize()}_initialize(){this._initCustomComponents(),this._initCommands(),this._initMenus(),this._initShortcuts()}_initCustomComponents(){this.disposeWithMe(this._zenZoneService.set(Re,be))}_initCommands(){[Z,w,A].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenus(){[oe].forEach(e=>{this.disposeWithMe(this._menuService.addMenuItem(this._injector.invoke(e)))})}_initShortcuts(){[Te,Ne].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}};T=Ue([c.OnLifecycle(c.LifecycleStages.Rendered,T),y(0,g.Inject(g.Injector)),y(1,u.IZenZoneService),y(2,c.ICommandService),y(3,u.IMenuService),y(4,u.IShortcutService)],T);const je={shortcut:{sheet:{"zen-edit-cancel":"Cancel Zen Edit","zen-edit-confirm":"Confirm Zen Edit"}}},X={shortcut:{sheet:{"zen-edit-cancel":"取消编辑(禅模式状态)","zen-edit-confirm":"放弃编辑(禅模式状态)"}}};var Pe=Object.defineProperty,Ze=Object.getOwnPropertyDescriptor,Le=(e,t,i,n)=>{for(var r=n>1?void 0:n?Ze(t,i):t,s=e.length-1,o;s>=0;s--)(o=e[s])&&(r=(n?o(t,i,r):o(r))||r);return n&&r&&Pe(t,i,r),r},V=(e,t)=>(i,n)=>t(i,n,e),P;exports.UniverSheetsZenEditorPlugin=(P=class extends c.Plugin{constructor(t,i,n){super("zen-editor"),this._injector=i,this._localeService=n,this._initialize(),this._initializeDependencies(this._injector)}_initialize(){this._localeService.load({zhCN:X})}_initializeDependencies(t){[[T],[b],[L,{useClass:te}]].forEach(n=>t.add(n))}onRendered(){}onDestroy(){}},O(P,"type",c.PluginType.Doc),P);exports.UniverSheetsZenEditorPlugin=Le([V(1,g.Inject(g.Injector)),V(2,g.Inject(c.LocaleService))],exports.UniverSheetsZenEditorPlugin);exports.enUS=je;exports.zhCN=X;