@univerjs/sheets-formula-ui 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -999,7 +999,7 @@ const menuSchema = {
999
999
  //#endregion
1000
1000
  //#region package.json
1001
1001
  var name = "@univerjs/sheets-formula-ui";
1002
- var version = "1.0.1";
1002
+ var version = "1.0.2";
1003
1003
 
1004
1004
  //#endregion
1005
1005
  //#region src/config/config.ts
package/lib/es/index.js CHANGED
@@ -998,7 +998,7 @@ const menuSchema = {
998
998
  //#endregion
999
999
  //#region package.json
1000
1000
  var name = "@univerjs/sheets-formula-ui";
1001
- var version = "1.0.1";
1001
+ var version = "1.0.2";
1002
1002
 
1003
1003
  //#endregion
1004
1004
  //#region src/config/config.ts
package/lib/index.js CHANGED
@@ -998,7 +998,7 @@ const menuSchema = {
998
998
  //#endregion
999
999
  //#region package.json
1000
1000
  var name = "@univerjs/sheets-formula-ui";
1001
- var version = "1.0.1";
1001
+ var version = "1.0.2";
1002
1002
 
1003
1003
  //#endregion
1004
1004
  //#region src/config/config.ts
package/lib/umd/index.js CHANGED
@@ -1,4 +1,4 @@
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("@univerjs/design"),require("rxjs/operators"),require("react/jsx-runtime"),require("react-dom")):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`,`@univerjs/design`,`rxjs/operators`,`react/jsx-runtime`,`react-dom`],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.UniverDesign,e.rxjs.operators,e.React,e.ReactDOM))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let g={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})},_={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 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)&&F(g,d[0].range))){let{range:e,primary:t}=d[0],n=(t==null?void 0:t.actualRow)??e.startRow,i=(t==null?void 0:t.actualColumn)??e.startColumn;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(F(g,t)){let e=(n==null?void 0:n.actualRow)??t.startRow,i=(n==null?void 0:n.actualColumn)??t.startColumn,a=k(g,e,i);if(!a)return x=t,S=e,C=i,!0;let o=(0,r.serializeRange)(a),s=`=${_}(${o})`;y.push({range:t,primary:{row:e,column:i},formula:s})}else{let{startRow:e,startColumn:n,endRow:i,endColumn:a}=t;if(e===i){let o=I(g,e,a,p.getColumnCount()-1),s=o===a?a-1:a,c=(0,r.serializeRange)({startRow:e,endRow:i,startColumn:n,endColumn:s}),l=`=${_}(${c})`;b.push({range:t,primary:{row:e,column:o},formula:l})}else{let o=-1;for(let e=n;e<=a;e++){let t=L(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}),a=`=${_}(${n})`;b.push({range:t,primary:{row:o,column:i},formula:a})}}}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,i=r.substring(r.length-2,r.length)===t.DEFAULT_EMPTY_DOCUMENT_VALUE?r.substring(0,r.length-2):r;return(0,t.isRealNum)(i)}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 F(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 I(e,t,n,r){for(let i=n;i<=r;i++)if(!e.getValue(t,i))return i;return r}function L(e,t,n,r){for(let i=n;i<=r;i++)if(!e.getValue(i,t))return i;return r}let R=`SHEET_FORMULA_UI_PLUGIN`,z=`${R}_MORE_FUNCTIONS_COMPONENT`,ee={id:`formula-ui.operation.more-functions`,type:t.CommandType.OPERATION,handler:async e=>(e.get(l.ISidebarService).open({header:{title:`sheets-formula-ui.insert.tooltip`},children:{label:z}}),!0)},B=/^\$?[A-Za-z]+\$?\d+$/;function te(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=ne(s,o-s.startIndex);if(c==null||c.token===s.token)return null;let l=i.map(e=>e===s?{...e,token:c.token,endIndex:e.startIndex+c.token.length-1}:e);return{formulaText:`=${(0,r.generateStringWithSequence)(l)}`,cursorOffset:ie(a,s.startIndex+1,s.endIndex+2,c.token.length,c)}}function ne(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=>!B.test(e)))return null;let l=s.length===2,u=l?re(e.token,o,n):`start`,d={...a};if(u===`start`||u===`both`){let e=V((0,r.getAbsoluteRefTypeWithSingleString)(s[0]));d.startAbsoluteRefType=e,l||(d.endAbsoluteRefType=e)}(u===`end`||u===`both`)&&(d.endAbsoluteRefType=V((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 re(e,t,n){let r=e.length-t.length+t.indexOf(`:`);return n===r||n===r+1?`both`:n<r?`start`:`end`}function V(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 H={id:`formula-ui.operation.change-ref-to-absolute`,type:t.CommandType.OPERATION,handler:async e=>{var n;let i=e.get(a.IEditorService),o=e.get(u.DocSelectionManagerService),s=e.get(r.LexerTreeBuilder),c=i.getFocusEditor();if(!c)return!1;let l=c.getEditorId();if(l!==t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&l!==t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)return!1;let d=o.getActiveTextRange();if(!d)return!1;let f=te(s,t.BuildTextUtils.transform.getPlainText(((n=c.getDocumentData().body)==null?void 0:n.dataStream)??``),d.endOffset);return f?(c.replaceText(f.formulaText,[{startOffset:f.cursorOffset,endOffset:f.cursorOffset,collapsed:!0}]),!0):!1}},ae={id:`formula-ui.operation.search-function`,type:t.CommandType.OPERATION,handler:async(e,t)=>(e.get(T).search(t),!0)};function oe(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(`gray.0`)}}let U=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.getUnit(i,t.UniverInstanceType.UNIVER_SHEET),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}}};U=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))],U);function W(e){let n=[`SUMIF`,`SUM`,`AVERAGE`,`IF`,`COUNT`,`SIN`,`MAX`],i=n.map(e=>({label:{name:e,selectable:!1},value:e}));try{let t=e.get(r.IDescriptionService),a=n.filter(e=>!!t.getFunctionInfo(e));a.length>0&&(i=a.map(e=>({label:{name:e,selectable:!1},value:e})))}catch{}return{id:`${O.id}.common`,commandId:O.id,title:`sheets-formula-ui.insert.common`,tooltip:`sheets-formula-ui.insert.tooltip`,icon:`FunctionIcon`,type:l.MenuItemType.SELECTOR,selections:i,hidden$:(0,l.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET)}}function G(e,n,i){return function(a){let o=[];try{o=a.get(r.IDescriptionService).getSearchListByType(e).map(({name:e})=>({label:{name:e,selectable:!1},value:e}))}catch{o=[]}let s=`sheets-formula-ui.functionType.${n}`;return{id:`${O.id}.${n}`,commandId:O.id,title:s,tooltip:s,icon:i,type:l.MenuItemType.SELECTOR,selections:o,hidden$:(0,l.getMenuHiddenObservable)(a,t.UniverInstanceType.UNIVER_SHEET)}}}let K=G(r.FunctionType.Financial,`financial`,`FinancialFunctionIcon`),se=G(r.FunctionType.Logical,`logical`,`LogicalFunctionIcon`),q=G(r.FunctionType.Text,`text`,`TextFunctionIcon`),J=G(r.FunctionType.Date,`date`,`DateFunctionIcon`),ce=G(r.FunctionType.Lookup,`lookup`,`LookupFunctionIcon`),le=G(r.FunctionType.Math,`math`,`MathFunctionIcon`),Y=G(r.FunctionType.Statistical,`statistical`,`StatisticalFunctionIcon`),ue=G(r.FunctionType.Engineering,`engineering`,`EngineeringFunctionIcon`),X=G(r.FunctionType.Information,`information`,`InformationFunctionIcon`),de=G(r.FunctionType.Database,`database`,`DatabaseFunctionIcon`);function fe(e){return{id:ee.id,title:`sheets-formula-ui.moreFunctions.allFunctions`,tooltip:`sheets-formula-ui.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 pe(e){return{id:g.id,type:l.MenuItemType.BUTTON,title:`sheets-formula-ui.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:_.id,type:l.MenuItemType.BUTTON,title:`sheets-formula-ui.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 he={[l.RibbonFormulasGroup.BASIC]:{[`${O.id}.common`]:{order:0,gridLayout:{row:1,column:1,rowSpan:2,showLabel:!1},menuItemFactory:W,[ee.id]:{order:0,menuItemFactory:fe}},[`${O.id}.financial`]:{order:1,menuItemFactory:K},[`${O.id}.logical`]:{order:2,menuItemFactory:se},[`${O.id}.text`]:{order:3,menuItemFactory:q},[`${O.id}.date`]:{order:4,menuItemFactory:J},[`${O.id}.lookup`]:{order:5,menuItemFactory:ce},[`${O.id}.math`]:{order:6,menuItemFactory:le},[`${O.id}.statistical`]:{order:7,menuItemFactory:Y},[`${O.id}.engineering`]:{order:8,menuItemFactory:ue},[`${O.id}.information`]:{order:9,menuItemFactory:X},[`${O.id}.database`]:{order:10,menuItemFactory:de}},[n.COPY_SPECIAL_MENU_ID]:{[g.id]:{order:0,menuItemFactory:pe}},[n.PASTE_SPECIAL_MENU_ID]:{[_.id]:{order:4,menuItemFactory:me}}};var ge=`@univerjs/sheets-formula-ui`,_e=`1.0.1`;let ve=`sheets-formula-ui.base.config`,ye={},Z=`SHEET_FORMULA_ALERT`,be={[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`},xe=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._context=e,this._hoverManagerService=t,this._cellAlertManagerService=n,this._localeService=r,this._formulaDataModel=i,this._init()}_init(){this._initCellAlertPopup()}_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(Z),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(`sheets-formula-ui.error.title`),message:this._localeService.t(`sheets-formula-ui.error.${be[t]}`),location:e.location,width:200,height:74,key:Z});return}}this._hideAlert()}))}_hideAlert(){this._cellAlertManagerService.removeAlert(Z)}};xe=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))],xe);let Se=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,ft:u.ft,fd:u.fd}),l.setValue(a,o,{...(0,t.getEmptyCell)(),f:s,ft:u.ft,fd:u.fd,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=>Ce(c,l,u,d,t,f,this._lexerTreeBuilder,this._formulaDataModel,a,e))}};Se=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))],Se);function Ce(e,r,i,a,o,c,l,u,d=!1,f){var p;let m=[],h=[],g=we(e,r,i,a,c,l,u,f);if(!g.hasValue())return{undos:[],redos:[]};let _=(p=o.get(t.IUniverInstanceService).getUnit(e))==null?void 0:p.getSheetBySheetId(r);a.forValue((e,r,a)=>{let o=i.rows[e],s=i.cols[r],l=g.getValue(o,s);if(!l)return;let u=_==null?void 0:_.getCellRaw(o,s),d=f&&c.pasteType!==n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_VALUE&&((0,t.isFormulaString)(l.f)||(0,t.isFormulaId)(l.si));(a.ft!=null||a.fd!=null||(u==null?void 0:u.ft)!=null||(u==null?void 0:u.fd)!=null)&&(l.ft=d?a.ft??null:null,l.fd=d?a.fd??null:null)});let v={unitId:e,subUnitId:r,cellValue:g.clone()};m.push({id:s.SetRangeValuesMutation.id,params:v});let y=(0,s.SetRangeValuesUndoMutationFactory)(o,v);return h.push({id:s.SetRangeValuesMutation.id,params:y}),{undos:h,redos:m}}function we(e,t,r,i,a,o,s,c){return c?a.pasteType===n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_VALUE?Ee(e,t,r,i,s,c):a.pasteType===n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMULA?De(e,t,r,i,o,s,c):Oe(e,t,r,i,a.copyType,o,s,c):Te(e,t,r,i,s)}function Te(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 Ee(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=ke(i);e&&(h.v=e)}c.setValue(p,m,h)}}),c}function De(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=ke(d);e&&(m.v=e)}c.setValue(f,p,m)}}),c}function Oe(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 ke(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 Ae=class extends t.Disposable{constructor(e,t,n,r,i,a,o,s,c,l){super(),this._context=e,this._sheetInterceptorService=t,this._sheetSkeletonService=n,this._formulaDataModel=r,this._themeService=i,this._renderManagerService=a,this._sheetSkeletonManagerService=o,this._commandService=s,this._logService=c,this._editorBridgeService=l,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)=>{var n;if((e.id===r.SetFormulaCalculationResultMutation.id||e.id===r.SetArrayFormulaDataMutation.id&&t&&t.remove)&&this._removeArrayFormulaRangeShape(),e.id!==s.SetRangeValuesMutation.id||(t==null?void 0:t.applyFormulaCalculationResult)!==!0||e.params==null)return;let i=e.params,a=this._editorBridgeService.getEditLocation();if(a==null||i.unitId!==this._context.unitId||i.unitId!==a.unitId||i.subUnitId!==a.sheetId||this._editorBridgeService.isVisible().visible)return;let{row:o,column:c,isInArrayFormulaRange:l}=a,u=this._formulaDataModel.getArrayFormulaCellData(),d=(u==null||(n=u[i.unitId])==null||(n=n[i.subUnitId])==null||(n=n[o])==null?void 0:n[c])!=null;(l===!0||d)&&this._editorBridgeService.refreshEditCellState()})),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){let l=c;return new t.ObjectMatrix(e).forValue((e,t,c)=>{if(c==null)return!0;let{startRow:u,startColumn:d,endRow:f,endColumn:p}=c;if(e===n&&t===i)return this._createArrayFormulaRangeShape(c,a,o),!1;if(n>=u&&n<=f&&i>=d&&i<=p){let e=s.getCell(u,d);return(e==null?void 0:e.v)===r.ErrorType.SPILL||(e==null?void 0:e.f)==null?void 0:(l??={f:e.f,isInArrayFormulaRange:!0},this._createArrayFormulaRangeShape(c,a,o),!1)}}),l}_createArrayFormulaRangeShape(e,r,i){let a=this._renderManagerService.getRenderUnitById(r),o=this._sheetSkeletonService.getSkeleton(r,i);if(!a||!o)return;let{scene:c}=a;if(!c)return;let l={range:e,primary:null,style:{strokeWidth:1,stroke:this._themeService.getColorFromTheme(`primary.600`),fill:new t.ColorKit(this._themeService.getColorFromTheme(`gray.0`)).setAlpha(0).toString(),widgets:{}}},u=(0,s.attachSelectionWithCoord)(l,o),{rowHeaderWidth:d,columnHeaderHeight:f}=o,p=new n.SelectionControl(c,n.SELECTION_SHAPE_DEPTH.FORMULA_EDITOR_SHOW,this._themeService,{highlightHeader:!1,rowHeaderWidth:d,columnHeaderHeight:f});p.updateRangeBySelectionWithCoord(u),p.setEvent(!1),this._previousShape=p}_removeArrayFormulaRangeShape(){this._previousShape!=null&&(this._previousShape.dispose(),this._previousShape=null)}_refreshArrayFormulaRangeShape(e,t){if(this._previousShape){let{startRow:n,endRow:r,startColumn:i,endColumn:a}=this._previousShape.getRange(),o={startRow:n,endRow:r,startColumn:i,endColumn:a};this._removeArrayFormulaRangeShape(),this._createArrayFormulaRangeShape(o,e,t)}}_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,t)}_refreshArrayFormulaRangeShapeByRow(e,t,n){if(!this._checkCurrentSheet(e,t)||!this._previousShape)return;let{startRow:r}=this._previousShape.getRange();for(let i=0;i<n.length;i++){let{row:a}=n[i];if(r>=a){this._refreshArrayFormulaRangeShape(e,t);break}}}};Ae=C([S(1,(0,t.Inject)(s.SheetInterceptorService)),S(2,(0,t.Inject)(s.SheetSkeletonService)),S(3,(0,t.Inject)(r.FormulaDataModel)),S(4,(0,t.Inject)(t.ThemeService)),S(5,o.IRenderManagerService),S(6,(0,t.Inject)(n.SheetSkeletonManagerService)),S(7,t.ICommandService),S(8,t.ILogService),S(9,n.IEditorBridgeService)],Ae);let je={tl:{size:6,color:`#409f11`}},Me=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,...je},n(e))},priority:10}))}};Me=C([S(0,(0,t.Inject)(s.SheetInterceptorService)),S(1,(0,t.Inject)(r.FormulaDataModel))],Me);let Q=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.getRenderUnitById(e.getUnitId());if(!r)return;r.with(n.SheetSkeletonManagerService).reCalculate();let i=r.mainComponent;i&&i.makeDirty()})}};Q=C([S(0,(0,t.Inject)(c.ImageFormulaCellInterceptorController)),S(1,o.IRenderManagerService),S(2,t.IUniverInstanceService)],Q);function $({ref:e,...t}){let{preserveStrokeWidth:n,icon:r,id:i,className:a,extend:o,...s}=t,c=`univerjs-icon univerjs-icon-${i} ${a||``}`.trim(),l=`_${(0,d.useId)()}`,u=(0,d.useRef)(null);return(0,d.useImperativeHandle)(e,()=>u.current),(0,d.useLayoutEffect)(()=>{if(n&&u.current&&u.current.localName===r.tag)return Ie(u.current)},[n,r]),Ne(r,`${i}`,{defIds:r.defIds,idSuffix:l},{ref:u,className:c,...s},o)}function Ne(e,t,n,r,i){return(0,d.createElement)(e.tag,{key:t,...Pe(e,n,i),...r},(Fe(e,n).children||[]).map((r,a)=>Ne(r,`${t}-${e.tag}-${a}`,n,void 0,i)))}function Pe(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),n!=null&&n.colorChannel1&&r.stroke===`colorChannel1`&&(r.stroke=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 Fe(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 Ie(e){let t=e.viewBox.baseVal,n=Math.max(t.width,t.height);if(!Number.isFinite(n)||n<=0||t.width<=0||t.height<=0)return()=>void 0;let r=16/n,i=Array.from(e.querySelectorAll(`circle, ellipse, line, path, polygon, polyline, rect, text, textPath, tspan, use`)).flatMap(e=>{let t=getComputedStyle(e),n=Number.parseFloat(t.strokeWidth);return t.stroke===`none`||Number.parseFloat(t.strokeOpacity)===0||t.vectorEffect===`non-scaling-stroke`||!Number.isFinite(n)||n<=0?[]:[{element:e,hadStyleAttribute:e.hasAttribute(`style`),originalStrokeWidth:n,strokeWidth:Le(e.style,`stroke-width`)}]}).map(e=>({appliedStrokeWidth:null,element:e.element,hadStyleAttribute:e.hadStyleAttribute,isReleased:!1,originalStrokeWidth:e.originalStrokeWidth,strokeWidth:e.strokeWidth}));if(i.length===0)return()=>void 0;let a=(e,n)=>{if(t.width<=0||t.height<=0||e<=0||n<=0)return;let a=Math.min(e/t.width,n/t.height);!Number.isFinite(a)||a<=0||i.forEach(e=>{if(e.isReleased)return;if(e.appliedStrokeWidth!==null&&(e.element.style.getPropertyValue(`stroke-width`)!==e.appliedStrokeWidth||e.element.style.getPropertyPriority(`stroke-width`)!==e.strokeWidth.priority)){e.appliedStrokeWidth=null,e.isReleased=!0;return}let t=e.originalStrokeWidth*r/a,n=`${Number(t.toFixed(12))}px`;e.element.style.setProperty(`stroke-width`,n,e.strokeWidth.priority),e.appliedStrokeWidth=n})},o=e.getBoundingClientRect();a(o.width,o.height);let s=typeof ResizeObserver>`u`?null:new ResizeObserver(t=>{if(t.some(t=>t.target===e)){let t=e.getBoundingClientRect();a(t.width,t.height)}});return s==null||s.observe(e),()=>{s==null||s.disconnect(),i.forEach(e=>{e.appliedStrokeWidth!==null&&(Re(e.element.style,`stroke-width`,e.appliedStrokeWidth,e.strokeWidth.priority,e.strokeWidth),!e.hadStyleAttribute&&e.element.style.length===0&&e.element.removeAttribute(`style`))})}}function Le(e,t){return{priority:e.getPropertyPriority(t),value:e.getPropertyValue(t)}}function Re(e,t,n,r,i){e.getPropertyValue(t)===n&&e.getPropertyPriority(t)===r&&(i.value?e.setProperty(t,i.value,i.priority):e.removeProperty(t))}$.displayName=`UniverIcon`;let ze={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`}}]},Be=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`check-mark-icon`,ref:t,icon:ze}))});Be.displayName=`CheckMarkIcon`;let Ve={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`}}]},He=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`close-icon`,ref:t,icon:Ve}))});He.displayName=`CloseIcon`;let Ue={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11M5.4 5.1C5.4 4.55 6.55 4.1 8 4.1C9.45 4.1 10.6 4.55 10.6 5.1C10.6 5.65 9.45 6.1 8 6.1C6.55 6.1 5.4 5.65 5.4 5.1ZM5.4 5.1V8.9C5.4 9.45 6.55 9.9 8 9.9C9.45 9.9 10.6 9.45 10.6 8.9V5.1M5.4 7C5.4 7.55 6.55 8 8 8C9.45 8 10.6 7.55 10.6 7`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},We=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`database-function-icon`,ref:t,icon:Ue}))});We.displayName=`DatabaseFunctionIcon`;let Ge={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11`,strokeLinecap:`round`,strokeWidth:1.2}},{tag:`circle`,attrs:{cx:8,cy:7.1,r:2.65,stroke:`currentColor`,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M8 5.5V7.35L9.25 8.2`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},Ke=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`date-function-icon`,ref:t,icon:Ge}))});Ke.displayName=`DateFunctionIcon`;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.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`}}]},Je=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`delete-icon`,ref:t,icon:qe}))});Je.displayName=`DeleteIcon`;let Ye={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11M5.4 9.8L10.5 4.7V9.8H5.4ZM7.1 9.5V8.3M8.4 9.5V7`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},Xe=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`engineering-function-icon`,ref:t,icon:Ye}))});Xe.displayName=`EngineeringFunctionIcon`;let Ze={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11M8 3.9V10M9.7 5.1C9.25 4.72 8.65 4.52 8 4.52C6.98 4.52 6.32 4.95 6.32 5.6C6.32 7.28 9.8 6.3 9.8 7.98C9.8 8.7 9.1 9.18 8 9.18C7.27 9.18 6.58 8.98 6.02 8.6`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},Qe=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`financial-function-icon`,ref:t,icon:Ze}))});Qe.displayName=`FinancialFunctionIcon`;let $e={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:{stroke:`currentColor`,d:`M12.8325 3.00753L12.2725 2.44328C11.9909 2.15966 11.6076 1.9999 11.2079 1.9999H4.08689C3.55342 1.9999 3.28522 2.64412 3.66105 3.02295L7.78136 7.17471C8.25623 7.65323 8.25623 8.43812 7.78136 8.91664L3.66105 13.0684C3.28522 13.4473 3.55342 14.0915 4.08689 14.0915H11.2079C11.6076 14.0915 11.9909 13.9317 12.2725 13.648L12.8325 13.0838`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},et=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`function-icon`,ref:t,icon:$e}))});et.displayName=`FunctionIcon`;let tt={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`}}]},nt=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`increase-icon`,ref:t,icon:tt}))});nt.displayName=`IncreaseIcon`;let rt={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11M8 6.5V9.5M8 4.7H8.01`,strokeLinecap:`round`,strokeWidth:1.2}}]},it=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`information-function-icon`,ref:t,icon:rt}))});it.displayName=`InformationFunctionIcon`;let at={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11M6.35 5.45C6.35 4.4 7.05 3.78 8.05 3.78C9.05 3.78 9.75 4.4 9.75 5.3C9.75 6.08 9.28 6.48 8.68 6.88C8.2 7.2 8 7.6 8 8.18M8 9.75H8.01`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},ot=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`logical-function-icon`,ref:t,icon:at}))});ot.displayName=`LogicalFunctionIcon`;let st={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11`,strokeLinecap:`round`,strokeWidth:1.2}},{tag:`circle`,attrs:{cx:7.35,cy:6.8,r:2.25,stroke:`currentColor`,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M9 8.45L10.65 10.1`,strokeLinecap:`round`,strokeWidth:1.2}}]},ct=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`lookup-function-icon`,ref:t,icon:st}))});ct.displayName=`LookupFunctionIcon`;let lt={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11M5.1 7.6H6.1L7 9.7L8.35 4.9H10.9`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},ut=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`math-function-icon`,ref:t,icon:lt}))});ut.displayName=`MathFunctionIcon`;let dt={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:`M6.14645 4.64645C6.34171 4.45118 6.65829 4.45118 6.85355 4.64645L9.85355 7.64645C10.0488 7.84171 10.0488 8.15829 9.85355 8.35355L6.85355 11.3536C6.65829 11.5488 6.34171 11.5488 6.14645 11.3536C5.95118 11.1583 5.95118 10.8417 6.14645 10.6464L8.79289 8L6.14645 5.35355C5.95118 5.15829 5.95118 4.84171 6.14645 4.64645Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},ft=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`more-right-icon`,ref:t,icon:dt}))});ft.displayName=`MoreRightIcon`;let pt={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`}}]},mt=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`select-range-icon`,ref:t,icon:pt}))});mt.displayName=`SelectRangeIcon`;let ht={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11M5.5 9.7V7.8M8 9.7V5M10.5 9.7V6.5M5 9.7H11`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},gt=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`statistical-function-icon`,ref:t,icon:ht}))});gt.displayName=`StatisticalFunctionIcon`;let _t={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11M5.3 4.4H10.7M8 4.4V9.6M6.6 9.6H9.4`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},vt=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`text-function-icon`,ref:t,icon:_t}))});vt.displayName=`TextFunctionIcon`;let yt=`data-embed-id`,bt=(0,t.createIdentifier)(`sheets-formula-ui.embed-runtime-focus-coordinator`),xt=(0,t.createIdentifier)(`sheets-formula-ui.embed-interaction-boundary.service`);function St(e){let n=e.ownerDocument??(typeof document>`u`?void 0:document);if(!n)return(0,t.toDisposable)(()=>{});let r=new t.DisposableCollection,i=n.defaultView,a=[],o,s,c=null,l=!1,u=()=>{if(l)return;let t=Ct(e.editorId,n);t!==c&&(s==null||s.dispose(),s=void 0,c=null,t&&(c=t,s=wt(e,n,t)))},d=e=>{if(e<=0||!(i!=null&&i.requestAnimationFrame))return;let t=i.requestAnimationFrame(()=>{let n=a.indexOf(t);n>=0&&a.splice(n,1),u(),c||d(e-1)});a.push(t)};return u(),c||d(2),i!=null&&i.MutationObserver&&n.body&&(o=new i.MutationObserver(()=>u()),o.observe(n.body,{childList:!0,subtree:!0})),r.add((0,t.toDisposable)(()=>{l=!0,a.forEach(e=>{var t;return i==null||(t=i.cancelAnimationFrame)==null?void 0:t.call(i,e)}),a.length=0,o==null||o.disconnect(),o=void 0,s==null||s.dispose(),s=void 0,c=null})),r}function Ct(e,t){return t.getElementById(`univer-doc-selection-container-${e}`)??t.getElementById(`__editor_${e}`)}function wt(e,n,r){let i=new t.DisposableCollection,a=n.getElementById(`__editor_${e.editorId}`);return(a&&a!==r?[r,a]:[r]).forEach(t=>{e.interactionBoundaryService&&i.add(e.interactionBoundaryService.registerOwnedElement(e.embedId,t)),e.focusCoordinator&&i.add(e.focusCoordinator.registerElement({embedId:e.embedId,role:`child-editor`,element:t}))}),i}function Tt(e){let t=e==null?void 0:e.closest(`[${yt}]`),n=t==null?void 0:t.getAttribute(yt);if(t&&n)return{embedId:n,hostUnitId:t.getAttribute(`data-embed-host-unit-id`)??void 0,childUnitId:t.getAttribute(`data-embed-child-unit-id`)??void 0}}function Et(e){let t=e==null?void 0:e.activeElement;return t instanceof HTMLElement?Tt(t):void 0}function Dt(e,t){let n=Ot(e);return!!(n&&n===Ot(t))}function Ot(e){var t;if(e instanceof Element)return((t=e.closest(`[data-embed-interaction-boundary-owner]`))==null?void 0:t.getAttribute(`data-embed-interaction-boundary-owner`))??void 0}function kt(e,n,r){if(!n||(e.focus(n.getEditorId()),At(n),n.docSelectionRenderService.isOnPointerEvent))return;let i=[...n.getSelectionRanges()];if(t.Tools.isDefine(r))n.setSelectionRanges([{startOffset:r,endOffset:r}]);else if(i.length)n.setSelectionRanges(i);else{var a;let e=((a=n.getDocumentData().body)==null?void 0:a.dataStream)??`\r
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("@univerjs/design"),require("rxjs/operators"),require("react/jsx-runtime"),require("react-dom")):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`,`@univerjs/design`,`rxjs/operators`,`react/jsx-runtime`,`react-dom`],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.UniverDesign,e.rxjs.operators,e.React,e.ReactDOM))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let g={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})},_={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 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)&&F(g,d[0].range))){let{range:e,primary:t}=d[0],n=(t==null?void 0:t.actualRow)??e.startRow,i=(t==null?void 0:t.actualColumn)??e.startColumn;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(F(g,t)){let e=(n==null?void 0:n.actualRow)??t.startRow,i=(n==null?void 0:n.actualColumn)??t.startColumn,a=k(g,e,i);if(!a)return x=t,S=e,C=i,!0;let o=(0,r.serializeRange)(a),s=`=${_}(${o})`;y.push({range:t,primary:{row:e,column:i},formula:s})}else{let{startRow:e,startColumn:n,endRow:i,endColumn:a}=t;if(e===i){let o=I(g,e,a,p.getColumnCount()-1),s=o===a?a-1:a,c=(0,r.serializeRange)({startRow:e,endRow:i,startColumn:n,endColumn:s}),l=`=${_}(${c})`;b.push({range:t,primary:{row:e,column:o},formula:l})}else{let o=-1;for(let e=n;e<=a;e++){let t=L(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}),a=`=${_}(${n})`;b.push({range:t,primary:{row:o,column:i},formula:a})}}}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,i=r.substring(r.length-2,r.length)===t.DEFAULT_EMPTY_DOCUMENT_VALUE?r.substring(0,r.length-2):r;return(0,t.isRealNum)(i)}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 F(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 I(e,t,n,r){for(let i=n;i<=r;i++)if(!e.getValue(t,i))return i;return r}function L(e,t,n,r){for(let i=n;i<=r;i++)if(!e.getValue(i,t))return i;return r}let R=`SHEET_FORMULA_UI_PLUGIN`,z=`${R}_MORE_FUNCTIONS_COMPONENT`,ee={id:`formula-ui.operation.more-functions`,type:t.CommandType.OPERATION,handler:async e=>(e.get(l.ISidebarService).open({header:{title:`sheets-formula-ui.insert.tooltip`},children:{label:z}}),!0)},B=/^\$?[A-Za-z]+\$?\d+$/;function te(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=ne(s,o-s.startIndex);if(c==null||c.token===s.token)return null;let l=i.map(e=>e===s?{...e,token:c.token,endIndex:e.startIndex+c.token.length-1}:e);return{formulaText:`=${(0,r.generateStringWithSequence)(l)}`,cursorOffset:ie(a,s.startIndex+1,s.endIndex+2,c.token.length,c)}}function ne(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=>!B.test(e)))return null;let l=s.length===2,u=l?re(e.token,o,n):`start`,d={...a};if(u===`start`||u===`both`){let e=V((0,r.getAbsoluteRefTypeWithSingleString)(s[0]));d.startAbsoluteRefType=e,l||(d.endAbsoluteRefType=e)}(u===`end`||u===`both`)&&(d.endAbsoluteRefType=V((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 re(e,t,n){let r=e.length-t.length+t.indexOf(`:`);return n===r||n===r+1?`both`:n<r?`start`:`end`}function V(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 H={id:`formula-ui.operation.change-ref-to-absolute`,type:t.CommandType.OPERATION,handler:async e=>{var n;let i=e.get(a.IEditorService),o=e.get(u.DocSelectionManagerService),s=e.get(r.LexerTreeBuilder),c=i.getFocusEditor();if(!c)return!1;let l=c.getEditorId();if(l!==t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&l!==t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)return!1;let d=o.getActiveTextRange();if(!d)return!1;let f=te(s,t.BuildTextUtils.transform.getPlainText(((n=c.getDocumentData().body)==null?void 0:n.dataStream)??``),d.endOffset);return f?(c.replaceText(f.formulaText,[{startOffset:f.cursorOffset,endOffset:f.cursorOffset,collapsed:!0}]),!0):!1}},ae={id:`formula-ui.operation.search-function`,type:t.CommandType.OPERATION,handler:async(e,t)=>(e.get(T).search(t),!0)};function oe(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(`gray.0`)}}let U=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.getUnit(i,t.UniverInstanceType.UNIVER_SHEET),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}}};U=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))],U);function W(e){let n=[`SUMIF`,`SUM`,`AVERAGE`,`IF`,`COUNT`,`SIN`,`MAX`],i=n.map(e=>({label:{name:e,selectable:!1},value:e}));try{let t=e.get(r.IDescriptionService),a=n.filter(e=>!!t.getFunctionInfo(e));a.length>0&&(i=a.map(e=>({label:{name:e,selectable:!1},value:e})))}catch{}return{id:`${O.id}.common`,commandId:O.id,title:`sheets-formula-ui.insert.common`,tooltip:`sheets-formula-ui.insert.tooltip`,icon:`FunctionIcon`,type:l.MenuItemType.SELECTOR,selections:i,hidden$:(0,l.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_SHEET)}}function G(e,n,i){return function(a){let o=[];try{o=a.get(r.IDescriptionService).getSearchListByType(e).map(({name:e})=>({label:{name:e,selectable:!1},value:e}))}catch{o=[]}let s=`sheets-formula-ui.functionType.${n}`;return{id:`${O.id}.${n}`,commandId:O.id,title:s,tooltip:s,icon:i,type:l.MenuItemType.SELECTOR,selections:o,hidden$:(0,l.getMenuHiddenObservable)(a,t.UniverInstanceType.UNIVER_SHEET)}}}let K=G(r.FunctionType.Financial,`financial`,`FinancialFunctionIcon`),se=G(r.FunctionType.Logical,`logical`,`LogicalFunctionIcon`),q=G(r.FunctionType.Text,`text`,`TextFunctionIcon`),J=G(r.FunctionType.Date,`date`,`DateFunctionIcon`),ce=G(r.FunctionType.Lookup,`lookup`,`LookupFunctionIcon`),le=G(r.FunctionType.Math,`math`,`MathFunctionIcon`),Y=G(r.FunctionType.Statistical,`statistical`,`StatisticalFunctionIcon`),ue=G(r.FunctionType.Engineering,`engineering`,`EngineeringFunctionIcon`),X=G(r.FunctionType.Information,`information`,`InformationFunctionIcon`),de=G(r.FunctionType.Database,`database`,`DatabaseFunctionIcon`);function fe(e){return{id:ee.id,title:`sheets-formula-ui.moreFunctions.allFunctions`,tooltip:`sheets-formula-ui.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 pe(e){return{id:g.id,type:l.MenuItemType.BUTTON,title:`sheets-formula-ui.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:_.id,type:l.MenuItemType.BUTTON,title:`sheets-formula-ui.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 he={[l.RibbonFormulasGroup.BASIC]:{[`${O.id}.common`]:{order:0,gridLayout:{row:1,column:1,rowSpan:2,showLabel:!1},menuItemFactory:W,[ee.id]:{order:0,menuItemFactory:fe}},[`${O.id}.financial`]:{order:1,menuItemFactory:K},[`${O.id}.logical`]:{order:2,menuItemFactory:se},[`${O.id}.text`]:{order:3,menuItemFactory:q},[`${O.id}.date`]:{order:4,menuItemFactory:J},[`${O.id}.lookup`]:{order:5,menuItemFactory:ce},[`${O.id}.math`]:{order:6,menuItemFactory:le},[`${O.id}.statistical`]:{order:7,menuItemFactory:Y},[`${O.id}.engineering`]:{order:8,menuItemFactory:ue},[`${O.id}.information`]:{order:9,menuItemFactory:X},[`${O.id}.database`]:{order:10,menuItemFactory:de}},[n.COPY_SPECIAL_MENU_ID]:{[g.id]:{order:0,menuItemFactory:pe}},[n.PASTE_SPECIAL_MENU_ID]:{[_.id]:{order:4,menuItemFactory:me}}};var ge=`@univerjs/sheets-formula-ui`,_e=`1.0.2`;let ve=`sheets-formula-ui.base.config`,ye={},Z=`SHEET_FORMULA_ALERT`,be={[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`},xe=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._context=e,this._hoverManagerService=t,this._cellAlertManagerService=n,this._localeService=r,this._formulaDataModel=i,this._init()}_init(){this._initCellAlertPopup()}_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(Z),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(`sheets-formula-ui.error.title`),message:this._localeService.t(`sheets-formula-ui.error.${be[t]}`),location:e.location,width:200,height:74,key:Z});return}}this._hideAlert()}))}_hideAlert(){this._cellAlertManagerService.removeAlert(Z)}};xe=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))],xe);let Se=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,ft:u.ft,fd:u.fd}),l.setValue(a,o,{...(0,t.getEmptyCell)(),f:s,ft:u.ft,fd:u.fd,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=>Ce(c,l,u,d,t,f,this._lexerTreeBuilder,this._formulaDataModel,a,e))}};Se=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))],Se);function Ce(e,r,i,a,o,c,l,u,d=!1,f){var p;let m=[],h=[],g=we(e,r,i,a,c,l,u,f);if(!g.hasValue())return{undos:[],redos:[]};let _=(p=o.get(t.IUniverInstanceService).getUnit(e))==null?void 0:p.getSheetBySheetId(r);a.forValue((e,r,a)=>{let o=i.rows[e],s=i.cols[r],l=g.getValue(o,s);if(!l)return;let u=_==null?void 0:_.getCellRaw(o,s),d=f&&c.pasteType!==n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_VALUE&&((0,t.isFormulaString)(l.f)||(0,t.isFormulaId)(l.si));(a.ft!=null||a.fd!=null||(u==null?void 0:u.ft)!=null||(u==null?void 0:u.fd)!=null)&&(l.ft=d?a.ft??null:null,l.fd=d?a.fd??null:null)});let v={unitId:e,subUnitId:r,cellValue:g.clone()};m.push({id:s.SetRangeValuesMutation.id,params:v});let y=(0,s.SetRangeValuesUndoMutationFactory)(o,v);return h.push({id:s.SetRangeValuesMutation.id,params:y}),{undos:h,redos:m}}function we(e,t,r,i,a,o,s,c){return c?a.pasteType===n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_VALUE?Ee(e,t,r,i,s,c):a.pasteType===n.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMULA?De(e,t,r,i,o,s,c):Oe(e,t,r,i,a.copyType,o,s,c):Te(e,t,r,i,s)}function Te(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 Ee(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=ke(i);e&&(h.v=e)}c.setValue(p,m,h)}}),c}function De(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=ke(d);e&&(m.v=e)}c.setValue(f,p,m)}}),c}function Oe(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 ke(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 Ae=class extends t.Disposable{constructor(e,t,n,r,i,a,o,s,c,l){super(),this._context=e,this._sheetInterceptorService=t,this._sheetSkeletonService=n,this._formulaDataModel=r,this._themeService=i,this._renderManagerService=a,this._sheetSkeletonManagerService=o,this._commandService=s,this._logService=c,this._editorBridgeService=l,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)=>{var n;if((e.id===r.SetFormulaCalculationResultMutation.id||e.id===r.SetArrayFormulaDataMutation.id&&t&&t.remove)&&this._removeArrayFormulaRangeShape(),e.id!==s.SetRangeValuesMutation.id||(t==null?void 0:t.applyFormulaCalculationResult)!==!0||e.params==null)return;let i=e.params,a=this._editorBridgeService.getEditLocation();if(a==null||i.unitId!==this._context.unitId||i.unitId!==a.unitId||i.subUnitId!==a.sheetId||this._editorBridgeService.isVisible().visible)return;let{row:o,column:c,isInArrayFormulaRange:l}=a,u=this._formulaDataModel.getArrayFormulaCellData(),d=(u==null||(n=u[i.unitId])==null||(n=n[i.subUnitId])==null||(n=n[o])==null?void 0:n[c])!=null;(l===!0||d)&&this._editorBridgeService.refreshEditCellState()})),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){let l=c;return new t.ObjectMatrix(e).forValue((e,t,c)=>{if(c==null)return!0;let{startRow:u,startColumn:d,endRow:f,endColumn:p}=c;if(e===n&&t===i)return this._createArrayFormulaRangeShape(c,a,o),!1;if(n>=u&&n<=f&&i>=d&&i<=p){let e=s.getCell(u,d);return(e==null?void 0:e.v)===r.ErrorType.SPILL||(e==null?void 0:e.f)==null?void 0:(l??={f:e.f,isInArrayFormulaRange:!0},this._createArrayFormulaRangeShape(c,a,o),!1)}}),l}_createArrayFormulaRangeShape(e,r,i){let a=this._renderManagerService.getRenderUnitById(r),o=this._sheetSkeletonService.getSkeleton(r,i);if(!a||!o)return;let{scene:c}=a;if(!c)return;let l={range:e,primary:null,style:{strokeWidth:1,stroke:this._themeService.getColorFromTheme(`primary.600`),fill:new t.ColorKit(this._themeService.getColorFromTheme(`gray.0`)).setAlpha(0).toString(),widgets:{}}},u=(0,s.attachSelectionWithCoord)(l,o),{rowHeaderWidth:d,columnHeaderHeight:f}=o,p=new n.SelectionControl(c,n.SELECTION_SHAPE_DEPTH.FORMULA_EDITOR_SHOW,this._themeService,{highlightHeader:!1,rowHeaderWidth:d,columnHeaderHeight:f});p.updateRangeBySelectionWithCoord(u),p.setEvent(!1),this._previousShape=p}_removeArrayFormulaRangeShape(){this._previousShape!=null&&(this._previousShape.dispose(),this._previousShape=null)}_refreshArrayFormulaRangeShape(e,t){if(this._previousShape){let{startRow:n,endRow:r,startColumn:i,endColumn:a}=this._previousShape.getRange(),o={startRow:n,endRow:r,startColumn:i,endColumn:a};this._removeArrayFormulaRangeShape(),this._createArrayFormulaRangeShape(o,e,t)}}_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,t)}_refreshArrayFormulaRangeShapeByRow(e,t,n){if(!this._checkCurrentSheet(e,t)||!this._previousShape)return;let{startRow:r}=this._previousShape.getRange();for(let i=0;i<n.length;i++){let{row:a}=n[i];if(r>=a){this._refreshArrayFormulaRangeShape(e,t);break}}}};Ae=C([S(1,(0,t.Inject)(s.SheetInterceptorService)),S(2,(0,t.Inject)(s.SheetSkeletonService)),S(3,(0,t.Inject)(r.FormulaDataModel)),S(4,(0,t.Inject)(t.ThemeService)),S(5,o.IRenderManagerService),S(6,(0,t.Inject)(n.SheetSkeletonManagerService)),S(7,t.ICommandService),S(8,t.ILogService),S(9,n.IEditorBridgeService)],Ae);let je={tl:{size:6,color:`#409f11`}},Me=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,...je},n(e))},priority:10}))}};Me=C([S(0,(0,t.Inject)(s.SheetInterceptorService)),S(1,(0,t.Inject)(r.FormulaDataModel))],Me);let Q=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.getRenderUnitById(e.getUnitId());if(!r)return;r.with(n.SheetSkeletonManagerService).reCalculate();let i=r.mainComponent;i&&i.makeDirty()})}};Q=C([S(0,(0,t.Inject)(c.ImageFormulaCellInterceptorController)),S(1,o.IRenderManagerService),S(2,t.IUniverInstanceService)],Q);function $({ref:e,...t}){let{preserveStrokeWidth:n,icon:r,id:i,className:a,extend:o,...s}=t,c=`univerjs-icon univerjs-icon-${i} ${a||``}`.trim(),l=`_${(0,d.useId)()}`,u=(0,d.useRef)(null);return(0,d.useImperativeHandle)(e,()=>u.current),(0,d.useLayoutEffect)(()=>{if(n&&u.current&&u.current.localName===r.tag)return Ie(u.current)},[n,r]),Ne(r,`${i}`,{defIds:r.defIds,idSuffix:l},{ref:u,className:c,...s},o)}function Ne(e,t,n,r,i){return(0,d.createElement)(e.tag,{key:t,...Pe(e,n,i),...r},(Fe(e,n).children||[]).map((r,a)=>Ne(r,`${t}-${e.tag}-${a}`,n,void 0,i)))}function Pe(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),n!=null&&n.colorChannel1&&r.stroke===`colorChannel1`&&(r.stroke=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 Fe(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 Ie(e){let t=e.viewBox.baseVal,n=Math.max(t.width,t.height);if(!Number.isFinite(n)||n<=0||t.width<=0||t.height<=0)return()=>void 0;let r=16/n,i=Array.from(e.querySelectorAll(`circle, ellipse, line, path, polygon, polyline, rect, text, textPath, tspan, use`)).flatMap(e=>{let t=getComputedStyle(e),n=Number.parseFloat(t.strokeWidth);return t.stroke===`none`||Number.parseFloat(t.strokeOpacity)===0||t.vectorEffect===`non-scaling-stroke`||!Number.isFinite(n)||n<=0?[]:[{element:e,hadStyleAttribute:e.hasAttribute(`style`),originalStrokeWidth:n,strokeWidth:Le(e.style,`stroke-width`)}]}).map(e=>({appliedStrokeWidth:null,element:e.element,hadStyleAttribute:e.hadStyleAttribute,isReleased:!1,originalStrokeWidth:e.originalStrokeWidth,strokeWidth:e.strokeWidth}));if(i.length===0)return()=>void 0;let a=(e,n)=>{if(t.width<=0||t.height<=0||e<=0||n<=0)return;let a=Math.min(e/t.width,n/t.height);!Number.isFinite(a)||a<=0||i.forEach(e=>{if(e.isReleased)return;if(e.appliedStrokeWidth!==null&&(e.element.style.getPropertyValue(`stroke-width`)!==e.appliedStrokeWidth||e.element.style.getPropertyPriority(`stroke-width`)!==e.strokeWidth.priority)){e.appliedStrokeWidth=null,e.isReleased=!0;return}let t=e.originalStrokeWidth*r/a,n=`${Number(t.toFixed(12))}px`;e.element.style.setProperty(`stroke-width`,n,e.strokeWidth.priority),e.appliedStrokeWidth=n})},o=e.getBoundingClientRect();a(o.width,o.height);let s=typeof ResizeObserver>`u`?null:new ResizeObserver(t=>{if(t.some(t=>t.target===e)){let t=e.getBoundingClientRect();a(t.width,t.height)}});return s==null||s.observe(e),()=>{s==null||s.disconnect(),i.forEach(e=>{e.appliedStrokeWidth!==null&&(Re(e.element.style,`stroke-width`,e.appliedStrokeWidth,e.strokeWidth.priority,e.strokeWidth),!e.hadStyleAttribute&&e.element.style.length===0&&e.element.removeAttribute(`style`))})}}function Le(e,t){return{priority:e.getPropertyPriority(t),value:e.getPropertyValue(t)}}function Re(e,t,n,r,i){e.getPropertyValue(t)===n&&e.getPropertyPriority(t)===r&&(i.value?e.setProperty(t,i.value,i.priority):e.removeProperty(t))}$.displayName=`UniverIcon`;let ze={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`}}]},Be=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`check-mark-icon`,ref:t,icon:ze}))});Be.displayName=`CheckMarkIcon`;let Ve={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`}}]},He=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`close-icon`,ref:t,icon:Ve}))});He.displayName=`CloseIcon`;let Ue={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11M5.4 5.1C5.4 4.55 6.55 4.1 8 4.1C9.45 4.1 10.6 4.55 10.6 5.1C10.6 5.65 9.45 6.1 8 6.1C6.55 6.1 5.4 5.65 5.4 5.1ZM5.4 5.1V8.9C5.4 9.45 6.55 9.9 8 9.9C9.45 9.9 10.6 9.45 10.6 8.9V5.1M5.4 7C5.4 7.55 6.55 8 8 8C9.45 8 10.6 7.55 10.6 7`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},We=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`database-function-icon`,ref:t,icon:Ue}))});We.displayName=`DatabaseFunctionIcon`;let Ge={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11`,strokeLinecap:`round`,strokeWidth:1.2}},{tag:`circle`,attrs:{cx:8,cy:7.1,r:2.65,stroke:`currentColor`,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M8 5.5V7.35L9.25 8.2`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},Ke=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`date-function-icon`,ref:t,icon:Ge}))});Ke.displayName=`DateFunctionIcon`;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.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`}}]},Je=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`delete-icon`,ref:t,icon:qe}))});Je.displayName=`DeleteIcon`;let Ye={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11M5.4 9.8L10.5 4.7V9.8H5.4ZM7.1 9.5V8.3M8.4 9.5V7`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},Xe=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`engineering-function-icon`,ref:t,icon:Ye}))});Xe.displayName=`EngineeringFunctionIcon`;let Ze={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11M8 3.9V10M9.7 5.1C9.25 4.72 8.65 4.52 8 4.52C6.98 4.52 6.32 4.95 6.32 5.6C6.32 7.28 9.8 6.3 9.8 7.98C9.8 8.7 9.1 9.18 8 9.18C7.27 9.18 6.58 8.98 6.02 8.6`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},Qe=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`financial-function-icon`,ref:t,icon:Ze}))});Qe.displayName=`FinancialFunctionIcon`;let $e={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:{stroke:`currentColor`,d:`M12.8325 3.00753L12.2725 2.44328C11.9909 2.15966 11.6076 1.9999 11.2079 1.9999H4.08689C3.55342 1.9999 3.28522 2.64412 3.66105 3.02295L7.78136 7.17471C8.25623 7.65323 8.25623 8.43812 7.78136 8.91664L3.66105 13.0684C3.28522 13.4473 3.55342 14.0915 4.08689 14.0915H11.2079C11.6076 14.0915 11.9909 13.9317 12.2725 13.648L12.8325 13.0838`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},et=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`function-icon`,ref:t,icon:$e}))});et.displayName=`FunctionIcon`;let tt={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`}}]},nt=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`increase-icon`,ref:t,icon:tt}))});nt.displayName=`IncreaseIcon`;let rt={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11M8 6.5V9.5M8 4.7H8.01`,strokeLinecap:`round`,strokeWidth:1.2}}]},it=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`information-function-icon`,ref:t,icon:rt}))});it.displayName=`InformationFunctionIcon`;let at={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11M6.35 5.45C6.35 4.4 7.05 3.78 8.05 3.78C9.05 3.78 9.75 4.4 9.75 5.3C9.75 6.08 9.28 6.48 8.68 6.88C8.2 7.2 8 7.6 8 8.18M8 9.75H8.01`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},ot=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`logical-function-icon`,ref:t,icon:at}))});ot.displayName=`LogicalFunctionIcon`;let st={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11`,strokeLinecap:`round`,strokeWidth:1.2}},{tag:`circle`,attrs:{cx:7.35,cy:6.8,r:2.25,stroke:`currentColor`,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M9 8.45L10.65 10.1`,strokeLinecap:`round`,strokeWidth:1.2}}]},ct=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`lookup-function-icon`,ref:t,icon:st}))});ct.displayName=`LookupFunctionIcon`;let lt={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11M5.1 7.6H6.1L7 9.7L8.35 4.9H10.9`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},ut=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`math-function-icon`,ref:t,icon:lt}))});ut.displayName=`MathFunctionIcon`;let dt={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:`M6.14645 4.64645C6.34171 4.45118 6.65829 4.45118 6.85355 4.64645L9.85355 7.64645C10.0488 7.84171 10.0488 8.15829 9.85355 8.35355L6.85355 11.3536C6.65829 11.5488 6.34171 11.5488 6.14645 11.3536C5.95118 11.1583 5.95118 10.8417 6.14645 10.6464L8.79289 8L6.14645 5.35355C5.95118 5.15829 5.95118 4.84171 6.14645 4.64645Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},ft=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`more-right-icon`,ref:t,icon:dt}))});ft.displayName=`MoreRightIcon`;let pt={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`}}]},mt=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`select-range-icon`,ref:t,icon:pt}))});mt.displayName=`SelectRangeIcon`;let ht={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11M5.5 9.7V7.8M8 9.7V5M10.5 9.7V6.5M5 9.7H11`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},gt=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`statistical-function-icon`,ref:t,icon:ht}))});gt.displayName=`StatisticalFunctionIcon`;let _t={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`rect`,attrs:{width:11.2,height:13.2,x:2.4,y:1.4,stroke:`currentColor`,rx:1.6,strokeWidth:1.2}},{tag:`path`,attrs:{stroke:`currentColor`,d:`M5 12H11M5.3 4.4H10.7M8 4.4V9.6M6.6 9.6H9.4`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.2}}]},vt=(0,d.forwardRef)(function(e,t){return(0,d.createElement)($,Object.assign({},e,{id:`text-function-icon`,ref:t,icon:_t}))});vt.displayName=`TextFunctionIcon`;let yt=`data-embed-id`,bt=(0,t.createIdentifier)(`sheets-formula-ui.embed-runtime-focus-coordinator`),xt=(0,t.createIdentifier)(`sheets-formula-ui.embed-interaction-boundary.service`);function St(e){let n=e.ownerDocument??(typeof document>`u`?void 0:document);if(!n)return(0,t.toDisposable)(()=>{});let r=new t.DisposableCollection,i=n.defaultView,a=[],o,s,c=null,l=!1,u=()=>{if(l)return;let t=Ct(e.editorId,n);t!==c&&(s==null||s.dispose(),s=void 0,c=null,t&&(c=t,s=wt(e,n,t)))},d=e=>{if(e<=0||!(i!=null&&i.requestAnimationFrame))return;let t=i.requestAnimationFrame(()=>{let n=a.indexOf(t);n>=0&&a.splice(n,1),u(),c||d(e-1)});a.push(t)};return u(),c||d(2),i!=null&&i.MutationObserver&&n.body&&(o=new i.MutationObserver(()=>u()),o.observe(n.body,{childList:!0,subtree:!0})),r.add((0,t.toDisposable)(()=>{l=!0,a.forEach(e=>{var t;return i==null||(t=i.cancelAnimationFrame)==null?void 0:t.call(i,e)}),a.length=0,o==null||o.disconnect(),o=void 0,s==null||s.dispose(),s=void 0,c=null})),r}function Ct(e,t){return t.getElementById(`univer-doc-selection-container-${e}`)??t.getElementById(`__editor_${e}`)}function wt(e,n,r){let i=new t.DisposableCollection,a=n.getElementById(`__editor_${e.editorId}`);return(a&&a!==r?[r,a]:[r]).forEach(t=>{e.interactionBoundaryService&&i.add(e.interactionBoundaryService.registerOwnedElement(e.embedId,t)),e.focusCoordinator&&i.add(e.focusCoordinator.registerElement({embedId:e.embedId,role:`child-editor`,element:t}))}),i}function Tt(e){let t=e==null?void 0:e.closest(`[${yt}]`),n=t==null?void 0:t.getAttribute(yt);if(t&&n)return{embedId:n,hostUnitId:t.getAttribute(`data-embed-host-unit-id`)??void 0,childUnitId:t.getAttribute(`data-embed-child-unit-id`)??void 0}}function Et(e){let t=e==null?void 0:e.activeElement;return t instanceof HTMLElement?Tt(t):void 0}function Dt(e,t){let n=Ot(e);return!!(n&&n===Ot(t))}function Ot(e){var t;if(e instanceof Element)return((t=e.closest(`[data-embed-interaction-boundary-owner]`))==null?void 0:t.getAttribute(`data-embed-interaction-boundary-owner`))??void 0}function kt(e,n,r){if(!n||(e.focus(n.getEditorId()),At(n),n.docSelectionRenderService.isOnPointerEvent))return;let i=[...n.getSelectionRanges()];if(t.Tools.isDefine(r))n.setSelectionRanges([{startOffset:r,endOffset:r}]);else if(i.length)n.setSelectionRanges(i);else{var a;let e=((a=n.getDocumentData().body)==null?void 0:a.dataStream)??`\r
2
2
  `,t=Math.max(e.length-2,0);n.setSelectionRanges([{startOffset:t,endOffset:t}])}}function At(e){var t;let n=(((t=e.editorDOM)==null?void 0:t.ownerDocument)??document).getElementById(`__editor_${e.getEditorId()}`);n==null||n.focus({preventScroll:!0})}function jt(e){return!1}function Mt(e){return!(jt(e.target)||e.isPointerSelecting||e.isFocusing)}function Nt(e){let t=e==null?void 0:e.ownerDocument;return Dt(e,t==null?void 0:t.activeElement)}let Pt=e=>{let t=(0,l.useDependency)(a.IEditorService);return(0,l.useEvent)(n=>{kt(t,e,n)})};function Ft(e,t){let n=t?e.indexOf(t):-1;return n===-1?e.length-1:n}function It(e,t){return!e||!t?!1:e.startRow!==t.startRow||e.startColumn!==t.startColumn||e.endRow!==t.endRow||e.endColumn!==t.endColumn}let Lt=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(Rt(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.getCurrentSkeleton();if(!a)return;let{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.getCurrentSkeleton();if(!a)return;let{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.getCurrentSkeleton();if(!r)return;let 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){let t=this._skeleton,r=e.style??(0,n.genNormalSelectionStyle)(this._themeService),i=this._scene;return e.style=r,this.newSelectionControl(i,t,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,n=0,r=t.RANGE_TYPE.NORMAL,i,a=o.ScrollTimerType.ALL){var c;this._rangeType=r;let l=this._skeleton,u=this._scene;if(!u||!l)return;i&&(this._activeViewport=i);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(r){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=r;let S=(0,s.attachSelectionWithCoord)(x,this._skeleton);this._startRangeWhenPointerDown={...S.rangeWithCoord};let C={...S.rangeWithCoord,rangeType:r},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=D&&w?{startRow:w.model.startRow,startColumn:w.model.startColumn,endRow:w.model.endRow,endColumn:w.model.endColumn}:null,k=this._remainLastEnabled&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!this._skipLastEnabled&&!this._singleSelectionEnabled;D&&E?this._makeSelectionByTwoCells(E,C,l,r,w):k&&w?w.updateRangeBySelectionWithCoord(S):w=this.newSelectionControl(u,l,x);let A=this.getSelectionControls(),j=Ft(A,w);for(let e=0;e<A.length;e++)e!==j&&A[e].model.currentCell&&A[e].clearHighlight();this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),D&&w&&It(O,w.model)&&this._selectionMoving$.next(this.getSelectionDataWithStyle()),u.disableObjectsEvent(),this._clearUpdatingListeners(),this._addEndingListeners(),(c=u.getTransformer())==null||c.clearSelectedObjects(),this._setupPointerMoveListener(p,w,r,a,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,c=new n.SelectionControl(e,i,this._themeService,{highlightHeader:this._highlightHeader,enableAutoFill:!1,rowHeaderWidth:a,columnHeaderHeight:o}),l=(0,s.attachSelectionWithCoord)(r,t);return c.updateRangeBySelectionWithCoord(l),this._selectionControls.push(c),c.setControlExtension({skeleton:t,scene:e,themeService:this._themeService,injector:this._injector,selectionHooks:{selectionMoveEnd:()=>{this._selectionMoveEnd$.next(this.getSelectionDataWithStyle())}}}),c}};Lt=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)],Lt);function Rt(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 zt=e=>{let t=(0,d.useRef)(e);return t.current=e,t};function Bt(e,n,r){var i,a;let o=n==null||(i=n.getDocumentDataModel())==null||(i=i.getBody())==null?void 0:i.dataStream;if(o!=null)return{dataStream:o,offset:0};let s=e.get(t.IUniverInstanceService),c=(r?s.getUnit(r,t.UniverInstanceType.UNIVER_DOC):void 0)??s.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(c!=null&&c.getBody())return{dataStream:((a=c.getBody())==null?void 0:a.dataStream)??``,offset:0}}function Vt(e,t){return e&&!t}function Ht(e,t){return e??t??void 0}function Ut(e,t){let n=e!=null&&e.collapsed?e.startOffset:-1;return n<=0&&t.startsWith(`=`)&&t.length>0?t.length:n}function Wt(e,t,n){if(!n||n.includes(`\r`)||n.includes(`
3
3
  `)||!e.startsWith(`=`)||!(t!=null&&t.collapsed))return;let r=t.startOffset;if(r==null||t.endOffset!==r||e.slice(r,r+n.length)!==n)return;let i=r+n.length;return{startOffset:i,endOffset:i,collapsed:!0}}function Gt(e,t){return e?1:t?2:0}function Kt(e,t){let n=e[t-1],i=e[t];return!(!n||!(0,r.matchRefDrawToken)(n)&&n!==`!`||i&&(!(0,r.isFormulaLexerToken)(i)||i===r.matchToken.OPEN_BRACKET))}function qt(e){var n;let{editor:s,editorId:c,isFocus:f,disableOnClick:p,resetSignal:m,unitId:h,subUnitId:g}=e,_=(0,l.useDependency)(o.IRenderManagerService),v=(0,l.useDependency)(t.IUniverInstanceService),y=_.getRenderUnitById(h),b=_.getRenderUnitById(c),x=b==null?void 0:b.with(a.DocSelectionRenderService),S=(0,l.useDependency)(u.DocSelectionManagerService),C=(0,l.useDependency)(t.Injector),[w,T]=(0,d.useState)(0),E=(0,l.useDependency)(r.LexerTreeBuilder),D=(0,d.useRef)(!0),O=(0,d.useRef)(``),k=y==null?void 0:y.with(Lt),A=zt(w),j=v.getUnit(h,t.UniverInstanceType.UNIVER_SHEET),M=j==null?void 0:j.getSheetBySheetId(g),N=(0,l.useEvent)(e=>{k&&k.setSkipLastEnabled(e===1||e===3||e===4),A.current=e,T(e)}),P=(0,l.useEvent)(()=>{var e,n;let i=Ht(v.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),j);if(!i)return;let a=i.getActiveSheet(),o=(s==null||(e=s.getSelectionRanges())==null?void 0:e[0])??(x==null?void 0:x.getActiveTextRange()),l=Bt(C,s,c);if(!l)return;let u=l==null||(n=l.dataStream)==null?void 0:n.slice(0,-2),d=Ut(Wt(u,o,O.current)??o,u),f=(E.sequenceNodesBuilder(u)??[]).map(e=>typeof e==`object`?e.nodeType===r.sequenceNodeType.REFERENCE?{...e,range:(0,r.deserializeRangeWithSheetWithCache)(e.token)}:{...e,range:void 0}:e).find(e=>typeof e==`object`&&e.nodeType===r.sequenceNodeType.REFERENCE&&d===e.endIndex+2),m=Gt(!!Kt(u,d),!!f);if((u==null?void 0:u.substring(0,1))===`=`&&m!==0){if(m===1)D.current=!1,N(1);else if(f){var h;if(Vt(D.current,p))return;D.current=!1;let{sheetName:e,unitId:n}=f.range,r=(h=Ht(v.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),j))==null?void 0:h.getUnitId();n&&n!==r?N(4):!e&&a.getSheetId()===(M==null?void 0:M.getSheetId())||e===a.getName()?N(2):N(3)}}else N(0)});return(0,d.useEffect)(()=>{let e=S.textSelection$.pipe((0,i.filter)(e=>e.unitId===c)).subscribe(()=>{P()});return()=>e.unsubscribe()},[P,S.textSelection$,c]),(0,d.useEffect)(()=>{if(!f||!s)return;let e,t=s.input$.subscribe(({content:t,isComposing:n})=>{n||(O.current=t),queueMicrotask(()=>{P()}),e&&clearTimeout(e),e=setTimeout(()=>{P(),O.current=``},0)});return()=>{e&&clearTimeout(e),t.unsubscribe()}},[P,s,f]),(0,d.useEffect)(()=>{var e;if(!f)return;let n=v.getUnit(c,t.UniverInstanceType.UNIVER_DOC),r=n==null||(e=n.change$)==null?void 0:e.subscribe(()=>{queueMicrotask(P)});return()=>r==null?void 0:r.unsubscribe()},[P,c,f,v]),(0,d.useEffect)(()=>{f||(N(0),D.current=!0)},[f,N]),(0,d.useEffect)(()=>{m!==void 0&&(N(0),D.current=!0)},[m,N]),(0,d.useEffect)(()=>{var e;if(!p)return;let t=b==null||(e=b.mainComponent)==null?void 0:e.onPointerDown$.subscribeEvent(()=>{N(0),D.current=!0});return()=>t==null?void 0:t.unsubscribe()},[p,b==null||(n=b.mainComponent)==null?void 0:n.onPointerDown$,N]),(0,d.useEffect)(()=>{if(!f)return;let e=j==null?void 0:j.activeSheet$.subscribe(()=>{P()}),n=v.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).subscribe(()=>{P()});return()=>{e==null||e.unsubscribe(),n==null||n.unsubscribe()}},[P,f,j==null?void 0:j.activeSheet$,v.getCurrentTypeOfUnit$]),{isSelecting:w,isSelectingRef:A}}let Jt=()=>{let e=(0,l.useDependency)(r.LexerTreeBuilder);return(0,d.useCallback)(t=>e.sequenceNodesBuilder(t)||[],[e])};function Yt(e,t){return!!e&&e.startRow===t.startRow&&e.startColumn===t.startColumn&&e.endRow===t.endRow&&e.endColumn===t.endColumn&&(!e.sheetId||!t.sheetId||e.sheetId===t.sheetId)&&(!e.unitId||!t.unitId||e.unitId===t.unitId)}function Xt(e){let{unitId:n,subUnitId:i,currentWorkbook:a,refSelections:o,editor:c,refSelectionsService:l,refSelectionsRenderService:u,sheetSkeletonManagerService:d,themeService:f,univerInstanceService:p}=e,m=a.getUnitId(),h=p.getUnit(n,t.UniverInstanceType.UNIVER_SHEET),g=h==null?void 0:h.getActiveSheet(),_=[];if(!h||!g)return _;let v=g.getSheetId(),y=e=>{var t;return h==null||(t=h.getSheetBySheetName(e))==null?void 0:t.getSheetId()};if(!(d!=null&&d.getSkeleton(v)))return;let b=[],x=l.getCurrentSelections(),S=new Set,C=(e,t)=>{let n=x[t];if(Yt(n==null?void 0:n.range,e))return S.add(t),n.primary;let r=x.findIndex((t,n)=>!S.has(n)&&Yt(t.range,e));if(r!==-1)return S.add(r),x[r].primary};for(let e=0,t=o.length;e<t;e++){let{themeColor:t,token:a,refIndex:c,endIndex:l}=o[e],{unitId:u,sheetName:d,range:p}=(0,r.deserializeRangeWithSheet)(a),h=y(d);if(!h&&d||m!==n&&u!==m||u&&u!==m||h&&h!==v||!h&&v!==i)continue;let x=(0,s.setEndForRange)(p,g.getRowCount(),g.getColumnCount());x.unitId=n,x.sheetId=v,_.push({range:x,primary:C(x,_.length),style:oe(f,t,c.toString())}),b.push(l)}if(c){var w;let e=(w=c.getSelectionRanges())==null||(w=w[0])==null?void 0:w.startOffset,t=b.findIndex(t=>t+2===e);t===-1?_.length?u==null||u.setActiveSelectionIndex(_.length-1):u==null||u.resetActiveSelectionIndex():u==null||u.setActiveSelectionIndex(t)}return _}function Zt(e,i){let a=(0,l.useDependency)(t.IUniverInstanceService),c=(0,l.useDependency)(t.ThemeService),u=(0,l.useDependency)(s.IRefSelectionsService),f=(0,l.useDependency)(o.IRenderManagerService),p=f.getRenderUnitById(e),m=p==null?void 0:p.with(Lt),h=(0,l.useEvent)(n=>{let i=a.getUnit(e,t.UniverInstanceType.UNIVER_SHEET),o=a.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),s=o==null?void 0:o.getUnitId();return s&&n.some(e=>(0,r.deserializeRangeWithSheet)(e.token).unitId===s)?o:i??o}),g=(0,l.useEvent)((t,r,o=!1)=>{var s;let l=h(t);if(!l)return;let d=f.getRenderUnitById(l.getUnitId()),p=d==null?void 0:d.with(Lt),m=d==null?void 0:d.with(n.ISheetSelectionRenderService),g=d==null?void 0:d.with(n.SheetSkeletonManagerService);if(!o&&p!=null&&p.selectionMoving)return;let _=(s=l.getActiveSheet())==null?void 0:s.getSheetId();if(!_)return;let v=Xt({unitId:e,subUnitId:i,currentWorkbook:l,refSelections:t,editor:r,refSelectionsService:u,refSelectionsRenderService:p,sheetSkeletonManagerService:g,themeService:c,univerInstanceService:a});v&&(((p==null?void 0:p.getSelectionControls())||[]).length===v.length?p==null||p.resetSelectionsByModelData(v):u.setSelections(l.getUnitId(),_,v),o&&v.length&&(m==null||m.resetSelectionsByModelData([])))});return(0,d.useEffect)(()=>()=>{m==null||m.resetActiveSelectionIndex()},[m]),g}function Qt(e=``){let n=(0,l.useDependency)(r.IDescriptionService),i=tn(),o=(0,l.useDependency)(t.ICommandService),s=(0,d.useMemo)(()=>e.length,[e]);return(0,l.useEvent)((t,c,l=!0,u,d)=>{let f=t.getDocumentData(),p=t.getEditorId();if(!f)return[];let m=f.body;if(!m)return[];let h=m.dataStream.slice(0,m.dataStream.length-2);if(!h.startsWith(e))return[];if(c==null||c.length===0)return o.syncExecuteCommand(a.ReplaceTextRunsCommand.id,{unitId:p,body:$t(h,[])}),[];{let{textRuns:f,refSelections:m}=nn(n,i,c);s&&f.forEach(e=>{e.ed+=s,e.st+=s});let h=(0,r.getFormulaHighlightDataStream)(e,c,d),g=en(f,s),_;if(l){_=t.getSelectionRanges();let e=h.length-2+s;_.forEach(t=>{t.startOffset=Math.max(0,Math.min(t.startOffset,e)),t.endOffset=Math.max(0,Math.min(t.endOffset,e))})}return o.syncExecuteCommand(a.ReplaceTextRunsCommand.id,{unitId:p,body:$t(h.slice(0,-2),g),textRanges:u??_}),m}})}function $t(e,t){return{dataStream:e,textRuns:t}}function en(e,t){return t?[{st:0,ed:t,ts:{fs:11}},...e]:e}function tn(){let e=(0,l.useDependency)(t.ThemeService),n=e.getCurrentTheme();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(`gray.1000`)}),[n])}function nn(e,t,n){return(0,r.buildFormulaTextRuns)(e,t,n)}function rn(e,t){return e===1?t===0:e===3}function an(e,n,r){return e===n?!0:r!=null&&r.fxBarFocused?n===(r.formulaBarEditorId??t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)&&(e===(r.normalEditorId??t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)||!(!r.allowMissingFocus||e)):!1}let on=(e,r,i,s,c)=>{let u=(0,l.useDependency)(t.ICommandService),f=(0,l.useDependency)(l.IShortcutService),p=(0,l.useDependency)(a.IEditorService),m=(0,l.useDependency)(t.IContextService),h=(0,d.useMemo)(()=>(0,t.generateRandomId)(4),[]),g=(0,d.useRef)(r);g.current=r;let _=(0,d.useRef)(s);_.current=s;let v=(0,d.useRef)(c);v.current=c,(0,d.useEffect)(()=>{if(!i||!e)return;let r=i.getEditorId(),s=`sheet.formula-embedding-editor.${r}.${h}`,c=new t.DisposableCollection,d=()=>{try{let e=m.getContextValue(t.FOCUSING_FX_BAR_EDITOR);return an(p.getFocusId(),r,{fxBarFocused:e})&&(i.docSelectionRenderService.isFocusing||e)}catch{return!1}},y=(e,n)=>{if(_.current){_.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?u.executeCommand(a.MoveSelectionOperation.id,{direction:r}):u.executeCommand(a.MoveCursorOperation.id,{direction:r})},b=(e,r)=>{let i=t.Direction.DOWN;if(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),g.current){var a;let e=rn(g.current,((a=v.current)==null?void 0:a.call(v))??0);r===l.MetaKeys.CTRL_COMMAND?u.executeCommand(n.MoveSelectionCommand.id,{direction:i,jumpOver:n.JumpOver.moveGap,extra:`formula-editor`,fromCurrentSelection:e}):r===l.MetaKeys.SHIFT?u.executeCommand(n.ExpandSelectionCommand.id,{direction:i,extra:`formula-editor`}):r===(l.MetaKeys.CTRL_COMMAND|l.MetaKeys.SHIFT)?u.executeCommand(n.ExpandSelectionCommand.id,{direction:i,jumpOver:n.JumpOver.moveGap,extra:`formula-editor`}):u.executeCommand(n.MoveSelectionCommand.id,{direction:i,extra:`formula-editor`,fromCurrentSelection:e})}else y(e,r)};return c.add(u.registerCommand({id:s,type:t.CommandType.OPERATION,handler(e,t){let{keyCode:n,metaKey:r}=t;b(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:s,binding:t?e|t:e,preconditions:d,priority:900,staticParameters:{eventType:o.DeviceInputEventType.Keyboard,keyCode:e,metaKey:t}})).forEach(e=>{c.add(f.registerShortcut(e))}),()=>{c.dispose()}},[u,m,i,p,e,h,f])},sn=(e,n,r,i,a=!0,c=!1)=>{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.getRenderUnitById((g==null?void 0:g.getUnitId())??``),v=_==null?void 0:_.with(Lt);(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=!0,t=v==null?void 0:v.enableSelectionChanging();f.setContextValue(s.REF_SELECTIONS_ENABLED,!0);let n=c?f.subscribeContextValue$(s.REF_SELECTIONS_ENABLED).subscribe(t=>{t||queueMicrotask(()=>{e&&f.setContextValue(s.REF_SELECTIONS_ENABLED,!0)})}):null;return()=>{e=!1,n==null||n.unsubscribe(),f.setContextValue(s.REF_SELECTIONS_ENABLED,!1),t==null||t.dispose()}}},[f,e,c,v,n]),(0,d.useEffect)(()=>{e&&(v==null||v.setSkipLastEnabled(!1))},[e,v])},cn=(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.getCurrentUnitOfType(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])},ln=(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},un=(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},dn=e=>e.reduce((e,t)=>typeof t==`string`?e+t.length:e+t.token.length,0),fn=e=>e.map(e=>typeof e==`string`?e:e.token).join(``),pn=(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)),mn=e=>{var t;let{editor:n,lexerTreeBuilder:r}=e,i=n==null?void 0:n.getSelectionRanges(),a=((n==null||(t=n.getDocumentData().body)==null?void 0:t.dataStream)??`\r
4
4
  `).slice(0,-2),o=r.sequenceNodesBuilder(a.slice(1))??[],s;if((i==null?void 0:i.length)===1)s=i[0].startOffset-1;else if(a.startsWith(`=`))s=Math.max(a.length-1,0);else return;let c=ln(o,s,!1);return{nodeIndex:c,updatingRefIndex:un(o,c),formulaText:a.slice(1),sequenceNodes:o,offset:s}};function hn(e,t,n){return`${e.slice(0,n)}${t}${e.slice(n)}`}function gn(e,t){return!e&&t===0}function _n(e,t,n){let r=[...e];if(t===-1)return{orderedSelections:r};let i=n?r.pop():void 0,a=r.pop();return a&&r.splice(t,0,a),{orderedSelections:r,insertedSelection:i}}function vn(e){return e[e.length-1]}function yn(e){let t=e,n=t.rangeWithCoord??t.range??t;return[n.startRow??``,n.endRow??``,n.startColumn??``,n.endColumn??``].join(`:`)}function bn(e,t){return yn(e)===yn(t)}let xn=new Map;function Sn(e){let t=xn.get(e);return t||(t=Cn(),xn.set(e,t)),t}function Cn(){let e,t=e=>e.map(yn).join(`|`);return{shouldSkip(n,r){let i=t(n);return i===e?!0:r?(e=void 0,!1):(e=i,!1)},reset(){e=void 0}}}function wn(e){let t=e.initialSelectionsCount,n=0,r=e.duplicateEndGuard??Cn();return(i,a,o)=>{if(o!=null&&o.initial||i.length===0)return;o!=null&&o.start&&r.reset();let s=!(o!=null&&o.initial)&&t>0&&i.length>t;if(s&&!a){if(n=i.length,r.shouldSkip(i,!1))return;e.onSelectionsChange(i,!1,!0),t=i.length,n=0;return}let c=a&&i.length===n;if(r.shouldSkip(i,a)){if(a){var l;(l=e.onDuplicateEnd)==null||l.call(e,i)}t=i.length,n=0;return}a&&(t=i.length,n=0),e.onSelectionsChange(i,a,s||c)}}function Tn(e,t,n){let r=e[t];if(!r)return;let i={...n,sheetId:r.sheetId,unitId:r.unitId},a=[...e];return a[t]=i,a}function En(e,t,n){return Math.max(e,t)}let Dn=(e,c,f,m,h,g,_,v,y,b=()=>{},x=!1)=>{let S=(0,l.useDependency)(o.IRenderManagerService),C=(0,l.useDependency)(t.IUniverInstanceService),w=(0,l.useDependency)(t.ICommandService),T=(0,l.useDependency)(t.IContextService),E=(0,l.useDependency)(u.DocSelectionManagerService),D=(0,l.useDependency)(a.IEditorService),O=(0,l.useDependency)(t.ThemeService),k=(0,l.useDependency)(r.LexerTreeBuilder),A=C.getUnit(m),j=(0,l.useEvent)((e,t)=>{var n;return((n=C.getUnit(e))==null||(n=n.getSheetBySheetId(t))==null?void 0:n.getName())??``}),M=(0,d.useMemo)(()=>j(m,h),[j,h,m]),N=(0,l.useObservable)(A==null?void 0:A.activeSheet$),P=zt({activeSheet:N,sheetName:M}),F=Ht((0,l.useObservable)((0,d.useMemo)(()=>C.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET),[C])),A),I=S.getRenderUnitById((F==null?void 0:F.getUnitId())??m),L=I==null?void 0:I.with(Lt),R=I==null?void 0:I.with(n.SheetSkeletonManagerService),z=(0,l.useDependency)(s.IRefSelectionsService),ee=(0,d.useMemo)(()=>Sn(`${m}:${h}`),[h,m]),B=(0,l.useEvent)((e,n,i)=>{if(!y||!an(D.getFocusId(),y.getEditorId(),{fxBarFocused:T.getContextValue(t.FOCUSING_FX_BAR_EDITOR),allowMissingFocus:x}))return;let a=mn({editor:y,lexerTreeBuilder:k});if(!a)return;let{nodeIndex:o,updatingRefIndex:s,formulaText:c,sequenceNodes:l,offset:u}=a;if(f.current===1||(0,r.isFormulaReferenceAddingContext)(l,u)||(0,r.isFormulaReferenceAddingTextContext)(c,u)){if(u!==0){if(o===-1&&l.length)return;let t=vn(e);if(!t)return;let i=l.splice(o+1),a=t.sheetId??h,s={range:t,unitId:t.unitId??F.getUnitId(),sheetName:j(t.unitId??F.getUnitId(),a)},d=a!==h,f=(F==null?void 0:F.getUnitId())!==m,p=pn([s],_&&(d||f),M,f);if((0,r.isFormulaReferenceAddingTextContext)(c,u)){b(hn(c,p[0],u),u+p[0].length,n);return}l.push({token:p[0],nodeType:r.sequenceNodeType.REFERENCE});let g=[...l,...i];b(fn(g),dn(l),n)}else{let t=vn(e);if(!t)return;let i=t.sheetId??h,a={range:t,unitId:t.unitId??F.getUnitId(),sheetName:j(t.unitId??F.getUnitId(),i)},o=i!==h,s=(F==null?void 0:F.getUnitId())!==m,c=pn([a],_&&(o||s),M,s);l.unshift({token:c[0],nodeType:r.sequenceNodeType.REFERENCE}),b(fn(l),c[0].length,n)}}else if(f.current===3||f.current===4){let t=e.pop();if(!t)return;let i=l[o];if(typeof i==`object`&&i.nodeType===r.sequenceNodeType.REFERENCE){let e=i.token;i.token=(F==null?void 0:F.getUnitId())===m?M===(N==null?void 0:N.getName())?(0,r.serializeRange)(t):(0,r.serializeRangeWithSheet)(N.getName(),t):(0,r.serializeRangeWithSpreadsheet)((F==null?void 0:F.getUnitId())??``,M,t);let a=u+(i.token.length-e.length);b((0,r.generateStringWithSequence)(l),a,n)}}else{let{orderedSelections:t,insertedSelection:a}=_n(e,s,i),c=e=>{let t=e.sheetId??h,n={range:e,unitId:e.unitId??F.getUnitId(),sheetName:j(e.unitId??F.getUnitId(),t)},r=(F==null?void 0:F.getUnitId())!==m;return pn([n],_&&(t!==h||r),M,r)[0]},u=0,d=l.map(e=>{if(typeof e==`string`)return e;if(e.nodeType===r.sequenceNodeType.REFERENCE){let i=(0,r.deserializeRangeWithSheet)(e.token);if(i.sheetName||=M,(i.unitId||m)!==(F==null?void 0:F.getUnitId()))return e.token;if(_){var n;if(((n=P.current.activeSheet)==null?void 0:n.getName())!==i.sheetName)return e.token}let o=u,l=t[u];if(u++,!l)return``;let d=c(l);return a&&o===s?`${d},${c(a)}`:d}return e.token}),f=``,p;d.forEach((e,t)=>{f+=e,t===o&&(p=f.length)});let g=[];for(let e=u;e<=t.length-1;e++){let n=t[e];g.push(c(n))}let v=l[l.length-1],y=v&&typeof v!=`string`&&v.nodeType===r.sequenceNodeType.REFERENCE,x=`${f}${g.length&&y?`,`:``}${g.join(`,`)}`;b(x,!g.length&&p?p:x.length,n)}});(0,d.useEffect)(()=>{if(L&&e){let e=()=>!!(y&&an(D.getFocusId(),y.getEditorId(),{fxBarFocused:T.getContextValue(t.FOCUSING_FX_BAR_EDITOR),allowMissingFocus:x})),n=wn({initialSelectionsCount:En(L.getSelectionDataWithStyle().length,g().length,f.current),duplicateEndGuard:{shouldSkip:(e,t)=>ee.shouldSkip(e.map(e=>e.rangeWithCoord),t),reset:ee.reset},onSelectionsChange:(e,t,n)=>{B(e.map(e=>e.rangeWithCoord),t,n)},onDuplicateEnd:()=>{let e=mn({editor:y,lexerTreeBuilder:k});e&&b(e.formulaText,e.offset,!0)}}),r=!0,i=new t.DisposableCollection;return i.add(L.selectionMoveStart$.subscribe(t=>{e()&&n(t,!1,{start:!0})})),i.add(L.selectionMoving$.subscribe(t=>{e()&&n(t,!1)})),i.add(L.selectionMoveEnd$.subscribe(t=>{e()&&(n(t,!0,{initial:r}),r=!1)})),()=>{i.dispose()}}},[x,T,y,D,g,e,B,L,z]),(0,d.useEffect)(()=>{if(c&&L&&y){let e=new t.DisposableCollection,n=()=>{e.dispose(),L.getSelectionControls().forEach((t,n)=>{e.add(t.selectionScaling$.subscribe(e=>{let t=Tn(L.getSelectionDataWithStyle().map(e=>e.rangeWithCoord),n,e);t&&B(t,!1)})),e.add(t.selectionMoving$.subscribe(e=>{let t=Tn(L.getSelectionDataWithStyle().map(e=>e.rangeWithCoord),n,e);t&&B(t,!0)}))})},r=(0,i.merge)(y.input$,z.selectionSet$,L.selectionMoveEnd$).pipe((0,p.debounceTime)(50)).subscribe(()=>{n()});return()=>{r.unsubscribe(),e.dispose()}}},[y,c,B,L,z.selectionSet$]),L==null||L.getSelectionDataWithStyle(),(0,d.useEffect)(()=>{if(v){let e=w.onCommandExecuted(e=>{if(e.id!==s.SetSelectionsOperation.id||!y||!an(D.getFocusId(),y.getEditorId(),{fxBarFocused:T.getContextValue(t.FOCUSING_FX_BAR_EDITOR),allowMissingFocus:x}))return;let n=e.params;if(n.extra===`formula-editor`&&n.selections.length){let e=n.selections[n.selections.length-1];if(e){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=mn({editor:y,lexerTreeBuilder:k}),s=f.current===1||!!(o&&((0,r.isFormulaReferenceAddingContext)(o.sequenceNodes,o.offset)||(0,r.isFormulaReferenceAddingTextContext)(o.formulaText,o.offset))),c=((L==null?void 0:L.getSelectionDataWithStyle())??[]).map(e=>e.rangeWithCoord);if(s){if(c.length>0&&bn(c[c.length-1],i))return;c.push(i)}else{if(gn(s,c.length))return;c[c.length-1]=i}if(ee.shouldSkip(c,!0))return;B(c,!0)}}});return()=>{e.dispose()}}},[w,T,ee,y,D,f,k,v,B,L]),(0,d.useEffect)(()=>{if(!y)return;let e=E.textSelection$.subscribe(e=>{e.unitId===y.getEditorId()&&Xt({unitId:m,subUnitId:h,refSelections:g(),editor:y,refSelectionsService:z,refSelectionsRenderService:L,sheetSkeletonManagerService:R,themeService:O,univerInstanceService:C,currentWorkbook:F})});return()=>e.unsubscribe()},[E.textSelection$,y,g,L,z,R,h,O,m,C])},On=(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).getRenderUnitById(n),h=(0,l.useDependency)(t.IUniverInstanceService),g=m==null?void 0:m.with(Lt);(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()}}{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])},kn=(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])},An=e=>e.startsWith(r.operatorToken.EQUALS)?e.slice(1):``;function jn(e,t){return Object.keys(r.FunctionType).filter(e=>isNaN(Number(e))&&e!==`DefinedName`&&e!==`Table`&&(t||e!==`User`)).map(t=>({label:e.t(`sheets-formula-ui.functionType.${t.toLocaleLowerCase()}`),value:`${r.FunctionType[t]}`}))}function Mn(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},...`}let Nn=`univer-mobile-recent-formula-functions`,Pn=[`SUM`,`AVERAGE`,`COUNT`,`MAX`,`MIN`,`IF`,`XLOOKUP`,`ROUND`];function Fn(){try{var e;return JSON.parse(((e=globalThis.localStorage)==null?void 0:e.getItem(Nn))??`[]`)}catch{return[]}}function In(e){try{var t;let n=[e,...Fn().filter(t=>t!==e)].slice(0,8);(t=globalThis.localStorage)==null||t.setItem(Nn,JSON.stringify(n))}catch{}}function Ln(e){let{open:n,onClose:i,onInsert:a}=e,o=(0,l.useDependency)(r.IDescriptionService),s=(0,l.useDependency)(t.LocaleService),c={title:s.t(`sheets-formula-ui.mobileFunction.title`),search:s.t(`sheets-formula-ui.moreFunctions.searchFunctionPlaceholder`),recommended:s.t(`sheets-formula-ui.mobileFunction.recommended`),recent:s.t(`sheets-formula-ui.mobileFunction.recent`),all:s.t(`sheets-formula-ui.moreFunctions.allFunctions`),details:s.t(`sheets-formula-ui.mobileFunction.details`),back:s.t(`sheets-formula-ui.moreFunctions.prev`),insert:s.t(`sheets-formula-ui.mobileFunction.insert`),empty:s.t(`sheets-formula-ui.mobileFunction.empty`),syntax:s.t(`sheets-formula-ui.moreFunctions.syntax`),close:s.t(`sheets-formula-ui.mobileFunction.close`)},[u,p]=(0,d.useState)(``),[h,g]=(0,d.useState)(`recommended`),[_,v]=(0,d.useState)(null),[y,b]=(0,d.useState)(0),x=(0,d.useRef)(null);(0,d.useEffect)(()=>{n&&(p(``),g(`recommended`),v(null))},[n]),(0,d.useLayoutEffect)(()=>{if(!n)return;let e=()=>{var e;return(e=x.current)==null?void 0:e.focus({preventScroll:!0})};e();let t=requestAnimationFrame(e);return()=>cancelAnimationFrame(t)},[n]);let S=(0,d.useMemo)(()=>n?[{label:c.recommended,value:`recommended`},{label:c.recent,value:`recent`},{label:c.all,value:`all`},...jn(s,!1).map(e=>({label:e.label,value:Number(e.value)}))].filter(e=>typeof e.value!=`number`||e.value!==r.FunctionType.DefinedName&&e.value!==r.FunctionType.Table&&o.getSearchListByType(e.value).length>0):[],[c.all,c.recent,c.recommended,o,s,n]),C=(0,d.useMemo)(()=>n?u.trim()?o.getSearchListByName(u).slice(0,60):h===`recommended`?Pn.map(e=>o.getFunctionInfo(e)).filter(e=>!!e).map(e=>({name:e.functionName,desc:e.abstract})):h===`recent`?Fn().map(e=>o.getFunctionInfo(e)).filter(e=>!!e).map(e=>({name:e.functionName,desc:e.abstract})):o.getSearchListByType(h===`all`?-1:h).slice(0,100):[],[h,o,n,u,y]),w=e=>{In(e),b(e=>e+1),a(e)};return n?(0,m.jsx)(`div`,{"data-u-comp":`mobile-formula-function-panel`,className:`univer-fixed univer-inset-0 univer-z-[1200] univer-bg-black/20`,onPointerDown:e=>e.stopPropagation(),children:(0,m.jsxs)(`section`,{ref:x,role:`dialog`,"aria-label":c.title,tabIndex:-1,className:`univer-absolute univer-inset-x-0 univer-bottom-0 univer-flex univer-h-[80vh] univer-flex-col univer-overflow-hidden univer-rounded-t-2xl univer-bg-gray-0 univer-shadow-lg dark:!univer-bg-gray-900`,children:[(0,m.jsx)(`div`,{className:`univer-flex univer-justify-center univer-pb-2 univer-pt-3`,children:(0,m.jsx)(`div`,{className:`univer-h-1 univer-w-10 univer-rounded-full univer-bg-gray-300 dark:!univer-bg-gray-600`})}),(0,m.jsxs)(`header`,{className:`univer-flex univer-h-12 univer-items-center univer-gap-2 univer-px-4`,children:[_&&(0,m.jsx)(`button`,{type:`button`,className:`univer-h-10 univer-appearance-none univer-rounded-lg univer-border-0 univer-bg-transparent univer-px-3 univer-text-sm univer-text-primary-600 univer-outline-none active:univer-bg-primary-50`,onClick:()=>v(null),children:c.back}),(0,m.jsx)(`h2`,{className:`univer-m-0 univer-flex-1 univer-text-base univer-font-semibold univer-text-gray-900 dark:!univer-text-gray-0`,children:(_==null?void 0:_.functionName)??c.title}),(0,m.jsx)(`button`,{type:`button`,"aria-label":c.close,className:`univer-size-10 univer-appearance-none univer-rounded-lg univer-border-0 univer-bg-transparent univer-text-xl univer-text-gray-600 univer-outline-none active:univer-bg-gray-100 dark:!univer-text-gray-200 dark:active:!univer-bg-gray-700`,onClick:i,children:`×`})]}),_?(0,m.jsxs)(`div`,{className:(0,f.clsx)(`univer-flex-1 univer-overflow-y-auto univer-px-4 univer-pb-4`,f.scrollbarClassName),children:[(0,m.jsxs)(`div`,{className:`univer-rounded-xl univer-bg-gray-50 univer-p-4 dark:!univer-bg-gray-800`,children:[(0,m.jsx)(`p`,{className:`univer-m-0 univer-text-sm univer-leading-6 univer-text-gray-700 dark:!univer-text-gray-200`,children:_.description}),(0,m.jsx)(`div`,{className:`univer-mt-4 univer-text-xs univer-text-gray-500 dark:!univer-text-gray-300`,children:c.syntax}),(0,m.jsx)(`code`,{className:`univer-mt-2 univer-block univer-break-words univer-rounded-lg univer-bg-gray-0 univer-p-3 univer-text-sm dark:!univer-bg-gray-900`,children:`${_.functionName}(${_.functionParameter.map(e=>e.name).join(`, `)})`})]}),(0,m.jsx)(`button`,{type:`button`,"data-u-comp":`mobile-formula-insert`,className:`univer-mt-4 univer-h-12 univer-w-full univer-appearance-none univer-rounded-xl univer-border-0 univer-bg-primary-600 univer-text-sm univer-font-medium univer-text-white univer-outline-none active:univer-bg-primary-700`,onClick:()=>w(_.functionName),children:c.insert})]}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`div`,{className:`univer-px-4 univer-pb-3`,children:(0,m.jsx)(`input`,{value:u,"aria-label":c.search,placeholder:c.search,className:`univer-box-border univer-h-11 univer-w-full univer-rounded-xl univer-border univer-border-solid univer-border-gray-200 univer-bg-gray-50 univer-px-4 univer-text-base univer-outline-none focus:univer-border-primary-500 dark:!univer-border-gray-700 dark:!univer-bg-gray-800 dark:!univer-text-gray-0`,onChange:e=>p(e.target.value)})}),!u&&(0,m.jsx)(`div`,{className:`univer-flex univer-shrink-0 univer-gap-2 univer-overflow-x-auto univer-px-4 univer-pb-3`,style:{scrollbarWidth:`none`},children:S.map(e=>(0,m.jsx)(`button`,{type:`button`,className:(0,f.clsx)(`univer-h-10 univer-shrink-0 univer-appearance-none univer-rounded-xl univer-border-0 univer-px-4 univer-text-sm univer-outline-none active:univer-scale-[0.98]`,{"univer-bg-primary-100 univer-text-primary-700 dark:!univer-bg-primary-900 dark:!univer-text-primary-200":h===e.value,"univer-bg-gray-100 univer-text-gray-700 dark:!univer-bg-gray-800 dark:!univer-text-gray-200":h!==e.value}),onClick:()=>g(e.value),children:e.label},String(e.value)))}),(0,m.jsxs)(`div`,{className:(0,f.clsx)(`univer-flex-1 univer-overflow-y-auto univer-px-4 univer-pb-4`,f.scrollbarClassName),children:[C.length===0&&(0,m.jsx)(`div`,{className:`univer-py-12 univer-text-center univer-text-sm univer-text-gray-400`,children:c.empty}),C.map(e=>(0,m.jsxs)(`div`,{className:`univer-mb-2 univer-flex univer-min-h-14 univer-items-center univer-rounded-xl univer-bg-gray-50 univer-pl-4 dark:!univer-bg-gray-800`,children:[(0,m.jsxs)(`button`,{type:`button`,className:`univer-min-w-0 univer-flex-1 univer-appearance-none univer-border-0 univer-bg-transparent univer-py-3 univer-text-left univer-outline-none active:univer-opacity-60`,onClick:()=>w(e.name),children:[(0,m.jsx)(`span`,{className:`univer-block univer-text-sm univer-font-medium univer-text-gray-900 dark:!univer-text-gray-0`,children:e.name}),(0,m.jsx)(`span`,{className:`univer-mt-1 univer-block univer-truncate univer-text-xs univer-text-gray-500 dark:!univer-text-gray-300`,children:e.desc})]}),(0,m.jsx)(`button`,{type:`button`,className:`univer-h-12 univer-shrink-0 univer-appearance-none univer-border-0 univer-bg-transparent univer-px-4 univer-text-sm univer-text-primary-600 univer-outline-none active:univer-bg-primary-50`,onClick:()=>v(o.getFunctionInfo(e.name)??null),children:c.details})]},e.name))]})]})]})}):null}let Rn=(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 zn(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??[]]),Rn(f),(0,d.useEffect)(()=>{let e=c.scrollEvent$.pipe((0,i.throttleTime)(100)).subscribe(f);return()=>{e.unsubscribe()}},[]),[s,f]}function Bn(e,t,n,i){return(0,r.getFormulaReplaceResult)(e,t,n,i)}let Vn=(e,t=[],n)=>{let a=(0,l.useDependency)(r.IDescriptionService),[o,s]=(0,d.useState)([]),[c,u]=(0,d.useState)(``),f=(0,d.useRef)(-1),p=zt({nodes:t}),m=()=>{s([]),u(``),f.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=p.current.nodes,n=e[0];if(n.collapsed){let e=ln(t,n.startOffset-1,!1);f.current=e;let i=t[e];if(i&&typeof i!=`string`&&i.nodeType===r.sequenceNodeType.FUNCTION){f.current=e;let t=i.token,n=(0,r.searchFormulaFunctions)(a,t);s(n),u(t);return}}}f.current=-1,u(``),s(e=>e!=null&&e.length?[]:e)});return()=>{e.unsubscribe()}}},[n,e]),(0,d.useEffect)(()=>{e||m()},[e]),{searchList:o,searchText:c,handlerFormulaReplace:(e,t)=>Bn(p.current.nodes,f.current,e,t),reset:m}},Hn=(0,d.forwardRef)(Un);function Un(e,n){let{isFocus:r,sequenceNodes:i,onSelect:a,editor:s,onClose:c=t.noop}=e,u=s.getEditorId(),p=(0,l.useDependency)(l.IShortcutService),h=(0,l.useDependency)(t.ICommandService),{searchList:g,searchText:_,handlerFormulaReplace:v,reset:y}=Vn(r,i,s),b=g.length>0,x=(0,d.useRef)(void 0),[S,C]=(0,d.useState)(0),w=(0,d.useRef)(!1),[T]=zn(u,b,[_,g]),E=zt({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()}};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(p.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,m.jsx)(l.RectPopup,{portal:!0,anchorRect$:T,direction:`vertical`,children:(0,m.jsx)(`ul`,{ref:e=>{x.current=e,n&&(n.current=e)},"data-u-comp":`sheets-formula-editor`,"data-presentation":`mobile`,className:(0,f.clsx)(`univer-m-0 univer-box-border univer-list-none univer-overflow-y-auto univer-rounded-lg univer-bg-gray-0 univer-p-2 univer-leading-5 univer-shadow-md univer-outline-none dark:!univer-bg-gray-900`,`univer-max-h-[38vh] univer-w-[calc(100vw-16px)]`,f.borderClassName,f.scrollbarClassName),children:g.map((e,t)=>(0,m.jsxs)(`li`,{className:(0,f.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-gray-0`,`univer-flex univer-min-h-12 univer-flex-col univer-justify-center univer-px-3 univer-py-2`,{"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,m.jsxs)(`span`,{className:`univer-block univer-truncate univer-text-xs`,children:[(0,m.jsx)(`span`,{className:`univer-text-red-500`,children:e.name.substring(0,_.length)}),(0,m.jsx)(`span`,{children:e.name.slice(_.length)})]}),(0,m.jsx)(`span`,{className:`univer-block univer-text-xs univer-text-gray-400`,children:e.desc})]},e.name))})})}function Wn(e,t,n){return!!e||!!t||n}function Gn(e,n,r){var i;if(!(r!=null&&r.length))return;let a=n===t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY?t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY:n===t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY?t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY:null;a&&((i=e.getEditor(a))==null||i.setSelectionRanges(r,!1))}function Kn(e,n,r,i){if(e.getFocusId()!==r)return;e.blur(!0);let a=n.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);(a==null?void 0:a.getUnitId())===i&&n.getUnit(i,t.UniverInstanceType.UNIVER_SHEET)&&n.focusUnit(i)}function qn(e,t,n){let r=e.replace(/\r?\n$/,``),i=r.startsWith(`=`)?r:`=${r}`,a=+!r.startsWith(`=`),o=Math.max(1,Math.min(i.length,((t==null?void 0:t.startOffset)??i.length)+a)),s=Math.max(o,Math.min(i.length,((t==null?void 0:t.endOffset)??o)+a));return{text:`${i.slice(0,o)}${n}()${i.slice(s)}`,caretOffset:o+n.length+1}}function Jn(e,t,n){let r=e.replace(/\r?\n$/,``),i=r.startsWith(`=`)?r:`=${r}`,a=+!r.startsWith(`=`),o=Math.max(1,Math.min(i.length,((t==null?void 0:t.startOffset)??i.length)+a)),s=Math.max(o,Math.min(i.length,((t==null?void 0:t.endOffset)??o)+a));return{text:`${i.slice(0,o)}${n}${i.slice(s)}`,caretOffset:o+n.length}}let Yn=(0,d.forwardRef)((e,r)=>{var s,c;let{errorText:u,initValue:p,unitId:h,subUnitId:g,isFocus:_=!0,isSupportAcrossSheet:v=!1,onFocus:y=t.noop,onBlur:b=t.noop,onChange:x,onVerify:S,className:C,editorId:w,moveCursor:T=!0,onFormulaSelectingChange:E,keyboardEventConfig:D,onMoveInEditor:O,resetSelectionOnBlur:k=!0,autoScrollbar:A=!0,isSingle:j=!0,disableSelectionOnClick:M=!1,autofocus:N=!0,disableContextMenu:P,borderless:F=!1,canvasStyle:I,mobileFxRequest:L,mobileFunctionPanelRequest:R,mobileOperatorRequest:z,onMobileFormulaActiveChange:ee}=e,B=(0,l.useDependency)(a.IEditorService),te=(0,l.useDependency)(t.ICommandService),ne=(0,l.useDependency)(t.IContextService),re=(0,l.useDependency)(t.Injector),V=(0,d.useRef)(null),ie=(0,l.useEvent)(x);(0,d.useImperativeHandle)(r,()=>({isClickOutSide:e=>V.current?!V.current.contains(e.target):!1}));let H=(0,l.useEvent)(E),ae=(0,l.useEvent)(ee),oe=(0,d.useRef)(null),U=(0,d.useRef)(void 0),[W,G]=(0,d.useState)(),[K,se]=(0,d.useState)(_),q=(0,d.useRef)(null),J=(0,d.useMemo)(()=>w??(0,t.createInternalEditorID)(`${n.EMBEDDING_FORMULA_EDITOR}-${(0,t.generateRandomId)(4)}`),[]),ce=u!==void 0,le=(0,l.useDependency)(t.IUniverInstanceService),Y=le.getUnit(J),ue=Jt(),X=(0,l.useObservable)(Y?()=>Y.change$.pipe((0,i.map)(()=>{var e;return t.BuildTextUtils.transform.getPlainText(((e=Y.getBody())==null?void 0:e.dataStream)??``)})):null,t.BuildTextUtils.transform.getPlainText((Y==null||(s=Y.getBody())==null?void 0:s.dataStream)??``),!1,[Y]),de=zt(X),fe=(0,d.useMemo)(()=>An(X),[X]),pe=(0,d.useMemo)(()=>ue(fe),[fe,ue]),[me,he]=(0,d.useState)(!1),{isSelecting:ge,isSelectingRef:_e}=qt({unitId:h,subUnitId:g,editor:W,editorId:J,isFocus:K,disableOnClick:M,resetSignal:L}),ve=(0,d.useRef)(``),ye=(0,l.useDependency)(o.IRenderManagerService).getRenderUnitById(J),Z=ye==null?void 0:ye.with(a.DocSelectionRenderService),be=Z==null?void 0:Z.isFocusing,xe=(0,d.useMemo)(()=>le.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC),[le]),Se=(0,l.useObservable)(xe),Ce=(Se==null?void 0:Se.getUnitId())===J,we=(0,d.useRef)([]),Te=(0,l.useEvent)(()=>we.current),Ee=(0,l.useEvent)(()=>Te().length),De=ge,Oe=((c=(0,l.useDependency)(t.IConfigService).getConfig(`sheets-formula-ui.base.config`))==null?void 0:c.functionScreenTips)??!0;(0,l.useUpdateEffect)(()=>{ie(X)},[X,ie]),(0,d.useEffect)(()=>{ae==null||ae(X.replace(/\r?\n$/,``).startsWith(`=`))},[X,ae]),(0,d.useEffect)(()=>{if(!K||!W)return;let e=W.input$.subscribe(({content:e,isComposing:t})=>{t||queueMicrotask(()=>{var t,n;let r=(t=W.getSelectionRanges())==null?void 0:t[0],i=Wt(((n=W.getDocumentData().body)==null?void 0:n.dataStream)??``,r,e);if(!i)return;let a=[i];W.setSelectionRanges(a,!1),Gn(B,J,a)})});return()=>e.unsubscribe()},[W,J,B,K]);let ke=(0,d.useRef)(R);(0,d.useEffect)(()=>{R!==void 0&&R!==ke.current&&(ke.current=R,ne.setContextValue(n.MOBILE_FORMULA_FUNCTION_PANEL_OPEN,!0),he(!0),B.blur())},[ne,B,R]),(0,d.useEffect)(()=>()=>{ne.setContextValue(n.MOBILE_FORMULA_FUNCTION_PANEL_OPEN,!1)},[ne]);let Ae=Qt(`=`),je=Zt(h,g),Me=(0,l.useEvent)((e,t=!0,n,r)=>{if(!U.current)return;ve.current=e;let i=e[0]===`=`?e.slice(1):``,a=ue(i),o=Ae(U.current,a,t,r,i);if(we.current=o,n){let e=r??(W==null?void 0:W.getSelectionRanges());if((e==null?void 0:e.length)===1){let t=e[0].startOffset-1,n=ln(a,t,!1),r=un(a,n);if(r>=0){let e=o.splice(r,1)[0];e&&o.push(e)}}je(K?o:[],U.current,n)}});(0,d.useEffect)(()=>{K&&Me(X,!1,!0)},[K]),(0,d.useEffect)(()=>{if(K){if(ve.current===X)return;Me(X,!1,!0)}},[X]),kn(K,S,X);let Q=Pt(W),$=cn(K,h,g);(0,d.useEffect)(()=>{H(ge,(Z==null?void 0:Z.isFocusing)??!0)},[H,ge]);let Ne=(0,d.useMemo)(()=>(0,a.createEditorUndoRedoKeyboardConfig)({commandService:te,univerInstanceService:le,editorUnitId:J,keyCodes:D==null?void 0:D.keyCodes,handler:D==null?void 0:D.handler}),[te,J,D,le]);(0,a.useKeyboardEvent)(K,Ne,W),(0,d.useLayoutEffect)(()=>{let e;if(q.current){e=B.register({autofocus:N,editorUnitId:J,initialSnapshot:{id:J,body:{dataStream:`${p}\r\n`,textRuns:[],customBlocks:[],customDecorations:[],customRanges:[]},documentStyle:{pageSize:{width:1/0,height:1/0},documentFlavor:t.DocumentFlavor.UNSPECIFIED,marginTop:0,marginBottom:0,marginRight:0,marginLeft:0,paragraphLineGapDefault:0,renderConfig:{horizontalAlign:t.HorizontalAlign.UNSPECIFIED,verticalAlign:t.VerticalAlign.TOP}}},canvasStyle:I,preserveHostFocus:!0},q.current);let n=B.getEditor(J);U.current=n,G(n),Me(p,!1,!0)}return()=>{U.current=void 0,Kn(B,le,J,h),e==null||e.dispose()}},[]),(0,d.useEffect)(()=>{let e=q.current;if(!K||!e||!re.has(bt))return;let n=re.get(bt),r=Tt(e)??n.resolveRuntimeScopeByChildUnitId(J)??Et(e.ownerDocument);if(!r)return;let i=new t.DisposableCollection,a=re.has(xt)?re.get(xt):void 0;return i.add(n.acquireLease({embedId:r.embedId,role:`child-editor`,owner:`sheet-formula-editor`,hostUnitId:r.hostUnitId,childUnitId:r.childUnitId,associatedChildUnitIds:[J]})),a&&i.add(a.registerOwnedElement(r.embedId,e)),i.add(n.registerElement({embedId:r.embedId,role:`child-editor`,element:e})),i.add(St({embedId:r.embedId,editorId:J,ownerDocument:e.ownerDocument,interactionBoundaryService:a,focusCoordinator:n})),()=>i.dispose()},[J,re,K]),(0,d.useLayoutEffect)(()=>{let e=0,t=0;if(me){W==null||W.blur();return}let n=()=>{_&&!(Z!=null&&Z.isFocusing)&&Q()};return _?(se(_),Q(),e=requestAnimationFrame(()=>{n(),t=requestAnimationFrame(n)})):(k&&(W==null||W.blur(),$()),se(_)),()=>{cancelAnimationFrame(e),cancelAnimationFrame(t)}},[_,Z,W,Q,me,$,k]);let{checkScrollBar:Pe}=(0,a.useResize)(W,j,A);sn(K,ge,h,J,P,!0),on(!!(K&&T),De,W,O,Ee);let Fe=(0,l.useEvent)((e,t,n)=>{if(!Wn(De,be,Nt(q.current)))return;let r=t===-1?void 0:[{startOffset:t+1,endOffset:t+1,collapsed:!0}];Me(`=${e}`,!0,n,r),Gn(B,J,r),n&&(Q(),t!==-1&&setTimeout(()=>{let e={startOffset:t+1,endOffset:t+1},n=W==null?void 0:W.render.with(a.DocBackScrollRenderController);n==null||n.scrollToRange({...e,collapsed:!0})},50),Pe())});Dn(K&&!!ge,K,_e,h,g,Te,v,!!De,W,Fe,!0),On(K&&!!(ge&&Ce),h,v,se,b,()=>{Me(de.current,!1,!0)});let Ie=e=>{if(e){let t=W==null?void 0:W.getSelectionRanges();if(t&&t.length===1){let n=t[0];if(n.collapsed){let t=e.offset;setTimeout(()=>{let e=[{startOffset:n.startOffset-t,endOffset:n.endOffset-t,collapsed:!0}];W==null||W.setSelectionRanges(e),Gn(B,J,e)},30)}}Q(),Me(`=${e.text}`)}},Le=()=>{he(!1),requestAnimationFrame(()=>{se(!0),Q(),ne.setContextValue(n.MOBILE_FORMULA_FUNCTION_PANEL_OPEN,!1)})},Re=(0,l.useEvent)(e=>{if(!W)return;let n={startOffset:e.caretOffset,endOffset:e.caretOffset,collapsed:!0};W.replaceText(e.text,!1),W.setSelectionRanges([n],!1);let r=J===t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY?t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY:J===t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY?t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY:null;if(r){let t=B.getEditor(r);t==null||t.replaceText(e.text,!1),t==null||t.setSelectionRanges([n],!1)}Me(e.text,!1,!0,[n]),requestAnimationFrame(()=>Q())}),ze=(0,d.useRef)(z==null?void 0:z.id);return(0,d.useEffect)(()=>{var e,n;if(!W||!(z!=null&&z.value)||z.id===ze.current)return;ze.current=z.id;let r=t.BuildTextUtils.transform.getPlainText(((e=W.getDocumentData().body)==null?void 0:e.dataStream)??``);Re(Jn(r,(n=W.getSelectionRanges())==null?void 0:n[0],z.value))},[Re,W,z]),(0,m.jsxs)(`div`,{className:C,children:[(0,m.jsx)(`div`,{ref:V,className:(0,f.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":!F,"univer-ring-primary-500":K&&!F,"univer-ring-red-500":ce&&!F}),children:(0,m.jsx)(`div`,{ref:q,"data-u-comp":`formula-editor`,className:`univer-relative univer-size-full`,onMouseUp:e=>{Nt(q.current)||Mt({target:e.target,isFocusing:be,isPointerSelecting:Z==null?void 0:Z.isOnPointerEvent})&&(se(!0),y(),Q())}})}),u!==void 0&&(0,m.jsx)(`div`,{className:`univer-my-1 univer-text-xs univer-text-red-500`,children:u}),Oe&&!!W&&(0,m.jsx)(Hn,{isFocus:K,sequenceNodes:pe,onSelect:Ie,ref:oe,editor:W}),(0,m.jsx)(Ln,{open:me,onClose:Le,onInsert:e=>{var r,i;if(!W)return;let a=qn(t.BuildTextUtils.transform.getPlainText(((r=W.getDocumentData().body)==null?void 0:r.dataStream)??``),(i=W.getSelectionRanges())==null?void 0:i[0],e);se(!0),Re(a),he(!1),requestAnimationFrame(()=>{ne.setContextValue(n.MOBILE_FORMULA_FUNCTION_PANEL_OPEN,!1)})}})]})});function Xn(e){let{prefix:t,value:n}=e;return(0,m.jsxs)(`div`,{children:[(0,m.jsxs)(`span`,{children:[t,`(`]}),n&&n.map((e,t)=>(0,m.jsxs)(`span`,{children:[(0,m.jsx)(`span`,{children:Mn(e)}),t===n.length-1?``:`,`]},t)),`)`]})}function Zn(e){let{className:t,value:n,title:r}=e;return(0,m.jsxs)(`div`,{className:`univer-mb-2 univer-text-xs`,children:[(0,m.jsx)(`div`,{className:(0,f.clsx)(`univer-mb-2 univer-font-medium univer-text-gray-500 dark:!univer-text-gray-300`,t),children:r}),(0,m.jsx)(`div`,{className:`univer-break-all univer-text-gray-900 dark:!univer-text-gray-0`,children:n})]})}function Qn(e){let{functionInfo:t,onChange:n}=e;return t?(0,m.jsx)($n,{functionInfo:t,onChange:n}):null}function $n(e){let{functionInfo:t,onChange:n}=e,[r,i]=(0,d.useState)([]),[a,o]=(0,d.useState)(t.functionParameter),[s,c]=(0,d.useState)(-1);return(0,m.jsxs)(`div`,{children:[(0,m.jsx)(`div`,{className:(0,f.clsx)(`univer-h-[364px] univer-overflow-y-auto`,f.scrollbarClassName),children:a.map((e,t)=>(0,m.jsxs)(`div`,{children:[(0,m.jsx)(`div`,{className:`univer-text-sm`,children:e.name}),(0,m.jsx)(`div`,{className:`univer-mb-2 univer-mt-1`})]},t))}),(0,m.jsx)(`div`,{className:(0,f.clsx)(`univer-flex-1 univer-p-3`,f.borderLeftClassName),children:(0,m.jsx)(Zn,{title:s===-1?(0,m.jsx)(Xn,{prefix:t.functionName,value:a}):a[s].name,value:s===-1?t.description:a[s].detail})})]})}function er(e){var n;let i=(n=(0,l.useDependency)(t.IConfigService).getConfig(c.PLUGIN_CONFIG_KEY_BASE))==null?void 0:n.function,{onChange:a,SelectComponent:o=f.Select}=e,[s,u]=(0,d.useState)(``),[p,h]=(0,d.useState)(0),[g,_]=(0,d.useState)(`-1`),[v,y]=(0,d.useState)(0),b=(0,l.useDependency)(r.IDescriptionService),x=(0,l.useDependency)(t.LocaleService),S=(0,l.useDependency)(l.ISidebarService),C=(0,d.useMemo)(()=>{let e=s.trim().toUpperCase();return b.getSearchListByType(Number(g)).filter(({name:t})=>t.toUpperCase().includes(e))},[b,s,g]),w=C[v],T=w?b.getFunctionInfo(w.name)??null:null,E=jn(x,!!i).filter(e=>b.getSearchListByType(Number(e.value)).length>0);E.unshift({label:x.t(`sheets-formula-ui.moreFunctions.allFunctions`),value:`-1`});let D=x.t(`sheets-formula-ui.prompt.required`),O=x.t(`sheets-formula-ui.prompt.optional`);(0,d.useEffect)(()=>{a(T)},[T,a]),(0,d.useEffect)(()=>{let e=S.sidebarOptions$.subscribe(e=>{e.visible&&(u(``),_(`-1`),h(0),y(0))});return()=>e.unsubscribe()},[S]);let k=e=>{let n=s.trim().toUpperCase();if(n===``)return e;let r=RegExp(`(${t.regexp.escapeRegExp(n)})`,`i`);return e.split(r).filter(Boolean).map((e,t)=>e.match(r)?(0,m.jsx)(`span`,{className:`univer-text-red-500`,children:e},t):e)};function A(e){C[e]&&y(e)}function j(e){_(e),h(0),y(0)}function M(e){u(e),h(0),y(0)}function N(e){if(e.stopPropagation(),C.length!==0){if(e.key===`ArrowDown`){let e=p+1;h(e===C.length?0:e)}else if(e.key===`ArrowUp`){let e=p-1;h(e===-1?C.length-1:e)}else e.key===`Enter`&&A(p)}}let P=e=>{h(e)},F=()=>{h(-1)};return(0,m.jsxs)(`div`,{children:[(0,m.jsxs)(`div`,{className:`univer-flex univer-items-center univer-justify-between univer-gap-2`,children:[(0,m.jsx)(o,{value:g,options:E,onChange:j}),(0,m.jsx)(f.Input,{placeholder:x.t(`sheets-formula-ui.moreFunctions.searchFunctionPlaceholder`),onKeyDown:N,value:s,onChange:M,size:`small`,allowClear:!0})]}),C.length>0&&(0,m.jsx)(`ul`,{className:(0,f.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`,f.borderClassName,f.scrollbarClassName),onKeyDown:N,tabIndex:-1,children:C.map(({name:e},t)=>(0,m.jsxs)(`li`,{className:(0,f.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-gray-0`,{"univer-bg-gray-200 dark:!univer-bg-gray-600":p===t}),onMouseEnter:()=>P(t),onMouseLeave:F,onClick:()=>A(t),children:[v===t&&(0,m.jsx)(Be,{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,m.jsx)(`span`,{className:`univer-block`,children:k(e)})]},e))}),T&&(0,m.jsxs)(`div`,{"data-u-comp":`formula-function-details`,className:(0,f.clsx)(`univer-mx-0 univer-my-3 univer-overflow-y-auto`,f.scrollbarClassName),children:[(0,m.jsxs)(`div`,{className:`univer-rounded-lg univer-bg-gray-50 univer-p-3 dark:!univer-bg-gray-800`,children:[(0,m.jsx)(`div`,{className:`univer-text-sm univer-font-semibold univer-text-gray-900 dark:!univer-text-gray-0`,children:T.functionName}),(0,m.jsx)(`div`,{className:`univer-mt-1 univer-text-xs univer-leading-5 univer-text-gray-600 dark:!univer-text-gray-300`,children:T.description})]}),(0,m.jsxs)(`div`,{className:`univer-mt-4 univer-flex univer-flex-col univer-gap-3`,children:[(0,m.jsxs)(`div`,{children:[(0,m.jsx)(`div`,{className:`univer-text-xs univer-font-medium univer-text-gray-500 dark:!univer-text-gray-300`,children:x.t(`sheets-formula-ui.moreFunctions.syntax`)}),(0,m.jsx)(`div`,{"data-u-comp":`formula-function-syntax`,className:(0,f.clsx)(`univer-mt-1.5 univer-break-words univer-rounded-md univer-bg-gray-50 univer-px-3 univer-py-2 univer-font-mono univer-text-xs univer-leading-5 univer-text-gray-900 dark:!univer-bg-gray-800 dark:!univer-text-gray-0`,f.borderClassName),children:(0,m.jsx)(Xn,{prefix:T.functionName,value:T.functionParameter})})]}),(0,m.jsxs)(`div`,{children:[(0,m.jsx)(`div`,{className:`univer-text-xs univer-font-medium univer-text-gray-500 dark:!univer-text-gray-300`,children:x.t(`sheets-formula-ui.prompt.helpExample`)}),(0,m.jsx)(`div`,{"data-u-comp":`formula-function-example`,className:(0,f.clsx)(`univer-mt-1.5 univer-break-words univer-rounded-md univer-bg-gray-50 univer-px-3 univer-py-2 univer-font-mono univer-text-xs univer-leading-5 univer-text-gray-900 dark:!univer-bg-gray-800 dark:!univer-text-gray-0`,f.borderClassName),children:`${T.functionName}(${T.functionParameter.map(e=>e.example).join(`,`)})`})]})]}),T.functionParameter.length>0&&(0,m.jsx)(`div`,{className:(0,f.clsx)(`univer-mt-4 univer-rounded-lg univer-px-3`,f.borderClassName,f.divideYClassName),children:T.functionParameter.map(e=>(0,m.jsxs)(`div`,{"data-u-comp":`formula-function-parameter`,className:`univer-py-3`,children:[(0,m.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[(0,m.jsx)(`span`,{className:`univer-text-xs univer-font-medium univer-text-gray-900 dark:!univer-text-gray-0`,children:e.name}),(0,m.jsx)(`span`,{className:(0,f.clsx)(`univer-rounded-full univer-px-2 univer-py-0.5 univer-text-xs univer-leading-4`,e.require?`univer-bg-primary-50 univer-text-primary-600 dark:!univer-bg-primary-900 dark:!univer-text-primary-200`:`univer-bg-gray-100 univer-text-gray-600 dark:!univer-bg-gray-700 dark:!univer-text-gray-200`),children:e.require?D:O})]}),(0,m.jsx)(`div`,{className:`univer-mt-1 univer-text-xs univer-leading-5 univer-text-gray-600 dark:!univer-text-gray-300`,children:e.detail})]},e.name))})]})]})}function tr({SelectFunctionComponent:e=er}={}){let r=(0,n.useActiveWorkbook)(),[i,c]=(0,d.useState)(!0),[u,p]=(0,d.useState)(!1),[h,g]=(0,d.useState)(null);(0,l.useDependency)(n.IEditorBridgeService);let _=(0,l.useDependency)(t.LocaleService),v=(0,l.useDependency)(a.IEditorService),y=(0,l.useDependency)(t.IUniverInstanceService),b=(0,l.useDependency)(t.ICommandService);function x(){c(!i),p(!u)}function S(){let e=(0,s.getSheetCommandTarget)(y);if(!e)return;b.executeCommand(n.SetCellEditVisibleOperation.id,{visible:!0,unitId:e.unitId,eventType:o.DeviceInputEventType.Dblclick});let r=v.getEditor(t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY),i=v.getEditor(t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),a=`=${h==null?void 0:h.functionName}(`;r==null||r.replaceText(a),i==null||i.replaceText(a,!1)}return(0,m.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:[i&&(0,m.jsx)(e,{onChange:g}),u&&(0,m.jsx)(Qn,{functionInfo:h,onChange:()=>{}}),(0,m.jsxs)(`div`,{className:`univer-flex univer-justify-end`,children:[u&&(0,m.jsx)(f.Button,{variant:`primary`,onClick:x,className:`univer-mb-5 univer-ml-4 univer-mr-0 univer-mt-0`,children:_.t(`sheets-formula-ui.moreFunctions.next`)}),u&&(0,m.jsx)(f.Button,{onClick:x,className:`univer-mb-5 univer-ml-4 univer-mr-0 univer-mt-0`,children:_.t(`sheets-formula-ui.moreFunctions.prev`)}),i&&!!r&&(0,m.jsx)(f.Button,{disabled:!h,variant:`primary`,onClick:S,className:`univer-mb-5 univer-ml-4 univer-mr-0 univer-mt-0`,children:_.t(`sheets-formula-ui.moreFunctions.confirm`)})]})]})}function nr(e){return(0,m.jsx)(er,{...e,SelectComponent:f.MobileSelect})}function rr(){return(0,m.jsx)(tr,{SelectFunctionComponent:nr})}function ir(e,i,a,o){var s;let c=(0,l.useDependency)(r.LexerTreeBuilder),u=Qt(``),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??[])},[f,e,c]),(0,d.useEffect)(()=>{if(!e)return;if(!i){var n;let t=e.getDocumentData();e.setDocumentData({...t,body:{...t.body,dataStream:((n=t.body)==null?void 0:n.dataStream)??``,textRuns:[]}});return}let a=u(e,p,!1),s=new t.DisposableCollection;return a.forEach(e=>{let n=(0,r.deserializeRangeWithSheet)(e.token),i=_.getCurrentUnitOfType(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 c=new t.ColorKit(e.themeColor).toRgb(),l=h.addShape({range:n.range,style:{stroke:e.themeColor,fill:`rgba(${c.r}, ${c.g}, ${c.b}, 0.1)`,strokeDash:12},primary:null});l&&s.add(()=>h.removeShape(l))}),()=>{s.dispose()}},[e,i,u,h,p]),{sequenceNodes:p}}function ar(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(),c=e.map(e=>({range:e.range,unitId:a,sheetName:s}));f(c,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 or=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},sr=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});function cr(e){let{visible:n,initialValue:i,unitId:a,subUnitId:o,maxRangeCount:s=1/0,supportAcrossSheet:c,keepSheetReference:u,onConfirm:p,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 ar({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);let e=c.slice(0,s);b(e),S(x+o.length-1)}}}),(0,m.jsx)(f.Dialog,{width:`328px`,open:n,title:_.t(`sheets-formula-ui.rangeSelector.title`),draggable:!0,mask:!1,maskClosable:!1,footer:(0,m.jsxs)(`footer`,{className:`univer-flex univer-gap-2`,children:[(0,m.jsx)(f.Button,{onClick:h,children:_.t(`sheets-formula-ui.rangeSelector.cancel`)}),(0,m.jsx)(f.Button,{variant:`primary`,onClick:()=>{p(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:or(e.range)})))},children:_.t(`sheets-formula-ui.rangeSelector.confirm`)})]}),onClose:h,children:(0,m.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,m.jsxs)(`div`,{className:`univer-mb-2 univer-flex univer-items-center univer-gap-4`,children:[(0,m.jsx)(f.Input,{className:(0,f.clsx)(`univer-box-border univer-h-10 univer-w-full`,{"univer-border-primary-600":x===t}),placeholder:_.t(`sheets-formula-ui.rangeSelector.placeHolder`),onFocus:()=>S(t),value:e,onChange:e=>w(t,e)}),y.length>1&&(0,m.jsx)(`button`,{type:`button`,className:`univer-flex univer-size-10 univer-shrink-0 univer-items-center univer-justify-center univer-rounded-lg univer-border-0 univer-bg-transparent univer-text-gray-600 active:univer-bg-gray-100 dark:!univer-text-gray-300 dark:active:!univer-bg-gray-700`,onClick:()=>E(t),children:(0,m.jsx)(Je,{className:`univer-cursor-pointer`})})]},t)),y.length<s&&(0,m.jsxs)(f.Button,{variant:`link`,onClick:T,children:[(0,m.jsx)(nt,{}),(0,m.jsx)(`span`,{children:_.t(`sheets-formula-ui.rangeSelector.addAnotherRange`)})]})]})})}function lr(e){return e.split(r.matchToken.COMMA).filter(e=>!!e).map(e=>(0,r.deserializeRangeWithSheet)(e))}function ur(e){return e.map(e=>e.sheetName?(0,r.serializeRangeWithSheet)(e.sheetName,e.range):(0,r.serializeRange)(e.range)).join(r.matchToken.COMMA)}function dr(e){let[n,r]=(0,d.useState)(null),{className:i,onVerify:o,selectorRef:c,unitId:u,subUnitId:p,maxRangeCount:h,supportAcrossSheet:g,keepSheetReference:_,autoFocus:v,onChange:y,onRangeSelectorDialogVisibleChange:b,onClickOutside:x,onFocusChange:S,forceShowDialogWhenSelectionChanged:C,hideEditor:w,resetRange:T,onClose:E}=e,[D,O]=(0,d.useState)(v??!1),[k,A]=(0,d.useState)(!1),[j,M]=(0,d.useState)([]),N=(0,l.useDependency)(a.IEditorService),{sequenceNodes:P}=ir(n,D,u,p),F=zt(P),I=(0,l.useDependency)(t.ICommandService),L=(0,l.useDependency)(t.LocaleService),R=(0,l.useEvent)(()=>{n==null||n.setSelectionRanges([]),n==null||n.blur(),N.blur()}),z=(0,l.useEvent)(()=>{var e;R(),M(lr((n==null||(e=n.getDocumentDataModel())==null?void 0:e.getPlainText())??``)),A(!0)});return(0,d.useEffect)(()=>{c&&(c.current={get editor(){return n},focus(){N.focus(n.getEditorId())},blur:R,verify:()=>sr(F.current),showDialog:e=>{R(),M(e),A(!0)},hideDialog:()=>{M([]),A(!1)},getValue:()=>{var e;return(n==null||(e=n.getDocumentDataModel())==null?void 0:e.getPlainText())??``}})},[R,n,N,c,F]),(0,d.useEffect)(()=>{var e;o==null||o(sr(P),(n==null||(e=n.getDocumentDataModel())==null?void 0:e.getPlainText())??``)},[P]),(0,d.useEffect)(()=>{b==null||b(k)},[k]),(0,d.useEffect)(()=>{if(k&&T)return()=>{let e={unitId:u,subUnitId:p,selections:T};I.executeCommand(s.SetSelectionsOperation.id,e)}},[k]),(0,m.jsxs)(m.Fragment,{children:[w?null:(0,m.jsx)(a.RichTextEditor,{isSingle:!0,...e,className:i,preserveHostFocus:!0,onFocusChange:(e,t)=>{O(e),S==null||S(e,t)},editorRef:r,onClickOutside:()=>{O(!1),R(),x==null||x()},icon:(0,m.jsx)(f.Tooltip,{title:L.t(`sheets-formula-ui.rangeSelector.buttonTooltip`),placement:`bottom`,children:(0,m.jsx)(mt,{className:`-univer-translate-y-0.5 univer-cursor-pointer dark:!univer-text-gray-300`,onClick:z})})}),(0,m.jsx)(cr,{initialValue:j,unitId:u,subUnitId:p,visible:k,maxRangeCount:h,onConfirm:e=>{let r=ur(e),i=t.RichTextBuilder.create().insertText(r).getData();n==null||n.replaceText(r,!1),y==null||y(i,r),A(!1),M([]),requestAnimationFrame(()=>{R()})},onClose:()=>{A(!1),M([]),E==null||E()},supportAcrossSheet:g,keepSheetReference:_,onShowBySelection:e=>D||C?(M(e),A(!0),!1):!0})]})}function fr(e){var n;let{visible:i,initialValue:a,unitId:o,subUnitId:s,maxRangeCount:c=1/0,supportAcrossSheet:u,keepSheetReference:p,onConfirm:g,onClose:_,onShowBySelection:v}=e,y=(0,l.useDependency)(t.LocaleService),b=(0,l.useDependency)(r.LexerTreeBuilder),[x,S]=(0,d.useState)([]),[C,w]=(0,d.useState)(0),[T,E]=(0,d.useState)(`compact`),D=(0,d.useRef)(null),O=(0,d.useRef)(null),k=(n=globalThis.CSS)!=null&&n.supports(`height`,`1dvh`)?`22dvh`:`22vh`,{direction:A,mountContainer:j}=(0,d.useContext)(f.ConfigContext);if((0,d.useEffect)(()=>{if(i&&a.length){let e=a.map(e=>e.sheetName?(0,r.serializeRangeWithSheet)(e.sheetName,e.range):(0,r.serializeRange)(e.range));S(e),w(e.length-1)}else S([``]),w(0)},[a,i]),ar({unitId:o,subUnitId:s,supportAcrossSheet:u,keepSheetReference:p,onChange:(e,t)=>{if(!i&&v!=null&&v(e))return;let n=new Set(x),a=e.map(e=>e.sheetName?(0,r.serializeRangeWithSheet)(e.sheetName,e.range):(0,r.serializeRange)(e.range)),o=a.filter(e=>!n.has(e));if(!o.length)return;let s=[...x];if(a.length>1){t||s.splice(C,1),s.push(...o);let e=s.slice(0,c);S(e),w(e.length-1),requestAnimationFrame(()=>{var e;(e=O.current)==null||e.scrollTo({top:O.current.scrollHeight})})}else{s.splice(C,1,...o);let e=s.slice(0,c);S(e),w(C+o.length-1)}}}),!i||!j)return null;function M(){g(x.filter(e=>{let t=b.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:or(e.range)})))}function N(e,t){let n=[...x];n[e]=t,S(n)}function P(e){S(x.filter((t,n)=>n!==e))}function F(e,t){return(0,m.jsxs)(`div`,{className:`univer-mb-2 univer-flex univer-items-center univer-gap-2`,children:[(0,m.jsx)(f.Input,{className:(0,f.clsx)(`univer-box-border univer-h-10 univer-w-full`,{"univer-border-primary-600":C===t}),placeholder:y.t(`sheets-formula-ui.rangeSelector.placeHolder`),onFocus:()=>w(t),value:e,onChange:e=>N(t,e)}),x.length>1&&(0,m.jsx)(`button`,{type:`button`,className:`univer-flex univer-size-10 univer-shrink-0 univer-items-center univer-justify-center univer-rounded-lg univer-border-0 univer-bg-transparent univer-text-gray-600 active:univer-bg-gray-100 dark:!univer-text-gray-300 dark:active:!univer-bg-gray-700`,onClick:()=>P(t),children:(0,m.jsx)(Je,{className:`univer-cursor-pointer`})})]},t)}let I=y.t(`sheets-formula-ui.rangeSelector.title`);return(0,h.createPortal)((0,m.jsx)(`div`,{ref:D,dir:A,className:`univer-pointer-events-none univer-visible univer-fixed univer-inset-0 univer-z-[1300]`,children:(0,m.jsx)(l.MobileDrawer,{layerRef:D,componentName:`mobile-range-selector-drawer`,openMode:`push`,snap:T,expandLabel:I,collapseLabel:I,onSnapChange:E,onClose:_,role:`dialog`,ariaLabel:I,panelClassName:`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/sheets-formula-ui",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "private": false,
5
5
  "description": "Formula editing UI for Univer Sheets.",
6
6
  "author": "DreamNum Co., Ltd. <developer@univer.ai>",
@@ -69,20 +69,20 @@
69
69
  "rxjs": ">=7.0.0"
70
70
  },
71
71
  "dependencies": {
72
- "@univerjs/core": "1.0.1",
73
- "@univerjs/design": "1.0.1",
74
- "@univerjs/docs": "1.0.1",
75
- "@univerjs/docs-ui": "1.0.1",
76
- "@univerjs/engine-formula": "1.0.1",
77
- "@univerjs/engine-render": "1.0.1",
78
- "@univerjs/icons": "1.43.0",
79
- "@univerjs/sheets": "1.0.1",
80
- "@univerjs/sheets-formula": "1.0.1",
81
- "@univerjs/sheets-ui": "1.0.1",
82
- "@univerjs/ui": "1.0.1"
72
+ "@univerjs/core": "1.0.2",
73
+ "@univerjs/design": "1.0.2",
74
+ "@univerjs/docs": "1.0.2",
75
+ "@univerjs/docs-ui": "1.0.2",
76
+ "@univerjs/engine-formula": "1.0.2",
77
+ "@univerjs/engine-render": "1.0.2",
78
+ "@univerjs/icons": "1.43.1",
79
+ "@univerjs/sheets": "1.0.2",
80
+ "@univerjs/sheets-formula": "1.0.2",
81
+ "@univerjs/sheets-ui": "1.0.2",
82
+ "@univerjs/ui": "1.0.2"
83
83
  },
84
84
  "devDependencies": {
85
- "@univerjs-infra/shared": "1.0.1",
85
+ "@univerjs-infra/shared": "1.0.2",
86
86
  "postcss": "^8.5.28",
87
87
  "react": "18.3.1",
88
88
  "react-dom": "18.3.1",