@univerjs/sheets-formula-ui 0.18.0 → 0.19.0

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/umd/index.js CHANGED
@@ -1,65 +1,3 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/core`),require(`@univerjs/sheets-ui`),require(`@univerjs/engine-formula`),require(`rxjs`),require(`@univerjs/docs-ui`),require(`@univerjs/engine-render`),require(`@univerjs/sheets`),require(`@univerjs/sheets-formula`),require(`@univerjs/ui`),require(`react`),require(`react/jsx-runtime`),require(`@univerjs/design`),require(`@univerjs/docs`),require(`rxjs/operators`)):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets-ui`,`@univerjs/engine-formula`,`rxjs`,`@univerjs/docs-ui`,`@univerjs/engine-render`,`@univerjs/sheets`,`@univerjs/sheets-formula`,`@univerjs/ui`,`react`,`react/jsx-runtime`,`@univerjs/design`,`@univerjs/docs`,`rxjs/operators`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsFormulaUi={},e.UniverCore,e.UniverSheetsUi,e.UniverEngineFormula,e.rxjs,e.UniverDocsUi,e.UniverEngineRender,e.UniverSheets,e.UniverSheetsFormula,e.UniverUi,e.React,e.React,e.UniverDesign,e.UniverDocs,e.rxjs.operators))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let h={id:`sheet.command.copy-formula-only`,type:t.CommandType.COMMAND,handler:async e=>e.get(n.ISheetClipboardService).copy({copyHookType:n.PREDEFINED_HOOK_NAME_COPY.SPECIAL_COPY_FORMULA_ONLY})},g={id:`sheet.command.paste-formula`,type:t.CommandType.COMMAND,handler:async e=>e.get(t.ICommandService).executeCommand(n.SheetPasteCommand.id,{value:n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMULA})},_={id:`formula-ui.operation.select-editor-formula`,type:t.CommandType.OPERATION,handler:(e,t)=>!0};function v(e){"@babel/helpers - typeof";return v=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},v(e)}function y(e,t){if(v(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(v(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function b(e){var t=y(e,`string`);return v(t)==`symbol`?t:t+``}function x(e,t,n){return(t=b(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function S(e,t){return function(n,r){t(n,r,e)}}function C(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let w=`FORMULA_PROMPT_ACTIVATED`,T=(0,t.createIdentifier)(`formula-ui.prompt-service`),E=class{constructor(e){this._contextService=e,x(this,`_search$`,new i.Subject),x(this,`_help$`,new i.Subject),x(this,`_navigate$`,new i.Subject),x(this,`_accept$`,new i.Subject),x(this,`_acceptFormulaName$`,new i.Subject),x(this,`search$`,this._search$.asObservable()),x(this,`help$`,this._help$.asObservable()),x(this,`navigate$`,this._navigate$.asObservable()),x(this,`accept$`,this._accept$.asObservable()),x(this,`acceptFormulaName$`,this._acceptFormulaName$.asObservable()),x(this,`_searching`,!1),x(this,`_helping`,!1),x(this,`_sequenceNodes`,[]),x(this,`_isLockedOnSelectionChangeRefString`,!1),x(this,`_isLockedOnSelectionInsertRefString`,!1)}dispose(){this._search$.complete(),this._help$.complete(),this._navigate$.complete(),this._accept$.complete(),this._acceptFormulaName$.complete(),this._sequenceNodes=[]}search(e){this._contextService.setContextValue(w,e.visible),this._searching=e.visible,this._search$.next(e)}isSearching(){return this._searching}help(e){this._helping=e.visible,this._help$.next(e)}isHelping(){return this._helping}navigate(e){this._navigate$.next(e)}accept(e){this._accept$.next(e)}acceptFormulaName(e){this._acceptFormulaName$.next(e)}getSequenceNodes(){return[...this._sequenceNodes]}setSequenceNodes(e){this._sequenceNodes=e}clearSequenceNodes(){this._sequenceNodes=[]}getCurrentSequenceNode(e){return this._sequenceNodes[this.getCurrentSequenceNodeIndex(e)]}getCurrentSequenceNodeByIndex(e){return this._sequenceNodes[e]}getCurrentSequenceNodeIndex(e){let t=0,n=this._sequenceNodes[0];for(let r=0,i=this._sequenceNodes.length;r<i;r++){let i=this._sequenceNodes[r];if(typeof i==`string`)t++;else{let{endIndex:e}=i;t=e}if(e<=t)return typeof n==`string`&&e!==0?r+1:r}return this._sequenceNodes.length}updateSequenceRef(e,t){let n=this._sequenceNodes[e];if(typeof n==`string`||n.nodeType!==r.sequenceNodeType.REFERENCE)return;let i=t.length-n.token.length,a={...n};a.token=t,a.endIndex+=i,this._sequenceNodes[e]=a;for(let t=e+1,n=this._sequenceNodes.length;t<n;t++){let e=this._sequenceNodes[t];if(typeof e==`string`)continue;let n={...e};n.startIndex+=i,n.endIndex+=i,this._sequenceNodes[t]=n}}insertSequenceRef(e,t){let n=t.length,i=this.getCurrentSequenceNodeIndex(e);this._sequenceNodes.splice(i,0,{token:t,startIndex:e,endIndex:e+n-1,nodeType:r.sequenceNodeType.REFERENCE});for(let e=i+1,t=this._sequenceNodes.length;e<t;e++){let t=this._sequenceNodes[e];if(typeof t==`string`)continue;let r={...t};r.startIndex+=n,r.endIndex+=n,this._sequenceNodes[e]=r}}insertSequenceString(e,t){let n=this.getCurrentSequenceNodeIndex(e),r=t.split(``);this._sequenceNodes.splice(n,0,...r);let i=r.length;for(let e=n+i,t=this._sequenceNodes.length;e<t;e++){let t=this._sequenceNodes[e];if(typeof t==`string`)continue;let n={...t};n.startIndex+=i,n.endIndex+=i,this._sequenceNodes[e]=n}}enableLockedSelectionChange(){this._isLockedOnSelectionChangeRefString=!0}disableLockedSelectionChange(){this._isLockedOnSelectionChangeRefString=!1}isLockedSelectionChange(){return this._isLockedOnSelectionChangeRefString}enableLockedSelectionInsert(){this._isLockedOnSelectionInsertRefString=!0}disableLockedSelectionInsert(){this._isLockedOnSelectionInsertRefString=!1}isLockedSelectionInsert(){return this._isLockedOnSelectionInsertRefString}};E=C([S(0,t.IContextService)],E);let D={id:`formula-ui.operation.help-function`,type:t.CommandType.OPERATION,handler:async(e,t)=>(e.get(T).help(t),!0)},O={id:`formula-ui.operation.insert-function`,type:t.CommandType.OPERATION,handler:async(e,i)=>{let l=e.get(s.SheetsSelectionsService),u=e.get(a.IEditorService),d=l.getCurrentSelections();if(!d||!d.length)return!1;let f=(0,s.getSheetCommandTarget)(e.get(t.IUniverInstanceService));if(!f)return!1;let{worksheet:p,unitId:m,subUnitId:h}=f,g=p.getCellMatrix(),{value:_}=i,v=e.get(t.ICommandService);e.get(n.IEditorBridgeService);let y=[],b=[],x=null,S=0,C=0,w=``;if(d.length===1&&(N(d[0].range)||P(d[0].range)&&ee(g,d[0].range))){var T,E;let{range:e,primary:t}=d[0],n=(T=t==null?void 0:t.actualRow)==null?e.startRow:T,i=(E=t==null?void 0:t.actualColumn)==null?e.startColumn:E;x=e,S=n,C=i;let a=k(g,n,i);a&&(w=(0,r.serializeRange)(a))}else d.some(e=>{let{range:t,primary:n}=e;if(ee(g,t)){var i,a;let e=(i=n==null?void 0:n.actualRow)==null?t.startRow:i,o=(a=n==null?void 0:n.actualColumn)==null?t.startColumn:a,s=k(g,e,o);if(!s)return x=t,S=e,C=o,!0;let c=`=${_}(${(0,r.serializeRange)(s)})`;y.push({range:t,primary:{row:e,column:o},formula:c})}else{let{startRow:e,startColumn:n,endRow:i,endColumn:a}=t;if(e===i){let o=F(g,e,a,p.getColumnCount()-1),s=`=${_}(${(0,r.serializeRange)({startRow:e,endRow:i,startColumn:n,endColumn:o===a?a-1:a})})`;b.push({range:t,primary:{row:e,column:o},formula:s})}else{let o=-1;for(let e=n;e<=a;e++){let t=I(g,e,i,p.getRowCount()-1);o=Math.max(o,t)}let s=o===i?i-1:i;for(let i=n;i<=a;i++){let n=`=${_}(${(0,r.serializeRange)({startRow:e,endRow:s,startColumn:i,endColumn:i})})`;b.push({range:t,primary:{row:o,column:i},formula:n})}}}return!1});if(x){let e=(0,s.getCellAtRowCol)(S,C,p),r={unitId:m,subUnitId:h,selections:[{range:t.Rectangle.clone(x),primary:{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn,actualRow:S,actualColumn:C,isMerged:e.isMerged,isMergedMainCell:e.startRow===S&&e.startColumn===C}}]};await v.executeCommand(s.SetSelectionsOperation.id,r);let i=u.getEditor(t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY),a=u.getEditor(t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY);v.syncExecuteCommand(n.SetCellEditVisibleOperation.id,{visible:!0,unitId:m,eventType:o.DeviceInputEventType.Dblclick});let c=`=${_}(${w}`;i==null||i.replaceText(c),a==null||a.replaceText(c,!1)}return y.length===0&&b.length===0?!1:v.executeCommand(c.InsertFunctionCommand.id,{list:y,listOfRangeHasNumber:b})}};function k(e,t,n){let r=A(e,t,n);if(r!==t)return{startRow:r,endRow:t-1,startColumn:n,endColumn:n};let i=j(e,t,n);return i===n?null:{startRow:t,endRow:t,startColumn:i,endColumn:n-1}}function A(e,t,n){let r=!1;if(t===0)return t;for(let i=t-1;i>=0;i--){let t=e.getValue(i,n);if(M(t)&&!r){if(i===0)return 0;r=!0}else if(r&&!M(t))return i+1;else if(r&&i===0)return 0}return t}function j(e,t,n){let r=!1;if(n===0)return n;for(let i=n-1;i>=0;i--){let n=e.getValue(t,i);if(M(n)&&!r){if(i===0)return 0;r=!0}else if(r&&!M(n))return i+1;else if(r&&i===0)return 0}return n}function M(e){if(e!=null&&e.p){let n=e==null?void 0:e.p.body;if(n==null)return!1;let r=n.dataStream;return(0,t.isRealNum)(r.substring(r.length-2,r.length)===t.DEFAULT_EMPTY_DOCUMENT_VALUE?r.substring(0,r.length-2):r)}return e&&(e.t===t.CellValueType.NUMBER||(0,t.getCellValueType)(e)===t.CellValueType.NUMBER)}function N(e){return e.startRow===e.endRow&&e.startColumn===e.endColumn}function P(e){return e.startRow!==e.endRow&&e.startColumn!==e.endColumn}function ee(e,t){for(let n=t.startRow;n<=t.endRow;n++)for(let r=t.startColumn;r<=t.endColumn;r++)if(M(e.getValue(n,r)))return!1;return!0}function F(e,t,n,r){for(let i=n;i<=r;i++)if(!e.getValue(t,i))return i;return r}function I(e,t,n,r){for(let i=n;i<=r;i++)if(!e.getValue(i,t))return i;return r}let te=`SHEET_FORMULA_UI_PLUGIN`,ne=`${te}_MORE_FUNCTIONS_COMPONENT`,L={id:`formula-ui.operation.more-functions`,type:t.CommandType.OPERATION,handler:async e=>(e.get(l.ISidebarService).open({header:{title:`formula.insert.tooltip`},children:{label:ne}}),!0)},re={id:`formula-ui.operation.change-ref-to-absolute`,type:t.CommandType.OPERATION,handler:async e=>!0},R={id:`formula-ui.operation.search-function`,type:t.CommandType.OPERATION,handler:async(e,t)=>(e.get(T).search(t),!0)},z=class extends t.Disposable{constructor(e,t,n,r){super(),this._sheetInterceptorService=e,this._univerInstanceService=t,this._formulaDataModel=n,this._lexerTreeBuilder=r,this._initialize()}_initialize(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>e.id===s.ReorderRangeCommand.id?this._reorderFormula(e.params):{redos:[],undos:[]}}))}_reorderFormula(e){let n=[],r=[],{unitId:i,subUnitId:a,range:o,order:c}=e,l=this._univerInstanceService.getUniverSheetInstance(i),u=l==null?void 0:l.getSheetBySheetId(a);if(!u)return{redos:n,undos:r};let d=u.getCellMatrix(),f=new t.ObjectMatrix,p=new t.ObjectMatrix,m=!1;return t.Range.foreach(o,(e,n)=>{let r=e;c.hasOwnProperty(e)&&(r=c[e]);let o=d.getValue(r,n);if(o!=null&&o.f||o!=null&&o.si){m=!0;let s=this._formulaDataModel.getFormulaStringByCell(r,n,a,i),c=this._lexerTreeBuilder.moveFormulaRefOffset(s,0,e-r),l=t.Tools.deepClone(o);l.f=c,l.si=null,f.setValue(e,n,l)}else f.setValue(e,n,o);p.setValue(e,n,d.getValue(e,n))}),m?(n.push({id:s.SetRangeValuesMutation.id,params:{unitId:i,subUnitId:a,cellValue:f.getMatrix()}}),r.push({id:s.SetRangeValuesMutation.id,params:{unitId:i,subUnitId:a,cellValue:p.getMatrix()}}),{redos:n,undos:r}):{redos:n,undos:r}}};z=C([S(0,(0,t.Inject)(s.SheetInterceptorService)),S(1,(0,t.Inject)(t.IUniverInstanceService)),S(2,(0,t.Inject)(r.FormulaDataModel)),S(3,(0,t.Inject)(r.LexerTreeBuilder))],z);var B=`@univerjs/sheets-formula-ui`,ie=`0.18.0`;let ae=`sheets-formula-ui.base.config`;Symbol(ae);let V={},oe=`SHEET_FORMULA_ALERT`,se={[r.ErrorType.DIV_BY_ZERO]:`divByZero`,[r.ErrorType.NAME]:`name`,[r.ErrorType.VALUE]:`value`,[r.ErrorType.NUM]:`num`,[r.ErrorType.NA]:`na`,[r.ErrorType.CYCLE]:`cycle`,[r.ErrorType.REF]:`ref`,[r.ErrorType.SPILL]:`spill`,[r.ErrorType.CALC]:`calc`,[r.ErrorType.ERROR]:`error`,[r.ErrorType.CONNECT]:`connect`,[r.ErrorType.NULL]:`null`},H=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._hoverManagerService=t,this._cellAlertManagerService=n,this._localeService=r,this._formulaDataModel=i,this._zenZoneService=a,this._init()}_init(){this._initCellAlertPopup(),this._initZenService()}_initCellAlertPopup(){this.disposeWithMe(this._hoverManagerService.currentCell$.pipe((0,i.debounceTime)(100)).subscribe(e=>{if(e){var i;let o=this._context.unit.getActiveSheet();if(!o)return this._hideAlert();let s=o.getCell(e.location.row,e.location.col),c=(i=this._formulaDataModel.getArrayFormulaCellData())==null||(i=i[e.location.unitId])==null||(i=i[e.location.subUnitId])==null||(i=i[e.location.row])==null?void 0:i[e.location.col];if((0,t.isICellData)(s)){var a;let t=(0,r.extractFormulaError)(s,!!c);if(!t){this._hideAlert();return}let i=this._cellAlertManagerService.currentAlert.get(oe),o=i==null||(a=i.alert)==null?void 0:a.location;if(o&&o.row===e.location.row&&o.col===e.location.col&&o.subUnitId===e.location.subUnitId&&o.unitId===e.location.unitId){this._hideAlert();return}this._cellAlertManagerService.showAlert({type:n.CellAlertType.ERROR,title:this._localeService.t(`formula.error.title`),message:this._localeService.t(`formula.error.${se[t]}`),location:e.location,width:200,height:74,key:oe});return}}this._hideAlert()}))}_initZenService(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(e=>{e&&this._hideAlert()}))}_hideAlert(){this._cellAlertManagerService.removeAlert(oe)}};H=C([S(1,(0,t.Inject)(n.HoverManagerService)),S(2,(0,t.Inject)(n.CellAlertManagerService)),S(3,(0,t.Inject)(t.LocaleService)),S(4,(0,t.Inject)(r.FormulaDataModel)),S(5,l.IZenZoneService)],H);let U=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._univerInstanceService=e,this._lexerTreeBuilder=t,this._sheetClipboardService=n,this._injector=r,this._formulaDataModel=i,this._initialize()}_initialize(){this._registerClipboardHook()}_registerClipboardHook(){this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._copyFormulaOnlyHook())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._pasteFormulaHook())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._pasteWithFormulaHook()))}_copyFormulaOnlyHook(){let e=this,r=null;return{id:n.PREDEFINED_HOOK_NAME_COPY.SPECIAL_COPY_FORMULA_ONLY,priority:10,onBeforeCopy(t,n){r=e._getWorksheet(t,n)},onCopyCellContent(n,i){if(!r)return``;let a=r.getCellRaw(n,i);return a?(0,t.isFormulaString)(a.f)?a.f:(0,t.isFormulaId)(a.si)&&e._formulaDataModel.getFormulaStringByCell(n,i,r.getSheetId(),r.getUnitId())||``:``},onAfterCopy(){r=null},getFilteredOutRows(t,n,r){let i=e._getWorksheet(t,n);if(!i)return[];let{startRow:a,endRow:o}=r,s=[];for(let e=a;e<=o;e++)i.getRowFiltered(e)&&s.push(e);return s},handleMatrixOnCell(n,i,a,o,s,c,l){let u=s.getValue(n,i);if(r&&u&&((0,t.isFormulaString)(u.f)||(0,t.isFormulaId)(u.si))){let s=(0,t.isFormulaString)(u.f)?u.f:e._formulaDataModel.getFormulaStringByCell(n,i,r.getSheetId(),r.getUnitId());c.setValue(a,o,{...(0,t.getEmptyCell)(),f:s}),l.setValue(a,o,{...(0,t.getEmptyCell)(),f:s,displayV:s})}else s.setValue(n,i,(0,t.getEmptyCell)()),c.setValue(a,o,(0,t.getEmptyCell)()),l.setValue(a,o,(0,t.getEmptyCell)())}}}_pasteFormulaHook(){return{id:n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMULA,priority:10,specialPasteInfo:{label:`specialPaste.formula`},onPasteCells:(e,t,n,r)=>this._onPasteCells(e,t,n,r,!0)}}_pasteWithFormulaHook(){return{id:`default-paste-formula`,priority:10,onPasteCells:(e,t,n,r)=>this._onPasteCells(e,t,n,r,!1)}}_getWorkbook(e){return e?this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET):this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET)}_getWorksheet(e,t){let n=this._getWorkbook(e);return t?n==null?void 0:n.getSheetBySheetId(t):n==null?void 0:n.getActiveSheet()}_onPasteCells(e,t,r,i,a){var o;if([n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMAT,n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_COL_WIDTH].includes(i.pasteType))return{undos:[],redos:[]};let s=this._getWorkbook(),c=t.unitId||(s==null?void 0:s.getUnitId()),l=t.subUnitId||(s==null||(o=s.getActiveSheet())==null?void 0:o.getSheetId());if(!c||!l)return{undos:[],redos:[]};let u=t.range,d=r,f={copyType:i.copyType||n.COPY_TYPE.COPY,copyRange:e==null?void 0:e.range,pasteType:i.pasteType};return this._injector.invoke(t=>W(c,l,u,d,t,f,this._lexerTreeBuilder,this._formulaDataModel,a,e))}};U=C([S(0,t.IUniverInstanceService),S(1,(0,t.Inject)(r.LexerTreeBuilder)),S(2,n.ISheetClipboardService),S(3,(0,t.Inject)(t.Injector)),S(4,(0,t.Inject)(r.FormulaDataModel))],U);function W(e,t,n,r,i,a,o,c,l=!1,u){let d=[],f=[],p=ce(e,t,n,r,a,o,c,u);if(!p.hasValue())return{undos:[],redos:[]};let m={unitId:e,subUnitId:t,cellValue:p.getData()};d.push({id:s.SetRangeValuesMutation.id,params:m});let h=(0,s.SetRangeValuesUndoMutationFactory)(i,m);return f.push({id:s.SetRangeValuesMutation.id,params:h}),{undos:f,redos:d}}function ce(e,t,r,i,a,o,s,c){return c?a.pasteType===n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_VALUE?ue(e,t,r,i,s,c):a.pasteType===n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMULA?G(e,t,r,i,o,s,c):de(e,t,r,i,a.copyType,o,s,c):le(e,t,r,i,s)}function le(e,n,r,i,a){let o=new t.ObjectMatrix,s=a.getSheetFormulaData(e,n);return i.forValue((e,n,i)=>{var a;let c=r.rows[e],l=r.cols[n],u={};(0,t.isFormulaString)(i.v)?(u.v=null,u.f=`${i.v}`,u.si=null,u.p=null,o.setValue(c,l,u)):!(s==null||(a=s[c])==null)&&a[l]&&(u.v=i.v,u.f=null,u.si=null,u.p=null,o.setValue(c,l,u))}),o}function ue(e,n,r,i,a,o){var s;let c=new t.ObjectMatrix,l=(s=a.getArrayFormulaCellData())==null||(s=s[o.unitId])==null?void 0:s[o.subUnitId],u=a.getSheetFormulaData(e,n);return i.forValue((e,n,i)=>{var a,s;let d=o.range.rows[e%o.range.rows.length],f=o.range.cols[n%o.range.cols.length],p=r.rows[e],m=r.cols[n],h={};if((0,t.isFormulaString)(i.f)||(0,t.isFormulaId)(i.si))h.v=i.v,h.f=null,h.si=null,h.p=null,c.setValue(p,m,h);else if(!(l==null||(a=l[d])==null)&&a[f])h.v=l[d][f].v,h.f=null,h.si=null,h.p=null,c.setValue(p,m,h);else if(!(u==null||(s=u[p])==null)&&s[m]){if(h.v=i.v,h.f=null,h.si=null,h.p=null,i.p){let e=fe(i);e&&(h.v=e)}c.setValue(p,m,h)}}),c}function G(e,n,r,i,a,o,s){let c=new t.ObjectMatrix,l=new Map;return i.forValue((i,u,d)=>{let f=r.rows[i],p=r.cols[u],m={};if((0,t.isFormulaId)(d.si)){if(s.unitId!==e||s.subUnitId!==n){let e=o.getFormulaStringByCell(s.range.rows[i%s.range.rows.length],s.range.cols[u%s.range.cols.length],s.subUnitId,s.unitId),t=r.cols[u]-s.range.cols[u%s.range.cols.length],n=r.rows[i]-s.range.rows[i%s.range.rows.length],c=a.moveFormulaRefOffset(e||``,t,n);m.si=null,m.f=c}else m.si=d.si,m.f=null;m.v=null,m.p=null,c.setValue(f,p,m)}else if((0,t.isFormulaString)(d.f)){let e=`${i%s.range.rows.length}_${u%s.range.cols.length}`,n=l.get(e);if(n)m.si=n,m.f=null;else{n=(0,t.generateRandomId)(6),l.set(e,n);let o=r.cols[u]-s.range.cols[u%s.range.cols.length],c=r.rows[i]-s.range.rows[i%s.range.rows.length],f=a.moveFormulaRefOffset(d.f||``,o,c);m.si=n,m.f=f}m.v=null,m.p=null,c.setValue(f,p,m)}else{if(m.v=d.v,m.f=null,m.si=null,m.p=null,d.p){let e=fe(d);e&&(m.v=e)}c.setValue(f,p,m)}}),c}function de(e,r,i,a,o,s,c,l){let u=new t.ObjectMatrix,d=new Map,f=c.getSheetFormulaData(e,r),p=[];return o===n.COPY_TYPE.CUT?a.forValue((e,n,r)=>{let a=i.rows[e],o=i.cols[n],s={};(0,t.isFormulaId)(r.si)?((0,t.isFormulaString)(r.f)?(p.push(r.si),s.f=r.f,s.si=r.si):p.includes(r.si)?(s.f=null,s.si=r.si):(s.f=c.getFormulaStringByCell(l.range.rows[e%l.range.rows.length],l.range.cols[n%l.range.cols.length],l.subUnitId,l.unitId),s.si=null),s.v=null,s.p=null,u.setValue(a,o,s)):(0,t.isFormulaString)(r.f)&&(s.f=r.f,s.si=null,s.v=null,s.p=null,u.setValue(a,o,s))}):a.forValue((n,a,o)=>{var p;let m=i.rows[n],h=i.cols[a],g={};if((0,t.isFormulaId)(o.si)){if(l.unitId!==e||l.subUnitId!==r){let e=c.getFormulaStringByCell(l.range.rows[n%l.range.rows.length],l.range.cols[a%l.range.cols.length],l.subUnitId,l.unitId),t=i.cols[a]-l.range.cols[a%l.range.cols.length],r=i.rows[n]-l.range.rows[n%l.range.rows.length],o=s.moveFormulaRefOffset(e||``,t,r);g.si=null,g.f=o}else g.si=o.si,g.f=null;g.v=null,g.p=null,u.setValue(m,h,g)}else if((0,t.isFormulaString)(o.f)){let e=`${n%l.range.rows.length}_${a%l.range.cols.length}`,r=d.get(e);if(r)g.si=r,g.f=null;else{r=(0,t.generateRandomId)(6),d.set(e,r);let c=i.cols[a]-l.range.cols[a%l.range.cols.length],u=i.rows[n]-l.range.rows[n%l.range.rows.length],f=s.moveFormulaRefOffset(o.f||``,c,u);g.si=r,g.f=f}g.v=null,g.p=null,u.setValue(m,h,g)}else !(f==null||(p=f[m])==null)&&p[h]&&(g.v=o.v,g.f=null,g.si=null,g.p=o.p,u.setValue(m,h,g))}),p.length>0&&new t.ObjectMatrix(f).forValue((e,t,n)=>{if(!(l.range.rows.includes(e)&&l.range.cols.includes(t))&&!(i.rows.includes(e)&&i.cols.includes(t))&&p.includes(n==null?void 0:n.si)){let n=c.getFormulaStringByCell(e,t,l.subUnitId,l.unitId);u.setValue(e,t,{f:n,si:null,v:null,p:null})}}),u}function fe(e){if(e!=null&&e.p){let n=e==null?void 0:e.p.body;if(n==null)return;let r=n.dataStream;return r.substring(r.length-2,r.length)===t.DEFAULT_EMPTY_DOCUMENT_VALUE?r.substring(0,r.length-2):r}}let pe=class extends t.Disposable{constructor(e,t,n,r,i,a,o,s){super(),this._context=e,this._sheetInterceptorService=t,this._formulaDataModel=n,this._themeService=r,this._renderManagerService=i,this._sheetSkeletonManagerService=a,this._commandService=o,this._logService=s,x(this,`_previousShape`,void 0),x(this,`_skeleton`,void 0),this._initSkeletonChangeListener(),this._initInterceptorEditorStart(),this._commandExecutedListener()}_initSkeletonChangeListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(e==null)this._logService.debug(`[FormulaEditorShowController]: should not receive currentSkeleton$ as null!`);else{var t;let{skeleton:n}=e,r=(t=this._skeleton)==null||(t=t.worksheet)==null?void 0:t.getSheetId();if(this._changeRuntime(n),r!==n.worksheet.getSheetId())this._removeArrayFormulaRangeShape();else{let{unitId:t,sheetId:n}=e;this._updateArrayFormulaRangeShape(t,n)}}}))}_changeRuntime(e){this._skeleton=e}_initInterceptorEditorStart(){this.disposeWithMe((0,t.toDisposable)(this._sheetInterceptorService.writeCellInterceptor.intercept(s.BEFORE_CELL_EDIT,{handler:(e,t,n)=>{var r,i;let{row:a,col:o,unitId:s,subUnitId:c,worksheet:l}=t,u=this._formulaDataModel.getArrayFormulaRange(),d=this._formulaDataModel.getArrayFormulaCellData();if(this._removeArrayFormulaRangeShape(),e==null)return n(e);let f=null,p=this._formulaDataModel.getFormulaStringByCell(a,o,c,s);if(p!==null&&(f={f:p}),e.v!=null&&e.v!==``&&((r=d[s])==null||(r=r[c])==null||(r=r[a])==null?void 0:r[o])==null)return f?{...e,...f}:n(e);let m=u==null||(i=u[s])==null?void 0:i[c];return m!=null&&(f=this._displayArrayFormulaRangeShape(m,a,o,s,c,l,f)),f?{...e,...f}:n(e)}})))}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{(e.id===r.SetFormulaCalculationResultMutation.id||e.id===r.SetArrayFormulaDataMutation.id&&t&&t.remove)&&this._removeArrayFormulaRangeShape()})),this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{s.SetWorksheetRowAutoHeightMutation.id===e.id&&requestIdleCallback(()=>{let{unitId:t,subUnitId:n,rowsAutoHeightInfo:r}=e.params;this._refreshArrayFormulaRangeShapeByRow(t,n,r)})}))}_displayArrayFormulaRangeShape(e,n,i,a,o,s,c){return new t.ObjectMatrix(e).forValue((e,t,o)=>{if(o==null)return!0;let{startRow:l,startColumn:u,endRow:d,endColumn:f}=o;if(e===n&&t===i)return this._createArrayFormulaRangeShape(o,a),!1;if(n>=l&&n<=d&&i>=u&&i<=f){let e=s.getCell(l,u);return(e==null?void 0:e.v)===r.ErrorType.SPILL||(e==null?void 0:e.f)==null?void 0:(c==null&&(c={f:e.f,isInArrayFormulaRange:!0}),this._createArrayFormulaRangeShape(o,a),!1)}}),c}_createArrayFormulaRangeShape(e,r){let i=this._renderManagerService.getRenderById(r),a=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!i||!a)return;let{scene:o}=i;if(!o)return;let s=(0,n.attachSelectionWithCoord)({range:e,primary:null,style:{strokeWidth:1,stroke:this._themeService.getColorFromTheme(`primary.600`),fill:new t.ColorKit(this._themeService.getColorFromTheme(`white`)).setAlpha(0).toString(),widgets:{}}},a),{rowHeaderWidth:c,columnHeaderHeight:l}=a,u=new n.SelectionControl(o,n.SELECTION_SHAPE_DEPTH.FORMULA_EDITOR_SHOW,this._themeService,{highlightHeader:!1,rowHeaderWidth:c,columnHeaderHeight:l});u.updateRangeBySelectionWithCoord(s),u.setEvent(!1),this._previousShape=u}_removeArrayFormulaRangeShape(){this._previousShape!=null&&(this._previousShape.dispose(),this._previousShape=null)}_refreshArrayFormulaRangeShape(e,t){if(this._previousShape){let{startRow:t,endRow:n,startColumn:r,endColumn:i}=this._previousShape.getRange(),a={startRow:t,endRow:n,startColumn:r,endColumn:i};this._removeArrayFormulaRangeShape(),this._createArrayFormulaRangeShape(a,e)}}_checkCurrentSheet(e,t){let n=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!n)return!1;let r=n.worksheet;return r?r.unitId===e&&r.getSheetId()===t:!1}_updateArrayFormulaRangeShape(e,t){this._checkCurrentSheet(e,t)&&this._previousShape&&this._refreshArrayFormulaRangeShape(e)}_refreshArrayFormulaRangeShapeByRow(e,t,n){if(!this._checkCurrentSheet(e,t)||!this._previousShape)return;let{startRow:r,endRow:i,startColumn:a,endColumn:o}=this._previousShape.getRange();for(let t=0;t<n.length;t++){let{row:s}=n[t];if(r>=s){let t={startRow:r,endRow:i,startColumn:a,endColumn:o};this._refreshArrayFormulaRangeShape(e,t);break}}}};pe=C([S(1,(0,t.Inject)(s.SheetInterceptorService)),S(2,(0,t.Inject)(r.FormulaDataModel)),S(3,(0,t.Inject)(t.ThemeService)),S(4,o.IRenderManagerService),S(5,(0,t.Inject)(n.SheetSkeletonManagerService)),S(6,t.ICommandService),S(7,t.ILogService)],pe);let me={tl:{size:6,color:`#409f11`}},he=class extends t.RxDisposable{constructor(e,n){super(),this._sheetInterceptorService=e,this._formulaDataModel=n,this.disposeWithMe(this._sheetInterceptorService.intercept(s.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t.InterceptorEffectEnum.Style,handler:(e,t,n)=>{var i;let a=(i=this._formulaDataModel.getArrayFormulaCellData())==null||(i=i[t.unitId])==null||(i=i[t.subUnitId])==null||(i=i[t.row])==null?void 0:i[t.col];return!(0,r.extractFormulaError)(e,!!a)||!e?n(e):(e===t.rawData&&(e={...t.rawData}),e.markers={...e==null?void 0:e.markers,...me},n(e))},priority:10}))}};he=C([S(0,(0,t.Inject)(s.SheetInterceptorService)),S(1,(0,t.Inject)(r.FormulaDataModel))],he);function ge(e){let n=[`SUMIF`,`SUM`,`AVERAGE`,`IF`,`COUNT`,`SIN`,`MAX`],r=n.map(e=>({label:{name:e,selectable:!1},value:e}));try{let t=e.get(c.IDescriptionService),i=n.filter(e=>!!t.getFunctionInfo(e));i.length>0&&(r=i.map(e=>({label:{name:e,selectable:!1},value:e})))}catch{}return{id:`${O.id}.common`,commandId:O.id,title:`formula.insert.common`,tooltip:`formula.insert.tooltip`,icon:`FunctionIcon`,type:l.MenuItemType.SELECTOR,selections:r,hidden$:(0,l.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET)}}function K(e,n,r){return function(i){let a=[];try{a=i.get(c.IDescriptionService).getSearchListByType(e).map(({name:e})=>({label:{name:e,selectable:!1},value:e}))}catch{a=[]}return{id:`${O.id}.${n}`,commandId:O.id,title:`formula.functionType.${n}`,tooltip:`formula.insert.tooltip`,icon:r,type:l.MenuItemType.SELECTOR,selections:a,hidden$:(0,l.getMenuHiddenObservable)(i,t.UniverInstanceType.UNIVER_SHEET)}}}let _e=K(r.FunctionType.Financial,`financial`),ve=K(r.FunctionType.Logical,`logical`),ye=K(r.FunctionType.Text,`text`),be=K(r.FunctionType.Date,`date`),xe=K(r.FunctionType.Lookup,`lookup`),q=K(r.FunctionType.Math,`math`),J=K(r.FunctionType.Statistical,`statistical`),Se=K(r.FunctionType.Engineering,`engineering`),Ce=K(r.FunctionType.Information,`information`),we=K(r.FunctionType.Database,`database`);function Y(e){return{id:L.id,title:`formula.moreFunctions.allFunctions`,tooltip:`formula.insert.tooltip`,type:l.MenuItemType.BUTTON,hidden$:(0,l.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:(0,n.getCurrentRangeDisable$)(e,{workbookTypes:[s.WorkbookEditablePermission],worksheetTypes:[s.WorksheetEditPermission,s.WorksheetSetCellValuePermission],rangeTypes:[s.RangeProtectionPermissionEditPoint]})}}function Te(e){return{id:h.id,type:l.MenuItemType.BUTTON,title:`formula.operation.copyFormulaOnly`,disabled$:(0,n.getCurrentRangeDisable$)(e,{workbookTypes:[s.WorkbookCopyPermission],worksheetTypes:[s.WorksheetCopyPermission],rangeTypes:[s.RangeProtectionPermissionViewPoint]}),hidden$:(0,l.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET)}}function Ee(e){return{id:g.id,type:l.MenuItemType.BUTTON,title:`formula.operation.pasteFormula`,disabled$:(0,n.menuClipboardDisabledObservable)(e).pipe((0,i.combineLatestWith)((0,n.getCurrentRangeDisable$)(e,{workbookTypes:[s.WorkbookEditablePermission],rangeTypes:[s.RangeProtectionPermissionEditPoint],worksheetTypes:[s.WorksheetSetCellValuePermission,s.WorksheetEditPermission]})),(0,i.map)(([e,t])=>e||t)),hidden$:(0,l.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET)}}let De={[l.RibbonFormulasGroup.BASIC]:{[`${O.id}.common`]:{order:0,menuItemFactory:ge,[L.id]:{order:0,menuItemFactory:Y}},[`${O.id}.financial`]:{order:1,menuItemFactory:_e,[L.id]:{order:0,menuItemFactory:Y}},[`${O.id}.logical`]:{order:2,menuItemFactory:ve,[L.id]:{order:0,menuItemFactory:Y}},[`${O.id}.text`]:{order:3,menuItemFactory:ye,[L.id]:{order:0,menuItemFactory:Y}},[`${O.id}.date`]:{order:4,menuItemFactory:be,[L.id]:{order:0,menuItemFactory:Y}},[`${O.id}.lookup`]:{order:5,menuItemFactory:xe,[L.id]:{order:0,menuItemFactory:Y}},[`${O.id}.math`]:{order:6,menuItemFactory:q,[L.id]:{order:0,menuItemFactory:Y}},[`${O.id}.statistical`]:{order:7,menuItemFactory:J,[L.id]:{order:0,menuItemFactory:Y}},[`${O.id}.engineering`]:{order:8,menuItemFactory:Se,[L.id]:{order:0,menuItemFactory:Y}},[`${O.id}.information`]:{order:9,menuItemFactory:Ce,[L.id]:{order:0,menuItemFactory:Y}},[`${O.id}.database`]:{order:10,menuItemFactory:we,[L.id]:{order:0,menuItemFactory:Y}}},[n.COPY_SPECIAL_MENU_ID]:{[h.id]:{order:0,menuItemFactory:Te}},[n.PASTE_SPECIAL_MENU_ID]:{[g.id]:{order:4,menuItemFactory:Ee}}};function Oe(){let e=(0,l.useDependency)(c.TriggerCalculationController),n=(0,l.useDependency)(t.ICommandService);return(0,d.jsx)(l.ProgressBar,{progress:(0,l.useObservable)(e.progress$),onTerminate:(0,u.useCallback)(()=>{n.executeCommand(r.SetFormulaCalculationStopMutation.id)},[n]),onClearProgress:(0,u.useCallback)(()=>{e.clearProgress()},[e])})}function ke(e,t){return Object.keys(r.FunctionType).filter(e=>isNaN(Number(e))&&e!==`DefinedName`&&e!==`Table`&&(t||e!==`User`)).map(t=>({label:e.t(`formula.functionType.${t.toLocaleLowerCase()}`),value:`${r.FunctionType[t]}`}))}function Ae(e){if(!e.require&&!e.repeat)return`[${e.name}]`;if(e.require&&!e.repeat)return e.name;if(!e.require&&e.repeat)return`[${e.name},...]`;if(e.require&&e.repeat)return`${e.name},...`}function je(e){let{prefix:t,value:n}=e;return(0,d.jsxs)(`div`,{children:[(0,d.jsxs)(`span`,{children:[t,`(`]}),n&&n.map((e,t)=>(0,d.jsxs)(`span`,{children:[(0,d.jsx)(`span`,{children:Ae(e)}),t===n.length-1?``:`,`]},t)),`)`]})}function Me(e){let{className:t,value:n,title:r}=e;return(0,d.jsxs)(`div`,{className:`univer-mb-2 univer-text-xs`,children:[(0,d.jsx)(`div`,{className:(0,f.clsx)(`
2
- univer-mb-2 univer-font-medium univer-text-gray-500
3
- dark:!univer-text-gray-300
4
- `,t),children:r}),(0,d.jsx)(`div`,{className:`
5
- univer-break-all univer-text-gray-900
6
- dark:!univer-text-white
7
- `,children:n})]})}function Ne(e){let{functionInfo:t,onChange:n}=e;if(!t)return null;let[r,i]=(0,u.useState)([]),[a,o]=(0,u.useState)(t.functionParameter),[s,c]=(0,u.useState)(-1);return(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`div`,{className:(0,f.clsx)(`univer-h-[364px] univer-overflow-y-auto`,f.scrollbarClassName),children:a.map((e,t)=>(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`div`,{className:`univer-text-sm`,children:e.name}),(0,d.jsx)(`div`,{className:`univer-mb-2 univer-mt-1`})]},t))}),(0,d.jsx)(`div`,{className:(0,f.clsx)(`univer-flex-1 univer-p-3`,f.borderLeftClassName),children:(0,d.jsx)(Me,{title:s===-1?(0,d.jsx)(je,{prefix:t.functionName,value:a}):a[s].name,value:s===-1?t.description:a[s].detail})})]})}function X({ref:e,...t}){let{icon:n,id:r,className:i,extend:a,...o}=t,s=`univerjs-icon univerjs-icon-${r} ${i||``}`.trim(),c=(0,u.useRef)(`_${Le()}`);return Pe(n,`${r}`,{defIds:n.defIds,idSuffix:c.current},{ref:e,className:s,...o},a)}function Pe(e,t,n,r,i){return(0,u.createElement)(e.tag,{key:t,...Fe(e,n,i),...r},(Ie(e,n).children||[]).map((r,a)=>Pe(r,`${t}-${e.tag}-${a}`,n,void 0,i)))}function Fe(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),e.tag===`mask`&&r.id&&(r.id+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{e===`mask`&&typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});let{defIds:i}=t;return!i||i.length===0?r:(e.tag===`use`&&r[`xlink:href`]&&(r[`xlink:href`]+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),r)}function Ie(e,t){var n;let{defIds:r}=t;return!r||r.length===0?e:e.tag===`defs`&&(n=e.children)!=null&&n.length?{...e,children:e.children.map(e=>typeof e.attrs.id==`string`&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}function Le(){return Math.random().toString(36).substring(2,8)}X.displayName=`UniverIcon`;let Re={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},ze=(0,u.forwardRef)(function(e,t){return(0,u.createElement)(X,Object.assign({},e,{id:`check-mark-icon`,ref:t,icon:Re}))});ze.displayName=`CheckMarkIcon`;let Be={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M3.71274 2.86421C3.47843 2.6299 3.09853 2.6299 2.86421 2.86421C2.6299 3.09853 2.6299 3.47843 2.86421 3.71274L7.15154 8.00007L2.86421 12.2874C2.6299 12.5217 2.6299 12.9016 2.86421 13.1359C3.09853 13.3702 3.47843 13.3702 3.71274 13.1359L8.00007 8.84859L12.2874 13.1359C12.5217 13.3702 12.9016 13.3702 13.1359 13.1359C13.3702 12.9016 13.3702 12.5217 13.1359 12.2874L8.84859 8.00007L13.1359 3.71274C13.3702 3.47843 13.3702 3.09853 13.1359 2.86421C12.9016 2.6299 12.5217 2.6299 12.2874 2.86421L8.00007 7.15154L3.71274 2.86421Z`}}]},Ve=(0,u.forwardRef)(function(e,t){return(0,u.createElement)(X,Object.assign({},e,{id:`close-icon`,ref:t,icon:Be}))});Ve.displayName=`CloseIcon`;let He={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M5.3313 1.4667C5.3313 1.13533 5.59993 0.866699 5.9313 0.866699H10.069C10.4004 0.866699 10.669 1.13533 10.669 1.4667C10.669 1.79807 10.4004 2.0667 10.069 2.0667H5.9313C5.59993 2.0667 5.3313 1.79807 5.3313 1.4667Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M1.09985 3.64443C1.09985 3.31306 1.36848 3.04443 1.69985 3.04443H14.2999C14.6312 3.04443 14.8999 3.31306 14.8999 3.64443C14.8999 3.9758 14.6312 4.24443 14.2999 4.24443H1.69985C1.36848 4.24443 1.09985 3.9758 1.09985 3.64443Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M6.12398 8.30171C6.35829 8.0674 6.73819 8.0674 6.97251 8.30171L8.00007 9.32928L9.02764 8.30171C9.26195 8.0674 9.64185 8.0674 9.87617 8.30171C10.1105 8.53603 10.1105 8.91593 9.87617 9.15024L8.8486 10.1778L9.87617 11.2054C10.1105 11.4397 10.1105 11.8196 9.87617 12.0539C9.64185 12.2882 9.26195 12.2882 9.02764 12.0539L8.00007 11.0263L6.97251 12.0539C6.73819 12.2882 6.35829 12.2882 6.12398 12.0539C5.88966 11.8196 5.88966 11.4397 6.12398 11.2054L7.15154 10.1778L6.12398 9.15024C5.88966 8.91593 5.88966 8.53603 6.12398 8.30171Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M4.75332 5.22217C3.86966 5.22217 3.15332 5.93851 3.15332 6.82217V12.5331C3.15332 13.9691 4.31738 15.1332 5.75332 15.1332H10.2465C11.6825 15.1332 12.8465 13.9691 12.8465 12.5331V6.82217C12.8465 5.93851 12.1302 5.22217 11.2465 5.22217H4.75332ZM4.35332 6.82217C4.35332 6.60125 4.53241 6.42217 4.75332 6.42217H11.2465C11.4674 6.42217 11.6465 6.60125 11.6465 6.82217V12.5331C11.6465 13.3063 11.0197 13.9332 10.2465 13.9332H5.75332C4.98012 13.9332 4.35332 13.3063 4.35332 12.5331V6.82217Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Ue=(0,u.forwardRef)(function(e,t){return(0,u.createElement)(X,Object.assign({},e,{id:`delete-icon`,ref:t,icon:He}))});Ue.displayName=`DeleteIcon`;let We={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8.6 1.99991C8.60001 1.66854 8.33138 1.39991 8.00001 1.3999C7.66864 1.3999 7.40001 1.66853 7.4 1.9999L7.39996 7.3999H1.9999C1.66853 7.3999 1.3999 7.66853 1.3999 7.9999C1.3999 8.33127 1.66853 8.5999 1.9999 8.5999H7.39995L7.3999 13.9999C7.3999 14.3313 7.66853 14.5999 7.9999 14.5999C8.33127 14.5999 8.5999 14.3313 8.5999 13.9999L8.59995 8.5999H13.9999C14.3313 8.5999 14.5999 8.33127 14.5999 7.9999C14.5999 7.66853 14.3313 7.3999 13.9999 7.3999H8.59996L8.6 1.99991Z`}}]},Ge=(0,u.forwardRef)(function(e,t){return(0,u.createElement)(X,Object.assign({},e,{id:`increase-icon`,ref:t,icon:We}))});Ge.displayName=`IncreaseIcon`;let Ke={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M5.90913 3.57564C6.14345 3.34132 6.52335 3.34132 6.75766 3.57564L10.7577 7.57564C10.992 7.80995 10.992 8.18985 10.7577 8.42417L6.75766 12.4242C6.52335 12.6585 6.14345 12.6585 5.90913 12.4242C5.67482 12.1899 5.67482 11.81 5.90913 11.5756L9.48487 7.9999L5.90913 4.42417C5.67482 4.18985 5.67482 3.80995 5.90913 3.57564Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},qe=(0,u.forwardRef)(function(e,t){return(0,u.createElement)(X,Object.assign({},e,{id:`more-icon`,ref:t,icon:Ke}))});qe.displayName=`MoreIcon`;let Je={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M12.6185 12.4423C12.5907 12.2749 12.7773 12.15 12.9343 12.2308L15.4242 13.5126C15.6102 13.6084 15.5544 13.8745 15.3439 13.8955L14.2456 14.184L13.4521 15.1286C13.3495 15.2939 13.085 15.2463 13.0534 15.0568L12.6185 12.4423Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M1 3.6C1 2.16406 2.16406 1 3.6 1H12.3C13.7359 1 14.9 2.16406 14.9 3.6V5.81156C14.9003 5.81881 14.9004 5.82609 14.9004 5.8334C14.9004 5.84071 14.9003 5.84799 14.9 5.85524V10.045C14.9003 10.0522 14.9004 10.0595 14.9004 10.0668C14.9004 10.3982 14.6318 10.6668 14.3004 10.6668H11.1668C10.8907 10.6668 10.6668 10.8907 10.6668 11.1668V14.3C10.6668 14.6314 10.3982 14.9 10.0668 14.9L10.05 14.8998L3.6 14.9C2.16406 14.9 1 13.7359 1 12.3V3.6ZM13.2 5.2334C13.4761 5.2334 13.7 5.00954 13.7 4.7334V3.6C13.7 2.8268 13.0732 2.2 12.3 2.2H11.1668C10.8907 2.2 10.6668 2.42386 10.6668 2.7V4.7334C10.6668 5.00954 10.8907 5.2334 11.1668 5.2334H13.2ZM10.6668 6.9334C10.6668 6.65726 10.8907 6.4334 11.1668 6.4334H13.2C13.4761 6.4334 13.7 6.65726 13.7 6.9334V8.9668C13.7 9.24294 13.4761 9.4668 13.2 9.4668H11.1668C10.8907 9.4668 10.6668 9.24294 10.6668 8.9668V6.9334ZM8.9668 5.2334C9.24294 5.2334 9.4668 5.00954 9.4668 4.7334V2.7C9.4668 2.42386 9.24294 2.2 8.9668 2.2H6.9334C6.65726 2.2 6.4334 2.42386 6.4334 2.7V4.7334C6.4334 5.00954 6.65726 5.2334 6.9334 5.2334L8.9668 5.2334ZM6.4334 6.9334C6.4334 6.65726 6.65726 6.4334 6.9334 6.4334L8.9668 6.4334C9.24294 6.4334 9.4668 6.65726 9.4668 6.9334V8.9668C9.4668 9.24294 9.24294 9.4668 8.9668 9.4668L6.9334 9.4668C6.65726 9.4668 6.4334 9.24294 6.4334 8.9668V6.9334ZM4.7334 5.2334C5.00954 5.2334 5.2334 5.00954 5.2334 4.7334V2.7C5.2334 2.42386 5.00954 2.2 4.7334 2.2H3.6C2.8268 2.2 2.2 2.8268 2.2 3.6V4.7334C2.2 5.00954 2.42386 5.2334 2.7 5.2334H4.7334ZM2.2 6.9334C2.2 6.65726 2.42386 6.4334 2.7 6.4334H4.7334C5.00954 6.4334 5.2334 6.65725 5.2334 6.9334V8.9668C5.2334 9.24294 5.00954 9.4668 4.7334 9.4668H2.7C2.42386 9.4668 2.2 9.24294 2.2 8.9668V6.9334ZM5.2334 11.1668C5.2334 10.8907 5.00954 10.6668 4.7334 10.6668H2.7C2.42386 10.6668 2.2 10.8907 2.2 11.1668V12.3C2.2 13.0732 2.8268 13.7 3.6 13.7H4.7334C5.00954 13.7 5.2334 13.4761 5.2334 13.2V11.1668ZM9.4668 11.1668C9.4668 10.8907 9.24294 10.6668 8.9668 10.6668H6.9334C6.65726 10.6668 6.4334 10.8907 6.4334 11.1668V13.2C6.4334 13.4761 6.65726 13.7 6.9334 13.7H8.9668C9.24294 13.7 9.4668 13.4761 9.4668 13.2V11.1668Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Ye=(0,u.forwardRef)(function(e,t){return(0,u.createElement)(X,Object.assign({},e,{id:`select-range-icon`,ref:t,icon:Je}))});Ye.displayName=`SelectRangeIcon`;function Xe(e){var n;let r=(n=(0,l.useDependency)(t.IConfigService).getConfig(c.PLUGIN_CONFIG_KEY_BASE))==null?void 0:n.function,{onChange:i}=e,[a,o]=(0,u.useState)(``),[s,p]=(0,u.useState)([]),[m,h]=(0,u.useState)(0),[g,_]=(0,u.useState)(`-1`),[v,y]=(0,u.useState)(0),[b,x]=(0,u.useState)(null),S=(0,l.useDependency)(c.IDescriptionService),C=(0,l.useDependency)(t.LocaleService),w=(0,l.useObservable)((0,l.useDependency)(l.ISidebarService).sidebarOptions$),T=ke(C,!!r).filter(e=>S.getSearchListByType(Number(e.value)).length>0);T.unshift({label:C.t(`formula.moreFunctions.allFunctions`),value:`-1`});let E=C.t(`formula.prompt.required`),D=C.t(`formula.prompt.optional`);(0,u.useEffect)(()=>{A(`-1`)},[]),(0,u.useEffect)(()=>{k(0)},[s]),(0,u.useEffect)(()=>{w!=null&&w.visible&&(o(``),p([]),h(0),_(`-1`),y(0),x(null),A(`-1`))},[w]);let O=e=>{if(a.trim()===``)return e;let t=RegExp(`(${a.toLocaleUpperCase()})`);return e.split(t).filter(Boolean).map((e,n)=>e.match(t)?(0,d.jsx)(`span`,{className:`univer-text-red-500`,children:e},n):e)},k=e=>{if(s.length===0){x(null),i(null);return}y(e);let t=S.getFunctionInfo(s[e].name);if(!t){x(null),i(null);return}x(t),i(t)};function A(e){_(e),p(S.getSearchListByType(+e))}function j(e){o(e),p(S.getSearchListByName(e))}function M(e){if(e.stopPropagation(),e.key===`ArrowDown`){let e=m+1;h(e===s.length?0:e)}else if(e.key===`ArrowUp`){let e=m-1;h(e===-1?s.length-1:e)}else e.key===`Enter`&&k(m)}let N=e=>{h(e)},P=()=>{h(-1)};return(0,d.jsxs)(`div`,{children:[(0,d.jsxs)(`div`,{className:`univer-flex univer-items-center univer-justify-between univer-gap-2`,children:[(0,d.jsx)(f.Select,{value:g,options:T,onChange:A}),(0,d.jsx)(f.Input,{placeholder:C.t(`formula.moreFunctions.searchFunctionPlaceholder`),onKeyDown:M,value:a,onChange:j,size:`small`,allowClear:!0})]}),s.length>0&&(0,d.jsx)(`ul`,{className:(0,f.clsx)(`
8
- univer-mb-0 univer-mt-2 univer-box-border univer-max-h-72 univer-w-full univer-select-none
9
- univer-list-none univer-overflow-y-auto univer-rounded univer-p-3 univer-outline-none
10
- `,f.borderClassName,f.scrollbarClassName),onKeyDown:M,tabIndex:-1,children:s.map(({name:e},t)=>(0,d.jsxs)(`li`,{className:(0,f.clsx)(`
11
- univer-relative univer-box-border univer-cursor-pointer univer-rounded univer-px-7
12
- univer-py-1 univer-text-sm univer-text-gray-900 univer-transition-colors
13
- dark:!univer-text-white
14
- `,{"univer-bg-gray-200 dark:!univer-bg-gray-600":m===t}),onMouseEnter:()=>N(t),onMouseLeave:P,onClick:()=>k(t),children:[v===t&&(0,d.jsx)(ze,{className:`
15
- univer-absolute univer-left-1.5 univer-top-1/2 univer-inline-flex
16
- -univer-translate-y-1/2 univer-text-base univer-text-primary-600
17
- `}),(0,d.jsx)(`span`,{className:`univer-block`,children:O(e)})]},t))}),b&&(0,d.jsxs)(`div`,{className:(0,f.clsx)(`univer-mx-0 univer-my-2 univer-overflow-y-auto`,f.scrollbarClassName),children:[(0,d.jsx)(Me,{title:b.functionName,value:b.description}),(0,d.jsx)(Me,{title:C.t(`formula.moreFunctions.syntax`),value:(0,d.jsx)(je,{prefix:b.functionName,value:b.functionParameter})}),(0,d.jsx)(Me,{title:C.t(`formula.prompt.helpExample`),value:`${b.functionName}(${b.functionParameter.map(e=>e.example).join(`,`)})`}),b.functionParameter&&b.functionParameter.map(e=>(0,d.jsx)(Me,{title:e.name,value:`${e.require?E:D} ${e.detail}`},e.name))]})]})}function Ze(){let e=(0,n.useActiveWorkbook)(),[r,i]=(0,u.useState)(!0),[c,p]=(0,u.useState)(!1),[m,h]=(0,u.useState)(null);(0,l.useDependency)(n.IEditorBridgeService);let g=(0,l.useDependency)(t.LocaleService),_=(0,l.useDependency)(a.IEditorService),v=(0,l.useDependency)(t.IUniverInstanceService),y=(0,l.useDependency)(t.ICommandService);function b(){i(!r),p(!c)}function x(){let e=(0,s.getSheetCommandTarget)(v);if(!e)return;y.executeCommand(n.SetCellEditVisibleOperation.id,{visible:!0,unitId:e.unitId,eventType:o.DeviceInputEventType.Dblclick});let r=_.getEditor(t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY),i=_.getEditor(t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),a=`=${m==null?void 0:m.functionName}(`;r==null||r.replaceText(a),i==null||i.replaceText(a,!1)}return(0,d.jsxs)(`div`,{"data-u-comp":`sheets-formula-functions-panel`,className:`univer-box-border univer-flex univer-h-full univer-flex-col univer-justify-between univer-py-2`,children:[r&&(0,d.jsx)(Xe,{onChange:h}),c&&(0,d.jsx)(Ne,{functionInfo:m,onChange:()=>{}}),(0,d.jsxs)(`div`,{className:`univer-flex univer-justify-end`,children:[c&&(0,d.jsx)(f.Button,{variant:`primary`,onClick:b,className:`univer-mb-5 univer-ml-4 univer-mr-0 univer-mt-0`,children:g.t(`formula.moreFunctions.next`)}),c&&(0,d.jsx)(f.Button,{onClick:b,className:`univer-mb-5 univer-ml-4 univer-mr-0 univer-mt-0`,children:g.t(`formula.moreFunctions.prev`)}),r&&!!e&&(0,d.jsx)(f.Button,{disabled:!m,variant:`primary`,onClick:x,className:`univer-mb-5 univer-ml-4 univer-mr-0 univer-mt-0`,children:g.t(`formula.moreFunctions.confirm`)})]})]})}function Qe(e){return e.getContextValue(t.FOCUSING_DOC)&&e.getContextValue(t.FOCUSING_UNIVER_EDITOR)}let $e=[l.KeyCode.ARROW_DOWN,l.KeyCode.ARROW_UP,l.KeyCode.ARROW_LEFT,l.KeyCode.ARROW_RIGHT],et=[...$e,l.KeyCode.ENTER,l.KeyCode.TAB,l.KeyCode.ESC];function tt(){let e=[];for(let t of et)e.push({id:_.id,binding:t,preconditions:e=>(0,n.whenFormulaEditorActivated)(e),staticParameters:{eventType:o.DeviceInputEventType.Keyboard,keycode:t}});return e}function nt(){let e=[];for(let t of $e)e.push({id:_.id,binding:t|l.MetaKeys.SHIFT,preconditions:e=>(0,n.whenFormulaEditorActivated)(e),staticParameters:{eventType:o.DeviceInputEventType.Keyboard,keycode:t,metaKey:l.MetaKeys.SHIFT}});return e}function rt(){let e=[];for(let t of $e)e.push({id:_.id,binding:t|l.MetaKeys.CTRL_COMMAND,preconditions:e=>(0,n.whenFormulaEditorActivated)(e),staticParameters:{eventType:o.DeviceInputEventType.Keyboard,keycode:t,metaKey:l.MetaKeys.CTRL_COMMAND}});return e}function it(){let e=[];for(let t of $e)e.push({id:_.id,binding:t|l.MetaKeys.SHIFT|l.MetaKeys.CTRL_COMMAND,preconditions:e=>(0,n.whenFormulaEditorActivated)(e),staticParameters:{eventType:o.DeviceInputEventType.Keyboard,keycode:t,metaKey:`meta_key_ctrl_And_Shift`}});return e}let at={id:re.id,binding:l.KeyCode.F4,preconditions:e=>(0,n.whenFormulaEditorActivated)(e)};function ot(){let e=[];for(let t of[l.KeyCode.ENTER,l.KeyCode.TAB,l.KeyCode.ARROW_DOWN,l.KeyCode.ARROW_UP])e.push({id:_.id,binding:t,preconditions:e=>Qe(e),staticParameters:{eventType:o.DeviceInputEventType.Keyboard,keycode:t,isSingleEditor:!0}});return e}let st={id:c.QuickSumCommand.id,binding:l.MetaKeys.ALT|l.KeyCode.EQUAL,preconditions:n.whenSheetEditorFocused,mac:l.MetaKeys.CTRL_COMMAND|l.MetaKeys.ALT|l.KeyCode.EQUAL,description:`shortcut.sheets-formula-ui.quick-sum`,group:`4_sheet-edit`},ct=class extends t.Disposable{constructor(e,t,n,r,i,a,o){super(),this._injector=e,this._menuManagerService=t,this._commandService=n,this._shortcutService=r,this._uiPartsService=i,this._renderManagerService=a,this._componentManager=o,this._initialize()}_initialize(){this._registerCommands(),this._registerMenus(),this._registerShortcuts(),this._registerComponents(),this._registerRenderModules()}_registerMenus(){this._menuManagerService.mergeMenu(De)}_registerCommands(){[h,g,O,L,R,D,_,re].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_registerShortcuts(){[...tt(),...nt(),...rt(),...it(),...ot(),st,at].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_registerComponents(){this.disposeWithMe(this._uiPartsService.registerComponent(n.SheetsUIPart.FORMULA_AUX,()=>(0,l.connectInjector)(Oe,this._injector))),this._componentManager.register(ne,Ze)}_registerRenderModules(){this.disposeWithMe(this._renderManagerService.registerRenderModule(t.UniverInstanceType.UNIVER_SHEET,[pe]))}};ct=C([S(0,(0,t.Inject)(t.Injector)),S(1,l.IMenuManagerService),S(2,t.ICommandService),S(3,l.IShortcutService),S(4,l.IUIPartsService),S(5,o.IRenderManagerService),S(6,(0,t.Inject)(l.ComponentManager))],ct);let lt=class extends t.Disposable{constructor(e,r,i){super(),this._imageFormulaCellInterceptorController=e,this._renderManagerService=r,this._univerInstanceService=i,this._imageFormulaCellInterceptorController.registerRefreshRenderFunction(()=>{let e=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!e)return;let r=this._renderManagerService.getRenderById(e.getUnitId());if(!r)return;r.with(n.SheetSkeletonManagerService).reCalculate();let i=r.mainComponent;i&&i.makeDirty()})}};lt=C([S(0,(0,t.Inject)(c.ImageFormulaCellInterceptorController)),S(1,o.IRenderManagerService),S(2,t.IUniverInstanceService)],lt);var ut=class{constructor(){x(this,`_currentSelector$`,new i.BehaviorSubject(null)),x(this,`currentSelector$`,this._currentSelector$.asObservable())}showRangeSelectorDialog(e){let t=e.callback,n=new Promise(n=>{e.callback=e=>{n(e),t(e)}});return this._currentSelector$.next(e),n}};let Z=class extends n.BaseSelectionRenderService{constructor(e,t,n,r,i,a,o){super(t,n,r,i,a),this._context=e,this._contextService=a,this._refSelectionsService=o,x(this,`_workbookSelections`,void 0),x(this,`_eventDisposables`,void 0),this._workbookSelections=this._refSelectionsService.getWorkbookSelections(this._context.unitId),this._initSelectionChangeListener(),this._initSkeletonChangeListener(),this._initUserActionSyncListener(),this._setSelectionStyle(dt(this._themeService)),this._remainLastEnabled=!0,this._highlightHeader=!1}getLocation(){return this._skeleton.getLocation()}setRemainLastEnabled(e){this._remainLastEnabled=e}setSkipLastEnabled(e){this._skipLastEnabled=e}clearLastSelection(){let e=this._selectionControls[this._selectionControls.length-1];e&&(e.dispose(),this._selectionControls.pop())}enableSelectionChanging(){return this._disableSelectionChanging(),this._eventDisposables=this._initCanvasEventListeners(),(0,t.toDisposable)(()=>this._disableSelectionChanging())}_disableSelectionChanging(){var e;(e=this._eventDisposables)==null||e.dispose(),this._eventDisposables=null}disableSelectionChanging(){this._disableSelectionChanging()}_initCanvasEventListeners(){let{spreadsheetRowHeader:e,spreadsheetColumnHeader:r,spreadsheet:i,spreadsheetLeftTopPlaceholder:a}=this._getSheetObject(),{scene:s}=this._context,c=new t.DisposableCollection;return c.add(i==null?void 0:i.onPointerDown$.subscribeEvent((e,n)=>{this.inRefSelectionMode()&&(this._onPointerDown(e,i.zIndex+1,t.RANGE_TYPE.NORMAL,this._getActiveViewport(e)),e.button!==2&&n.stopPropagation())})),c.add(e==null?void 0:e.onPointerDown$.subscribeEvent((e,r)=>{if(!this.inRefSelectionMode())return;let a=this._sheetSkeletonManagerService.getCurrent().skeleton,{row:c}=(0,n.getCoordByOffset)(e.offsetX,e.offsetY,s,a);(0,n.checkInHeaderRanges)(this._workbookSelections.getCurrentSelections(),c,t.RANGE_TYPE.ROW)||(this._onPointerDown(e,(i.zIndex||1)+1,t.RANGE_TYPE.ROW,this._getActiveViewport(e),o.ScrollTimerType.Y),e.button!==2&&r.stopPropagation())})),c.add(r==null?void 0:r.onPointerDown$.subscribeEvent((e,r)=>{if(!this.inRefSelectionMode())return;let a=this._sheetSkeletonManagerService.getCurrent().skeleton,{column:c}=(0,n.getCoordByOffset)(e.offsetX,e.offsetY,s,a);(0,n.checkInHeaderRanges)(this._workbookSelections.getCurrentSelections(),c,t.RANGE_TYPE.COLUMN)||(this._onPointerDown(e,(i.zIndex||1)+1,t.RANGE_TYPE.COLUMN,this._getActiveViewport(e),o.ScrollTimerType.X),e.button!==2&&r.stopPropagation())})),c.add(a==null?void 0:a.onPointerDown$.subscribeEvent((e,t)=>{if(this._reset(),!this.inRefSelectionMode())return;let r=this._sheetSkeletonManagerService.getCurrent().skeleton,i=(0,n.getAllSelection)(r);this._addSelectionControlByModelData(i),this._selectionMoveStart$.next(this.getSelectionDataWithStyle());let a=s.onPointerUp$.subscribeEvent(()=>{a.unsubscribe(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())});e.button!==2&&t.stopPropagation()})),c}_addSelectionControlByModelData(e){var t;let r=this._skeleton,i=(t=e.style)==null?(0,n.genNormalSelectionStyle)(this._themeService):t,a=this._scene;return e.style=i,this.newSelectionControl(a,r,e)}_initSelectionChangeListener(){this.disposeWithMe(this._refSelectionsService.selectionSet$.subscribe(e=>{this._reset(),this._skeleton&&this.resetSelectionsByModelData(e||[])}))}_initUserActionSyncListener(){this.disposeWithMe(this.selectionMoveStart$.subscribe(e=>{this._updateSelections(e,s.SelectionMoveType.MOVE_START)})),this.disposeWithMe(this.selectionMoving$.subscribe(e=>{this._updateSelections(e,s.SelectionMoveType.MOVING)})),this.disposeWithMe(this.selectionMoveEnd$.subscribe(e=>{this._updateSelections(e,s.SelectionMoveType.MOVE_END)}))}_updateSelections(e,t){let n=this._context.unit.getActiveSheet().getSheetId();e.length!==0&&this._workbookSelections.setSelections(n,e.map(e=>(0,s.convertSelectionDataToRange)(e)),t)}_initSkeletonChangeListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{var t;if(!e)return;let{skeleton:n}=e,{scene:r}=this._context,i=r.getViewport(o.SHEET_VIEWPORT_KEY.VIEW_MAIN);this._skeleton&&((t=this._skeleton.worksheet)==null?void 0:t.getSheetId())!==n.worksheet.getSheetId()&&this._reset(),this._changeRuntime(n,r,i);let a=this._workbookSelections.getCurrentSelections();this.resetSelectionsByModelData(a)}))}_getActiveViewport(e){let t=this._getSheetObject();return t==null?void 0:t.scene.getActiveViewportByCoord(o.Vector2.FromArray([e.offsetX,e.offsetY]))}_getSheetObject(){return(0,n.getSheetObject)(this._context.unit,this._context)}_onPointerDown(e,r=0,i=t.RANGE_TYPE.NORMAL,a,s=o.ScrollTimerType.ALL){var c;this._rangeType=i;let l=this._skeleton,u=this._scene;if(!u||!l)return;a&&(this._activeViewport=a);let{offsetX:d,offsetY:f}=e,p=u.getViewport(o.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(!p)return;let m=u.getCoordRelativeToViewport(o.Vector2.FromArray([d,f])),{x:h,y:g}=m;this._startViewportPosX=h,this._startViewportPosY=g;let _=u.getScrollXYInfoByViewport(m),{scaleX:v,scaleY:y}=u.getAncestorScale(),b=this._skeleton.getCellByOffset(h,g,v,y,_);if(!b)return;switch(i){case t.RANGE_TYPE.NORMAL:break;case t.RANGE_TYPE.ROW:b.startColumn=0,b.endColumn=this._skeleton.getColumnCount()-1;break;case t.RANGE_TYPE.COLUMN:b.startRow=0,b.endRow=this._skeleton.getRowCount()-1;break;case t.RANGE_TYPE.ALL:b.startRow=0,b.startColumn=0,b.endRow=this._skeleton.getRowCount()-1,b.endColumn=this._skeleton.getColumnCount()-1}let x={range:b,primary:b,style:null};(b.isMerged||b.isMergedMainCell)&&(x={range:{...b,startRow:b.startRow,endRow:b.startRow,startColumn:b.startColumn,endColumn:b.startColumn},primary:{...b,actualRow:b.startRow,actualColumn:b.startColumn,startRow:b.startRow,endRow:b.startRow,startColumn:b.startColumn,endColumn:b.startColumn},style:null}),x.range.rangeType=i;let S=(0,n.attachSelectionWithCoord)(x,this._skeleton);this._startRangeWhenPointerDown={...S.rangeWithCoord};let C={...S.rangeWithCoord,rangeType:i},w=this.getActiveSelectionControl(),T=this.getSelectionControls();for(let n of T){if(e.button===2&&t.Rectangle.contains(n.model,C)){w=n;return}if(n.model.isEqual(C)){w=n;break}}this._checkClearPreviousControls(e);let E=w==null?void 0:w.model.currentCell,D=e.shiftKey&&E,O=this._remainLastEnabled&&!e.ctrlKey&&!e.shiftKey&&!this._skipLastEnabled&&!this._singleSelectionEnabled;D&&E?this._makeSelectionByTwoCells(E,C,l,i,w):O&&w?w.updateRangeBySelectionWithCoord(S):w=this.newSelectionControl(u,l,x);for(let e=0;e<this.getSelectionControls().length-1;e++)this.getSelectionControls()[e].clearHighlight();this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),u.disableObjectsEvent(),this._clearUpdatingListeners(),this._addEndingListeners(),(c=u.getTransformer())==null||c.clearSelectedObjects(),this._setupPointerMoveListener(p,w,i,s,h,g),this._escapeShortcutDisposable=this._shortcutService.forceEscape(),this._scenePointerUpSub=u.onPointerUp$.subscribeEvent(()=>{var e;this._clearUpdatingListeners(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),(e=this._escapeShortcutDisposable)==null||e.dispose(),this._escapeShortcutDisposable=null})}newSelectionControl(e,t,r){let i=this.getSelectionControls().length,{rowHeaderWidth:a,columnHeaderHeight:o}=t,s=new n.SelectionControl(e,i,this._themeService,{highlightHeader:this._highlightHeader,enableAutoFill:!1,rowHeaderWidth:a,columnHeaderHeight:o}),c=(0,n.attachSelectionWithCoord)(r,t);return s.updateRangeBySelectionWithCoord(c),this._selectionControls.push(s),s.setControlExtension({skeleton:t,scene:e,themeService:this._themeService,injector:this._injector,selectionHooks:{selectionMoveEnd:()=>{this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())}}}),s}};Z=C([S(1,(0,t.Inject)(t.Injector)),S(2,(0,t.Inject)(t.ThemeService)),S(3,l.IShortcutService),S(4,(0,t.Inject)(n.SheetSkeletonManagerService)),S(5,t.IContextService),S(6,s.IRefSelectionsService)],Z);function dt(e){let t=(0,n.genNormalSelectionStyle)(e);return t.widgets={tl:!0,tc:!0,tr:!0,ml:!0,mr:!0,bl:!0,bc:!0,br:!0},t}let ft=(e,t,n=!0)=>{let r=-1;return e.reduce((e,i,a)=>{if(e.isFinish)return e;let o=e.currentIndex;if(typeof i!=`string`)e.currentIndex+=i.token.length;else{let t=i.length;e.currentIndex+=t}return(n?e.currentIndex===t:t>o&&t<=e.currentIndex)&&(r=a,e.isFinish=!0),e},{currentIndex:0,isFinish:!1}),r},pt=(e,t)=>{let n=e[t],i=-1;if(!n||typeof n==`string`||n.nodeType!==r.sequenceNodeType.REFERENCE)return-1;for(let n=0;n<=t;n++){let t=e[n];typeof t!=`string`&&t.nodeType===r.sequenceNodeType.REFERENCE&&i++}return i},mt=(e,t=100)=>{(0,u.useEffect)(()=>{let n=null,r=()=>{n===null&&(n=window.setTimeout(()=>{e(),n=null},t))};return window.addEventListener(`scroll`,r),window.addEventListener(`resize`,r),()=>{n!==null&&clearTimeout(n),window.removeEventListener(`scroll`,r),window.removeEventListener(`resize`,r)}},[e,t])};function ht(e,n,r){let o=(0,l.useDependency)(a.IEditorService),s=(0,u.useMemo)(()=>new i.BehaviorSubject({left:-999,top:-999,right:-999,bottom:-999}),[]),c=(0,l.useDependency)(l.ISidebarService),d=(0,l.useDependency)(t.IUniverInstanceService),f=(0,l.useEvent)(()=>{var t;let n=o.getEditor(e);if(!n)return;let r=n.getBoundingClientRect(),{marginTop:i=0,marginBottom:a=0}=n.getDocumentData().documentStyle,c=n.getSkeleton();if(!c)return;let l=(t=c.getSkeletonData())==null?void 0:t.pages[0].height,{left:u,top:d,right:f,bottom:p}=r;d+=i,p=l?d+l:p-a;let m=s.getValue();if(!(m.left===u&&m.top===d&&m.right===f&&m.bottom===p))return s.next({left:u-1,right:f+1,top:d-1,bottom:p+1}),r});return(0,u.useEffect)(()=>{n&&f()},[e,o,d.unitAdded$,f,n,...r==null?[]:r]),mt(f),(0,u.useEffect)(()=>{let e=c.scrollEvent$.pipe((0,i.throttleTime)(100)).subscribe(f);return()=>{e.unsubscribe()}},[]),[s,f]}let Q=e=>{let t=(0,u.useRef)(e);return t.current=e,t},gt=(e,t,n)=>{let a=(0,l.useDependency)(T),o=(0,l.useDependency)(c.IDescriptionService),s=(0,l.useDependency)(r.LexerTreeBuilder),[d,f]=(0,u.useState)(),[p,m]=(0,u.useState)(-1),[h,g]=(0,u.useState)(!0),_=Q(h),v=(0,u.useRef)(t);v.current=t;let y=()=>{f(void 0),m(-1),g(!1)};return(0,u.useEffect)(()=>{let e=s.sequenceNodesBuilder(t.slice(1));a.setSequenceNodes(e==null?[]:e)},[t]),(0,u.useEffect)(()=>{if(n&&e){let e=n.selectionChange$.pipe((0,i.debounceTime)(50)).subscribe(e=>{if(e.textRanges.length===1){let[t]=e.textRanges;if(t.collapsed&&_.current){let{startOffset:e}=t,n=a.getCurrentSequenceNodeIndex(e-2),i=a.getCurrentSequenceNodeByIndex(n),c=a.getCurrentSequenceNodeByIndex(n+1);if(i)if(typeof i!=`string`&&i.nodeType===3&&!o.hasDefinedNameDescription(i.token.trim())&&c===r.matchToken.OPEN_BRACKET){f(o.getFunctionInfo(i.token)),m(-1);return}else{let t=s.getFunctionAndParameter(`${v.current}A`,e-1);if(t){let{functionName:e,paramIndex:n}=t;f(o.getFunctionInfo(e)),m(n);return}}}}f(void 0),m(-1)}),t=n.selectionChange$.pipe((0,i.filter)(e=>e.textRanges.length===1),(0,i.map)(e=>e.textRanges[0].startOffset),(0,i.distinctUntilChanged)()).subscribe(()=>{g(!0)});return()=>{e.unsubscribe(),t.unsubscribe()}}},[n,e]),(0,u.useEffect)(()=>{e||y()},[e]),{functionInfo:d,paramIndex:p,reset:y}},_t=({onClick:e})=>(0,d.jsx)(`div`,{className:`
18
- univer-z-[15] univer-box-border univer-h-[18px] univer-cursor-pointer univer-overflow-visible
19
- univer-whitespace-nowrap univer-rounded-l univer-border univer-border-r-0 univer-border-gray-600
20
- univer-bg-primary-600 univer-p-0.5 univer-text-xs univer-font-bold univer-leading-[13px] univer-text-white
21
- `,onClick:e,children:`?`}),vt=({className:e,title:t,value:n})=>(0,d.jsxs)(`div`,{className:`univer-my-2`,children:[(0,d.jsx)(`div`,{className:(0,f.clsx)(`
22
- univer-mb-2 univer-text-sm univer-font-medium univer-text-gray-900
23
- dark:!univer-text-white
24
- `,e),children:t}),(0,d.jsx)(`div`,{className:`univer-whitespace-pre-wrap univer-break-words univer-text-xs univer-text-gray-500`,children:n})]}),yt=e=>{let{prefix:t,value:n,active:r,onClick:i}=e;return(0,d.jsxs)(`div`,{children:[(0,d.jsxs)(`span`,{children:[t,`(`]}),n&&n.map((e,t)=>(0,d.jsxs)(`span`,{children:[(0,d.jsx)(`span`,{className:r===t?`univer-text-primary-500`:``,onClick:()=>i(t),children:Ae(e)}),t===n.length-1?``:`,`]},e.name)),`)`]})},bt=()=>{};function xt(e){let{onParamsSwitch:r=bt,onClose:i=bt,isFocus:a,editor:o,formulaText:s}=e,{functionInfo:c,paramIndex:p,reset:m}=gt(a,s,o),h=(0,l.useDependency)(n.IEditorBridgeService),g=!(0,l.useObservable)(h.helpFunctionVisible$),[_,v]=(0,u.useState)(!1),y=(0,l.useDependency)(t.LocaleService),b=y.t(`formula.prompt.required`),x=y.t(`formula.prompt.optional`),[S]=ht(o.getEditorId(),!!c,[c,p]);function C(e){r&&r(e)}let w=(0,l.useEvent)(e=>{h.helpFunctionVisible$.next(!e)});return c?g?(0,d.jsx)(l.RectPopup,{portal:!0,anchorRect$:S,direction:`left-center`,children:(0,d.jsx)(_t,{onClick:()=>w(!1)})},`hidden`):(0,d.jsx)(l.RectPopup,{portal:!0,onClickOutside:()=>m(),anchorRect$:S,direction:`vertical`,children:(0,d.jsxs)(`div`,{className:(0,f.clsx)(`
25
- univer-m-0 univer-box-border univer-w-[250px] univer-select-none univer-list-none
26
- univer-rounded-lg univer-bg-white univer-leading-5 univer-shadow-md univer-outline-none
27
- dark:!univer-bg-gray-900
28
- `,f.borderClassName),children:[(0,d.jsxs)(`div`,{className:(0,f.clsx)(`
29
- univer-box-border univer-flex univer-items-center univer-justify-between univer-px-4
30
- univer-py-3 univer-text-xs univer-font-medium univer-text-gray-900
31
- dark:!univer-text-white
32
- `,f.borderTopClassName),style:{overflowWrap:`anywhere`},children:[(0,d.jsx)(yt,{prefix:c.functionName,value:c.functionParameter,active:p,onClick:C}),(0,d.jsxs)(`div`,{className:`univer-flex`,children:[(0,d.jsx)(`div`,{className:`
33
- univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-items-center
34
- univer-justify-center univer-rounded univer-bg-transparent univer-p-0
35
- univer-text-xs univer-text-gray-500 univer-outline-none univer-transition-colors
36
- hover:univer-bg-gray-200
37
- dark:hover:!univer-bg-gray-600
38
- `,style:{transform:_?`rotateZ(-90deg)`:`rotateZ(90deg)`},onClick:()=>v(!_),children:(0,d.jsx)(qe,{})}),(0,d.jsx)(`div`,{className:`
39
- univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-items-center
40
- univer-justify-center univer-rounded univer-bg-transparent univer-p-0
41
- univer-text-xs univer-text-gray-600 univer-outline-none univer-transition-colors
42
- hover:univer-bg-gray-300
43
- dark:!univer-text-gray-200
44
- dark:hover:!univer-bg-gray-600
45
- `,onClick:()=>{w(!0),i()},children:(0,d.jsx)(Ve,{})})]})]}),(0,d.jsx)(`div`,{className:(0,f.clsx)(`
46
- univer-box-border univer-max-h-[350px] univer-overflow-y-auto univer-px-4 univer-pb-3
47
- univer-pt-0
48
- `,f.scrollbarClassName),style:{height:_?`unset`:0,padding:_?`revert-layer`:0},children:(0,d.jsxs)(`div`,{className:`univer-mt-3`,children:[(0,d.jsx)(vt,{title:y.t(`formula.prompt.helpExample`),value:`${c.functionName}(${c.functionParameter.map(e=>e.example).join(`,`)})`}),(0,d.jsx)(vt,{title:y.t(`formula.prompt.helpAbstract`),value:c.description}),c&&c.functionParameter&&c.functionParameter.map((e,t)=>(0,d.jsx)(vt,{className:p===t?`univer-text-primary-500`:``,title:e.name,value:`${e.require?b:x} ${e.detail}`},t))]})})]})},`show`):null}let St=e=>{let n=(0,l.useDependency)(a.IEditorService);return(0,l.useEvent)(r=>{if(e){n.focus(e.getEditorId());let o=[...e.getSelectionRanges()];if(t.Tools.isDefine(r))e.setSelectionRanges([{startOffset:r,endOffset:r}]);else if(!o.length&&!e.docSelectionRenderService.isOnPointerEvent){var i,a;let t=(i=(a=e.getDocumentData().body)==null?void 0:a.dataStream)==null?`\r
49
- `:i,n=Math.max(t.length-2,0);e.setSelectionRanges([{startOffset:n,endOffset:n}])}else e.setSelectionRanges(o)}})};function Ct(e){var n,r;let i=e.get(t.IUniverInstanceService).getCurrentUniverDocInstance();if(i!=null&&i.getBody())return{dataStream:(n=(r=i.getBody())==null?void 0:r.dataStream)==null?``:n,offset:0}}let $=function(e){return e[e.NOT_SELECT=0]=`NOT_SELECT`,e[e.NEED_ADD=1]=`NEED_ADD`,e[e.CAN_EDIT=2]=`CAN_EDIT`,e[e.EDIT_OTHER_SHEET_REFERENCE=3]=`EDIT_OTHER_SHEET_REFERENCE`,e[e.EDIT_OTHER_WORKBOOK_REFERENCE=4]=`EDIT_OTHER_WORKBOOK_REFERENCE`,e}({});function wt(e){var n;let{editorId:s,isFocus:c,disableOnClick:d,unitId:f,subUnitId:m}=e,h=(0,l.useDependency)(o.IRenderManagerService),g=(0,l.useDependency)(t.IUniverInstanceService),_=h.getRenderById(f),v=h.getRenderById(s),y=v==null?void 0:v.with(a.DocSelectionRenderService),b=(0,l.useDependency)(p.DocSelectionManagerService),x=(0,l.useDependency)(t.Injector),[S,C]=(0,u.useState)($.NOT_SELECT),w=(0,l.useDependency)(r.LexerTreeBuilder),T=(0,u.useRef)(!0),E=_==null?void 0:_.with(Z),D=Q(S),O=g.getUnit(f,t.UniverInstanceType.UNIVER_SHEET),k=O==null?void 0:O.getSheetBySheetId(m),A=(0,l.useEvent)(e=>{E&&E.setSkipLastEnabled(e===$.NEED_ADD||e===$.EDIT_OTHER_SHEET_REFERENCE||e===$.EDIT_OTHER_WORKBOOK_REFERENCE),D.current=e,C(e)}),j=(0,l.useEvent)(()=>{var e,n;let i=g.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!i)return;let a=i.getActiveSheet(),o=y==null?void 0:y.getActiveTextRange(),s=o!=null&&o.collapsed?o.startOffset:-1,c=Ct(x);if(!c)return;let l=c==null||(e=c.dataStream)==null?void 0:e.slice(0,-2),u=((n=w.sequenceNodesBuilder(l))==null?[]:n).map(e=>typeof e==`object`?e.nodeType===r.sequenceNodeType.REFERENCE?{...e,range:(0,r.deserializeRangeWithSheetWithCache)(e.token)}:{...e,range:void 0}:e),d=l[s-1],f=l[s],p=u.find(e=>typeof e==`object`&&e.nodeType===r.sequenceNodeType.REFERENCE&&s===e.endIndex+2),m=d&&(0,r.matchRefDrawToken)(d)&&(!f||(0,r.isFormulaLexerToken)(f)&&f!==r.matchToken.OPEN_BRACKET),h=!!p;if((l==null?void 0:l.substring(0,1))===`=`&&(m||h))if(h){var _;if(T.current)return;let{sheetName:e,unitId:n}=p.range,r=(_=g.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET))==null?void 0:_.getUnitId();n&&n!==r?A($.EDIT_OTHER_WORKBOOK_REFERENCE):!e&&a.getSheetId()===(k==null?void 0:k.getSheetId())||e===a.getName()?A($.CAN_EDIT):A($.EDIT_OTHER_SHEET_REFERENCE)}else T.current=!1,A($.NEED_ADD);else A($.NOT_SELECT)});return(0,u.useEffect)(()=>{let e=b.textSelection$.pipe((0,i.filter)(e=>e.unitId===s)).subscribe(()=>{j()});return()=>e.unsubscribe()},[j,b.textSelection$,s]),(0,u.useEffect)(()=>{c||(A($.NOT_SELECT),T.current=!0)},[c,A]),(0,u.useEffect)(()=>{var e;if(!d)return;let t=v==null||(e=v.mainComponent)==null?void 0:e.onPointerDown$.subscribeEvent(()=>{A($.NOT_SELECT),T.current=!0});return()=>t==null?void 0:t.unsubscribe()},[d,v==null||(n=v.mainComponent)==null?void 0:n.onPointerDown$,A]),(0,u.useEffect)(()=>{if(!c)return;let e=O==null?void 0:O.activeSheet$.subscribe(()=>{j()}),n=g.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).subscribe(()=>{j()});return()=>{e==null||e.unsubscribe(),n==null||n.unsubscribe()}},[j,c,O==null?void 0:O.activeSheet$,g.getCurrentTypeOfUnit$]),{isSelecting:S,isSelectingRef:D}}let Tt=()=>{let e=(0,l.useDependency)(r.LexerTreeBuilder);return(0,u.useCallback)(t=>e.sequenceNodesBuilder(t)||[],[e])};function Et(e,n,r){return{id:r,strokeWidth:1,stroke:n,fill:new t.ColorKit(n).setAlpha(.05).toRgbString(),widgets:{tl:!0,tc:!0,tr:!0,ml:!0,mr:!0,bl:!0,bc:!0,br:!0},widgetSize:6,widgetStrokeWidth:1,widgetStroke:e.getColorFromTheme(`white`)}}function Dt(e){var n;let{unitId:i,subUnitId:a,currentWorkbook:o,refSelections:c,editor:l,refSelectionsService:u,refSelectionsRenderService:d,sheetSkeletonManagerService:f,themeService:p,univerInstanceService:m}=e,h=o.getUnitId(),g=m.getUnit(i,t.UniverInstanceType.UNIVER_SHEET),_=g==null?void 0:g.getActiveSheet(),v=[];if(!g||!_){u.setSelections(v);return}let y=_.getSheetId(),b=e=>{var t;return g==null||(t=g.getSheetBySheetName(e))==null?void 0:t.getSheetId()};if(!(!(f==null||(n=f.getWorksheetSkeleton(y))==null)&&n.skeleton))return;let x=[];for(let e=0,t=c.length;e<t;e++){let{themeColor:t,token:n,refIndex:o,endIndex:l}=c[e],{unitId:u,sheetName:d,range:f}=(0,r.deserializeRangeWithSheet)(n),m=b(d);if(!m&&d||h!==i&&u!==h||u&&u!==h||m&&m!==y||!m&&y!==a)continue;let g=(0,s.setEndForRange)(f,_.getRowCount(),_.getColumnCount());g.unitId=i,g.sheetId=y,v.push({range:g,primary:null,style:Et(p,t,o.toString())}),x.push(l)}if(l){var S;let e=(S=l.getSelectionRanges())==null||(S=S[0])==null?void 0:S.startOffset,t=x.findIndex(t=>t+2===e);t===-1?d==null||d.resetActiveSelectionIndex():d==null||d.setActiveSelectionIndex(t)}return v}function Ot(e,r){let i=(0,l.useDependency)(t.IUniverInstanceService),a=(0,l.useDependency)(t.ThemeService),c=(0,l.useDependency)(s.IRefSelectionsService),d=(0,l.useDependency)(o.IRenderManagerService),f=(0,l.useObservable)((0,u.useMemo)(()=>i.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET),[i])),p=f?d.getRenderById(f.getUnitId()):null,m=p==null?void 0:p.with(Z),h=p==null?void 0:p.with(n.SheetSkeletonManagerService),g=(0,l.useEvent)((n,o)=>{let s=i.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!s||m!=null&&m.selectionMoving)return;let l=Dt({unitId:e,subUnitId:r,currentWorkbook:s,refSelections:n,editor:o,refSelectionsService:c,refSelectionsRenderService:m,sheetSkeletonManagerService:h,themeService:a,univerInstanceService:i});l&&(((m==null?void 0:m.getSelectionControls())||[]).length===l.length?m==null||m.resetSelectionsByModelData(l):c.setSelections(l))});return(0,u.useEffect)(()=>()=>{m==null||m.resetActiveSelectionIndex()},[m]),g}function kt(e=``){let n=(0,l.useDependency)(c.IDescriptionService),r=At(),i=(0,l.useDependency)(t.ICommandService),o=(0,u.useMemo)(()=>e.length,[e]);return(0,l.useEvent)((s,c,l=!0,u)=>{let d=s.getDocumentData(),f=s.getEditorId();if(!d)return[];let p=d.body;if(!p)return[];let m=p.dataStream.slice(0,p.dataStream.length-2),h={dataStream:``,...d.body};if(!m.startsWith(e))return[];if(c==null||c.length===0)return h.textRuns=[],i.syncExecuteCommand(a.ReplaceTextRunsCommand.id,{unitId:f,body:(0,t.getBodySlice)(h,0,h.dataStream.length-2)}),[];{let{textRuns:d,refSelections:p}=jt(n,r,c);o&&d.forEach(e=>{e.ed+=o,e.st+=o}),h.textRuns=[{st:0,ed:1,ts:{fs:11}},...d],h.dataStream=`${e}${c.reduce((e,t)=>typeof t==`string`?`${e}${t}`:`${e}${t.token}`,``)}\r\n`;let m;if(l){m=s.getSelectionRanges();let e=h.dataStream.length-2+o;m.forEach(t=>{t.startOffset=Math.max(0,Math.min(t.startOffset,e)),t.endOffset=Math.max(0,Math.min(t.endOffset,e))})}return i.syncExecuteCommand(a.ReplaceTextRunsCommand.id,{unitId:f,body:(0,t.getBodySlice)(h,0,h.dataStream.length-2),textRanges:u==null?m:u}),p}})}function At(){let e=(0,l.useDependency)(t.ThemeService);return(0,u.useMemo)(()=>({formulaRefColors:[e.getColorFromTheme(`loop-color.1`),e.getColorFromTheme(`loop-color.2`),e.getColorFromTheme(`loop-color.3`),e.getColorFromTheme(`loop-color.4`),e.getColorFromTheme(`loop-color.5`),e.getColorFromTheme(`loop-color.6`),e.getColorFromTheme(`loop-color.7`),e.getColorFromTheme(`loop-color.8`),e.getColorFromTheme(`loop-color.9`),e.getColorFromTheme(`loop-color.10`),e.getColorFromTheme(`loop-color.11`),e.getColorFromTheme(`loop-color.12`)].map(t=>e.isValidThemeColor(t)?e.getColorFromTheme(t):t),numberColor:e.getColorFromTheme(`blue.700`),stringColor:e.getColorFromTheme(`jiqing.800`),plainTextColor:e.getColorFromTheme(`black`)}),[e.getCurrentTheme()])}function jt(e,t,n){let{formulaRefColors:i,numberColor:a,stringColor:o,plainTextColor:s}=t,c=[],l=[],u=new Map,d=0;for(let t=0,f=n.length;t<f;t++){let f=n[t];if(typeof f==`string`){let e=c[c.length-1],t=e?e.ed:0,n=t+f.length;c.push({st:t,ed:n,ts:{cl:{rgb:s},fs:11}});continue}if(e.hasDefinedNameDescription(f.token.trim())){c.push({st:f.startIndex,ed:f.endIndex+1,ts:{cl:{rgb:s},fs:11}});continue}let{startIndex:p,endIndex:m,nodeType:h,token:g}=f,_=``;h===r.sequenceNodeType.REFERENCE?(u.has(g)?_=u.get(g):(_=i[d%i.length],u.set(g,_),d++),l.push({refIndex:t,themeColor:_,token:g,startIndex:f.startIndex,endIndex:f.endIndex,index:l.length})):h===r.sequenceNodeType.NUMBER?_=a:(h===r.sequenceNodeType.STRING||h===r.sequenceNodeType.ARRAY)&&(_=o),_&&_.length>0?c.push({st:p,ed:m+1,ts:{cl:{rgb:_},fs:11}}):c.push({st:p,ed:m+1,ts:{cl:{rgb:s},fs:11}})}return{textRuns:c,refSelections:l}}let Mt=(e,r,i,s)=>{let c=(0,l.useDependency)(t.ICommandService),d=(0,l.useDependency)(l.IShortcutService),f=(0,u.useRef)(r);f.current=r;let p=(0,u.useRef)(s);p.current=s,(0,u.useEffect)(()=>{if(!i||!e)return;let r=`sheet.formula-embedding-editor.${i.getEditorId()}`,s=new t.DisposableCollection,u=(e,n)=>{if(p.current){p.current(e,n);return}let r=t.Direction.LEFT;e===l.KeyCode.ARROW_DOWN?r=t.Direction.DOWN:e===l.KeyCode.ARROW_UP?r=t.Direction.UP:e===l.KeyCode.ARROW_RIGHT&&(r=t.Direction.RIGHT),n===l.MetaKeys.SHIFT?c.executeCommand(a.MoveSelectionOperation.id,{direction:r}):c.executeCommand(a.MoveCursorOperation.id,{direction:r})},m=(e,r)=>{let i=t.Direction.DOWN;e===l.KeyCode.ARROW_DOWN?i=t.Direction.DOWN:e===l.KeyCode.ARROW_UP?i=t.Direction.UP:e===l.KeyCode.ARROW_LEFT?i=t.Direction.LEFT:e===l.KeyCode.ARROW_RIGHT&&(i=t.Direction.RIGHT),f.current?r===l.MetaKeys.CTRL_COMMAND?c.executeCommand(n.MoveSelectionCommand.id,{direction:i,jumpOver:n.JumpOver.moveGap,extra:`formula-editor`,fromCurrentSelection:f.current===$.NEED_ADD||f.current===$.EDIT_OTHER_SHEET_REFERENCE}):r===l.MetaKeys.SHIFT?c.executeCommand(n.ExpandSelectionCommand.id,{direction:i,extra:`formula-editor`}):r===(l.MetaKeys.CTRL_COMMAND|l.MetaKeys.SHIFT)?c.executeCommand(n.ExpandSelectionCommand.id,{direction:i,jumpOver:n.JumpOver.moveGap,extra:`formula-editor`}):c.executeCommand(n.MoveSelectionCommand.id,{direction:i,extra:`formula-editor`,fromCurrentSelection:f.current===$.NEED_ADD||f.current===$.EDIT_OTHER_SHEET_REFERENCE}):u(e,r)};return s.add(c.registerCommand({id:r,type:t.CommandType.OPERATION,handler(e,t){let{keyCode:n,metaKey:r}=t;m(n,r)}})),[{keyCode:l.KeyCode.ARROW_DOWN},{keyCode:l.KeyCode.ARROW_LEFT},{keyCode:l.KeyCode.ARROW_RIGHT},{keyCode:l.KeyCode.ARROW_UP},{keyCode:l.KeyCode.ARROW_DOWN,metaKey:l.MetaKeys.SHIFT},{keyCode:l.KeyCode.ARROW_LEFT,metaKey:l.MetaKeys.SHIFT},{keyCode:l.KeyCode.ARROW_RIGHT,metaKey:l.MetaKeys.SHIFT},{keyCode:l.KeyCode.ARROW_UP,metaKey:l.MetaKeys.SHIFT},{keyCode:l.KeyCode.ARROW_DOWN,metaKey:l.MetaKeys.CTRL_COMMAND},{keyCode:l.KeyCode.ARROW_LEFT,metaKey:l.MetaKeys.CTRL_COMMAND},{keyCode:l.KeyCode.ARROW_RIGHT,metaKey:l.MetaKeys.CTRL_COMMAND},{keyCode:l.KeyCode.ARROW_UP,metaKey:l.MetaKeys.CTRL_COMMAND},{keyCode:l.KeyCode.ARROW_DOWN,metaKey:l.MetaKeys.CTRL_COMMAND|l.MetaKeys.SHIFT},{keyCode:l.KeyCode.ARROW_LEFT,metaKey:l.MetaKeys.CTRL_COMMAND|l.MetaKeys.SHIFT},{keyCode:l.KeyCode.ARROW_RIGHT,metaKey:l.MetaKeys.CTRL_COMMAND|l.MetaKeys.SHIFT},{keyCode:l.KeyCode.ARROW_UP,metaKey:l.MetaKeys.CTRL_COMMAND|l.MetaKeys.SHIFT}].map(({keyCode:e,metaKey:t})=>({id:r,binding:t?e|t:e,preconditions:()=>!0,priority:900,staticParameters:{eventType:o.DeviceInputEventType.Keyboard,keyCode:e,metaKey:t}})).forEach(e=>{s.add(d.registerShortcut(e))}),()=>{s.dispose()}},[c,i,e,d])},Nt=(e,n,r,i,a=!0)=>{var c;let d=(0,l.useDependency)(o.IRenderManagerService),f=(0,l.useDependency)(t.IContextService),p=(0,l.useDependency)(l.IContextMenuService),m=(0,l.useDependency)(s.IRefSelectionsService),h=(0,l.useDependency)(t.IUniverInstanceService),g=(0,l.useObservable)((0,u.useMemo)(()=>h.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET),[h])),_=d.getRenderById((c=g==null?void 0:g.getUnitId())==null?``:c),v=_==null?void 0:_.with(Z);(0,u.useLayoutEffect)(()=>{if(e)return f.setContextValue(t.EDITOR_ACTIVATED,!0),a&&p.disable(),()=>{let e=h.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);(e==null?void 0:e.getUnitId())===i&&f.setContextValue(t.EDITOR_ACTIVATED,!1),a&&p.enable(),m.clear()}},[f,e,m,a,i]),(0,u.useLayoutEffect)(()=>{if(e&&n){let e=v==null?void 0:v.enableSelectionChanging();return f.setContextValue(s.REF_SELECTIONS_ENABLED,!0),()=>{f.setContextValue(s.REF_SELECTIONS_ENABLED,!1),e==null||e.dispose()}}},[f,e,v,n]),(0,u.useEffect)(()=>{e&&(v==null||v.setSkipLastEnabled(!1))},[e,v])},Pt=(e,n,r)=>{let i=(0,l.useDependency)(t.IUniverInstanceService),a=(0,l.useDependency)(s.SheetsSelectionsService);return(0,u.useCallback)(()=>{if(e){let e=[...a.getWorkbookSelections(n).getSelectionsOfWorksheet(r)],o=i.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET),s=o==null?void 0:o.getActiveSheet();(o==null?void 0:o.getUnitId())!==n&&i.setCurrentUnitForType(n),s&&s.getSheetId()===r&&a.setSelections(e)}},[e,a,r,n,i])},Ft=e=>e.reduce((e,t)=>typeof t==`string`?e+t.length:e+t.token.length,0),It=e=>e.map(e=>typeof e==`string`?e:e.token).join(``),Lt=(e,t=!1,n=``,i=!1)=>!t&&!i?e.map(e=>(0,r.serializeRange)(e.range)):e.map(e=>i?(0,r.serializeRangeToRefString)(e):e.sheetName!==``&&e.sheetName!==n?(0,r.serializeRangeWithSheet)(e.sheetName,e.range):(0,r.serializeRange)(e.range)),Rt=e=>{var t,n,r;let{editor:i,lexerTreeBuilder:a}=e,o=i==null?void 0:i.getSelectionRanges();if((o==null?void 0:o.length)!==1)return;let s=o[0].startOffset-1,c=((t=i==null||(n=i.getDocumentData().body)==null?void 0:n.dataStream)==null?`\r
50
- `:t).slice(0,-2),l=(r=a.sequenceNodesBuilder(c.slice(1)))==null?[]:r,u=ft(l,s,!1);return{nodeIndex:u,updatingRefIndex:pt(l,u),sequenceNodes:l,offset:s}},zt=(()=>{}),Bt=(e,a,c,d,f,h,g,_,v,y=zt)=>{var b;let x=(0,l.useDependency)(o.IRenderManagerService),S=(0,l.useDependency)(t.IUniverInstanceService),C=(0,l.useDependency)(t.ICommandService),w=(0,l.useDependency)(p.DocSelectionManagerService),T=(0,l.useDependency)(t.ThemeService),E=(0,l.useDependency)(r.LexerTreeBuilder),D=S.getUnit(d),O=(0,l.useEvent)((e,t)=>{var n,r;return(n=(r=S.getUnit(e))==null||(r=r.getSheetBySheetId(t))==null?void 0:r.getName())==null?``:n}),k=(0,u.useMemo)(()=>O(d,f),[O,f,d]),A=(0,l.useObservable)(D==null?void 0:D.activeSheet$),j=Q({activeSheet:A,sheetName:k}),M=(0,l.useObservable)((0,u.useMemo)(()=>S.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET),[S])),N=x.getRenderById((b=M==null?void 0:M.getUnitId())==null?``:b),P=N==null?void 0:N.with(Z),ee=N==null?void 0:N.with(n.SheetSkeletonManagerService),F=(0,l.useDependency)(s.IRefSelectionsService),I=(0,l.useEvent)((e,t,n)=>{let i=Rt({editor:v,lexerTreeBuilder:E});if(!i)return;let{nodeIndex:a,updatingRefIndex:o,sequenceNodes:s,offset:l}=i;if(c.current===$.NEED_ADD)if(l!==0){var u,p,m;if(a===-1&&s.length)return;let n=e[e.length-1],i=s.splice(a+1),o=(u=n.sheetId)==null?f:u,c={range:n,unitId:(p=n.unitId)==null?M.getUnitId():p,sheetName:O((m=n.unitId)==null?M.getUnitId():m,o)},l=o!==f,h=(M==null?void 0:M.getUnitId())!==d,_=Lt([c],g&&(l||h),k,h);s.push({token:_[0],nodeType:r.sequenceNodeType.REFERENCE}),y(It([...s,...i]),Ft(s),t)}else{var h,_,b;let n=e[e.length-1],i=(h=n.sheetId)==null?f:h,a={range:n,unitId:(_=n.unitId)==null?M.getUnitId():_,sheetName:O((b=n.unitId)==null?M.getUnitId():b,i)},o=i!==f,c=(M==null?void 0:M.getUnitId())!==d,l=Lt([a],g&&(o||c),k,c);s.unshift({token:l[0],nodeType:r.sequenceNodeType.REFERENCE}),y(It(s),l[0].length,t)}else if(c.current===$.EDIT_OTHER_SHEET_REFERENCE||c.current===$.EDIT_OTHER_WORKBOOK_REFERENCE){let n=e.pop();if(!n)return;let i=s[a];if(typeof i==`object`&&i.nodeType===r.sequenceNodeType.REFERENCE){let e=i.token;if((M==null?void 0:M.getUnitId())!==d){var x;i.token=(0,r.serializeRangeWithSpreadsheet)((x=M==null?void 0:M.getUnitId())==null?``:x,k,n)}else i.token=k===(A==null?void 0:A.getName())?(0,r.serializeRange)(n):(0,r.serializeRangeWithSheet)(A.getName(),n);let a=l+(i.token.length-e.length);y((0,r.generateStringWithSequence)(s),a,t)}}else{let i=[...e];if(!n&&o!==-1){let e=i.pop();e&&i.splice(o,0,e)}let c=0,l=s.map(e=>{if(typeof e==`string`)return e;if(e.nodeType===r.sequenceNodeType.REFERENCE){var t,n,a;let s=(0,r.deserializeRangeWithSheet)(e.token);if(s.sheetName||(s.sheetName=k),(s.unitId||d)!==(M==null?void 0:M.getUnitId()))return e.token;if(g){var o;if(((o=j.current.activeSheet)==null?void 0:o.getName())!==s.sheetName)return e.token}let l=i[c];if(c++,!l)return``;let u=(t=l.sheetId)==null?f:t,p={range:l,unitId:(n=l.unitId)==null?M.getUnitId():n,sheetName:O((a=l.unitId)==null?M.getUnitId():a,u)},m=(M==null?void 0:M.getUnitId())!==d;return Lt([p],g&&(u!==f||m),k,m)[0]}return e.token}),u=``,p;l.forEach((e,t)=>{u+=e,t===a&&(p=u.length)});let m=[];for(let t=c;t<=e.length-1;t++){var S,C,w;let n=e[t],r=(S=n.sheetId)==null?f:S,i={range:n,unitId:(C=n.unitId)==null?M.getUnitId():C,sheetName:O((w=n.unitId)==null?M.getUnitId():w,r)},a=(M==null?void 0:M.getUnitId())!==d,o=Lt([i],g&&(r!==f||a),k,a);m.push(o[0])}let h=s[s.length-1],_=h&&(typeof h==`string`?!1:h.nodeType===r.sequenceNodeType.REFERENCE),v=`${u}${m.length&&_?`,`:``}${m.join(`,`)}`;y(v,!m.length&&p?p:v.length,t)}});(0,u.useEffect)(()=>{if(P&&e){let e=!0,n=0,r=(t,r)=>{if(e){e=!1,n=t.length;return}let i=t.length>n;r&&(n=t.length),I(t.map(e=>e.rangeWithCoord),r,i)},i=new t.DisposableCollection;return i.add(P.selectionMoving$.subscribe(e=>{r(e,!1)})),i.add(P.selectionMoveEnd$.subscribe(e=>{r(e,!0)})),()=>{i.dispose()}}},[e,I,P]),(0,u.useEffect)(()=>{if(a&&P&&v){let e=new t.DisposableCollection,n=()=>{e.dispose(),P.getSelectionControls().forEach((t,n)=>{e.add(t.selectionScaling$.subscribe(e=>{let t=P.getSelectionDataWithStyle().map(e=>e.rangeWithCoord),r=t[n];e.sheetId=r.sheetId,e.unitId=r.unitId,t[n]=e,I(t,!1)})),e.add(t.selectionMoving$.subscribe(e=>{let t=P.getSelectionDataWithStyle().map(e=>e.rangeWithCoord),r=t[n];e.sheetId=r.sheetId,e.unitId=r.unitId,t[n]=e,I(t,!0)}))})},r=(0,i.merge)(v.input$,F.selectionSet$,P.selectionMoveEnd$).pipe((0,m.debounceTime)(50)).subscribe(()=>{n()});return()=>{r.unsubscribe(),e.dispose()}}},[v,a,I,P,F.selectionSet$]),P==null||P.getSelectionDataWithStyle(),(0,u.useEffect)(()=>{if(_){let e=C.onCommandExecuted(e=>{if(e.id!==s.SetSelectionsOperation.id)return;let n=e.params;if(n.extra===`formula-editor`&&n.selections.length){let e=n.selections[n.selections.length-1];if(e){var r;let{range:i,primary:a}=e;(a!=null&&a.isMergedMainCell||a!=null&&a.isMerged)&&t.Rectangle.contains(a,i)&&(i.startRow=a.startRow,i.endRow=a.startRow,i.startColumn=a.startColumn,i.endColumn=a.startColumn),i.unitId=n.unitId,i.sheetId=n.subUnitId;let o=c.current===$.NEED_ADD,s=((r=P==null?void 0:P.getSelectionDataWithStyle())==null?[]:r).map(e=>e.rangeWithCoord);o?s.push(i):s[s.length-1]=i,I(s,!0)}}});return()=>{e.dispose()}}},[C,v,c,E,_,I,P]),(0,u.useEffect)(()=>{if(!v)return;let e=w.textSelection$.subscribe(e=>{e.unitId===v.getEditorId()&&Dt({unitId:d,subUnitId:f,refSelections:h.current,editor:v,refSelectionsService:F,refSelectionsRenderService:P,sheetSkeletonManagerService:ee,themeService:T,univerInstanceService:S,currentWorkbook:M})});return()=>e.unsubscribe()},[w.textSelection$,v,h,P,F,ee,f,T,d,S])},Vt=(e,n,r,i,c,d)=>{let f=(0,l.useDependency)(t.ICommandService),p=(0,l.useDependency)(a.IEditorService),m=(0,l.useDependency)(o.IRenderManagerService).getRenderById(n),h=(0,l.useDependency)(t.IUniverInstanceService),g=m==null?void 0:m.with(Z);(0,u.useEffect)(()=>{if(e&&g)if(r){let e=()=>{let e=g.getSelectionControls().length;for(let t=1;t<=e;t++)g.clearLastSelection();return setTimeout(()=>{d()},30)},n=f.onCommandExecuted(t=>{t.id===s.SetWorksheetActiveOperation.id&&e()}),r=h.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{e()});return()=>{n.dispose(),r.unsubscribe()}}else{let e=f.beforeCommandExecuted(e=>{if(e.id===s.SetWorksheetActiveOperation.id){i(!1),c(),d();let e=p.getEditor(t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);e==null||e.focus()}});return()=>{e.dispose()}}},[e,g])},Ht=(e,t,n)=>{let i=(0,l.useDependency)(r.LexerTreeBuilder),a=(0,u.useRef)(!0);(0,u.useEffect)(()=>{if(e){let e=setTimeout(()=>{a.current=!1},500);return()=>{clearTimeout(e)}}},[e]),(0,u.useEffect)(()=>{a.current||t&&t(i.checkIfAddBracket(n)===0&&n.startsWith(r.operatorToken.EQUALS),`${n}`)},[n,t])},Ut=(e,t=[],n)=>{let a=(0,l.useDependency)(c.IDescriptionService),[o,s]=(0,u.useState)([]),[d,f]=(0,u.useState)(``),p=(0,u.useRef)(-1),m=Q({nodes:t}),h=()=>{s([]),f(``),p.current=-1};return(0,u.useEffect)(()=>{if(n&&e){let e=n.input$.pipe((0,i.debounceTime)(300)).subscribe(()=>{let e=n.getSelectionRanges();if(e.length===1){let t=m.current.nodes,n=e[0];if(n.collapsed){let e=ft(t,n.startOffset-1,!1);p.current=e;let i=t[e];if(i&&typeof i!=`string`&&i.nodeType===r.sequenceNodeType.FUNCTION){p.current=e;let t=i.token;s(a.getSearchListByNameFirstLetter(t)),f(t);return}}}p.current=-1,f(``),s(e=>e!=null&&e.length?[]:e)});return()=>{e.unsubscribe()}}},[n,e]),(0,u.useEffect)(()=>{e||h()},[e]),{searchList:o,searchText:d,handlerFormulaReplace:(e,t)=>{let n=[...m.current.nodes];if(p.current!==-1){let i=n.splice(p.current+1),a=n.pop()||``,o=(typeof a==`string`?a.length:a.token.length)-e.length;return n.push(e),i[0]!==r.matchToken.OPEN_BRACKET&&t!==r.FunctionType.DefinedName&&(n.push(r.matchToken.OPEN_BRACKET),o--),{text:It([...n,...i]),offset:o}}},reset:h}},Wt=()=>{},Gt=(0,u.forwardRef)(Kt);function Kt(e,n){let{isFocus:r,sequenceNodes:i,onSelect:a,editor:s,onClose:c=Wt}=e,p=s.getEditorId(),m=(0,l.useDependency)(l.IShortcutService),h=(0,l.useDependency)(t.ICommandService),{searchList:g,searchText:_,handlerFormulaReplace:v,reset:y}=Ut(r,i,s),b=(0,u.useMemo)(()=>!!g.length,[g]),x=(0,u.useRef)(void 0),[S,C]=(0,u.useState)(0),w=(0,u.useRef)(!1),[T]=ht(p,b,[_,g]),E=Q({searchList:g,active:S}),D=(e,t)=>{let n=v(e,t);n&&(y(),a(n))};function O(e){w.current&&C(e)}function k(){w.current&&C(-1)}(0,u.useEffect)(()=>{if(!g.length)return;let e=`sheet.formula-embedding-editor.search_function.${p}`,n=new t.DisposableCollection,r=e=>{let{searchList:t,active:n}=E.current;switch(e){case l.KeyCode.ARROW_UP:C(e=>{let t=Math.max(0,e-1);return A(t),t});break;case l.KeyCode.ARROW_DOWN:C(e=>{let n=Math.min(t.length-1,e+1);return A(n),n});break;case l.KeyCode.TAB:case l.KeyCode.ENTER:{let e=t[n];D(e.name,e.functionType);break}case l.KeyCode.ESC:y(),c();break}};return n.add(h.registerCommand({id:e,type:t.CommandType.OPERATION,handler(e,t){let{keyCode:n}=t;r(n)}})),[l.KeyCode.ARROW_UP,l.KeyCode.ARROW_DOWN,l.KeyCode.ENTER,l.KeyCode.ESC,l.KeyCode.TAB].map(t=>({id:e,binding:t,preconditions:()=>!0,priority:1e3,staticParameters:{eventType:o.DeviceInputEventType.Keyboard,keyCode:t}})).forEach(e=>{n.add(m.registerShortcut(e))}),()=>{n.dispose()}},[g]);function A(e){let t=x.current;if(!t)return;let n=t.children[e];if(!n)return;let r=t.getBoundingClientRect().top,i=t.offsetHeight,a=n.getBoundingClientRect(),o=a.top,s=a.height;if(o>=0&&o>r&&o-r+s<=i)return;let c=n.offsetTop-(i-s)/2;t.scrollTo({top:c,behavior:`smooth`})}let j=(0,u.useMemo)(()=>{let e=``;return()=>{clearTimeout(e),w.current=!0,e=setTimeout(()=>{w.current=!1},300)}},[]);return g.length>0&&b&&(0,d.jsx)(l.RectPopup,{portal:!0,anchorRect$:T,direction:`vertical`,children:(0,d.jsx)(`ul`,{ref:e=>{x.current=e,n&&(n.current=e)},"data-u-comp":`sheets-formula-editor`,className:(0,f.clsx)(`
51
- univer-m-0 univer-box-border univer-max-h-[400px] univer-w-[250px] univer-list-none
52
- univer-overflow-y-auto univer-rounded-lg univer-bg-white univer-p-2 univer-leading-5 univer-shadow-md
53
- univer-outline-none
54
- dark:!univer-bg-gray-900
55
- `,f.borderClassName,f.scrollbarClassName),children:g.map((e,t)=>(0,d.jsxs)(`li`,{className:(0,f.clsx)(`
56
- univer-box-border univer-cursor-pointer univer-rounded univer-px-2 univer-py-1
57
- univer-text-gray-900 univer-transition-colors
58
- dark:!univer-text-white
59
- `,{"univer-bg-gray-200 dark:!univer-bg-gray-600":S===t}),onMouseEnter:()=>O(t),onMouseLeave:k,onMouseMove:j,onClick:()=>{D(e.name,e.functionType),s&&s.focus()},children:[(0,d.jsxs)(`span`,{className:`univer-block univer-truncate univer-text-xs`,children:[(0,d.jsx)(`span`,{className:`univer-text-red-500`,children:e.name.substring(0,_.length)}),(0,d.jsx)(`span`,{children:e.name.slice(_.length)})]}),(0,d.jsx)(`span`,{className:`univer-block univer-text-xs univer-text-gray-400`,children:e.desc})]},e.name))})})}let qt=e=>e.startsWith(r.operatorToken.EQUALS)?e.slice(1):``,Jt=()=>{},Yt=(0,u.forwardRef)((e,r)=>{var i,s,c,p;let{errorText:m,initValue:h,unitId:g,subUnitId:_,isFocus:v=!0,isSupportAcrossSheet:y=!1,onFocus:b=Jt,onBlur:x=Jt,onChange:S,onVerify:C,className:w,editorId:T,moveCursor:E=!0,onFormulaSelectingChange:D,keyboardEventConfig:O,onMoveInEditor:k,resetSelectionOnBlur:A=!0,autoScrollbar:j=!0,isSingle:M=!0,disableSelectionOnClick:N=!1,autofocus:P=!0,disableContextMenu:ee,style:F}=e,I=(0,l.useDependency)(a.IEditorService),te=(0,u.useRef)(null),ne=(0,l.useEvent)(S);(0,u.useImperativeHandle)(r,()=>({isClickOutSide:e=>te.current?!te.current.contains(e.target):!1}));let L=(0,l.useEvent)(D),re=(0,u.useRef)(null),R=(0,u.useRef)(void 0),z=R.current,[B,ie]=(0,u.useState)(v),ae=(0,u.useRef)(null),V=(0,u.useMemo)(()=>T==null?(0,t.createInternalEditorID)(`${n.EMBEDDING_FORMULA_EDITOR}-${(0,t.generateRandomId)(4)}`):T,[]),oe=(0,u.useMemo)(()=>m!==void 0,[m]),se=(0,l.useDependency)(t.IUniverInstanceService),H=se.getUnit(V);(0,l.useObservable)(H==null?void 0:H.change$);let U=Tt(),W=t.BuildTextUtils.transform.getPlainText((i=H==null||(s=H.getBody())==null?void 0:s.dataStream)==null?``:i),ce=Q(W),le=(0,u.useMemo)(()=>qt(W),[W]),ue=(0,u.useMemo)(()=>U(le),[le,U]),{isSelecting:G,isSelectingRef:de}=wt({unitId:g,subUnitId:_,editorId:V,isFocus:B,disableOnClick:N}),fe=(0,u.useRef)(``),pe=(0,l.useDependency)(o.IRenderManagerService).getRenderById(V),me=pe==null?void 0:pe.with(a.DocSelectionRenderService),he=me==null?void 0:me.isFocusing,ge=(0,l.useObservable)((0,u.useMemo)(()=>se.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC),[se])),K=(ge==null?void 0:ge.getUnitId())===V,_e=(0,u.useRef)([]),ve=G,ye=(c=(p=(0,l.useDependency)(t.IConfigService).getConfig(`sheets-formula-ui.base.config`))==null?void 0:p.functionScreenTips)==null?!0:c;(0,l.useUpdateEffect)(()=>{ne(W)},[W,ne]);let be=kt(`=`),xe=Ot(g,_),q=(0,l.useEvent)((e,t=!0,n,r)=>{if(!R.current)return;fe.current=e;let i=e[0]===`=`?e.slice(1):``,a=U(i),o=a.reduce((e,t)=>typeof t==`object`?`${e}${t.token}`:`${e}${t}`,``),s=be(R.current,o===i?a:[],t,r);if(_e.current=s,n){let e=r==null?z==null?void 0:z.getSelectionRanges():r;if((e==null?void 0:e.length)!==1)return;let t=pt(a,ft(a,e[0].startOffset-1,!1));if(t>=0){let e=s.splice(t,1)[0];e&&s.push(e)}xe(B?s:[],R.current)}});(0,u.useEffect)(()=>{B&&q(W,!1,!0)},[B]),(0,u.useEffect)(()=>{if(B){if(fe.current===W)return;q(W,!1,!0)}},[W]),Ht(B,C,W);let J=St(z),Se=Pt(B,g,_);(0,u.useEffect)(()=>{var e;L(G,(e=me==null?void 0:me.isFocusing)==null?!0:e)},[L,G]),(0,a.useKeyboardEvent)(B,O,z),(0,u.useLayoutEffect)(()=>{let e;return ae.current&&(e=I.register({autofocus:P,editorUnitId:V,initialSnapshot:{id:V,body:{dataStream:`${h}\r\n`,textRuns:[],customBlocks:[],customDecorations:[],customRanges:[]},documentStyle:{}}},ae.current),R.current=I.getEditor(V),q(h,!1,!0)),()=>{e==null||e.dispose()}},[]),(0,u.useLayoutEffect)(()=>{v?(ie(v),J()):(A&&(z==null||z.blur(),Se()),ie(v))},[v,z,J,Se,A]);let{checkScrollBar:Ce}=(0,a.useResize)(z,M,j);Nt(B,!!(G&&K),g,V,ee),Mt(!!(B&&he&&E),ve,z,k);let we=(0,l.useEvent)((e,t,n)=>{if(!he)return;let r=t===-1?void 0:[{startOffset:t+1,endOffset:t+1,collapsed:!0}];q(`=${e}`,!0,n,r),n&&(J(),t!==-1&&setTimeout(()=>{let e={startOffset:t+1,endOffset:t+1},n=z==null?void 0:z.render.with(a.DocBackScrollRenderController);n==null||n.scrollToRange({...e,collapsed:!0})},50),Ce())});Bt(B&&!!(G&&K),B,de,g,_,_e,y,!!ve,z,we),Vt(B&&!!(G&&K),g,y,ie,x,()=>{q(ce.current,!1,!0)});let Y=e=>{if(e){let t=z==null?void 0:z.getSelectionRanges();if(t&&t.length===1){let n=t[0];if(n.collapsed){let t=e.offset;setTimeout(()=>{z==null||z.setSelectionRanges([{startOffset:n.startOffset-t,endOffset:n.endOffset-t}])},30)}}J(),q(`=${e.text}`)}},Te=()=>{ie(!0),b(),J()};return(0,d.jsxs)(`div`,{className:w,children:[(0,d.jsx)(`div`,{ref:te,className:(0,f.clsx)(`
60
- univer-relative univer-box-border univer-flex univer-size-full univer-items-center
61
- univer-justify-around univer-gap-2 univer-rounded-none univer-p-0 univer-ring-1
62
- `,{"univer-ring-primary-500":B,"univer-ring-red-500":oe}),children:(0,d.jsx)(`div`,{ref:ae,className:`univer-relative univer-size-full`,onMouseUp:Te})}),m!==void 0&&(0,d.jsx)(`div`,{className:`univer-my-1 univer-text-xs univer-text-red-500`,children:m}),ye&&z&&le!==``&&(0,d.jsx)(xt,{editor:z,isFocus:B,formulaText:W,onClose:()=>J()}),ye&&!!z&&(0,d.jsx)(Gt,{isFocus:B,sequenceNodes:ue,onSelect:Y,ref:re,editor:z})]})});function Xt(e,i,a,o){var s;let c=(0,l.useDependency)(r.LexerTreeBuilder),d=kt(``),f=(0,l.useObservable)(e==null||(s=e.getDocumentDataModel())==null?void 0:s.change$),[p,m]=(0,u.useState)([]),h=(0,l.useDependency)(n.IMarkSelectionService),g=(0,u.useRef)(``),_=(0,l.useDependency)(t.IUniverInstanceService);return(0,u.useEffect)(()=>{if(!e)return;let t=e.getDocumentDataModel().getPlainText();if(g.current===t)return;g.current=t;let n=c.sequenceNodesBuilder(t);m(n==null?[]:n)},[f,e,c]),(0,u.useEffect)(()=>{if(!e)return;if(!i){var n,a;let t=e.getDocumentData();e.setDocumentData({...t,body:{...t.body,dataStream:(n=(a=t.body)==null?void 0:a.dataStream)==null?``:n,textRuns:[]}});return}let s=d(e,p,!1),c=new t.DisposableCollection;return s.forEach(e=>{let n=(0,r.deserializeRangeWithSheet)(e.token),i=_.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET),a=i==null?void 0:i.getActiveSheet();if(!n.sheetName&&o!==(a==null?void 0:a.getSheetId())||n.sheetName&&(a==null?void 0:a.getName())!==n.sheetName)return;let s=new t.ColorKit(e.themeColor).toRgb(),l=h.addShape({range:n.range,style:{stroke:e.themeColor,fill:`rgba(${s.r}, ${s.g}, ${s.b}, 0.1)`,strokeDash:12},primary:null});l&&c.add(()=>h.removeShape(l))}),()=>{c.dispose()}},[e,i,d,h,p]),{sequenceNodes:p}}function Zt(e){let n=(0,l.useDependency)(s.SheetsSelectionsService),{supportAcrossSheet:r=!1,keepSheetReference:i=!1,unitId:a,subUnitId:o,onChange:c}=e,d=(0,l.useDependency)(t.IUniverInstanceService).getUnit(a,t.UniverInstanceType.UNIVER_SHEET),f=(0,l.useEvent)(c),p=(0,l.useEvent)((e,t)=>{let n=d==null?void 0:d.getActiveSheet();if(!n||!r&&n.getSheetId()!==o||!(e!=null&&e.length))return;let s=i?n.getName():n.getSheetId()===o?``:n.getName();f(e.map(e=>({range:e.range,unitId:a,sheetName:s})),t)});(0,u.useEffect)(()=>{let e=new t.DisposableCollection;return e.add(n.selectionMoveStart$.subscribe(e=>{p(e,!0)})),e.add(n.selectionMoving$.subscribe(e=>{p(e,!1)})),e.add(n.selectionMoveEnd$.subscribe(e=>{p(e,!1)})),()=>{e.dispose()}},[p,n.selectionMoveEnd$,n.selectionMoveStart$,n.selectionMoving$])}let Qt=e=>!e.some(e=>{if(typeof e==`string`){if(e!==r.matchToken.COMMA)return!0}else if(e.nodeType!==r.sequenceNodeType.REFERENCE)return!0;return!1}),$t=e=>{if(e.endColumn<e.startColumn){let t=e.endColumn;e.endColumn=e.startColumn,e.startColumn=t}if(e.endRow<e.startRow){let t=e.endRow;e.endRow=e.startRow,e.startRow=t}return e};function en(e){let{visible:n,initialValue:i,unitId:a,subUnitId:o,maxRangeCount:s=1/0,supportAcrossSheet:c,keepSheetReference:p,onConfirm:m,onClose:h,onShowBySelection:g}=e,_=(0,l.useDependency)(t.LocaleService),v=(0,l.useDependency)(r.LexerTreeBuilder),[y,b]=(0,u.useState)([]),[x,S]=(0,u.useState)(0),C=(0,u.useRef)(null);(0,u.useEffect)(()=>{if(n&&i.length){let e=i.map(e=>e.sheetName?(0,r.serializeRangeWithSheet)(e.sheetName,e.range):(0,r.serializeRange)(e.range));b(e),S(e.length-1)}else b([``]),S(0)},[n]);let w=(e,t)=>{let n=[...y];n[e]=t,b(n)},T=()=>{b([...y,``]),S(y.length)},E=e=>{y.splice(e,1),b([...y])};return Zt({unitId:a,subUnitId:o,supportAcrossSheet:c,keepSheetReference:p,onChange:(e,t)=>{if(!n&&g!=null&&g(e))return;let i=new Set(y),a=e.map(e=>e.sheetName?(0,r.serializeRangeWithSheet)(e.sheetName,e.range):(0,r.serializeRange)(e.range)),o=a.filter(e=>!i.has(e));if(!o.length)return;let c=[...y];if(a.length>1){t||c.splice(x,1),c.push(...o);let e=c.slice(0,s);b(e),S(e.length-1),requestAnimationFrame(()=>{var e;(e=C.current)==null||e.scrollTo({top:C.current.scrollHeight})})}else c.splice(x,1,...o),b(c.slice(0,s)),S(x+o.length-1)}}),(0,d.jsx)(f.Dialog,{width:`328px`,open:n,title:_.t(`rangeSelector.title`),draggable:!0,mask:!1,maskClosable:!1,footer:(0,d.jsxs)(`footer`,{className:`univer-flex univer-gap-2`,children:[(0,d.jsx)(f.Button,{onClick:h,children:_.t(`rangeSelector.cancel`)}),(0,d.jsx)(f.Button,{variant:`primary`,onClick:()=>{m(y.filter(e=>{let t=v.sequenceNodesBuilder(e);return t&&t.length===1&&typeof t[0]!=`string`&&t[0].nodeType===r.sequenceNodeType.REFERENCE}).map(e=>(0,r.deserializeRangeWithSheet)(e)).map(e=>({...e,range:$t(e.range)})))},children:_.t(`rangeSelector.confirm`)})]}),onClose:h,children:(0,d.jsxs)(`div`,{ref:C,className:(0,f.clsx)(`-univer-mx-6 univer-max-h-60 univer-overflow-y-auto univer-px-6`,f.scrollbarClassName),children:[y.map((e,t)=>(0,d.jsxs)(`div`,{className:`univer-mb-2 univer-flex univer-items-center univer-gap-4`,children:[(0,d.jsx)(f.Input,{className:(0,f.clsx)(`univer-w-full`,{"univer-border-primary-600":x===t}),placeholder:_.t(`rangeSelector.placeHolder`),onFocus:()=>S(t),value:e,onChange:e=>w(t,e)}),y.length>1&&(0,d.jsx)(Ue,{className:`univer-cursor-pointer`,onClick:()=>E(t)})]},t)),y.length<s&&(0,d.jsx)(`div`,{children:(0,d.jsxs)(f.Button,{variant:`link`,onClick:T,children:[(0,d.jsx)(Ge,{}),(0,d.jsx)(`span`,{children:_.t(`rangeSelector.addAnotherRange`)})]})})]})})}function tn(e){return e.split(r.matchToken.COMMA).filter(e=>!!e).map(e=>(0,r.deserializeRangeWithSheet)(e))}function nn(e){return e.map(e=>e.sheetName?(0,r.serializeRangeWithSheet)(e.sheetName,e.range):(0,r.serializeRange)(e.range)).join(r.matchToken.COMMA)}function rn(e){let[n,r]=(0,u.useState)(null),{onVerify:i,selectorRef:o,unitId:c,subUnitId:p,maxRangeCount:m,supportAcrossSheet:h,keepSheetReference:g,autoFocus:_,onChange:v,onRangeSelectorDialogVisibleChange:y,onClickOutside:b,onFocusChange:x,forceShowDialogWhenSelectionChanged:S,hideEditor:C,resetRange:w}=e,[T,E]=(0,u.useState)(_==null?!1:_),[D,O]=(0,u.useState)(!1),[k,A]=(0,u.useState)([]),j=(0,l.useDependency)(t.LocaleService),M=(0,l.useDependency)(a.IEditorService),{sequenceNodes:N}=Xt(n,T,c,p),P=Q(N),ee=(0,l.useDependency)(t.ICommandService),F=(0,l.useEvent)(()=>{n==null||n.setSelectionRanges([]),n==null||n.blur(),M.blur()}),I=(0,l.useEvent)(()=>{var e,t;F(),A(tn((e=n==null||(t=n.getDocumentDataModel())==null?void 0:t.getPlainText())==null?``:e)),O(!0)});return(0,u.useEffect)(()=>{o&&(o.current={get editor(){return n},focus(){M.focus(n.getEditorId())},blur:F,verify:()=>Qt(P.current),showDialog:e=>{F(),A(e),O(!0)},hideDialog:()=>{A([]),O(!1)},getValue:()=>{var e,t;return(e=n==null||(t=n.getDocumentDataModel())==null?void 0:t.getPlainText())==null?``:e}})},[F,n,M,o,P]),(0,u.useEffect)(()=>{var e,t;i==null||i(Qt(N),(e=n==null||(t=n.getDocumentDataModel())==null?void 0:t.getPlainText())==null?``:e)},[N]),(0,u.useEffect)(()=>{y==null||y(D)},[D]),(0,u.useEffect)(()=>{if(D&&w)return()=>{let e={unitId:c,subUnitId:p,selections:w};ee.executeCommand(s.SetSelectionsOperation.id,e)}},[D]),(0,d.jsxs)(d.Fragment,{children:[C?null:(0,d.jsx)(a.RichTextEditor,{isSingle:!0,...e,onFocusChange:(e,t)=>{E(e),x==null||x(e,t)},editorRef:r,onClickOutside:()=>{E(!1),F(),b==null||b()},icon:(0,d.jsx)(f.Tooltip,{title:j.t(`rangeSelector.buttonTooltip`),placement:`bottom`,children:(0,d.jsx)(Ye,{className:`
63
- univer-cursor-pointer
64
- dark:!univer-text-gray-300
65
- `,onClick:I})})}),(0,d.jsx)(en,{initialValue:k,unitId:c,subUnitId:p,visible:D,maxRangeCount:m,onConfirm:e=>{let r=nn(e),i=t.RichTextBuilder.newEmptyData();i.body.dataStream=r,n==null||n.replaceText(r,!1),v==null||v(i,r),O(!1),A([]),requestAnimationFrame(()=>{F()})},onClose:()=>{O(!1),A([])},supportAcrossSheet:h,keepSheetReference:g,onShowBySelection:e=>T||S?(A(e),O(!0),!1):!0})]})}let an=()=>{var e,t;let n=(0,l.useObservable)((0,l.useDependency)(ut).currentSelector$),i=(0,u.useRef)(null);return(0,u.useEffect)(()=>{if(n){var e,t;return(e=i.current)==null||e.showDialog((t=n.initialValue)==null?[]:t),()=>{var e;(e=i.current)==null||e.hideDialog()}}},[n]),(0,d.jsx)(rn,{unitId:(e=n==null?void 0:n.unitId)==null?``:e,subUnitId:(t=n==null?void 0:n.subUnitId)==null?``:t,hideEditor:!0,selectorRef:i,onChange:(e,t)=>{var i;n==null||n.callback((i=t==null?void 0:t.split(`,`).map(e=>(0,r.deserializeRangeWithSheet)(e)))==null?[]:i)}})},on=class extends t.Plugin{constructor(e=V,n,r,i,a){super(),this._config=e,this._injector=n,this._renderManagerService=r,this._configService=i,this._uiPartsService=a;let{menu:o,...s}=(0,t.merge)(V,this._config);o&&this._configService.setConfig(`menu`,o,{merge:!0}),this._configService.setConfig(ae,s,{merge:!0})}onStarting(){(0,t.registerDependencies)(this._injector,[[T,{useClass:E}],[ut],[ct],[U],[pe],[he],[z],[lt]]),this._initUIPart()}onReady(){[[Z]].forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(t.UniverInstanceType.UNIVER_SHEET,e))})}onRendered(){[[H]].forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(t.UniverInstanceType.UNIVER_SHEET,e))}),(0,t.touchDependencies)(this._injector,[[ct],[U],[he],[lt]])}onSteady(){this._injector.get(z)}_initUIPart(){let e=this._injector.get(l.ComponentManager);this.disposeWithMe(e.register(n.RANGE_SELECTOR_COMPONENT_KEY,rn)),this.disposeWithMe(e.register(n.EMBEDDING_FORMULA_EDITOR_COMPONENT_KEY,Yt)),this.disposeWithMe(this._uiPartsService.registerComponent(l.BuiltInUIPart.GLOBAL,()=>(0,l.connectInjector)(an,this._injector)))}};x(on,`pluginName`,te),x(on,`packageName`,B),x(on,`version`,ie),x(on,`type`,t.UniverInstanceType.UNIVER_SHEET),on=C([(0,t.DependentOn)(c.UniverSheetsFormulaPlugin),S(1,(0,t.Inject)(t.Injector)),S(2,o.IRenderManagerService),S(3,t.IConfigService),S(4,l.IUIPartsService)],on),e.FORMULA_PROMPT_ACTIVATED=w,e.FormulaEditor=Yt,Object.defineProperty(e,`FormulaReorderController`,{enumerable:!0,get:function(){return z}}),e.GlobalRangeSelectorService=ut,e.HelpFunctionOperation=D,e.InsertFunctionOperation=O,e.MoreFunctionsOperation=L,e.RangeSelector=rn,Object.defineProperty(e,`RefSelectionsRenderService`,{enumerable:!0,get:function(){return Z}}),e.ReferenceAbsoluteOperation=re,e.SearchFunctionOperation=R,e.SelectEditorFormulaOperation=_,e.SheetCopyFormulaOnlyCommand=h,e.SheetOnlyPasteFormulaCommand=g,Object.defineProperty(e,`UniverSheetsFormulaUIPlugin`,{enumerable:!0,get:function(){return on}})});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/core`),require(`@univerjs/sheets-ui`),require(`@univerjs/engine-formula`),require(`rxjs`),require(`@univerjs/docs-ui`),require(`@univerjs/engine-render`),require(`@univerjs/sheets`),require(`@univerjs/sheets-formula`),require(`@univerjs/ui`),require(`@univerjs/docs`),require(`react`),require(`react/jsx-runtime`),require(`@univerjs/design`),require(`rxjs/operators`)):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets-ui`,`@univerjs/engine-formula`,`rxjs`,`@univerjs/docs-ui`,`@univerjs/engine-render`,`@univerjs/sheets`,`@univerjs/sheets-formula`,`@univerjs/ui`,`@univerjs/docs`,`react`,`react/jsx-runtime`,`@univerjs/design`,`rxjs/operators`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsFormulaUi={},e.UniverCore,e.UniverSheetsUi,e.UniverEngineFormula,e.rxjs,e.UniverDocsUi,e.UniverEngineRender,e.UniverSheets,e.UniverSheetsFormula,e.UniverUi,e.UniverDocs,e.React,e.React,e.UniverDesign,e.rxjs.operators))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let h={id:`sheet.command.copy-formula-only`,type:t.CommandType.COMMAND,handler:async e=>e.get(n.ISheetClipboardService).copy({copyHookType:n.PREDEFINED_HOOK_NAME_COPY.SPECIAL_COPY_FORMULA_ONLY})},g={id:`sheet.command.paste-formula`,type:t.CommandType.COMMAND,handler:async e=>e.get(t.ICommandService).executeCommand(n.SheetPasteCommand.id,{value:n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMULA})};function _(e){"@babel/helpers - typeof";return _=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},_(e)}function v(e,t){if(_(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(_(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function y(e){var t=v(e,`string`);return _(t)==`symbol`?t:t+``}function b(e,t,n){return(t=y(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function x(e,t){return function(n,r){t(n,r,e)}}function S(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let C=`FORMULA_PROMPT_ACTIVATED`,w=(0,t.createIdentifier)(`formula-ui.prompt-service`),T=class{constructor(e){this._contextService=e,b(this,`_search$`,new i.Subject),b(this,`_help$`,new i.Subject),b(this,`_navigate$`,new i.Subject),b(this,`_accept$`,new i.Subject),b(this,`_acceptFormulaName$`,new i.Subject),b(this,`search$`,this._search$.asObservable()),b(this,`help$`,this._help$.asObservable()),b(this,`navigate$`,this._navigate$.asObservable()),b(this,`accept$`,this._accept$.asObservable()),b(this,`acceptFormulaName$`,this._acceptFormulaName$.asObservable()),b(this,`_searching`,!1),b(this,`_helping`,!1),b(this,`_sequenceNodes`,[]),b(this,`_isLockedOnSelectionChangeRefString`,!1),b(this,`_isLockedOnSelectionInsertRefString`,!1)}dispose(){this._search$.complete(),this._help$.complete(),this._navigate$.complete(),this._accept$.complete(),this._acceptFormulaName$.complete(),this._sequenceNodes=[]}search(e){this._contextService.setContextValue(C,e.visible),this._searching=e.visible,this._search$.next(e)}isSearching(){return this._searching}help(e){this._helping=e.visible,this._help$.next(e)}isHelping(){return this._helping}navigate(e){this._navigate$.next(e)}accept(e){this._accept$.next(e)}acceptFormulaName(e){this._acceptFormulaName$.next(e)}getSequenceNodes(){return[...this._sequenceNodes]}setSequenceNodes(e){this._sequenceNodes=e}clearSequenceNodes(){this._sequenceNodes=[]}getCurrentSequenceNode(e){return this._sequenceNodes[this.getCurrentSequenceNodeIndex(e)]}getCurrentSequenceNodeByIndex(e){return this._sequenceNodes[e]}getCurrentSequenceNodeIndex(e){let t=0,n=this._sequenceNodes[0];for(let r=0,i=this._sequenceNodes.length;r<i;r++){let i=this._sequenceNodes[r];if(typeof i==`string`)t++;else{let{endIndex:e}=i;t=e}if(e<=t)return typeof n==`string`&&e!==0?r+1:r}return this._sequenceNodes.length}updateSequenceRef(e,t){let n=this._sequenceNodes[e];if(typeof n==`string`||n.nodeType!==r.sequenceNodeType.REFERENCE)return;let i=t.length-n.token.length,a={...n};a.token=t,a.endIndex+=i,this._sequenceNodes[e]=a;for(let t=e+1,n=this._sequenceNodes.length;t<n;t++){let e=this._sequenceNodes[t];if(typeof e==`string`)continue;let n={...e};n.startIndex+=i,n.endIndex+=i,this._sequenceNodes[t]=n}}insertSequenceRef(e,t){let n=t.length,i=this.getCurrentSequenceNodeIndex(e);this._sequenceNodes.splice(i,0,{token:t,startIndex:e,endIndex:e+n-1,nodeType:r.sequenceNodeType.REFERENCE});for(let e=i+1,t=this._sequenceNodes.length;e<t;e++){let t=this._sequenceNodes[e];if(typeof t==`string`)continue;let r={...t};r.startIndex+=n,r.endIndex+=n,this._sequenceNodes[e]=r}}insertSequenceString(e,t){let n=this.getCurrentSequenceNodeIndex(e),r=t.split(``);this._sequenceNodes.splice(n,0,...r);let i=r.length;for(let e=n+i,t=this._sequenceNodes.length;e<t;e++){let t=this._sequenceNodes[e];if(typeof t==`string`)continue;let n={...t};n.startIndex+=i,n.endIndex+=i,this._sequenceNodes[e]=n}}enableLockedSelectionChange(){this._isLockedOnSelectionChangeRefString=!0}disableLockedSelectionChange(){this._isLockedOnSelectionChangeRefString=!1}isLockedSelectionChange(){return this._isLockedOnSelectionChangeRefString}enableLockedSelectionInsert(){this._isLockedOnSelectionInsertRefString=!0}disableLockedSelectionInsert(){this._isLockedOnSelectionInsertRefString=!1}isLockedSelectionInsert(){return this._isLockedOnSelectionInsertRefString}};T=S([x(0,t.IContextService)],T);let E={id:`formula-ui.operation.help-function`,type:t.CommandType.OPERATION,handler:async(e,t)=>(e.get(w).help(t),!0)},D={id:`formula-ui.operation.insert-function`,type:t.CommandType.OPERATION,handler:async(e,i)=>{let l=e.get(s.SheetsSelectionsService),u=e.get(a.IEditorService),d=l.getCurrentSelections();if(!d||!d.length)return!1;let f=(0,s.getSheetCommandTarget)(e.get(t.IUniverInstanceService));if(!f)return!1;let{worksheet:p,unitId:m,subUnitId:h}=f,g=p.getCellMatrix(),{value:_}=i,v=e.get(t.ICommandService);e.get(n.IEditorBridgeService);let y=[],b=[],x=null,S=0,C=0,w=``;if(d.length===1&&(M(d[0].range)||N(d[0].range)&&P(g,d[0].range))){var T,E;let{range:e,primary:t}=d[0],n=(T=t==null?void 0:t.actualRow)==null?e.startRow:T,i=(E=t==null?void 0:t.actualColumn)==null?e.startColumn:E;x=e,S=n,C=i;let a=O(g,n,i);a&&(w=(0,r.serializeRange)(a))}else d.some(e=>{let{range:t,primary:n}=e;if(P(g,t)){var i,a;let e=(i=n==null?void 0:n.actualRow)==null?t.startRow:i,o=(a=n==null?void 0:n.actualColumn)==null?t.startColumn:a,s=O(g,e,o);if(!s)return x=t,S=e,C=o,!0;let c=`=${_}(${(0,r.serializeRange)(s)})`;y.push({range:t,primary:{row:e,column:o},formula:c})}else{let{startRow:e,startColumn:n,endRow:i,endColumn:a}=t;if(e===i){let o=ee(g,e,a,p.getColumnCount()-1),s=`=${_}(${(0,r.serializeRange)({startRow:e,endRow:i,startColumn:n,endColumn:o===a?a-1:a})})`;b.push({range:t,primary:{row:e,column:o},formula:s})}else{let o=-1;for(let e=n;e<=a;e++){let t=F(g,e,i,p.getRowCount()-1);o=Math.max(o,t)}let s=o===i?i-1:i;for(let i=n;i<=a;i++){let n=`=${_}(${(0,r.serializeRange)({startRow:e,endRow:s,startColumn:i,endColumn:i})})`;b.push({range:t,primary:{row:o,column:i},formula:n})}}}return!1});if(x){let e=(0,s.getCellAtRowCol)(S,C,p),r={unitId:m,subUnitId:h,selections:[{range:t.Rectangle.clone(x),primary:{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn,actualRow:S,actualColumn:C,isMerged:e.isMerged,isMergedMainCell:e.startRow===S&&e.startColumn===C}}]};await v.executeCommand(s.SetSelectionsOperation.id,r);let i=u.getEditor(t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY),a=u.getEditor(t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY);v.syncExecuteCommand(n.SetCellEditVisibleOperation.id,{visible:!0,unitId:m,eventType:o.DeviceInputEventType.Dblclick});let c=`=${_}(${w}`;i==null||i.replaceText(c),a==null||a.replaceText(c,!1)}return y.length===0&&b.length===0?!1:v.executeCommand(c.InsertFunctionCommand.id,{list:y,listOfRangeHasNumber:b})}};function O(e,t,n){let r=k(e,t,n);if(r!==t)return{startRow:r,endRow:t-1,startColumn:n,endColumn:n};let i=A(e,t,n);return i===n?null:{startRow:t,endRow:t,startColumn:i,endColumn:n-1}}function k(e,t,n){let r=!1;if(t===0)return t;for(let i=t-1;i>=0;i--){let t=e.getValue(i,n);if(j(t)&&!r){if(i===0)return 0;r=!0}else if(r&&!j(t))return i+1;else if(r&&i===0)return 0}return t}function A(e,t,n){let r=!1;if(n===0)return n;for(let i=n-1;i>=0;i--){let n=e.getValue(t,i);if(j(n)&&!r){if(i===0)return 0;r=!0}else if(r&&!j(n))return i+1;else if(r&&i===0)return 0}return n}function j(e){if(e!=null&&e.p){let n=e==null?void 0:e.p.body;if(n==null)return!1;let r=n.dataStream;return(0,t.isRealNum)(r.substring(r.length-2,r.length)===t.DEFAULT_EMPTY_DOCUMENT_VALUE?r.substring(0,r.length-2):r)}return e&&(e.t===t.CellValueType.NUMBER||(0,t.getCellValueType)(e)===t.CellValueType.NUMBER)}function M(e){return e.startRow===e.endRow&&e.startColumn===e.endColumn}function N(e){return e.startRow!==e.endRow&&e.startColumn!==e.endColumn}function P(e,t){for(let n=t.startRow;n<=t.endRow;n++)for(let r=t.startColumn;r<=t.endColumn;r++)if(j(e.getValue(n,r)))return!1;return!0}function ee(e,t,n,r){for(let i=n;i<=r;i++)if(!e.getValue(t,i))return i;return r}function F(e,t,n,r){for(let i=n;i<=r;i++)if(!e.getValue(i,t))return i;return r}let I=`SHEET_FORMULA_UI_PLUGIN`,te=`${I}_MORE_FUNCTIONS_COMPONENT`,L={id:`formula-ui.operation.more-functions`,type:t.CommandType.OPERATION,handler:async e=>(e.get(l.ISidebarService).open({header:{title:`formula.insert.tooltip`},children:{label:te}}),!0)},ne=/^\$?[A-Za-z]+\$?\d+$/;function re(e,t,n){if(!t.startsWith(`=`)||t.length<=1)return null;let i=e.sequenceNodesBuilder(t);if(!(i!=null&&i.length))return null;let a=Math.min(Math.max(n,0),t.length),o=a-1;if(o<0)return null;let s=i.find(e=>typeof e==`string`||e.nodeType!==r.sequenceNodeType.REFERENCE?!1:o>=e.startIndex&&o<=e.endIndex+1);if(!s||typeof s==`string`)return null;let c=R(s,o-s.startIndex);return c==null||c.token===s.token?null:{formulaText:`=${(0,r.generateStringWithSequence)(i.map(e=>e===s?{...e,token:c.token,endIndex:e.startIndex+c.token.length-1}:e))}`,cursorOffset:ie(a,s.startIndex+1,s.endIndex+2,c.token.length,c)}}function R(e,n){let i=(0,r.deserializeRangeWithSheetWithCache)(e.token);if(i==null)return null;let{range:a}=i;if(a.rangeType===t.RANGE_TYPE.ROW||a.rangeType===t.RANGE_TYPE.COLUMN)return{token:(0,r.serializeRangeToRefString)({...i,range:{...a,startAbsoluteRefType:a.startAbsoluteRefType===t.AbsoluteRefType.NONE?t.AbsoluteRefType.ALL:t.AbsoluteRefType.NONE,endAbsoluteRefType:a.endAbsoluteRefType===t.AbsoluteRefType.NONE?t.AbsoluteRefType.ALL:t.AbsoluteRefType.NONE}}),referenceTarget:`both`,previousSeparatorOffset:null,nextSeparatorOffset:null};let{refBody:o}=(0,r.handleRefStringInfo)(e.token),s=o.split(`:`),c=s.length===2?e.token.indexOf(`:`):null;if(s.some(e=>!ne.test(e)))return null;let l=s.length===2,u=l?z(e.token,o,n):`start`,d={...a};if(u===`start`||u===`both`){let e=B((0,r.getAbsoluteRefTypeWithSingleString)(s[0]));d.startAbsoluteRefType=e,l||(d.endAbsoluteRefType=e)}(u===`end`||u===`both`)&&(d.endAbsoluteRefType=B((0,r.getAbsoluteRefTypeWithSingleString)(s[1])));let f=(0,r.serializeRangeToRefString)({...i,range:d});return{token:f,referenceTarget:u,previousSeparatorOffset:c,nextSeparatorOffset:s.length===2?f.indexOf(`:`):null}}function z(e,t,n){let r=e.length-t.length+t.indexOf(`:`);return n===r||n===r+1?`both`:n<r?`start`:`end`}function B(e){switch(e){case t.AbsoluteRefType.NONE:return t.AbsoluteRefType.ALL;case t.AbsoluteRefType.ALL:return t.AbsoluteRefType.ROW;case t.AbsoluteRefType.ROW:return t.AbsoluteRefType.COLUMN;case t.AbsoluteRefType.COLUMN:default:return t.AbsoluteRefType.NONE}}function ie(e,t,n,r,i){if(i.referenceTarget===`both`&&i.previousSeparatorOffset!=null&&i.nextSeparatorOffset!=null){let n=t+i.previousSeparatorOffset,r=t+i.nextSeparatorOffset;if(e===n)return r;if(e===n+1)return r+1}if(e<=t)return e;let a=r-(n-t);if(e>=n)return e+a;let o=e-t;return t+Math.min(o,r)}let ae={id:`formula-ui.operation.change-ref-to-absolute`,type:t.CommandType.OPERATION,handler:async e=>{var n,i;let o=e.get(a.IEditorService),s=e.get(u.DocSelectionManagerService),c=e.get(r.LexerTreeBuilder),l=o.getFocusEditor();if(!l)return!1;let d=l.getEditorId();if(d!==t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&d!==t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)return!1;let f=s.getActiveTextRange();if(!f)return!1;let p=re(c,t.BuildTextUtils.transform.getPlainText((n=(i=l.getDocumentData().body)==null?void 0:i.dataStream)==null?``:n),f.endOffset);return p?(l.replaceText(p.formulaText,[{startOffset:p.cursorOffset,endOffset:p.cursorOffset,collapsed:!0}]),!0):!1}},V={id:`formula-ui.operation.search-function`,type:t.CommandType.OPERATION,handler:async(e,t)=>(e.get(w).search(t),!0)},H=class extends t.Disposable{constructor(e,t,n,r){super(),this._sheetInterceptorService=e,this._univerInstanceService=t,this._formulaDataModel=n,this._lexerTreeBuilder=r,this._initialize()}_initialize(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>e.id===s.ReorderRangeCommand.id?this._reorderFormula(e.params):{redos:[],undos:[]}}))}_reorderFormula(e){let n=[],r=[],{unitId:i,subUnitId:a,range:o,order:c}=e,l=this._univerInstanceService.getUniverSheetInstance(i),u=l==null?void 0:l.getSheetBySheetId(a);if(!u)return{redos:n,undos:r};let d=u.getCellMatrix(),f=new t.ObjectMatrix,p=new t.ObjectMatrix,m=!1;return t.Range.foreach(o,(e,n)=>{let r=e;c.hasOwnProperty(e)&&(r=c[e]);let o=d.getValue(r,n);if(o!=null&&o.f||o!=null&&o.si){m=!0;let s=this._formulaDataModel.getFormulaStringByCell(r,n,a,i),c=this._lexerTreeBuilder.moveFormulaRefOffset(s,0,e-r),l=t.Tools.deepClone(o);l.f=c,l.si=null,f.setValue(e,n,l)}else f.setValue(e,n,o);p.setValue(e,n,d.getValue(e,n))}),m?(n.push({id:s.SetRangeValuesMutation.id,params:{unitId:i,subUnitId:a,cellValue:f.getMatrix()}}),r.push({id:s.SetRangeValuesMutation.id,params:{unitId:i,subUnitId:a,cellValue:p.getMatrix()}}),{redos:n,undos:r}):{redos:n,undos:r}}};H=S([x(0,(0,t.Inject)(s.SheetInterceptorService)),x(1,(0,t.Inject)(t.IUniverInstanceService)),x(2,(0,t.Inject)(r.FormulaDataModel)),x(3,(0,t.Inject)(r.LexerTreeBuilder))],H);var oe=`@univerjs/sheets-formula-ui`,se=`0.19.0`;let ce=`sheets-formula-ui.base.config`;Symbol(ce);let U={},le=`SHEET_FORMULA_ALERT`,ue={[r.ErrorType.DIV_BY_ZERO]:`divByZero`,[r.ErrorType.NAME]:`name`,[r.ErrorType.VALUE]:`value`,[r.ErrorType.NUM]:`num`,[r.ErrorType.NA]:`na`,[r.ErrorType.CYCLE]:`cycle`,[r.ErrorType.REF]:`ref`,[r.ErrorType.SPILL]:`spill`,[r.ErrorType.CALC]:`calc`,[r.ErrorType.ERROR]:`error`,[r.ErrorType.CONNECT]:`connect`,[r.ErrorType.NULL]:`null`},de=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._hoverManagerService=t,this._cellAlertManagerService=n,this._localeService=r,this._formulaDataModel=i,this._zenZoneService=a,this._init()}_init(){this._initCellAlertPopup(),this._initZenService()}_initCellAlertPopup(){this.disposeWithMe(this._hoverManagerService.currentCell$.pipe((0,i.debounceTime)(100)).subscribe(e=>{if(e){var i;let o=this._context.unit.getActiveSheet();if(!o)return this._hideAlert();let s=o.getCell(e.location.row,e.location.col),c=(i=this._formulaDataModel.getArrayFormulaCellData())==null||(i=i[e.location.unitId])==null||(i=i[e.location.subUnitId])==null||(i=i[e.location.row])==null?void 0:i[e.location.col];if((0,t.isICellData)(s)){var a;let t=(0,r.extractFormulaError)(s,!!c);if(!t){this._hideAlert();return}let i=this._cellAlertManagerService.currentAlert.get(le),o=i==null||(a=i.alert)==null?void 0:a.location;if(o&&o.row===e.location.row&&o.col===e.location.col&&o.subUnitId===e.location.subUnitId&&o.unitId===e.location.unitId){this._hideAlert();return}this._cellAlertManagerService.showAlert({type:n.CellAlertType.ERROR,title:this._localeService.t(`formula.error.title`),message:this._localeService.t(`formula.error.${ue[t]}`),location:e.location,width:200,height:74,key:le});return}}this._hideAlert()}))}_initZenService(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(e=>{e&&this._hideAlert()}))}_hideAlert(){this._cellAlertManagerService.removeAlert(le)}};de=S([x(1,(0,t.Inject)(n.HoverManagerService)),x(2,(0,t.Inject)(n.CellAlertManagerService)),x(3,(0,t.Inject)(t.LocaleService)),x(4,(0,t.Inject)(r.FormulaDataModel)),x(5,l.IZenZoneService)],de);let W=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._univerInstanceService=e,this._lexerTreeBuilder=t,this._sheetClipboardService=n,this._injector=r,this._formulaDataModel=i,this._initialize()}_initialize(){this._registerClipboardHook()}_registerClipboardHook(){this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._copyFormulaOnlyHook())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._pasteFormulaHook())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._pasteWithFormulaHook()))}_copyFormulaOnlyHook(){let e=this,r=null;return{id:n.PREDEFINED_HOOK_NAME_COPY.SPECIAL_COPY_FORMULA_ONLY,priority:10,onBeforeCopy(t,n){r=e._getWorksheet(t,n)},onCopyCellContent(n,i){if(!r)return``;let a=r.getCellRaw(n,i);return a?(0,t.isFormulaString)(a.f)?a.f:(0,t.isFormulaId)(a.si)&&e._formulaDataModel.getFormulaStringByCell(n,i,r.getSheetId(),r.getUnitId())||``:``},onAfterCopy(){r=null},getFilteredOutRows(t,n,r){let i=e._getWorksheet(t,n);if(!i)return[];let{startRow:a,endRow:o}=r,s=[];for(let e=a;e<=o;e++)i.getRowFiltered(e)&&s.push(e);return s},handleMatrixOnCell(n,i,a,o,s,c,l){let u=s.getValue(n,i);if(r&&u&&((0,t.isFormulaString)(u.f)||(0,t.isFormulaId)(u.si))){let s=(0,t.isFormulaString)(u.f)?u.f:e._formulaDataModel.getFormulaStringByCell(n,i,r.getSheetId(),r.getUnitId());c.setValue(a,o,{...(0,t.getEmptyCell)(),f:s}),l.setValue(a,o,{...(0,t.getEmptyCell)(),f:s,displayV:s})}else s.setValue(n,i,(0,t.getEmptyCell)()),c.setValue(a,o,(0,t.getEmptyCell)()),l.setValue(a,o,(0,t.getEmptyCell)())}}}_pasteFormulaHook(){return{id:n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMULA,priority:10,specialPasteInfo:{label:`specialPaste.formula`},onPasteCells:(e,t,n,r)=>this._onPasteCells(e,t,n,r,!0)}}_pasteWithFormulaHook(){return{id:`default-paste-formula`,priority:10,onPasteCells:(e,t,n,r)=>this._onPasteCells(e,t,n,r,!1)}}_getWorkbook(e){return e?this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET):this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET)}_getWorksheet(e,t){let n=this._getWorkbook(e);return t?n==null?void 0:n.getSheetBySheetId(t):n==null?void 0:n.getActiveSheet()}_onPasteCells(e,t,r,i,a){var o;if([n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMAT,n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_COL_WIDTH].includes(i.pasteType)||i.copyType===n.COPY_TYPE.CUT&&!a)return{undos:[],redos:[]};let s=this._getWorkbook(),c=t.unitId||(s==null?void 0:s.getUnitId()),l=t.subUnitId||(s==null||(o=s.getActiveSheet())==null?void 0:o.getSheetId());if(!c||!l)return{undos:[],redos:[]};let u=t.range,d=r,f={copyType:i.copyType||n.COPY_TYPE.COPY,copyRange:e==null?void 0:e.range,pasteType:i.pasteType};return this._injector.invoke(t=>fe(c,l,u,d,t,f,this._lexerTreeBuilder,this._formulaDataModel,a,e))}};W=S([x(0,t.IUniverInstanceService),x(1,(0,t.Inject)(r.LexerTreeBuilder)),x(2,n.ISheetClipboardService),x(3,(0,t.Inject)(t.Injector)),x(4,(0,t.Inject)(r.FormulaDataModel))],W);function fe(e,t,n,r,i,a,o,c,l=!1,u){let d=[],f=[],p=pe(e,t,n,r,a,o,c,u);if(!p.hasValue())return{undos:[],redos:[]};let m={unitId:e,subUnitId:t,cellValue:p.getData()};d.push({id:s.SetRangeValuesMutation.id,params:m});let h=(0,s.SetRangeValuesUndoMutationFactory)(i,m);return f.push({id:s.SetRangeValuesMutation.id,params:h}),{undos:f,redos:d}}function pe(e,t,r,i,a,o,s,c){return c?a.pasteType===n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_VALUE?he(e,t,r,i,s,c):a.pasteType===n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMULA?ge(e,t,r,i,o,s,c):_e(e,t,r,i,a.copyType,o,s,c):me(e,t,r,i,s)}function me(e,n,r,i,a){let o=new t.ObjectMatrix,s=a.getSheetFormulaData(e,n);return i.forValue((e,n,i)=>{var a;let c=r.rows[e],l=r.cols[n],u={};(0,t.isFormulaString)(i.v)?(u.v=null,u.f=`${i.v}`,u.si=null,u.p=null,o.setValue(c,l,u)):!(s==null||(a=s[c])==null)&&a[l]&&(u.v=i.v,u.f=null,u.si=null,u.p=null,o.setValue(c,l,u))}),o}function he(e,n,r,i,a,o){var s;let c=new t.ObjectMatrix,l=(s=a.getArrayFormulaCellData())==null||(s=s[o.unitId])==null?void 0:s[o.subUnitId],u=a.getSheetFormulaData(e,n);return i.forValue((e,n,i)=>{var a,s;let d=o.range.rows[e%o.range.rows.length],f=o.range.cols[n%o.range.cols.length],p=r.rows[e],m=r.cols[n],h={};if((0,t.isFormulaString)(i.f)||(0,t.isFormulaId)(i.si))h.v=i.v,h.f=null,h.si=null,h.p=null,c.setValue(p,m,h);else if(!(l==null||(a=l[d])==null)&&a[f])h.v=l[d][f].v,h.f=null,h.si=null,h.p=null,c.setValue(p,m,h);else if(!(u==null||(s=u[p])==null)&&s[m]){if(h.v=i.v,h.f=null,h.si=null,h.p=null,i.p){let e=ve(i);e&&(h.v=e)}c.setValue(p,m,h)}}),c}function ge(e,n,r,i,a,o,s){let c=new t.ObjectMatrix,l=new Map;return i.forValue((i,u,d)=>{let f=r.rows[i],p=r.cols[u],m={};if((0,t.isFormulaId)(d.si)){if(s.unitId!==e||s.subUnitId!==n){let e=o.getFormulaStringByCell(s.range.rows[i%s.range.rows.length],s.range.cols[u%s.range.cols.length],s.subUnitId,s.unitId),t=r.cols[u]-s.range.cols[u%s.range.cols.length],n=r.rows[i]-s.range.rows[i%s.range.rows.length],c=a.moveFormulaRefOffset(e||``,t,n);m.si=null,m.f=c}else m.si=d.si,m.f=null;m.v=null,m.p=null,c.setValue(f,p,m)}else if((0,t.isFormulaString)(d.f)){let e=`${i%s.range.rows.length}_${u%s.range.cols.length}`,n=l.get(e);if(n)m.si=n,m.f=null;else{n=(0,t.generateRandomId)(6),l.set(e,n);let o=r.cols[u]-s.range.cols[u%s.range.cols.length],c=r.rows[i]-s.range.rows[i%s.range.rows.length],f=a.moveFormulaRefOffset(d.f||``,o,c);m.si=n,m.f=f}m.v=null,m.p=null,c.setValue(f,p,m)}else{if(m.v=d.v,m.f=null,m.si=null,m.p=null,d.p){let e=ve(d);e&&(m.v=e)}c.setValue(f,p,m)}}),c}function _e(e,r,i,a,o,s,c,l){let u=new t.ObjectMatrix,d=new Map,f=c.getSheetFormulaData(e,r),p=[];return o===n.COPY_TYPE.CUT?a.forValue((e,n,r)=>{let a=i.rows[e],o=i.cols[n],s={};(0,t.isFormulaId)(r.si)?((0,t.isFormulaString)(r.f)?(p.push(r.si),s.f=r.f,s.si=r.si):p.includes(r.si)?(s.f=null,s.si=r.si):(s.f=c.getFormulaStringByCell(l.range.rows[e%l.range.rows.length],l.range.cols[n%l.range.cols.length],l.subUnitId,l.unitId),s.si=null),s.v=null,s.p=null,u.setValue(a,o,s)):(0,t.isFormulaString)(r.f)&&(s.f=r.f,s.si=null,s.v=null,s.p=null,u.setValue(a,o,s))}):a.forValue((n,a,o)=>{var p;let m=i.rows[n],h=i.cols[a],g={};if((0,t.isFormulaId)(o.si)){if(l.unitId!==e||l.subUnitId!==r){let e=c.getFormulaStringByCell(l.range.rows[n%l.range.rows.length],l.range.cols[a%l.range.cols.length],l.subUnitId,l.unitId),t=i.cols[a]-l.range.cols[a%l.range.cols.length],r=i.rows[n]-l.range.rows[n%l.range.rows.length],o=s.moveFormulaRefOffset(e||``,t,r);g.si=null,g.f=o}else g.si=o.si,g.f=null;g.v=null,g.p=null,u.setValue(m,h,g)}else if((0,t.isFormulaString)(o.f)){let e=`${n%l.range.rows.length}_${a%l.range.cols.length}`,r=d.get(e);if(r)g.si=r,g.f=null;else{r=(0,t.generateRandomId)(6),d.set(e,r);let c=i.cols[a]-l.range.cols[a%l.range.cols.length],u=i.rows[n]-l.range.rows[n%l.range.rows.length],f=s.moveFormulaRefOffset(o.f||``,c,u);g.si=r,g.f=f}g.v=null,g.p=null,u.setValue(m,h,g)}else !(f==null||(p=f[m])==null)&&p[h]&&(g.v=o.v,g.f=null,g.si=null,g.p=o.p,u.setValue(m,h,g))}),p.length>0&&new t.ObjectMatrix(f).forValue((e,t,n)=>{if(!(l.range.rows.includes(e)&&l.range.cols.includes(t))&&!(i.rows.includes(e)&&i.cols.includes(t))&&p.includes(n==null?void 0:n.si)){let n=c.getFormulaStringByCell(e,t,l.subUnitId,l.unitId);u.setValue(e,t,{f:n,si:null,v:null,p:null})}}),u}function ve(e){if(e!=null&&e.p){let n=e==null?void 0:e.p.body;if(n==null)return;let r=n.dataStream;return r.substring(r.length-2,r.length)===t.DEFAULT_EMPTY_DOCUMENT_VALUE?r.substring(0,r.length-2):r}}let ye=class extends t.Disposable{constructor(e,t,n,r,i,a,o,s){super(),this._context=e,this._sheetInterceptorService=t,this._formulaDataModel=n,this._themeService=r,this._renderManagerService=i,this._sheetSkeletonManagerService=a,this._commandService=o,this._logService=s,b(this,`_previousShape`,void 0),b(this,`_skeleton`,void 0),this._initSkeletonChangeListener(),this._initInterceptorEditorStart(),this._commandExecutedListener()}_initSkeletonChangeListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(e==null)this._logService.debug(`[FormulaEditorShowController]: should not receive currentSkeleton$ as null!`);else{var t;let{skeleton:n}=e,r=(t=this._skeleton)==null||(t=t.worksheet)==null?void 0:t.getSheetId();if(this._changeRuntime(n),r!==n.worksheet.getSheetId())this._removeArrayFormulaRangeShape();else{let{unitId:t,sheetId:n}=e;this._updateArrayFormulaRangeShape(t,n)}}}))}_changeRuntime(e){this._skeleton=e}_initInterceptorEditorStart(){this.disposeWithMe((0,t.toDisposable)(this._sheetInterceptorService.writeCellInterceptor.intercept(s.BEFORE_CELL_EDIT,{handler:(e,t,n)=>{var r,i;let{row:a,col:o,unitId:s,subUnitId:c,worksheet:l}=t,u=this._formulaDataModel.getArrayFormulaRange(),d=this._formulaDataModel.getArrayFormulaCellData();if(this._removeArrayFormulaRangeShape(),e==null)return n(e);let f=null,p=this._formulaDataModel.getFormulaStringByCell(a,o,c,s);if(p!==null&&(f={f:p}),e.v!=null&&e.v!==``&&((r=d[s])==null||(r=r[c])==null||(r=r[a])==null?void 0:r[o])==null)return f?{...e,...f}:n(e);let m=u==null||(i=u[s])==null?void 0:i[c];return m!=null&&(f=this._displayArrayFormulaRangeShape(m,a,o,s,c,l,f)),f?{...e,...f}:n(e)}})))}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{(e.id===r.SetFormulaCalculationResultMutation.id||e.id===r.SetArrayFormulaDataMutation.id&&t&&t.remove)&&this._removeArrayFormulaRangeShape()})),this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{s.SetWorksheetRowAutoHeightMutation.id===e.id&&requestIdleCallback(()=>{let{unitId:t,subUnitId:n,rowsAutoHeightInfo:r}=e.params;this._refreshArrayFormulaRangeShapeByRow(t,n,r)})}))}_displayArrayFormulaRangeShape(e,n,i,a,o,s,c){return new t.ObjectMatrix(e).forValue((e,t,o)=>{if(o==null)return!0;let{startRow:l,startColumn:u,endRow:d,endColumn:f}=o;if(e===n&&t===i)return this._createArrayFormulaRangeShape(o,a),!1;if(n>=l&&n<=d&&i>=u&&i<=f){let e=s.getCell(l,u);return(e==null?void 0:e.v)===r.ErrorType.SPILL||(e==null?void 0:e.f)==null?void 0:(c==null&&(c={f:e.f,isInArrayFormulaRange:!0}),this._createArrayFormulaRangeShape(o,a),!1)}}),c}_createArrayFormulaRangeShape(e,r){let i=this._renderManagerService.getRenderById(r),a=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!i||!a)return;let{scene:o}=i;if(!o)return;let s=(0,n.attachSelectionWithCoord)({range:e,primary:null,style:{strokeWidth:1,stroke:this._themeService.getColorFromTheme(`primary.600`),fill:new t.ColorKit(this._themeService.getColorFromTheme(`white`)).setAlpha(0).toString(),widgets:{}}},a),{rowHeaderWidth:c,columnHeaderHeight:l}=a,u=new n.SelectionControl(o,n.SELECTION_SHAPE_DEPTH.FORMULA_EDITOR_SHOW,this._themeService,{highlightHeader:!1,rowHeaderWidth:c,columnHeaderHeight:l});u.updateRangeBySelectionWithCoord(s),u.setEvent(!1),this._previousShape=u}_removeArrayFormulaRangeShape(){this._previousShape!=null&&(this._previousShape.dispose(),this._previousShape=null)}_refreshArrayFormulaRangeShape(e,t){if(this._previousShape){let{startRow:t,endRow:n,startColumn:r,endColumn:i}=this._previousShape.getRange(),a={startRow:t,endRow:n,startColumn:r,endColumn:i};this._removeArrayFormulaRangeShape(),this._createArrayFormulaRangeShape(a,e)}}_checkCurrentSheet(e,t){let n=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!n)return!1;let r=n.worksheet;return r?r.unitId===e&&r.getSheetId()===t:!1}_updateArrayFormulaRangeShape(e,t){this._checkCurrentSheet(e,t)&&this._previousShape&&this._refreshArrayFormulaRangeShape(e)}_refreshArrayFormulaRangeShapeByRow(e,t,n){if(!this._checkCurrentSheet(e,t)||!this._previousShape)return;let{startRow:r,endRow:i,startColumn:a,endColumn:o}=this._previousShape.getRange();for(let t=0;t<n.length;t++){let{row:s}=n[t];if(r>=s){let t={startRow:r,endRow:i,startColumn:a,endColumn:o};this._refreshArrayFormulaRangeShape(e,t);break}}}};ye=S([x(1,(0,t.Inject)(s.SheetInterceptorService)),x(2,(0,t.Inject)(r.FormulaDataModel)),x(3,(0,t.Inject)(t.ThemeService)),x(4,o.IRenderManagerService),x(5,(0,t.Inject)(n.SheetSkeletonManagerService)),x(6,t.ICommandService),x(7,t.ILogService)],ye);let be={tl:{size:6,color:`#409f11`}},xe=class extends t.RxDisposable{constructor(e,n){super(),this._sheetInterceptorService=e,this._formulaDataModel=n,this.disposeWithMe(this._sheetInterceptorService.intercept(s.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t.InterceptorEffectEnum.Style,handler:(e,t,n)=>{var i;let a=(i=this._formulaDataModel.getArrayFormulaCellData())==null||(i=i[t.unitId])==null||(i=i[t.subUnitId])==null||(i=i[t.row])==null?void 0:i[t.col];return!(0,r.extractFormulaError)(e,!!a)||!e?n(e):(e===t.rawData&&(e={...t.rawData}),e.markers={...e==null?void 0:e.markers,...be},n(e))},priority:10}))}};xe=S([x(0,(0,t.Inject)(s.SheetInterceptorService)),x(1,(0,t.Inject)(r.FormulaDataModel))],xe);function Se(e){let n=[`SUMIF`,`SUM`,`AVERAGE`,`IF`,`COUNT`,`SIN`,`MAX`],r=n.map(e=>({label:{name:e,selectable:!1},value:e}));try{let t=e.get(c.IDescriptionService),i=n.filter(e=>!!t.getFunctionInfo(e));i.length>0&&(r=i.map(e=>({label:{name:e,selectable:!1},value:e})))}catch{}return{id:`${D.id}.common`,commandId:D.id,title:`formula.insert.common`,tooltip:`formula.insert.tooltip`,icon:`FunctionIcon`,type:l.MenuItemType.SELECTOR,selections:r,hidden$:(0,l.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET)}}function G(e,n,r){return function(i){let a=[];try{a=i.get(c.IDescriptionService).getSearchListByType(e).map(({name:e})=>({label:{name:e,selectable:!1},value:e}))}catch{a=[]}return{id:`${D.id}.${n}`,commandId:D.id,title:`formula.functionType.${n}`,tooltip:`formula.insert.tooltip`,icon:r,type:l.MenuItemType.SELECTOR,selections:a,hidden$:(0,l.getMenuHiddenObservable)(i,t.UniverInstanceType.UNIVER_SHEET)}}}let K=G(r.FunctionType.Financial,`financial`),q=G(r.FunctionType.Logical,`logical`),Ce=G(r.FunctionType.Text,`text`),we=G(r.FunctionType.Date,`date`),Te=G(r.FunctionType.Lookup,`lookup`),Ee=G(r.FunctionType.Math,`math`),De=G(r.FunctionType.Statistical,`statistical`),Oe=G(r.FunctionType.Engineering,`engineering`),ke=G(r.FunctionType.Information,`information`),Ae=G(r.FunctionType.Database,`database`);function J(e){return{id:L.id,title:`formula.moreFunctions.allFunctions`,tooltip:`formula.insert.tooltip`,type:l.MenuItemType.BUTTON,hidden$:(0,l.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET),disabled$:(0,n.getCurrentRangeDisable$)(e,{workbookTypes:[s.WorkbookEditablePermission],worksheetTypes:[s.WorksheetEditPermission,s.WorksheetSetCellValuePermission],rangeTypes:[s.RangeProtectionPermissionEditPoint]})}}function je(e){return{id:h.id,type:l.MenuItemType.BUTTON,title:`formula.operation.copyFormulaOnly`,disabled$:(0,n.getCurrentRangeDisable$)(e,{workbookTypes:[s.WorkbookCopyPermission],worksheetTypes:[s.WorksheetCopyPermission],rangeTypes:[s.RangeProtectionPermissionViewPoint]}),hidden$:(0,l.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET)}}function Me(e){return{id:g.id,type:l.MenuItemType.BUTTON,title:`formula.operation.pasteFormula`,disabled$:(0,n.menuClipboardDisabledObservable)(e).pipe((0,i.combineLatestWith)((0,n.getCurrentRangeDisable$)(e,{workbookTypes:[s.WorkbookEditablePermission],rangeTypes:[s.RangeProtectionPermissionEditPoint],worksheetTypes:[s.WorksheetSetCellValuePermission,s.WorksheetEditPermission]})),(0,i.map)(([e,t])=>e||t)),hidden$:(0,l.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET)}}let Ne={[l.RibbonFormulasGroup.BASIC]:{[`${D.id}.common`]:{order:0,menuItemFactory:Se,[L.id]:{order:0,menuItemFactory:J}},[`${D.id}.financial`]:{order:1,menuItemFactory:K,[L.id]:{order:0,menuItemFactory:J}},[`${D.id}.logical`]:{order:2,menuItemFactory:q,[L.id]:{order:0,menuItemFactory:J}},[`${D.id}.text`]:{order:3,menuItemFactory:Ce,[L.id]:{order:0,menuItemFactory:J}},[`${D.id}.date`]:{order:4,menuItemFactory:we,[L.id]:{order:0,menuItemFactory:J}},[`${D.id}.lookup`]:{order:5,menuItemFactory:Te,[L.id]:{order:0,menuItemFactory:J}},[`${D.id}.math`]:{order:6,menuItemFactory:Ee,[L.id]:{order:0,menuItemFactory:J}},[`${D.id}.statistical`]:{order:7,menuItemFactory:De,[L.id]:{order:0,menuItemFactory:J}},[`${D.id}.engineering`]:{order:8,menuItemFactory:Oe,[L.id]:{order:0,menuItemFactory:J}},[`${D.id}.information`]:{order:9,menuItemFactory:ke,[L.id]:{order:0,menuItemFactory:J}},[`${D.id}.database`]:{order:10,menuItemFactory:Ae,[L.id]:{order:0,menuItemFactory:J}}},[n.COPY_SPECIAL_MENU_ID]:{[h.id]:{order:0,menuItemFactory:je}},[n.PASTE_SPECIAL_MENU_ID]:{[g.id]:{order:4,menuItemFactory:Me}}};function Pe(){let e=(0,l.useDependency)(c.TriggerCalculationController),n=(0,l.useDependency)(t.ICommandService);return(0,f.jsx)(l.ProgressBar,{progress:(0,l.useObservable)(e.progress$),onTerminate:(0,d.useCallback)(()=>{n.executeCommand(r.SetFormulaCalculationStopMutation.id)},[n]),onClearProgress:(0,d.useCallback)(()=>{e.clearProgress()},[e])})}function Fe(e,t){return Object.keys(r.FunctionType).filter(e=>isNaN(Number(e))&&e!==`DefinedName`&&e!==`Table`&&(t||e!==`User`)).map(t=>({label:e.t(`formula.functionType.${t.toLocaleLowerCase()}`),value:`${r.FunctionType[t]}`}))}function Ie(e){if(!e.require&&!e.repeat)return`[${e.name}]`;if(e.require&&!e.repeat)return e.name;if(!e.require&&e.repeat)return`[${e.name},...]`;if(e.require&&e.repeat)return`${e.name},...`}function Le(e){let{prefix:t,value:n}=e;return(0,f.jsxs)(`div`,{children:[(0,f.jsxs)(`span`,{children:[t,`(`]}),n&&n.map((e,t)=>(0,f.jsxs)(`span`,{children:[(0,f.jsx)(`span`,{children:Ie(e)}),t===n.length-1?``:`,`]},t)),`)`]})}function Re(e){let{className:t,value:n,title:r}=e;return(0,f.jsxs)(`div`,{className:`univer-mb-2 univer-text-xs`,children:[(0,f.jsx)(`div`,{className:(0,p.clsx)(`univer-mb-2 univer-font-medium univer-text-gray-500 dark:!univer-text-gray-300`,t),children:r}),(0,f.jsx)(`div`,{className:`univer-break-all univer-text-gray-900 dark:!univer-text-white`,children:n})]})}function ze(e){let{functionInfo:t,onChange:n}=e;if(!t)return null;let[r,i]=(0,d.useState)([]),[a,o]=(0,d.useState)(t.functionParameter),[s,c]=(0,d.useState)(-1);return(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`div`,{className:(0,p.clsx)(`univer-h-[364px] univer-overflow-y-auto`,p.scrollbarClassName),children:a.map((e,t)=>(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`div`,{className:`univer-text-sm`,children:e.name}),(0,f.jsx)(`div`,{className:`univer-mb-2 univer-mt-1`})]},t))}),(0,f.jsx)(`div`,{className:(0,p.clsx)(`univer-flex-1 univer-p-3`,p.borderLeftClassName),children:(0,f.jsx)(Re,{title:s===-1?(0,f.jsx)(Le,{prefix:t.functionName,value:a}):a[s].name,value:s===-1?t.description:a[s].detail})})]})}function Y({ref:e,...t}){let{icon:n,id:r,className:i,extend:a,...o}=t,s=`univerjs-icon univerjs-icon-${r} ${i||``}`.trim(),c=(0,d.useRef)(`_${Ue()}`);return Be(n,`${r}`,{defIds:n.defIds,idSuffix:c.current},{ref:e,className:s,...o},a)}function Be(e,t,n,r,i){return(0,d.createElement)(e.tag,{key:t,...Ve(e,n,i),...r},(He(e,n).children||[]).map((r,a)=>Be(r,`${t}-${e.tag}-${a}`,n,void 0,i)))}function Ve(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),e.tag===`mask`&&r.id&&(r.id+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{e===`mask`&&typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});let{defIds:i}=t;return!i||i.length===0?r:(e.tag===`use`&&r[`xlink:href`]&&(r[`xlink:href`]+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),r)}function He(e,t){var n;let{defIds:r}=t;return!r||r.length===0?e:e.tag===`defs`&&(n=e.children)!=null&&n.length?{...e,children:e.children.map(e=>typeof e.attrs.id==`string`&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}function Ue(){return Math.random().toString(36).substring(2,8)}Y.displayName=`UniverIcon`;let We={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Ge=(0,d.forwardRef)(function(e,t){return(0,d.createElement)(Y,Object.assign({},e,{id:`check-mark-icon`,ref:t,icon:We}))});Ge.displayName=`CheckMarkIcon`;let Ke={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M3.71274 2.86421C3.47843 2.6299 3.09853 2.6299 2.86421 2.86421C2.6299 3.09853 2.6299 3.47843 2.86421 3.71274L7.15154 8.00007L2.86421 12.2874C2.6299 12.5217 2.6299 12.9016 2.86421 13.1359C3.09853 13.3702 3.47843 13.3702 3.71274 13.1359L8.00007 8.84859L12.2874 13.1359C12.5217 13.3702 12.9016 13.3702 13.1359 13.1359C13.3702 12.9016 13.3702 12.5217 13.1359 12.2874L8.84859 8.00007L13.1359 3.71274C13.3702 3.47843 13.3702 3.09853 13.1359 2.86421C12.9016 2.6299 12.5217 2.6299 12.2874 2.86421L8.00007 7.15154L3.71274 2.86421Z`}}]},qe=(0,d.forwardRef)(function(e,t){return(0,d.createElement)(Y,Object.assign({},e,{id:`close-icon`,ref:t,icon:Ke}))});qe.displayName=`CloseIcon`;let Je={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M5.3313 1.4667C5.3313 1.13533 5.59993 0.866699 5.9313 0.866699H10.069C10.4004 0.866699 10.669 1.13533 10.669 1.4667C10.669 1.79807 10.4004 2.0667 10.069 2.0667H5.9313C5.59993 2.0667 5.3313 1.79807 5.3313 1.4667Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M1.09985 3.64443C1.09985 3.31306 1.36848 3.04443 1.69985 3.04443H14.2999C14.6312 3.04443 14.8999 3.31306 14.8999 3.64443C14.8999 3.9758 14.6312 4.24443 14.2999 4.24443H1.69985C1.36848 4.24443 1.09985 3.9758 1.09985 3.64443Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M6.12398 8.30171C6.35829 8.0674 6.73819 8.0674 6.97251 8.30171L8.00007 9.32928L9.02764 8.30171C9.26195 8.0674 9.64185 8.0674 9.87617 8.30171C10.1105 8.53603 10.1105 8.91593 9.87617 9.15024L8.8486 10.1778L9.87617 11.2054C10.1105 11.4397 10.1105 11.8196 9.87617 12.0539C9.64185 12.2882 9.26195 12.2882 9.02764 12.0539L8.00007 11.0263L6.97251 12.0539C6.73819 12.2882 6.35829 12.2882 6.12398 12.0539C5.88966 11.8196 5.88966 11.4397 6.12398 11.2054L7.15154 10.1778L6.12398 9.15024C5.88966 8.91593 5.88966 8.53603 6.12398 8.30171Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M4.75332 5.22217C3.86966 5.22217 3.15332 5.93851 3.15332 6.82217V12.5331C3.15332 13.9691 4.31738 15.1332 5.75332 15.1332H10.2465C11.6825 15.1332 12.8465 13.9691 12.8465 12.5331V6.82217C12.8465 5.93851 12.1302 5.22217 11.2465 5.22217H4.75332ZM4.35332 6.82217C4.35332 6.60125 4.53241 6.42217 4.75332 6.42217H11.2465C11.4674 6.42217 11.6465 6.60125 11.6465 6.82217V12.5331C11.6465 13.3063 11.0197 13.9332 10.2465 13.9332H5.75332C4.98012 13.9332 4.35332 13.3063 4.35332 12.5331V6.82217Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},Ye=(0,d.forwardRef)(function(e,t){return(0,d.createElement)(Y,Object.assign({},e,{id:`delete-icon`,ref:t,icon:Je}))});Ye.displayName=`DeleteIcon`;let Xe={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M8.6 1.99991C8.60001 1.66854 8.33138 1.39991 8.00001 1.3999C7.66864 1.3999 7.40001 1.66853 7.4 1.9999L7.39996 7.3999H1.9999C1.66853 7.3999 1.3999 7.66853 1.3999 7.9999C1.3999 8.33127 1.66853 8.5999 1.9999 8.5999H7.39995L7.3999 13.9999C7.3999 14.3313 7.66853 14.5999 7.9999 14.5999C8.33127 14.5999 8.5999 14.3313 8.5999 13.9999L8.59995 8.5999H13.9999C14.3313 8.5999 14.5999 8.33127 14.5999 7.9999C14.5999 7.66853 14.3313 7.3999 13.9999 7.3999H8.59996L8.6 1.99991Z`}}]},Ze=(0,d.forwardRef)(function(e,t){return(0,d.createElement)(Y,Object.assign({},e,{id:`increase-icon`,ref:t,icon:Xe}))});Ze.displayName=`IncreaseIcon`;let Qe={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M5.90913 3.57564C6.14345 3.34132 6.52335 3.34132 6.75766 3.57564L10.7577 7.57564C10.992 7.80995 10.992 8.18985 10.7577 8.42417L6.75766 12.4242C6.52335 12.6585 6.14345 12.6585 5.90913 12.4242C5.67482 12.1899 5.67482 11.81 5.90913 11.5756L9.48487 7.9999L5.90913 4.42417C5.67482 4.18985 5.67482 3.80995 5.90913 3.57564Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},$e=(0,d.forwardRef)(function(e,t){return(0,d.createElement)(Y,Object.assign({},e,{id:`more-icon`,ref:t,icon:Qe}))});$e.displayName=`MoreIcon`;let et={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M12.6185 12.4423C12.5907 12.2749 12.7773 12.15 12.9343 12.2308L15.4242 13.5126C15.6102 13.6084 15.5544 13.8745 15.3439 13.8955L14.2456 14.184L13.4521 15.1286C13.3495 15.2939 13.085 15.2463 13.0534 15.0568L12.6185 12.4423Z`}},{tag:`path`,attrs:{fill:`currentColor`,d:`M1 3.6C1 2.16406 2.16406 1 3.6 1H12.3C13.7359 1 14.9 2.16406 14.9 3.6V5.81156C14.9003 5.81881 14.9004 5.82609 14.9004 5.8334C14.9004 5.84071 14.9003 5.84799 14.9 5.85524V10.045C14.9003 10.0522 14.9004 10.0595 14.9004 10.0668C14.9004 10.3982 14.6318 10.6668 14.3004 10.6668H11.1668C10.8907 10.6668 10.6668 10.8907 10.6668 11.1668V14.3C10.6668 14.6314 10.3982 14.9 10.0668 14.9L10.05 14.8998L3.6 14.9C2.16406 14.9 1 13.7359 1 12.3V3.6ZM13.2 5.2334C13.4761 5.2334 13.7 5.00954 13.7 4.7334V3.6C13.7 2.8268 13.0732 2.2 12.3 2.2H11.1668C10.8907 2.2 10.6668 2.42386 10.6668 2.7V4.7334C10.6668 5.00954 10.8907 5.2334 11.1668 5.2334H13.2ZM10.6668 6.9334C10.6668 6.65726 10.8907 6.4334 11.1668 6.4334H13.2C13.4761 6.4334 13.7 6.65726 13.7 6.9334V8.9668C13.7 9.24294 13.4761 9.4668 13.2 9.4668H11.1668C10.8907 9.4668 10.6668 9.24294 10.6668 8.9668V6.9334ZM8.9668 5.2334C9.24294 5.2334 9.4668 5.00954 9.4668 4.7334V2.7C9.4668 2.42386 9.24294 2.2 8.9668 2.2H6.9334C6.65726 2.2 6.4334 2.42386 6.4334 2.7V4.7334C6.4334 5.00954 6.65726 5.2334 6.9334 5.2334L8.9668 5.2334ZM6.4334 6.9334C6.4334 6.65726 6.65726 6.4334 6.9334 6.4334L8.9668 6.4334C9.24294 6.4334 9.4668 6.65726 9.4668 6.9334V8.9668C9.4668 9.24294 9.24294 9.4668 8.9668 9.4668L6.9334 9.4668C6.65726 9.4668 6.4334 9.24294 6.4334 8.9668V6.9334ZM4.7334 5.2334C5.00954 5.2334 5.2334 5.00954 5.2334 4.7334V2.7C5.2334 2.42386 5.00954 2.2 4.7334 2.2H3.6C2.8268 2.2 2.2 2.8268 2.2 3.6V4.7334C2.2 5.00954 2.42386 5.2334 2.7 5.2334H4.7334ZM2.2 6.9334C2.2 6.65726 2.42386 6.4334 2.7 6.4334H4.7334C5.00954 6.4334 5.2334 6.65725 5.2334 6.9334V8.9668C5.2334 9.24294 5.00954 9.4668 4.7334 9.4668H2.7C2.42386 9.4668 2.2 9.24294 2.2 8.9668V6.9334ZM5.2334 11.1668C5.2334 10.8907 5.00954 10.6668 4.7334 10.6668H2.7C2.42386 10.6668 2.2 10.8907 2.2 11.1668V12.3C2.2 13.0732 2.8268 13.7 3.6 13.7H4.7334C5.00954 13.7 5.2334 13.4761 5.2334 13.2V11.1668ZM9.4668 11.1668C9.4668 10.8907 9.24294 10.6668 8.9668 10.6668H6.9334C6.65726 10.6668 6.4334 10.8907 6.4334 11.1668V13.2C6.4334 13.4761 6.65726 13.7 6.9334 13.7H8.9668C9.24294 13.7 9.4668 13.4761 9.4668 13.2V11.1668Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},tt=(0,d.forwardRef)(function(e,t){return(0,d.createElement)(Y,Object.assign({},e,{id:`select-range-icon`,ref:t,icon:et}))});tt.displayName=`SelectRangeIcon`;function nt(e){var n;let r=(n=(0,l.useDependency)(t.IConfigService).getConfig(c.PLUGIN_CONFIG_KEY_BASE))==null?void 0:n.function,{onChange:i}=e,[a,o]=(0,d.useState)(``),[s,u]=(0,d.useState)([]),[m,h]=(0,d.useState)(0),[g,_]=(0,d.useState)(`-1`),[v,y]=(0,d.useState)(0),[b,x]=(0,d.useState)(null),S=(0,l.useDependency)(c.IDescriptionService),C=(0,l.useDependency)(t.LocaleService),w=(0,l.useObservable)((0,l.useDependency)(l.ISidebarService).sidebarOptions$),T=Fe(C,!!r).filter(e=>S.getSearchListByType(Number(e.value)).length>0);T.unshift({label:C.t(`formula.moreFunctions.allFunctions`),value:`-1`});let E=C.t(`formula.prompt.required`),D=C.t(`formula.prompt.optional`);(0,d.useEffect)(()=>{A(`-1`)},[]),(0,d.useEffect)(()=>{k(0)},[s]),(0,d.useEffect)(()=>{w!=null&&w.visible&&(o(``),u([]),h(0),_(`-1`),y(0),x(null),A(`-1`))},[w]);let O=e=>{if(a.trim()===``)return e;let t=RegExp(`(${a.toLocaleUpperCase()})`);return e.split(t).filter(Boolean).map((e,n)=>e.match(t)?(0,f.jsx)(`span`,{className:`univer-text-red-500`,children:e},n):e)},k=e=>{if(s.length===0){x(null),i(null);return}y(e);let t=S.getFunctionInfo(s[e].name);if(!t){x(null),i(null);return}x(t),i(t)};function A(e){_(e),u(S.getSearchListByType(+e))}function j(e){o(e),u(S.getSearchListByName(e))}function M(e){if(e.stopPropagation(),e.key===`ArrowDown`){let e=m+1;h(e===s.length?0:e)}else if(e.key===`ArrowUp`){let e=m-1;h(e===-1?s.length-1:e)}else e.key===`Enter`&&k(m)}let N=e=>{h(e)},P=()=>{h(-1)};return(0,f.jsxs)(`div`,{children:[(0,f.jsxs)(`div`,{className:`univer-flex univer-items-center univer-justify-between univer-gap-2`,children:[(0,f.jsx)(p.Select,{value:g,options:T,onChange:A}),(0,f.jsx)(p.Input,{placeholder:C.t(`formula.moreFunctions.searchFunctionPlaceholder`),onKeyDown:M,value:a,onChange:j,size:`small`,allowClear:!0})]}),s.length>0&&(0,f.jsx)(`ul`,{className:(0,p.clsx)(`univer-mb-0 univer-mt-2 univer-box-border univer-max-h-72 univer-w-full univer-select-none univer-list-none univer-overflow-y-auto univer-rounded univer-p-3 univer-outline-none`,p.borderClassName,p.scrollbarClassName),onKeyDown:M,tabIndex:-1,children:s.map(({name:e},t)=>(0,f.jsxs)(`li`,{className:(0,p.clsx)(`univer-relative univer-box-border univer-cursor-pointer univer-rounded univer-px-7 univer-py-1 univer-text-sm univer-text-gray-900 univer-transition-colors dark:!univer-text-white`,{"univer-bg-gray-200 dark:!univer-bg-gray-600":m===t}),onMouseEnter:()=>N(t),onMouseLeave:P,onClick:()=>k(t),children:[v===t&&(0,f.jsx)(Ge,{className:`univer-absolute univer-left-1.5 univer-top-1/2 univer-inline-flex -univer-translate-y-1/2 univer-text-base univer-text-primary-600`}),(0,f.jsx)(`span`,{className:`univer-block`,children:O(e)})]},t))}),b&&(0,f.jsxs)(`div`,{className:(0,p.clsx)(`univer-mx-0 univer-my-2 univer-overflow-y-auto`,p.scrollbarClassName),children:[(0,f.jsx)(Re,{title:b.functionName,value:b.description}),(0,f.jsx)(Re,{title:C.t(`formula.moreFunctions.syntax`),value:(0,f.jsx)(Le,{prefix:b.functionName,value:b.functionParameter})}),(0,f.jsx)(Re,{title:C.t(`formula.prompt.helpExample`),value:`${b.functionName}(${b.functionParameter.map(e=>e.example).join(`,`)})`}),b.functionParameter&&b.functionParameter.map(e=>(0,f.jsx)(Re,{title:e.name,value:`${e.require?E:D} ${e.detail}`},e.name))]})]})}function rt(){let e=(0,n.useActiveWorkbook)(),[r,i]=(0,d.useState)(!0),[c,u]=(0,d.useState)(!1),[m,h]=(0,d.useState)(null);(0,l.useDependency)(n.IEditorBridgeService);let g=(0,l.useDependency)(t.LocaleService),_=(0,l.useDependency)(a.IEditorService),v=(0,l.useDependency)(t.IUniverInstanceService),y=(0,l.useDependency)(t.ICommandService);function b(){i(!r),u(!c)}function x(){let e=(0,s.getSheetCommandTarget)(v);if(!e)return;y.executeCommand(n.SetCellEditVisibleOperation.id,{visible:!0,unitId:e.unitId,eventType:o.DeviceInputEventType.Dblclick});let r=_.getEditor(t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY),i=_.getEditor(t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),a=`=${m==null?void 0:m.functionName}(`;r==null||r.replaceText(a),i==null||i.replaceText(a,!1)}return(0,f.jsxs)(`div`,{"data-u-comp":`sheets-formula-functions-panel`,className:`univer-box-border univer-flex univer-h-full univer-flex-col univer-justify-between univer-py-2`,children:[r&&(0,f.jsx)(nt,{onChange:h}),c&&(0,f.jsx)(ze,{functionInfo:m,onChange:()=>{}}),(0,f.jsxs)(`div`,{className:`univer-flex univer-justify-end`,children:[c&&(0,f.jsx)(p.Button,{variant:`primary`,onClick:b,className:`univer-mb-5 univer-ml-4 univer-mr-0 univer-mt-0`,children:g.t(`formula.moreFunctions.next`)}),c&&(0,f.jsx)(p.Button,{onClick:b,className:`univer-mb-5 univer-ml-4 univer-mr-0 univer-mt-0`,children:g.t(`formula.moreFunctions.prev`)}),r&&!!e&&(0,f.jsx)(p.Button,{disabled:!m,variant:`primary`,onClick:x,className:`univer-mb-5 univer-ml-4 univer-mr-0 univer-mt-0`,children:g.t(`formula.moreFunctions.confirm`)})]})]})}let it={id:ae.id,binding:l.KeyCode.F4,preconditions:e=>(0,n.whenSheetEditorActivated)(e)},at={id:c.QuickSumCommand.id,binding:l.MetaKeys.ALT|l.KeyCode.EQUAL,preconditions:n.whenSheetEditorFocused,mac:l.MetaKeys.CTRL_COMMAND|l.MetaKeys.ALT|l.KeyCode.EQUAL,description:`shortcut.sheets-formula-ui.quick-sum`,group:`4_sheet-edit`},ot=class extends t.Disposable{constructor(e,t,n,r,i,a,o){super(),this._injector=e,this._menuManagerService=t,this._commandService=n,this._shortcutService=r,this._uiPartsService=i,this._renderManagerService=a,this._componentManager=o,this._initialize()}_initialize(){this._registerCommands(),this._registerMenus(),this._registerShortcuts(),this._registerComponents(),this._registerRenderModules()}_registerMenus(){this._menuManagerService.mergeMenu(Ne)}_registerCommands(){[h,g,D,L,V,E,ae].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_registerShortcuts(){[at,it].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_registerComponents(){this.disposeWithMe(this._uiPartsService.registerComponent(n.SheetsUIPart.FORMULA_AUX,()=>(0,l.connectInjector)(Pe,this._injector))),this._componentManager.register(te,rt)}_registerRenderModules(){this.disposeWithMe(this._renderManagerService.registerRenderModule(t.UniverInstanceType.UNIVER_SHEET,[ye]))}};ot=S([x(0,(0,t.Inject)(t.Injector)),x(1,l.IMenuManagerService),x(2,t.ICommandService),x(3,l.IShortcutService),x(4,l.IUIPartsService),x(5,o.IRenderManagerService),x(6,(0,t.Inject)(l.ComponentManager))],ot);let st=class extends t.Disposable{constructor(e,r,i){super(),this._imageFormulaCellInterceptorController=e,this._renderManagerService=r,this._univerInstanceService=i,this._imageFormulaCellInterceptorController.registerRefreshRenderFunction(()=>{let e=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!e)return;let r=this._renderManagerService.getRenderById(e.getUnitId());if(!r)return;r.with(n.SheetSkeletonManagerService).reCalculate();let i=r.mainComponent;i&&i.makeDirty()})}};st=S([x(0,(0,t.Inject)(c.ImageFormulaCellInterceptorController)),x(1,o.IRenderManagerService),x(2,t.IUniverInstanceService)],st);var ct=class{constructor(){b(this,`_currentSelector$`,new i.BehaviorSubject(null)),b(this,`currentSelector$`,this._currentSelector$.asObservable())}showRangeSelectorDialog(e){let t=e.callback,n=new Promise(n=>{e.callback=e=>{n(e),t(e)}});return this._currentSelector$.next(e),n}};let X=class extends n.BaseSelectionRenderService{constructor(e,t,n,r,i,a,o){super(t,n,r,i,a),this._context=e,this._contextService=a,this._refSelectionsService=o,b(this,`_workbookSelections`,void 0),b(this,`_eventDisposables`,void 0),this._workbookSelections=this._refSelectionsService.getWorkbookSelections(this._context.unitId),this._initSelectionChangeListener(),this._initSkeletonChangeListener(),this._initUserActionSyncListener(),this._setSelectionStyle(lt(this._themeService)),this._remainLastEnabled=!0,this._highlightHeader=!1}getLocation(){return this._skeleton.getLocation()}setRemainLastEnabled(e){this._remainLastEnabled=e}setSkipLastEnabled(e){this._skipLastEnabled=e}clearLastSelection(){let e=this._selectionControls[this._selectionControls.length-1];e&&(e.dispose(),this._selectionControls.pop())}enableSelectionChanging(){return this._disableSelectionChanging(),this._eventDisposables=this._initCanvasEventListeners(),(0,t.toDisposable)(()=>this._disableSelectionChanging())}_disableSelectionChanging(){var e;(e=this._eventDisposables)==null||e.dispose(),this._eventDisposables=null}disableSelectionChanging(){this._disableSelectionChanging()}_initCanvasEventListeners(){let{spreadsheetRowHeader:e,spreadsheetColumnHeader:r,spreadsheet:i,spreadsheetLeftTopPlaceholder:a}=this._getSheetObject(),{scene:s}=this._context,c=new t.DisposableCollection;return c.add(i==null?void 0:i.onPointerDown$.subscribeEvent((e,n)=>{this.inRefSelectionMode()&&(this._onPointerDown(e,i.zIndex+1,t.RANGE_TYPE.NORMAL,this._getActiveViewport(e)),e.button!==2&&n.stopPropagation())})),c.add(e==null?void 0:e.onPointerDown$.subscribeEvent((e,r)=>{if(!this.inRefSelectionMode())return;let a=this._sheetSkeletonManagerService.getCurrent().skeleton,{row:c}=(0,n.getCoordByOffset)(e.offsetX,e.offsetY,s,a);(0,n.checkInHeaderRanges)(this._workbookSelections.getCurrentSelections(),c,t.RANGE_TYPE.ROW)||(this._onPointerDown(e,(i.zIndex||1)+1,t.RANGE_TYPE.ROW,this._getActiveViewport(e),o.ScrollTimerType.Y),e.button!==2&&r.stopPropagation())})),c.add(r==null?void 0:r.onPointerDown$.subscribeEvent((e,r)=>{if(!this.inRefSelectionMode())return;let a=this._sheetSkeletonManagerService.getCurrent().skeleton,{column:c}=(0,n.getCoordByOffset)(e.offsetX,e.offsetY,s,a);(0,n.checkInHeaderRanges)(this._workbookSelections.getCurrentSelections(),c,t.RANGE_TYPE.COLUMN)||(this._onPointerDown(e,(i.zIndex||1)+1,t.RANGE_TYPE.COLUMN,this._getActiveViewport(e),o.ScrollTimerType.X),e.button!==2&&r.stopPropagation())})),c.add(a==null?void 0:a.onPointerDown$.subscribeEvent((e,t)=>{if(this._reset(),!this.inRefSelectionMode())return;let r=this._sheetSkeletonManagerService.getCurrent().skeleton,i=(0,n.getAllSelection)(r);this._addSelectionControlByModelData(i),this._selectionMoveStart$.next(this.getSelectionDataWithStyle());let a=s.onPointerUp$.subscribeEvent(()=>{a.unsubscribe(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())});e.button!==2&&t.stopPropagation()})),c}_addSelectionControlByModelData(e){var t;let r=this._skeleton,i=(t=e.style)==null?(0,n.genNormalSelectionStyle)(this._themeService):t,a=this._scene;return e.style=i,this.newSelectionControl(a,r,e)}_initSelectionChangeListener(){this.disposeWithMe(this._refSelectionsService.selectionSet$.subscribe(e=>{this._reset(),this._skeleton&&this.resetSelectionsByModelData(e||[])}))}_initUserActionSyncListener(){this.disposeWithMe(this.selectionMoveStart$.subscribe(e=>{this._updateSelections(e,s.SelectionMoveType.MOVE_START)})),this.disposeWithMe(this.selectionMoving$.subscribe(e=>{this._updateSelections(e,s.SelectionMoveType.MOVING)})),this.disposeWithMe(this.selectionMoveEnd$.subscribe(e=>{this._updateSelections(e,s.SelectionMoveType.MOVE_END)}))}_updateSelections(e,t){let n=this._context.unit.getActiveSheet().getSheetId();e.length!==0&&this._workbookSelections.setSelections(n,e.map(e=>(0,s.convertSelectionDataToRange)(e)),t)}_initSkeletonChangeListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{var t;if(!e)return;let{skeleton:n}=e,{scene:r}=this._context,i=r.getViewport(o.SHEET_VIEWPORT_KEY.VIEW_MAIN);this._skeleton&&((t=this._skeleton.worksheet)==null?void 0:t.getSheetId())!==n.worksheet.getSheetId()&&this._reset(),this._changeRuntime(n,r,i);let a=this._workbookSelections.getCurrentSelections();this.resetSelectionsByModelData(a)}))}_getActiveViewport(e){let t=this._getSheetObject();return t==null?void 0:t.scene.getActiveViewportByCoord(o.Vector2.FromArray([e.offsetX,e.offsetY]))}_getSheetObject(){return(0,n.getSheetObject)(this._context.unit,this._context)}_onPointerDown(e,r=0,i=t.RANGE_TYPE.NORMAL,a,s=o.ScrollTimerType.ALL){var c;this._rangeType=i;let l=this._skeleton,u=this._scene;if(!u||!l)return;a&&(this._activeViewport=a);let{offsetX:d,offsetY:f}=e,p=u.getViewport(o.SHEET_VIEWPORT_KEY.VIEW_MAIN);if(!p)return;let m=u.getCoordRelativeToViewport(o.Vector2.FromArray([d,f])),{x:h,y:g}=m;this._startViewportPosX=h,this._startViewportPosY=g;let _=u.getScrollXYInfoByViewport(m),{scaleX:v,scaleY:y}=u.getAncestorScale(),b=this._skeleton.getCellByOffset(h,g,v,y,_);if(!b)return;switch(i){case t.RANGE_TYPE.NORMAL:break;case t.RANGE_TYPE.ROW:b.startColumn=0,b.endColumn=this._skeleton.getColumnCount()-1;break;case t.RANGE_TYPE.COLUMN:b.startRow=0,b.endRow=this._skeleton.getRowCount()-1;break;case t.RANGE_TYPE.ALL:b.startRow=0,b.startColumn=0,b.endRow=this._skeleton.getRowCount()-1,b.endColumn=this._skeleton.getColumnCount()-1}let x={range:b,primary:b,style:null};(b.isMerged||b.isMergedMainCell)&&(x={range:{...b,startRow:b.startRow,endRow:b.startRow,startColumn:b.startColumn,endColumn:b.startColumn},primary:{...b,actualRow:b.startRow,actualColumn:b.startColumn,startRow:b.startRow,endRow:b.startRow,startColumn:b.startColumn,endColumn:b.startColumn},style:null}),x.range.rangeType=i;let S=(0,n.attachSelectionWithCoord)(x,this._skeleton);this._startRangeWhenPointerDown={...S.rangeWithCoord};let C={...S.rangeWithCoord,rangeType:i},w=this.getActiveSelectionControl(),T=this.getSelectionControls();for(let n of T){if(e.button===2&&t.Rectangle.contains(n.model,C)){w=n;return}if(n.model.isEqual(C)){w=n;break}}this._checkClearPreviousControls(e);let E=w==null?void 0:w.model.currentCell,D=e.shiftKey&&E,O=this._remainLastEnabled&&!e.ctrlKey&&!e.shiftKey&&!this._skipLastEnabled&&!this._singleSelectionEnabled;D&&E?this._makeSelectionByTwoCells(E,C,l,i,w):O&&w?w.updateRangeBySelectionWithCoord(S):w=this.newSelectionControl(u,l,x);for(let e=0;e<this.getSelectionControls().length-1;e++)this.getSelectionControls()[e].clearHighlight();this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),u.disableObjectsEvent(),this._clearUpdatingListeners(),this._addEndingListeners(),(c=u.getTransformer())==null||c.clearSelectedObjects(),this._setupPointerMoveListener(p,w,i,s,h,g),this._escapeShortcutDisposable=this._shortcutService.forceEscape(),this._scenePointerUpSub=u.onPointerUp$.subscribeEvent(()=>{var e;this._clearUpdatingListeners(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),(e=this._escapeShortcutDisposable)==null||e.dispose(),this._escapeShortcutDisposable=null})}newSelectionControl(e,t,r){let i=this.getSelectionControls().length,{rowHeaderWidth:a,columnHeaderHeight:o}=t,s=new n.SelectionControl(e,i,this._themeService,{highlightHeader:this._highlightHeader,enableAutoFill:!1,rowHeaderWidth:a,columnHeaderHeight:o}),c=(0,n.attachSelectionWithCoord)(r,t);return s.updateRangeBySelectionWithCoord(c),this._selectionControls.push(s),s.setControlExtension({skeleton:t,scene:e,themeService:this._themeService,injector:this._injector,selectionHooks:{selectionMoveEnd:()=>{this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())}}}),s}};X=S([x(1,(0,t.Inject)(t.Injector)),x(2,(0,t.Inject)(t.ThemeService)),x(3,l.IShortcutService),x(4,(0,t.Inject)(n.SheetSkeletonManagerService)),x(5,t.IContextService),x(6,s.IRefSelectionsService)],X);function lt(e){let t=(0,n.genNormalSelectionStyle)(e);return t.widgets={tl:!0,tc:!0,tr:!0,ml:!0,mr:!0,bl:!0,bc:!0,br:!0},t}let ut=(e,t,n=!0)=>{let r=-1;return e.reduce((e,i,a)=>{if(e.isFinish)return e;let o=e.currentIndex;if(typeof i!=`string`)e.currentIndex+=i.token.length;else{let t=i.length;e.currentIndex+=t}return(n?e.currentIndex===t:t>o&&t<=e.currentIndex)&&(r=a,e.isFinish=!0),e},{currentIndex:0,isFinish:!1}),r},dt=(e,t)=>{let n=e[t],i=-1;if(!n||typeof n==`string`||n.nodeType!==r.sequenceNodeType.REFERENCE)return-1;for(let n=0;n<=t;n++){let t=e[n];typeof t!=`string`&&t.nodeType===r.sequenceNodeType.REFERENCE&&i++}return i},ft=(e,t=100)=>{(0,d.useEffect)(()=>{let n=null,r=()=>{n===null&&(n=window.setTimeout(()=>{e(),n=null},t))};return window.addEventListener(`scroll`,r),window.addEventListener(`resize`,r),()=>{n!==null&&clearTimeout(n),window.removeEventListener(`scroll`,r),window.removeEventListener(`resize`,r)}},[e,t])};function pt(e,n,r){let o=(0,l.useDependency)(a.IEditorService),s=(0,d.useMemo)(()=>new i.BehaviorSubject({left:-999,top:-999,right:-999,bottom:-999}),[]),c=(0,l.useDependency)(l.ISidebarService),u=(0,l.useDependency)(t.IUniverInstanceService),f=(0,l.useEvent)(()=>{var t;let n=o.getEditor(e);if(!n)return;let r=n.getBoundingClientRect(),{marginTop:i=0,marginBottom:a=0}=n.getDocumentData().documentStyle,c=n.getSkeleton();if(!c)return;let l=(t=c.getSkeletonData())==null?void 0:t.pages[0].height,{left:u,top:d,right:f,bottom:p}=r;d+=i,p=l?d+l:p-a;let m=s.getValue();if(!(m.left===u&&m.top===d&&m.right===f&&m.bottom===p))return s.next({left:u-1,right:f+1,top:d-1,bottom:p+1}),r});return(0,d.useEffect)(()=>{n&&f()},[e,o,u.unitAdded$,f,n,...r==null?[]:r]),ft(f),(0,d.useEffect)(()=>{let e=c.scrollEvent$.pipe((0,i.throttleTime)(100)).subscribe(f);return()=>{e.unsubscribe()}},[]),[s,f]}let Z=e=>{let t=(0,d.useRef)(e);return t.current=e,t},mt=(e,t,n)=>{let a=(0,l.useDependency)(w),o=(0,l.useDependency)(c.IDescriptionService),s=(0,l.useDependency)(r.LexerTreeBuilder),[u,f]=(0,d.useState)(),[p,m]=(0,d.useState)(-1),[h,g]=(0,d.useState)(!0),_=Z(h),v=(0,d.useRef)(t);v.current=t;let y=()=>{f(void 0),m(-1),g(!1)};return(0,d.useEffect)(()=>{let e=s.sequenceNodesBuilder(t.slice(1));a.setSequenceNodes(e==null?[]:e)},[t]),(0,d.useEffect)(()=>{if(n&&e){let e=n.selectionChange$.pipe((0,i.debounceTime)(50)).subscribe(e=>{if(e.textRanges.length===1){let[t]=e.textRanges;if(t.collapsed&&_.current){let{startOffset:e}=t,n=a.getCurrentSequenceNodeIndex(e-2),i=a.getCurrentSequenceNodeByIndex(n),c=a.getCurrentSequenceNodeByIndex(n+1);if(i)if(typeof i!=`string`&&i.nodeType===3&&!o.hasDefinedNameDescription(i.token.trim())&&c===r.matchToken.OPEN_BRACKET){f(o.getFunctionInfo(i.token)),m(-1);return}else{let t=s.getFunctionAndParameter(`${v.current}A`,e-1);if(t){let{functionName:e,paramIndex:n}=t;f(o.getFunctionInfo(e)),m(n);return}}}}f(void 0),m(-1)}),t=n.selectionChange$.pipe((0,i.filter)(e=>e.textRanges.length===1),(0,i.map)(e=>e.textRanges[0].startOffset),(0,i.distinctUntilChanged)()).subscribe(()=>{g(!0)});return()=>{e.unsubscribe(),t.unsubscribe()}}},[n,e]),(0,d.useEffect)(()=>{e||y()},[e]),{functionInfo:u,paramIndex:p,reset:y}},ht=({onClick:e})=>(0,f.jsx)(`div`,{className:`univer-z-[15] univer-box-border univer-h-[18px] univer-cursor-pointer univer-overflow-visible univer-whitespace-nowrap univer-rounded-l univer-border univer-border-r-0 univer-border-gray-600 univer-bg-primary-600 univer-p-0.5 univer-text-xs univer-font-bold univer-leading-[13px] univer-text-white`,onClick:e,children:`?`}),gt=({className:e,title:t,value:n})=>(0,f.jsxs)(`div`,{className:`univer-my-2`,children:[(0,f.jsx)(`div`,{className:(0,p.clsx)(`univer-mb-2 univer-text-sm univer-font-medium univer-text-gray-900 dark:!univer-text-white`,e),children:t}),(0,f.jsx)(`div`,{className:`univer-whitespace-pre-wrap univer-break-words univer-text-xs univer-text-gray-500`,children:n})]}),_t=e=>{let{prefix:t,value:n,active:r,onClick:i}=e;return(0,f.jsxs)(`div`,{children:[(0,f.jsxs)(`span`,{children:[t,`(`]}),n&&n.map((e,t)=>(0,f.jsxs)(`span`,{children:[(0,f.jsx)(`span`,{className:r===t?`univer-text-primary-500`:``,onClick:()=>i(t),children:Ie(e)}),t===n.length-1?``:`,`]},e.name)),`)`]})},vt=()=>{};function yt(e){let{onParamsSwitch:r=vt,onClose:i=vt,isFocus:a,editor:o,formulaText:s}=e,{functionInfo:c,paramIndex:u,reset:m}=mt(a,s,o),h=(0,l.useDependency)(n.IEditorBridgeService),g=!(0,l.useObservable)(h.helpFunctionVisible$),[_,v]=(0,d.useState)(!1),y=(0,l.useDependency)(t.LocaleService),b=y.t(`formula.prompt.required`),x=y.t(`formula.prompt.optional`),[S]=pt(o.getEditorId(),!!c,[c,u]);function C(e){r&&r(e)}let w=(0,l.useEvent)(e=>{h.helpFunctionVisible$.next(!e)});return c?g?(0,f.jsx)(l.RectPopup,{portal:!0,anchorRect$:S,direction:`left-center`,children:(0,f.jsx)(ht,{onClick:()=>w(!1)})},`hidden`):(0,f.jsx)(l.RectPopup,{portal:!0,onClickOutside:()=>m(),anchorRect$:S,direction:`vertical`,children:(0,f.jsxs)(`div`,{className:(0,p.clsx)(`univer-m-0 univer-box-border univer-w-[250px] univer-select-none univer-list-none univer-rounded-lg univer-bg-white univer-leading-5 univer-shadow-md univer-outline-none dark:!univer-bg-gray-900`,p.borderClassName),children:[(0,f.jsxs)(`div`,{className:(0,p.clsx)(`univer-box-border univer-flex univer-items-center univer-justify-between univer-px-4 univer-py-3 univer-text-xs univer-font-medium univer-text-gray-900 dark:!univer-text-white`,p.borderTopClassName),style:{overflowWrap:`anywhere`},children:[(0,f.jsx)(_t,{prefix:c.functionName,value:c.functionParameter,active:u,onClick:C}),(0,f.jsxs)(`div`,{className:`univer-flex`,children:[(0,f.jsx)(`div`,{className:`univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-bg-transparent univer-p-0 univer-text-xs univer-text-gray-500 univer-outline-none univer-transition-colors hover:univer-bg-gray-200 dark:hover:!univer-bg-gray-600`,style:{transform:_?`rotateZ(-90deg)`:`rotateZ(90deg)`},onClick:()=>v(!_),children:(0,f.jsx)($e,{})}),(0,f.jsx)(`div`,{className:`univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded univer-bg-transparent univer-p-0 univer-text-xs univer-text-gray-600 univer-outline-none univer-transition-colors hover:univer-bg-gray-300 dark:!univer-text-gray-200 dark:hover:!univer-bg-gray-600`,onClick:()=>{w(!0),i()},children:(0,f.jsx)(qe,{})})]})]}),(0,f.jsx)(`div`,{className:(0,p.clsx)(`univer-box-border univer-max-h-[350px] univer-overflow-y-auto univer-px-4 univer-pb-3 univer-pt-0`,p.scrollbarClassName),style:{height:_?`unset`:0,padding:_?`revert-layer`:0},children:(0,f.jsxs)(`div`,{className:`univer-mt-3`,children:[(0,f.jsx)(gt,{title:y.t(`formula.prompt.helpExample`),value:`${c.functionName}(${c.functionParameter.map(e=>e.example).join(`,`)})`}),(0,f.jsx)(gt,{title:y.t(`formula.prompt.helpAbstract`),value:c.description}),c&&c.functionParameter&&c.functionParameter.map((e,t)=>(0,f.jsx)(gt,{className:u===t?`univer-text-primary-500`:``,title:e.name,value:`${e.require?b:x} ${e.detail}`},t))]})})]})},`show`):null}let bt=e=>{let n=(0,l.useDependency)(a.IEditorService);return(0,l.useEvent)(r=>{if(e){n.focus(e.getEditorId());let o=[...e.getSelectionRanges()];if(t.Tools.isDefine(r))e.setSelectionRanges([{startOffset:r,endOffset:r}]);else if(!o.length&&!e.docSelectionRenderService.isOnPointerEvent){var i,a;let t=(i=(a=e.getDocumentData().body)==null?void 0:a.dataStream)==null?`\r
2
+ `:i,n=Math.max(t.length-2,0);e.setSelectionRanges([{startOffset:n,endOffset:n}])}else e.setSelectionRanges(o)}})};function xt(e){var n,r;let i=e.get(t.IUniverInstanceService).getCurrentUniverDocInstance();if(i!=null&&i.getBody())return{dataStream:(n=(r=i.getBody())==null?void 0:r.dataStream)==null?``:n,offset:0}}let Q=function(e){return e[e.NOT_SELECT=0]=`NOT_SELECT`,e[e.NEED_ADD=1]=`NEED_ADD`,e[e.CAN_EDIT=2]=`CAN_EDIT`,e[e.EDIT_OTHER_SHEET_REFERENCE=3]=`EDIT_OTHER_SHEET_REFERENCE`,e[e.EDIT_OTHER_WORKBOOK_REFERENCE=4]=`EDIT_OTHER_WORKBOOK_REFERENCE`,e}({});function St(e){var n;let{editorId:s,isFocus:c,disableOnClick:f,unitId:p,subUnitId:m}=e,h=(0,l.useDependency)(o.IRenderManagerService),g=(0,l.useDependency)(t.IUniverInstanceService),_=h.getRenderById(p),v=h.getRenderById(s),y=v==null?void 0:v.with(a.DocSelectionRenderService),b=(0,l.useDependency)(u.DocSelectionManagerService),x=(0,l.useDependency)(t.Injector),[S,C]=(0,d.useState)(Q.NOT_SELECT),w=(0,l.useDependency)(r.LexerTreeBuilder),T=(0,d.useRef)(!0),E=_==null?void 0:_.with(X),D=Z(S),O=g.getUnit(p,t.UniverInstanceType.UNIVER_SHEET),k=O==null?void 0:O.getSheetBySheetId(m),A=(0,l.useEvent)(e=>{E&&E.setSkipLastEnabled(e===Q.NEED_ADD||e===Q.EDIT_OTHER_SHEET_REFERENCE||e===Q.EDIT_OTHER_WORKBOOK_REFERENCE),D.current=e,C(e)}),j=(0,l.useEvent)(()=>{var e,n;let i=g.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!i)return;let a=i.getActiveSheet(),o=y==null?void 0:y.getActiveTextRange(),s=o!=null&&o.collapsed?o.startOffset:-1,c=xt(x);if(!c)return;let l=c==null||(e=c.dataStream)==null?void 0:e.slice(0,-2),u=((n=w.sequenceNodesBuilder(l))==null?[]:n).map(e=>typeof e==`object`?e.nodeType===r.sequenceNodeType.REFERENCE?{...e,range:(0,r.deserializeRangeWithSheetWithCache)(e.token)}:{...e,range:void 0}:e),d=l[s-1],f=l[s],p=u.find(e=>typeof e==`object`&&e.nodeType===r.sequenceNodeType.REFERENCE&&s===e.endIndex+2),m=d&&(0,r.matchRefDrawToken)(d)&&(!f||(0,r.isFormulaLexerToken)(f)&&f!==r.matchToken.OPEN_BRACKET),h=!!p;if((l==null?void 0:l.substring(0,1))===`=`&&(m||h))if(h){var _;if(T.current)return;let{sheetName:e,unitId:n}=p.range,r=(_=g.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET))==null?void 0:_.getUnitId();n&&n!==r?A(Q.EDIT_OTHER_WORKBOOK_REFERENCE):!e&&a.getSheetId()===(k==null?void 0:k.getSheetId())||e===a.getName()?A(Q.CAN_EDIT):A(Q.EDIT_OTHER_SHEET_REFERENCE)}else T.current=!1,A(Q.NEED_ADD);else A(Q.NOT_SELECT)});return(0,d.useEffect)(()=>{let e=b.textSelection$.pipe((0,i.filter)(e=>e.unitId===s)).subscribe(()=>{j()});return()=>e.unsubscribe()},[j,b.textSelection$,s]),(0,d.useEffect)(()=>{c||(A(Q.NOT_SELECT),T.current=!0)},[c,A]),(0,d.useEffect)(()=>{var e;if(!f)return;let t=v==null||(e=v.mainComponent)==null?void 0:e.onPointerDown$.subscribeEvent(()=>{A(Q.NOT_SELECT),T.current=!0});return()=>t==null?void 0:t.unsubscribe()},[f,v==null||(n=v.mainComponent)==null?void 0:n.onPointerDown$,A]),(0,d.useEffect)(()=>{if(!c)return;let e=O==null?void 0:O.activeSheet$.subscribe(()=>{j()}),n=g.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).subscribe(()=>{j()});return()=>{e==null||e.unsubscribe(),n==null||n.unsubscribe()}},[j,c,O==null?void 0:O.activeSheet$,g.getCurrentTypeOfUnit$]),{isSelecting:S,isSelectingRef:D}}let Ct=()=>{let e=(0,l.useDependency)(r.LexerTreeBuilder);return(0,d.useCallback)(t=>e.sequenceNodesBuilder(t)||[],[e])};function wt(e,n,r){return{id:r,strokeWidth:1,stroke:n,fill:new t.ColorKit(n).setAlpha(.05).toRgbString(),widgets:{tl:!0,tc:!0,tr:!0,ml:!0,mr:!0,bl:!0,bc:!0,br:!0},widgetSize:6,widgetStrokeWidth:1,widgetStroke:e.getColorFromTheme(`white`)}}function Tt(e){var n;let{unitId:i,subUnitId:a,currentWorkbook:o,refSelections:c,editor:l,refSelectionsService:u,refSelectionsRenderService:d,sheetSkeletonManagerService:f,themeService:p,univerInstanceService:m}=e,h=o.getUnitId(),g=m.getUnit(i,t.UniverInstanceType.UNIVER_SHEET),_=g==null?void 0:g.getActiveSheet(),v=[];if(!g||!_){u.setSelections(v);return}let y=_.getSheetId(),b=e=>{var t;return g==null||(t=g.getSheetBySheetName(e))==null?void 0:t.getSheetId()};if(!(!(f==null||(n=f.getWorksheetSkeleton(y))==null)&&n.skeleton))return;let x=[];for(let e=0,t=c.length;e<t;e++){let{themeColor:t,token:n,refIndex:o,endIndex:l}=c[e],{unitId:u,sheetName:d,range:f}=(0,r.deserializeRangeWithSheet)(n),m=b(d);if(!m&&d||h!==i&&u!==h||u&&u!==h||m&&m!==y||!m&&y!==a)continue;let g=(0,s.setEndForRange)(f,_.getRowCount(),_.getColumnCount());g.unitId=i,g.sheetId=y,v.push({range:g,primary:null,style:wt(p,t,o.toString())}),x.push(l)}if(l){var S;let e=(S=l.getSelectionRanges())==null||(S=S[0])==null?void 0:S.startOffset,t=x.findIndex(t=>t+2===e);t===-1?d==null||d.resetActiveSelectionIndex():d==null||d.setActiveSelectionIndex(t)}return v}function Et(e,r){let i=(0,l.useDependency)(t.IUniverInstanceService),a=(0,l.useDependency)(t.ThemeService),c=(0,l.useDependency)(s.IRefSelectionsService),u=(0,l.useDependency)(o.IRenderManagerService),f=(0,l.useObservable)((0,d.useMemo)(()=>i.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET),[i])),p=f?u.getRenderById(f.getUnitId()):null,m=p==null?void 0:p.with(X),h=p==null?void 0:p.with(n.SheetSkeletonManagerService),g=(0,l.useEvent)((n,o)=>{let s=i.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!s||m!=null&&m.selectionMoving)return;let l=Tt({unitId:e,subUnitId:r,currentWorkbook:s,refSelections:n,editor:o,refSelectionsService:c,refSelectionsRenderService:m,sheetSkeletonManagerService:h,themeService:a,univerInstanceService:i});l&&(((m==null?void 0:m.getSelectionControls())||[]).length===l.length?m==null||m.resetSelectionsByModelData(l):c.setSelections(l))});return(0,d.useEffect)(()=>()=>{m==null||m.resetActiveSelectionIndex()},[m]),g}function Dt(e=``){let n=(0,l.useDependency)(c.IDescriptionService),r=Ot(),i=(0,l.useDependency)(t.ICommandService),o=(0,d.useMemo)(()=>e.length,[e]);return(0,l.useEvent)((s,c,l=!0,u)=>{let d=s.getDocumentData(),f=s.getEditorId();if(!d)return[];let p=d.body;if(!p)return[];let m=p.dataStream.slice(0,p.dataStream.length-2),h={dataStream:``,...d.body};if(!m.startsWith(e))return[];if(c==null||c.length===0)return h.textRuns=[],i.syncExecuteCommand(a.ReplaceTextRunsCommand.id,{unitId:f,body:(0,t.getBodySlice)(h,0,h.dataStream.length-2)}),[];{let{textRuns:d,refSelections:p}=kt(n,r,c);o&&d.forEach(e=>{e.ed+=o,e.st+=o}),h.textRuns=[{st:0,ed:1,ts:{fs:11}},...d],h.dataStream=`${e}${c.reduce((e,t)=>typeof t==`string`?`${e}${t}`:`${e}${t.token}`,``)}\r\n`;let m;if(l){m=s.getSelectionRanges();let e=h.dataStream.length-2+o;m.forEach(t=>{t.startOffset=Math.max(0,Math.min(t.startOffset,e)),t.endOffset=Math.max(0,Math.min(t.endOffset,e))})}return i.syncExecuteCommand(a.ReplaceTextRunsCommand.id,{unitId:f,body:(0,t.getBodySlice)(h,0,h.dataStream.length-2),textRanges:u==null?m:u}),p}})}function Ot(){let e=(0,l.useDependency)(t.ThemeService);return(0,d.useMemo)(()=>({formulaRefColors:[e.getColorFromTheme(`loop-color.1`),e.getColorFromTheme(`loop-color.2`),e.getColorFromTheme(`loop-color.3`),e.getColorFromTheme(`loop-color.4`),e.getColorFromTheme(`loop-color.5`),e.getColorFromTheme(`loop-color.6`),e.getColorFromTheme(`loop-color.7`),e.getColorFromTheme(`loop-color.8`),e.getColorFromTheme(`loop-color.9`),e.getColorFromTheme(`loop-color.10`),e.getColorFromTheme(`loop-color.11`),e.getColorFromTheme(`loop-color.12`)].map(t=>e.isValidThemeColor(t)?e.getColorFromTheme(t):t),numberColor:e.getColorFromTheme(`blue.700`),stringColor:e.getColorFromTheme(`jiqing.800`),plainTextColor:e.getColorFromTheme(`black`)}),[e.getCurrentTheme()])}function kt(e,t,n){let{formulaRefColors:i,numberColor:a,stringColor:o,plainTextColor:s}=t,c=[],l=[],u=new Map,d=0;for(let t=0,f=n.length;t<f;t++){let f=n[t];if(typeof f==`string`){let e=c[c.length-1],t=e?e.ed:0,n=t+f.length;c.push({st:t,ed:n,ts:{cl:{rgb:s},fs:11}});continue}if(e.hasDefinedNameDescription(f.token.trim())){c.push({st:f.startIndex,ed:f.endIndex+1,ts:{cl:{rgb:s},fs:11}});continue}let{startIndex:p,endIndex:m,nodeType:h,token:g}=f,_=``;h===r.sequenceNodeType.REFERENCE?(u.has(g)?_=u.get(g):(_=i[d%i.length],u.set(g,_),d++),l.push({refIndex:t,themeColor:_,token:g,startIndex:f.startIndex,endIndex:f.endIndex,index:l.length})):h===r.sequenceNodeType.NUMBER?_=a:(h===r.sequenceNodeType.STRING||h===r.sequenceNodeType.ARRAY)&&(_=o),_&&_.length>0?c.push({st:p,ed:m+1,ts:{cl:{rgb:_},fs:11}}):c.push({st:p,ed:m+1,ts:{cl:{rgb:s},fs:11}})}return{textRuns:c,refSelections:l}}let At=(e,r,i,s)=>{let c=(0,l.useDependency)(t.ICommandService),u=(0,l.useDependency)(l.IShortcutService),f=(0,d.useRef)(r);f.current=r;let p=(0,d.useRef)(s);p.current=s,(0,d.useEffect)(()=>{if(!i||!e)return;let r=`sheet.formula-embedding-editor.${i.getEditorId()}`,s=new t.DisposableCollection,d=(e,n)=>{if(p.current){p.current(e,n);return}let r=t.Direction.LEFT;e===l.KeyCode.ARROW_DOWN?r=t.Direction.DOWN:e===l.KeyCode.ARROW_UP?r=t.Direction.UP:e===l.KeyCode.ARROW_RIGHT&&(r=t.Direction.RIGHT),n===l.MetaKeys.SHIFT?c.executeCommand(a.MoveSelectionOperation.id,{direction:r}):c.executeCommand(a.MoveCursorOperation.id,{direction:r})},m=(e,r)=>{let i=t.Direction.DOWN;e===l.KeyCode.ARROW_DOWN?i=t.Direction.DOWN:e===l.KeyCode.ARROW_UP?i=t.Direction.UP:e===l.KeyCode.ARROW_LEFT?i=t.Direction.LEFT:e===l.KeyCode.ARROW_RIGHT&&(i=t.Direction.RIGHT),f.current?r===l.MetaKeys.CTRL_COMMAND?c.executeCommand(n.MoveSelectionCommand.id,{direction:i,jumpOver:n.JumpOver.moveGap,extra:`formula-editor`,fromCurrentSelection:f.current===Q.NEED_ADD||f.current===Q.EDIT_OTHER_SHEET_REFERENCE}):r===l.MetaKeys.SHIFT?c.executeCommand(n.ExpandSelectionCommand.id,{direction:i,extra:`formula-editor`}):r===(l.MetaKeys.CTRL_COMMAND|l.MetaKeys.SHIFT)?c.executeCommand(n.ExpandSelectionCommand.id,{direction:i,jumpOver:n.JumpOver.moveGap,extra:`formula-editor`}):c.executeCommand(n.MoveSelectionCommand.id,{direction:i,extra:`formula-editor`,fromCurrentSelection:f.current===Q.NEED_ADD||f.current===Q.EDIT_OTHER_SHEET_REFERENCE}):d(e,r)};return s.add(c.registerCommand({id:r,type:t.CommandType.OPERATION,handler(e,t){let{keyCode:n,metaKey:r}=t;m(n,r)}})),[{keyCode:l.KeyCode.ARROW_DOWN},{keyCode:l.KeyCode.ARROW_LEFT},{keyCode:l.KeyCode.ARROW_RIGHT},{keyCode:l.KeyCode.ARROW_UP},{keyCode:l.KeyCode.ARROW_DOWN,metaKey:l.MetaKeys.SHIFT},{keyCode:l.KeyCode.ARROW_LEFT,metaKey:l.MetaKeys.SHIFT},{keyCode:l.KeyCode.ARROW_RIGHT,metaKey:l.MetaKeys.SHIFT},{keyCode:l.KeyCode.ARROW_UP,metaKey:l.MetaKeys.SHIFT},{keyCode:l.KeyCode.ARROW_DOWN,metaKey:l.MetaKeys.CTRL_COMMAND},{keyCode:l.KeyCode.ARROW_LEFT,metaKey:l.MetaKeys.CTRL_COMMAND},{keyCode:l.KeyCode.ARROW_RIGHT,metaKey:l.MetaKeys.CTRL_COMMAND},{keyCode:l.KeyCode.ARROW_UP,metaKey:l.MetaKeys.CTRL_COMMAND},{keyCode:l.KeyCode.ARROW_DOWN,metaKey:l.MetaKeys.CTRL_COMMAND|l.MetaKeys.SHIFT},{keyCode:l.KeyCode.ARROW_LEFT,metaKey:l.MetaKeys.CTRL_COMMAND|l.MetaKeys.SHIFT},{keyCode:l.KeyCode.ARROW_RIGHT,metaKey:l.MetaKeys.CTRL_COMMAND|l.MetaKeys.SHIFT},{keyCode:l.KeyCode.ARROW_UP,metaKey:l.MetaKeys.CTRL_COMMAND|l.MetaKeys.SHIFT}].map(({keyCode:e,metaKey:t})=>({id:r,binding:t?e|t:e,preconditions:()=>!0,priority:900,staticParameters:{eventType:o.DeviceInputEventType.Keyboard,keyCode:e,metaKey:t}})).forEach(e=>{s.add(u.registerShortcut(e))}),()=>{s.dispose()}},[c,i,e,u])},jt=(e,n,r,i,a=!0)=>{var c;let u=(0,l.useDependency)(o.IRenderManagerService),f=(0,l.useDependency)(t.IContextService),p=(0,l.useDependency)(l.IContextMenuService),m=(0,l.useDependency)(s.IRefSelectionsService),h=(0,l.useDependency)(t.IUniverInstanceService),g=(0,l.useObservable)((0,d.useMemo)(()=>h.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET),[h])),_=u.getRenderById((c=g==null?void 0:g.getUnitId())==null?``:c),v=_==null?void 0:_.with(X);(0,d.useLayoutEffect)(()=>{if(e)return f.setContextValue(t.EDITOR_ACTIVATED,!0),a&&p.disable(),()=>{let e=h.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);(e==null?void 0:e.getUnitId())===i&&f.setContextValue(t.EDITOR_ACTIVATED,!1),a&&p.enable(),m.clear()}},[f,e,m,a,i]),(0,d.useLayoutEffect)(()=>{if(e&&n){let e=v==null?void 0:v.enableSelectionChanging();return f.setContextValue(s.REF_SELECTIONS_ENABLED,!0),()=>{f.setContextValue(s.REF_SELECTIONS_ENABLED,!1),e==null||e.dispose()}}},[f,e,v,n]),(0,d.useEffect)(()=>{e&&(v==null||v.setSkipLastEnabled(!1))},[e,v])},Mt=(e,n,r)=>{let i=(0,l.useDependency)(t.IUniverInstanceService),a=(0,l.useDependency)(s.SheetsSelectionsService);return(0,d.useCallback)(()=>{if(e){let e=[...a.getWorkbookSelections(n).getSelectionsOfWorksheet(r)],o=i.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET),s=o==null?void 0:o.getActiveSheet();(o==null?void 0:o.getUnitId())!==n&&i.setCurrentUnitForType(n),s&&s.getSheetId()===r&&a.setSelections(e)}},[e,a,r,n,i])},Nt=e=>e.reduce((e,t)=>typeof t==`string`?e+t.length:e+t.token.length,0),Pt=e=>e.map(e=>typeof e==`string`?e:e.token).join(``),Ft=(e,t=!1,n=``,i=!1)=>!t&&!i?e.map(e=>(0,r.serializeRange)(e.range)):e.map(e=>i?(0,r.serializeRangeToRefString)(e):e.sheetName!==``&&e.sheetName!==n?(0,r.serializeRangeWithSheet)(e.sheetName,e.range):(0,r.serializeRange)(e.range)),It=e=>{var t,n,r;let{editor:i,lexerTreeBuilder:a}=e,o=i==null?void 0:i.getSelectionRanges();if((o==null?void 0:o.length)!==1)return;let s=o[0].startOffset-1,c=((t=i==null||(n=i.getDocumentData().body)==null?void 0:n.dataStream)==null?`\r
3
+ `:t).slice(0,-2),l=(r=a.sequenceNodesBuilder(c.slice(1)))==null?[]:r,u=ut(l,s,!1);return{nodeIndex:u,updatingRefIndex:dt(l,u),sequenceNodes:l,offset:s}},Lt=(()=>{}),Rt=(e,a,c,f,p,h,g,_,v,y=Lt)=>{var b;let x=(0,l.useDependency)(o.IRenderManagerService),S=(0,l.useDependency)(t.IUniverInstanceService),C=(0,l.useDependency)(t.ICommandService),w=(0,l.useDependency)(u.DocSelectionManagerService),T=(0,l.useDependency)(t.ThemeService),E=(0,l.useDependency)(r.LexerTreeBuilder),D=S.getUnit(f),O=(0,l.useEvent)((e,t)=>{var n,r;return(n=(r=S.getUnit(e))==null||(r=r.getSheetBySheetId(t))==null?void 0:r.getName())==null?``:n}),k=(0,d.useMemo)(()=>O(f,p),[O,p,f]),A=(0,l.useObservable)(D==null?void 0:D.activeSheet$),j=Z({activeSheet:A,sheetName:k}),M=(0,l.useObservable)((0,d.useMemo)(()=>S.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET),[S])),N=x.getRenderById((b=M==null?void 0:M.getUnitId())==null?``:b),P=N==null?void 0:N.with(X),ee=N==null?void 0:N.with(n.SheetSkeletonManagerService),F=(0,l.useDependency)(s.IRefSelectionsService),I=(0,l.useEvent)((e,t,n)=>{let i=It({editor:v,lexerTreeBuilder:E});if(!i)return;let{nodeIndex:a,updatingRefIndex:o,sequenceNodes:s,offset:l}=i;if(c.current===Q.NEED_ADD)if(l!==0){var u,d,m;if(a===-1&&s.length)return;let n=e[e.length-1],i=s.splice(a+1),o=(u=n.sheetId)==null?p:u,c={range:n,unitId:(d=n.unitId)==null?M.getUnitId():d,sheetName:O((m=n.unitId)==null?M.getUnitId():m,o)},l=o!==p,h=(M==null?void 0:M.getUnitId())!==f,_=Ft([c],g&&(l||h),k,h);s.push({token:_[0],nodeType:r.sequenceNodeType.REFERENCE}),y(Pt([...s,...i]),Nt(s),t)}else{var h,_,b;let n=e[e.length-1],i=(h=n.sheetId)==null?p:h,a={range:n,unitId:(_=n.unitId)==null?M.getUnitId():_,sheetName:O((b=n.unitId)==null?M.getUnitId():b,i)},o=i!==p,c=(M==null?void 0:M.getUnitId())!==f,l=Ft([a],g&&(o||c),k,c);s.unshift({token:l[0],nodeType:r.sequenceNodeType.REFERENCE}),y(Pt(s),l[0].length,t)}else if(c.current===Q.EDIT_OTHER_SHEET_REFERENCE||c.current===Q.EDIT_OTHER_WORKBOOK_REFERENCE){let n=e.pop();if(!n)return;let i=s[a];if(typeof i==`object`&&i.nodeType===r.sequenceNodeType.REFERENCE){let e=i.token;if((M==null?void 0:M.getUnitId())!==f){var x;i.token=(0,r.serializeRangeWithSpreadsheet)((x=M==null?void 0:M.getUnitId())==null?``:x,k,n)}else i.token=k===(A==null?void 0:A.getName())?(0,r.serializeRange)(n):(0,r.serializeRangeWithSheet)(A.getName(),n);let a=l+(i.token.length-e.length);y((0,r.generateStringWithSequence)(s),a,t)}}else{let i=[...e];if(!n&&o!==-1){let e=i.pop();e&&i.splice(o,0,e)}let c=0,l=s.map(e=>{if(typeof e==`string`)return e;if(e.nodeType===r.sequenceNodeType.REFERENCE){var t,n,a;let s=(0,r.deserializeRangeWithSheet)(e.token);if(s.sheetName||(s.sheetName=k),(s.unitId||f)!==(M==null?void 0:M.getUnitId()))return e.token;if(g){var o;if(((o=j.current.activeSheet)==null?void 0:o.getName())!==s.sheetName)return e.token}let l=i[c];if(c++,!l)return``;let u=(t=l.sheetId)==null?p:t,d={range:l,unitId:(n=l.unitId)==null?M.getUnitId():n,sheetName:O((a=l.unitId)==null?M.getUnitId():a,u)},m=(M==null?void 0:M.getUnitId())!==f;return Ft([d],g&&(u!==p||m),k,m)[0]}return e.token}),u=``,d;l.forEach((e,t)=>{u+=e,t===a&&(d=u.length)});let m=[];for(let t=c;t<=e.length-1;t++){var S,C,w;let n=e[t],r=(S=n.sheetId)==null?p:S,i={range:n,unitId:(C=n.unitId)==null?M.getUnitId():C,sheetName:O((w=n.unitId)==null?M.getUnitId():w,r)},a=(M==null?void 0:M.getUnitId())!==f,o=Ft([i],g&&(r!==p||a),k,a);m.push(o[0])}let h=s[s.length-1],_=h&&(typeof h==`string`?!1:h.nodeType===r.sequenceNodeType.REFERENCE),v=`${u}${m.length&&_?`,`:``}${m.join(`,`)}`;y(v,!m.length&&d?d:v.length,t)}});(0,d.useEffect)(()=>{if(P&&e){let e=!0,n=0,r=(t,r)=>{if(e){e=!1,n=t.length;return}let i=t.length>n;r&&(n=t.length),I(t.map(e=>e.rangeWithCoord),r,i)},i=new t.DisposableCollection;return i.add(P.selectionMoving$.subscribe(e=>{r(e,!1)})),i.add(P.selectionMoveEnd$.subscribe(e=>{r(e,!0)})),()=>{i.dispose()}}},[e,I,P]),(0,d.useEffect)(()=>{if(a&&P&&v){let e=new t.DisposableCollection,n=()=>{e.dispose(),P.getSelectionControls().forEach((t,n)=>{e.add(t.selectionScaling$.subscribe(e=>{let t=P.getSelectionDataWithStyle().map(e=>e.rangeWithCoord),r=t[n];e.sheetId=r.sheetId,e.unitId=r.unitId,t[n]=e,I(t,!1)})),e.add(t.selectionMoving$.subscribe(e=>{let t=P.getSelectionDataWithStyle().map(e=>e.rangeWithCoord),r=t[n];e.sheetId=r.sheetId,e.unitId=r.unitId,t[n]=e,I(t,!0)}))})},r=(0,i.merge)(v.input$,F.selectionSet$,P.selectionMoveEnd$).pipe((0,m.debounceTime)(50)).subscribe(()=>{n()});return()=>{r.unsubscribe(),e.dispose()}}},[v,a,I,P,F.selectionSet$]),P==null||P.getSelectionDataWithStyle(),(0,d.useEffect)(()=>{if(_){let e=C.onCommandExecuted(e=>{if(e.id!==s.SetSelectionsOperation.id)return;let n=e.params;if(n.extra===`formula-editor`&&n.selections.length){let e=n.selections[n.selections.length-1];if(e){var r;let{range:i,primary:a}=e;(a!=null&&a.isMergedMainCell||a!=null&&a.isMerged)&&t.Rectangle.contains(a,i)&&(i.startRow=a.startRow,i.endRow=a.startRow,i.startColumn=a.startColumn,i.endColumn=a.startColumn),i.unitId=n.unitId,i.sheetId=n.subUnitId;let o=c.current===Q.NEED_ADD,s=((r=P==null?void 0:P.getSelectionDataWithStyle())==null?[]:r).map(e=>e.rangeWithCoord);o?s.push(i):s[s.length-1]=i,I(s,!0)}}});return()=>{e.dispose()}}},[C,v,c,E,_,I,P]),(0,d.useEffect)(()=>{if(!v)return;let e=w.textSelection$.subscribe(e=>{e.unitId===v.getEditorId()&&Tt({unitId:f,subUnitId:p,refSelections:h.current,editor:v,refSelectionsService:F,refSelectionsRenderService:P,sheetSkeletonManagerService:ee,themeService:T,univerInstanceService:S,currentWorkbook:M})});return()=>e.unsubscribe()},[w.textSelection$,v,h,P,F,ee,p,T,f,S])},zt=(e,n,r,i,c,u)=>{let f=(0,l.useDependency)(t.ICommandService),p=(0,l.useDependency)(a.IEditorService),m=(0,l.useDependency)(o.IRenderManagerService).getRenderById(n),h=(0,l.useDependency)(t.IUniverInstanceService),g=m==null?void 0:m.with(X);(0,d.useEffect)(()=>{if(e&&g)if(r){let e=()=>{let e=g.getSelectionControls().length;for(let t=1;t<=e;t++)g.clearLastSelection();return setTimeout(()=>{u()},30)},n=f.onCommandExecuted(t=>{t.id===s.SetWorksheetActiveOperation.id&&e()}),r=h.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{e()});return()=>{n.dispose(),r.unsubscribe()}}else{let e=f.beforeCommandExecuted(e=>{if(e.id===s.SetWorksheetActiveOperation.id){i(!1),c(),u();let e=p.getEditor(t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);e==null||e.focus()}});return()=>{e.dispose()}}},[e,g])},Bt=(e,t,n)=>{let i=(0,l.useDependency)(r.LexerTreeBuilder),a=(0,d.useRef)(!0);(0,d.useEffect)(()=>{if(e){let e=setTimeout(()=>{a.current=!1},500);return()=>{clearTimeout(e)}}},[e]),(0,d.useEffect)(()=>{a.current||t&&t(i.checkIfAddBracket(n)===0&&n.startsWith(r.operatorToken.EQUALS),`${n}`)},[n,t])},Vt=(e,t=[],n)=>{let a=(0,l.useDependency)(c.IDescriptionService),[o,s]=(0,d.useState)([]),[u,f]=(0,d.useState)(``),p=(0,d.useRef)(-1),m=Z({nodes:t}),h=()=>{s([]),f(``),p.current=-1};return(0,d.useEffect)(()=>{if(n&&e){let e=n.input$.pipe((0,i.debounceTime)(300)).subscribe(()=>{let e=n.getSelectionRanges();if(e.length===1){let t=m.current.nodes,n=e[0];if(n.collapsed){let e=ut(t,n.startOffset-1,!1);p.current=e;let i=t[e];if(i&&typeof i!=`string`&&i.nodeType===r.sequenceNodeType.FUNCTION){p.current=e;let t=i.token;s(a.getSearchListByNameFirstLetter(t)),f(t);return}}}p.current=-1,f(``),s(e=>e!=null&&e.length?[]:e)});return()=>{e.unsubscribe()}}},[n,e]),(0,d.useEffect)(()=>{e||h()},[e]),{searchList:o,searchText:u,handlerFormulaReplace:(e,t)=>{let n=[...m.current.nodes];if(p.current!==-1){let i=n.splice(p.current+1),a=n.pop()||``,o=(typeof a==`string`?a.length:a.token.length)-e.length;return n.push(e),i[0]!==r.matchToken.OPEN_BRACKET&&t!==r.FunctionType.DefinedName&&(n.push(r.matchToken.OPEN_BRACKET),o--),{text:Pt([...n,...i]),offset:o}}},reset:h}},Ht=()=>{},Ut=(0,d.forwardRef)(Wt);function Wt(e,n){let{isFocus:r,sequenceNodes:i,onSelect:a,editor:s,onClose:c=Ht}=e,u=s.getEditorId(),m=(0,l.useDependency)(l.IShortcutService),h=(0,l.useDependency)(t.ICommandService),{searchList:g,searchText:_,handlerFormulaReplace:v,reset:y}=Vt(r,i,s),b=(0,d.useMemo)(()=>!!g.length,[g]),x=(0,d.useRef)(void 0),[S,C]=(0,d.useState)(0),w=(0,d.useRef)(!1),[T]=pt(u,b,[_,g]),E=Z({searchList:g,active:S}),D=(e,t)=>{let n=v(e,t);n&&(y(),a(n))};function O(e){w.current&&C(e)}function k(){w.current&&C(-1)}(0,d.useEffect)(()=>{if(!g.length)return;let e=`sheet.formula-embedding-editor.search_function.${u}`,n=new t.DisposableCollection,r=e=>{let{searchList:t,active:n}=E.current;switch(e){case l.KeyCode.ARROW_UP:C(e=>{let t=Math.max(0,e-1);return A(t),t});break;case l.KeyCode.ARROW_DOWN:C(e=>{let n=Math.min(t.length-1,e+1);return A(n),n});break;case l.KeyCode.TAB:case l.KeyCode.ENTER:{let e=t[n];D(e.name,e.functionType);break}case l.KeyCode.ESC:y(),c();break}};return n.add(h.registerCommand({id:e,type:t.CommandType.OPERATION,handler(e,t){let{keyCode:n}=t;r(n)}})),[l.KeyCode.ARROW_UP,l.KeyCode.ARROW_DOWN,l.KeyCode.ENTER,l.KeyCode.ESC,l.KeyCode.TAB].map(t=>({id:e,binding:t,preconditions:()=>!0,priority:1e3,staticParameters:{eventType:o.DeviceInputEventType.Keyboard,keyCode:t}})).forEach(e=>{n.add(m.registerShortcut(e))}),()=>{n.dispose()}},[g]);function A(e){let t=x.current;if(!t)return;let n=t.children[e];if(!n)return;let r=t.getBoundingClientRect().top,i=t.offsetHeight,a=n.getBoundingClientRect(),o=a.top,s=a.height;if(o>=0&&o>r&&o-r+s<=i)return;let c=n.offsetTop-(i-s)/2;t.scrollTo({top:c,behavior:`smooth`})}let j=(0,d.useMemo)(()=>{let e=``;return()=>{clearTimeout(e),w.current=!0,e=setTimeout(()=>{w.current=!1},300)}},[]);return g.length>0&&b&&(0,f.jsx)(l.RectPopup,{portal:!0,anchorRect$:T,direction:`vertical`,children:(0,f.jsx)(`ul`,{ref:e=>{x.current=e,n&&(n.current=e)},"data-u-comp":`sheets-formula-editor`,className:(0,p.clsx)(`univer-m-0 univer-box-border univer-max-h-[400px] univer-w-[250px] univer-list-none univer-overflow-y-auto univer-rounded-lg univer-bg-white univer-p-2 univer-leading-5 univer-shadow-md univer-outline-none dark:!univer-bg-gray-900`,p.borderClassName,p.scrollbarClassName),children:g.map((e,t)=>(0,f.jsxs)(`li`,{className:(0,p.clsx)(`univer-box-border univer-cursor-pointer univer-rounded univer-px-2 univer-py-1 univer-text-gray-900 univer-transition-colors dark:!univer-text-white`,{"univer-bg-gray-200 dark:!univer-bg-gray-600":S===t}),onMouseEnter:()=>O(t),onMouseLeave:k,onMouseMove:j,onClick:()=>{D(e.name,e.functionType),s&&s.focus()},children:[(0,f.jsxs)(`span`,{className:`univer-block univer-truncate univer-text-xs`,children:[(0,f.jsx)(`span`,{className:`univer-text-red-500`,children:e.name.substring(0,_.length)}),(0,f.jsx)(`span`,{children:e.name.slice(_.length)})]}),(0,f.jsx)(`span`,{className:`univer-block univer-text-xs univer-text-gray-400`,children:e.desc})]},e.name))})})}let Gt=e=>e.startsWith(r.operatorToken.EQUALS)?e.slice(1):``,Kt=()=>{},qt=(0,d.forwardRef)((e,r)=>{var i,s,c,u;let{errorText:m,initValue:h,unitId:g,subUnitId:_,isFocus:v=!0,isSupportAcrossSheet:y=!1,onFocus:b=Kt,onBlur:x=Kt,onChange:S,onVerify:C,className:w,editorId:T,moveCursor:E=!0,onFormulaSelectingChange:D,keyboardEventConfig:O,onMoveInEditor:k,resetSelectionOnBlur:A=!0,autoScrollbar:j=!0,isSingle:M=!0,disableSelectionOnClick:N=!1,autofocus:P=!0,disableContextMenu:ee,style:F}=e,I=(0,l.useDependency)(a.IEditorService),te=(0,d.useRef)(null),L=(0,l.useEvent)(S);(0,d.useImperativeHandle)(r,()=>({isClickOutSide:e=>te.current?!te.current.contains(e.target):!1}));let ne=(0,l.useEvent)(D),re=(0,d.useRef)(null),R=(0,d.useRef)(void 0),z=R.current,[B,ie]=(0,d.useState)(v),ae=(0,d.useRef)(null),V=(0,d.useMemo)(()=>T==null?(0,t.createInternalEditorID)(`${n.EMBEDDING_FORMULA_EDITOR}-${(0,t.generateRandomId)(4)}`):T,[]),H=(0,d.useMemo)(()=>m!==void 0,[m]),oe=(0,l.useDependency)(t.IUniverInstanceService),se=oe.getUnit(V);(0,l.useObservable)(se==null?void 0:se.change$);let ce=Ct(),U=t.BuildTextUtils.transform.getPlainText((i=se==null||(s=se.getBody())==null?void 0:s.dataStream)==null?``:i),le=Z(U),ue=(0,d.useMemo)(()=>Gt(U),[U]),de=(0,d.useMemo)(()=>ce(ue),[ue,ce]),{isSelecting:W,isSelectingRef:fe}=St({unitId:g,subUnitId:_,editorId:V,isFocus:B,disableOnClick:N}),pe=(0,d.useRef)(``),me=(0,l.useDependency)(o.IRenderManagerService).getRenderById(V),he=me==null?void 0:me.with(a.DocSelectionRenderService),ge=he==null?void 0:he.isFocusing,_e=(0,l.useObservable)((0,d.useMemo)(()=>oe.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC),[oe])),ve=(_e==null?void 0:_e.getUnitId())===V,ye=(0,d.useRef)([]),be=W,xe=(c=(u=(0,l.useDependency)(t.IConfigService).getConfig(`sheets-formula-ui.base.config`))==null?void 0:u.functionScreenTips)==null?!0:c;(0,l.useUpdateEffect)(()=>{L(U)},[U,L]);let Se=Dt(`=`),G=Et(g,_),K=(0,l.useEvent)((e,t=!0,n,r)=>{if(!R.current)return;pe.current=e;let i=e[0]===`=`?e.slice(1):``,a=ce(i),o=a.reduce((e,t)=>typeof t==`object`?`${e}${t.token}`:`${e}${t}`,``),s=Se(R.current,o===i?a:[],t,r);if(ye.current=s,n){let e=r==null?z==null?void 0:z.getSelectionRanges():r;if((e==null?void 0:e.length)!==1)return;let t=dt(a,ut(a,e[0].startOffset-1,!1));if(t>=0){let e=s.splice(t,1)[0];e&&s.push(e)}G(B?s:[],R.current)}});(0,d.useEffect)(()=>{B&&K(U,!1,!0)},[B]),(0,d.useEffect)(()=>{if(B){if(pe.current===U)return;K(U,!1,!0)}},[U]),Bt(B,C,U);let q=bt(z),Ce=Mt(B,g,_);(0,d.useEffect)(()=>{var e;ne(W,(e=he==null?void 0:he.isFocusing)==null?!0:e)},[ne,W]),(0,a.useKeyboardEvent)(B,O,z),(0,d.useLayoutEffect)(()=>{let e;return ae.current&&(e=I.register({autofocus:P,editorUnitId:V,initialSnapshot:{id:V,body:{dataStream:`${h}\r\n`,textRuns:[],customBlocks:[],customDecorations:[],customRanges:[]},documentStyle:{}}},ae.current),R.current=I.getEditor(V),K(h,!1,!0)),()=>{e==null||e.dispose()}},[]),(0,d.useLayoutEffect)(()=>{v?(ie(v),q()):(A&&(z==null||z.blur(),Ce()),ie(v))},[v,z,q,Ce,A]);let{checkScrollBar:we}=(0,a.useResize)(z,M,j);jt(B,!!(W&&ve),g,V,ee),At(!!(B&&ge&&E),be,z,k);let Te=(0,l.useEvent)((e,t,n)=>{if(!ge)return;let r=t===-1?void 0:[{startOffset:t+1,endOffset:t+1,collapsed:!0}];K(`=${e}`,!0,n,r),n&&(q(),t!==-1&&setTimeout(()=>{let e={startOffset:t+1,endOffset:t+1},n=z==null?void 0:z.render.with(a.DocBackScrollRenderController);n==null||n.scrollToRange({...e,collapsed:!0})},50),we())});Rt(B&&!!(W&&ve),B,fe,g,_,ye,y,!!be,z,Te),zt(B&&!!(W&&ve),g,y,ie,x,()=>{K(le.current,!1,!0)});let Ee=e=>{if(e){let t=z==null?void 0:z.getSelectionRanges();if(t&&t.length===1){let n=t[0];if(n.collapsed){let t=e.offset;setTimeout(()=>{z==null||z.setSelectionRanges([{startOffset:n.startOffset-t,endOffset:n.endOffset-t}])},30)}}q(),K(`=${e.text}`)}},De=()=>{ie(!0),b(),q()};return(0,f.jsxs)(`div`,{className:w,children:[(0,f.jsx)(`div`,{ref:te,className:(0,p.clsx)(`univer-relative univer-box-border univer-flex univer-size-full univer-items-center univer-justify-around univer-gap-2 univer-rounded-none univer-p-0 univer-ring-1`,{"univer-ring-primary-500":B,"univer-ring-red-500":H}),children:(0,f.jsx)(`div`,{ref:ae,className:`univer-relative univer-size-full`,onMouseUp:De})}),m!==void 0&&(0,f.jsx)(`div`,{className:`univer-my-1 univer-text-xs univer-text-red-500`,children:m}),xe&&z&&ue!==``&&(0,f.jsx)(yt,{editor:z,isFocus:B,formulaText:U,onClose:()=>q()}),xe&&!!z&&(0,f.jsx)(Ut,{isFocus:B,sequenceNodes:de,onSelect:Ee,ref:re,editor:z})]})});function Jt(e,i,a,o){var s;let c=(0,l.useDependency)(r.LexerTreeBuilder),u=Dt(``),f=(0,l.useObservable)(e==null||(s=e.getDocumentDataModel())==null?void 0:s.change$),[p,m]=(0,d.useState)([]),h=(0,l.useDependency)(n.IMarkSelectionService),g=(0,d.useRef)(``),_=(0,l.useDependency)(t.IUniverInstanceService);return(0,d.useEffect)(()=>{if(!e)return;let t=e.getDocumentDataModel().getPlainText();if(g.current===t)return;g.current=t;let n=c.sequenceNodesBuilder(t);m(n==null?[]:n)},[f,e,c]),(0,d.useEffect)(()=>{if(!e)return;if(!i){var n,a;let t=e.getDocumentData();e.setDocumentData({...t,body:{...t.body,dataStream:(n=(a=t.body)==null?void 0:a.dataStream)==null?``:n,textRuns:[]}});return}let s=u(e,p,!1),c=new t.DisposableCollection;return s.forEach(e=>{let n=(0,r.deserializeRangeWithSheet)(e.token),i=_.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET),a=i==null?void 0:i.getActiveSheet();if(!n.sheetName&&o!==(a==null?void 0:a.getSheetId())||n.sheetName&&(a==null?void 0:a.getName())!==n.sheetName)return;let s=new t.ColorKit(e.themeColor).toRgb(),l=h.addShape({range:n.range,style:{stroke:e.themeColor,fill:`rgba(${s.r}, ${s.g}, ${s.b}, 0.1)`,strokeDash:12},primary:null});l&&c.add(()=>h.removeShape(l))}),()=>{c.dispose()}},[e,i,u,h,p]),{sequenceNodes:p}}function Yt(e){let n=(0,l.useDependency)(s.SheetsSelectionsService),{supportAcrossSheet:r=!1,keepSheetReference:i=!1,unitId:a,subUnitId:o,onChange:c}=e,u=(0,l.useDependency)(t.IUniverInstanceService).getUnit(a,t.UniverInstanceType.UNIVER_SHEET),f=(0,l.useEvent)(c),p=(0,l.useEvent)((e,t)=>{let n=u==null?void 0:u.getActiveSheet();if(!n||!r&&n.getSheetId()!==o||!(e!=null&&e.length))return;let s=i?n.getName():n.getSheetId()===o?``:n.getName();f(e.map(e=>({range:e.range,unitId:a,sheetName:s})),t)});(0,d.useEffect)(()=>{let e=new t.DisposableCollection;return e.add(n.selectionMoveStart$.subscribe(e=>{p(e,!0)})),e.add(n.selectionMoving$.subscribe(e=>{p(e,!1)})),e.add(n.selectionMoveEnd$.subscribe(e=>{p(e,!1)})),()=>{e.dispose()}},[p,n.selectionMoveEnd$,n.selectionMoveStart$,n.selectionMoving$])}let Xt=e=>!e.some(e=>{if(typeof e==`string`){if(e!==r.matchToken.COMMA)return!0}else if(e.nodeType!==r.sequenceNodeType.REFERENCE)return!0;return!1}),Zt=e=>{if(e.endColumn<e.startColumn){let t=e.endColumn;e.endColumn=e.startColumn,e.startColumn=t}if(e.endRow<e.startRow){let t=e.endRow;e.endRow=e.startRow,e.startRow=t}return e};function Qt(e){let{visible:n,initialValue:i,unitId:a,subUnitId:o,maxRangeCount:s=1/0,supportAcrossSheet:c,keepSheetReference:u,onConfirm:m,onClose:h,onShowBySelection:g}=e,_=(0,l.useDependency)(t.LocaleService),v=(0,l.useDependency)(r.LexerTreeBuilder),[y,b]=(0,d.useState)([]),[x,S]=(0,d.useState)(0),C=(0,d.useRef)(null);(0,d.useEffect)(()=>{if(n&&i.length){let e=i.map(e=>e.sheetName?(0,r.serializeRangeWithSheet)(e.sheetName,e.range):(0,r.serializeRange)(e.range));b(e),S(e.length-1)}else b([``]),S(0)},[n]);let w=(e,t)=>{let n=[...y];n[e]=t,b(n)},T=()=>{b([...y,``]),S(y.length)},E=e=>{y.splice(e,1),b([...y])};return Yt({unitId:a,subUnitId:o,supportAcrossSheet:c,keepSheetReference:u,onChange:(e,t)=>{if(!n&&g!=null&&g(e))return;let i=new Set(y),a=e.map(e=>e.sheetName?(0,r.serializeRangeWithSheet)(e.sheetName,e.range):(0,r.serializeRange)(e.range)),o=a.filter(e=>!i.has(e));if(!o.length)return;let c=[...y];if(a.length>1){t||c.splice(x,1),c.push(...o);let e=c.slice(0,s);b(e),S(e.length-1),requestAnimationFrame(()=>{var e;(e=C.current)==null||e.scrollTo({top:C.current.scrollHeight})})}else c.splice(x,1,...o),b(c.slice(0,s)),S(x+o.length-1)}}),(0,f.jsx)(p.Dialog,{width:`328px`,open:n,title:_.t(`rangeSelector.title`),draggable:!0,mask:!1,maskClosable:!1,footer:(0,f.jsxs)(`footer`,{className:`univer-flex univer-gap-2`,children:[(0,f.jsx)(p.Button,{onClick:h,children:_.t(`rangeSelector.cancel`)}),(0,f.jsx)(p.Button,{variant:`primary`,onClick:()=>{m(y.filter(e=>{let t=v.sequenceNodesBuilder(e);return t&&t.length===1&&typeof t[0]!=`string`&&t[0].nodeType===r.sequenceNodeType.REFERENCE}).map(e=>(0,r.deserializeRangeWithSheet)(e)).map(e=>({...e,range:Zt(e.range)})))},children:_.t(`rangeSelector.confirm`)})]}),onClose:h,children:(0,f.jsxs)(`div`,{ref:C,className:(0,p.clsx)(`-univer-mx-6 univer-max-h-60 univer-overflow-y-auto univer-px-6`,p.scrollbarClassName),children:[y.map((e,t)=>(0,f.jsxs)(`div`,{className:`univer-mb-2 univer-flex univer-items-center univer-gap-4`,children:[(0,f.jsx)(p.Input,{className:(0,p.clsx)(`univer-w-full`,{"univer-border-primary-600":x===t}),placeholder:_.t(`rangeSelector.placeHolder`),onFocus:()=>S(t),value:e,onChange:e=>w(t,e)}),y.length>1&&(0,f.jsx)(Ye,{className:`univer-cursor-pointer`,onClick:()=>E(t)})]},t)),y.length<s&&(0,f.jsx)(`div`,{children:(0,f.jsxs)(p.Button,{variant:`link`,onClick:T,children:[(0,f.jsx)(Ze,{}),(0,f.jsx)(`span`,{children:_.t(`rangeSelector.addAnotherRange`)})]})})]})})}function $t(e){return e.split(r.matchToken.COMMA).filter(e=>!!e).map(e=>(0,r.deserializeRangeWithSheet)(e))}function en(e){return e.map(e=>e.sheetName?(0,r.serializeRangeWithSheet)(e.sheetName,e.range):(0,r.serializeRange)(e.range)).join(r.matchToken.COMMA)}function tn(e){let[n,r]=(0,d.useState)(null),{onVerify:i,selectorRef:o,unitId:c,subUnitId:u,maxRangeCount:m,supportAcrossSheet:h,keepSheetReference:g,autoFocus:_,onChange:v,onRangeSelectorDialogVisibleChange:y,onClickOutside:b,onFocusChange:x,forceShowDialogWhenSelectionChanged:S,hideEditor:C,resetRange:w}=e,[T,E]=(0,d.useState)(_==null?!1:_),[D,O]=(0,d.useState)(!1),[k,A]=(0,d.useState)([]),j=(0,l.useDependency)(t.LocaleService),M=(0,l.useDependency)(a.IEditorService),{sequenceNodes:N}=Jt(n,T,c,u),P=Z(N),ee=(0,l.useDependency)(t.ICommandService),F=(0,l.useEvent)(()=>{n==null||n.setSelectionRanges([]),n==null||n.blur(),M.blur()}),I=(0,l.useEvent)(()=>{var e,t;F(),A($t((e=n==null||(t=n.getDocumentDataModel())==null?void 0:t.getPlainText())==null?``:e)),O(!0)});return(0,d.useEffect)(()=>{o&&(o.current={get editor(){return n},focus(){M.focus(n.getEditorId())},blur:F,verify:()=>Xt(P.current),showDialog:e=>{F(),A(e),O(!0)},hideDialog:()=>{A([]),O(!1)},getValue:()=>{var e,t;return(e=n==null||(t=n.getDocumentDataModel())==null?void 0:t.getPlainText())==null?``:e}})},[F,n,M,o,P]),(0,d.useEffect)(()=>{var e,t;i==null||i(Xt(N),(e=n==null||(t=n.getDocumentDataModel())==null?void 0:t.getPlainText())==null?``:e)},[N]),(0,d.useEffect)(()=>{y==null||y(D)},[D]),(0,d.useEffect)(()=>{if(D&&w)return()=>{let e={unitId:c,subUnitId:u,selections:w};ee.executeCommand(s.SetSelectionsOperation.id,e)}},[D]),(0,f.jsxs)(f.Fragment,{children:[C?null:(0,f.jsx)(a.RichTextEditor,{isSingle:!0,...e,onFocusChange:(e,t)=>{E(e),x==null||x(e,t)},editorRef:r,onClickOutside:()=>{E(!1),F(),b==null||b()},icon:(0,f.jsx)(p.Tooltip,{title:j.t(`rangeSelector.buttonTooltip`),placement:`bottom`,children:(0,f.jsx)(tt,{className:`univer-cursor-pointer dark:!univer-text-gray-300`,onClick:I})})}),(0,f.jsx)(Qt,{initialValue:k,unitId:c,subUnitId:u,visible:D,maxRangeCount:m,onConfirm:e=>{let r=en(e),i=t.RichTextBuilder.newEmptyData();i.body.dataStream=r,n==null||n.replaceText(r,!1),v==null||v(i,r),O(!1),A([]),requestAnimationFrame(()=>{F()})},onClose:()=>{O(!1),A([])},supportAcrossSheet:h,keepSheetReference:g,onShowBySelection:e=>T||S?(A(e),O(!0),!1):!0})]})}let nn=()=>{var e,t;let n=(0,l.useObservable)((0,l.useDependency)(ct).currentSelector$),i=(0,d.useRef)(null);return(0,d.useEffect)(()=>{if(n){var e,t;return(e=i.current)==null||e.showDialog((t=n.initialValue)==null?[]:t),()=>{var e;(e=i.current)==null||e.hideDialog()}}},[n]),(0,f.jsx)(tn,{unitId:(e=n==null?void 0:n.unitId)==null?``:e,subUnitId:(t=n==null?void 0:n.subUnitId)==null?``:t,hideEditor:!0,selectorRef:i,onChange:(e,t)=>{var i;n==null||n.callback((i=t==null?void 0:t.split(`,`).map(e=>(0,r.deserializeRangeWithSheet)(e)))==null?[]:i)}})},$=class extends t.Plugin{constructor(e=U,n,r,i,a){super(),this._config=e,this._injector=n,this._renderManagerService=r,this._configService=i,this._uiPartsService=a;let{menu:o,...s}=(0,t.merge)(U,this._config);o&&this._configService.setConfig(`menu`,o,{merge:!0}),this._configService.setConfig(ce,s,{merge:!0})}onStarting(){(0,t.registerDependencies)(this._injector,[[w,{useClass:T}],[ct],[ot],[W],[ye],[xe],[H],[st]]),this._initUIPart()}onReady(){[[X]].forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(t.UniverInstanceType.UNIVER_SHEET,e))})}onRendered(){[[de]].forEach(e=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(t.UniverInstanceType.UNIVER_SHEET,e))}),(0,t.touchDependencies)(this._injector,[[ot],[W],[xe],[st]])}onSteady(){this._injector.get(H)}_initUIPart(){let e=this._injector.get(l.ComponentManager);this.disposeWithMe(e.register(n.RANGE_SELECTOR_COMPONENT_KEY,tn)),this.disposeWithMe(e.register(n.EMBEDDING_FORMULA_EDITOR_COMPONENT_KEY,qt)),this.disposeWithMe(this._uiPartsService.registerComponent(l.BuiltInUIPart.GLOBAL,()=>(0,l.connectInjector)(nn,this._injector)))}};b($,`pluginName`,I),b($,`packageName`,oe),b($,`version`,se),b($,`type`,t.UniverInstanceType.UNIVER_SHEET),$=S([(0,t.DependentOn)(c.UniverSheetsFormulaPlugin),x(1,(0,t.Inject)(t.Injector)),x(2,o.IRenderManagerService),x(3,t.IConfigService),x(4,l.IUIPartsService)],$),e.FORMULA_PROMPT_ACTIVATED=C,e.FormulaEditor=qt,Object.defineProperty(e,`FormulaReorderController`,{enumerable:!0,get:function(){return H}}),e.GlobalRangeSelectorService=ct,e.HelpFunctionOperation=E,e.InsertFunctionOperation=D,e.MoreFunctionsOperation=L,e.RangeSelector=tn,Object.defineProperty(e,`RefSelectionsRenderService`,{enumerable:!0,get:function(){return X}}),e.ReferenceAbsoluteOperation=ae,e.SearchFunctionOperation=V,e.SheetCopyFormulaOnlyCommand=h,e.SheetOnlyPasteFormulaCommand=g,Object.defineProperty(e,`UniverSheetsFormulaUIPlugin`,{enumerable:!0,get:function(){return $}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/sheets-formula-ui",
3
- "version": "0.18.0",
3
+ "version": "0.19.0",
4
4
  "private": false,
5
5
  "author": "DreamNum <developer@univer.ai>",
6
6
  "license": "Apache-2.0",
@@ -64,25 +64,25 @@
64
64
  },
65
65
  "dependencies": {
66
66
  "@univerjs/icons": "^1.1.1",
67
- "@univerjs/core": "0.18.0",
68
- "@univerjs/design": "0.18.0",
69
- "@univerjs/docs-ui": "0.18.0",
70
- "@univerjs/docs": "0.18.0",
71
- "@univerjs/engine-render": "0.18.0",
72
- "@univerjs/sheets": "0.18.0",
73
- "@univerjs/engine-formula": "0.18.0",
74
- "@univerjs/sheets-formula": "0.18.0",
75
- "@univerjs/sheets-ui": "0.18.0",
76
- "@univerjs/ui": "0.18.0"
67
+ "@univerjs/core": "0.19.0",
68
+ "@univerjs/design": "0.19.0",
69
+ "@univerjs/docs": "0.19.0",
70
+ "@univerjs/docs-ui": "0.19.0",
71
+ "@univerjs/engine-formula": "0.19.0",
72
+ "@univerjs/engine-render": "0.19.0",
73
+ "@univerjs/sheets": "0.19.0",
74
+ "@univerjs/sheets-ui": "0.19.0",
75
+ "@univerjs/ui": "0.19.0",
76
+ "@univerjs/sheets-formula": "0.19.0"
77
77
  },
78
78
  "devDependencies": {
79
79
  "postcss": "^8.5.8",
80
80
  "react": "18.3.1",
81
81
  "rxjs": "^7.8.2",
82
82
  "tailwindcss": "3.4.18",
83
- "typescript": "^5.9.3",
84
- "vitest": "^4.1.0",
85
- "@univerjs-infra/shared": "0.18.0"
83
+ "typescript": "^6.0.2",
84
+ "vitest": "^4.1.1",
85
+ "@univerjs-infra/shared": "0.19.0"
86
86
  },
87
87
  "scripts": {
88
88
  "test": "vitest run",