@univerjs/preset-sheets-node-core 0.25.0 → 1.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/README.md +3 -3
  2. package/lib/cjs/index.js +135 -1
  3. package/lib/cjs/locales/ar-SA.js +17 -1
  4. package/lib/cjs/locales/ca-ES.js +17 -1
  5. package/lib/cjs/locales/de-DE.js +17 -1
  6. package/lib/cjs/locales/en-US.js +17 -1
  7. package/lib/cjs/locales/es-ES.js +17 -1
  8. package/lib/cjs/locales/fa-IR.js +17 -1
  9. package/lib/cjs/locales/fr-FR.js +17 -1
  10. package/lib/cjs/locales/id-ID.js +17 -1
  11. package/lib/cjs/locales/it-IT.js +17 -1
  12. package/lib/cjs/locales/ja-JP.js +17 -1
  13. package/lib/cjs/locales/ko-KR.js +17 -1
  14. package/lib/cjs/locales/pl-PL.js +17 -1
  15. package/lib/cjs/locales/pt-BR.js +17 -1
  16. package/lib/cjs/locales/ru-RU.js +17 -1
  17. package/lib/cjs/locales/sk-SK.js +17 -1
  18. package/lib/cjs/locales/vi-VN.js +17 -1
  19. package/lib/cjs/locales/zh-CN.js +17 -1
  20. package/lib/cjs/locales/zh-HK.js +17 -1
  21. package/lib/cjs/locales/zh-TW.js +17 -1
  22. package/lib/cjs/rolldown-runtime-C_NdSu1c.js +34 -0
  23. package/lib/cjs/worker.js +46 -1
  24. package/lib/es/index.js +74 -61
  25. package/lib/es/locales/ar-SA.js +11 -16
  26. package/lib/es/locales/ca-ES.js +11 -16
  27. package/lib/es/locales/de-DE.js +11 -16
  28. package/lib/es/locales/en-US.js +11 -16
  29. package/lib/es/locales/es-ES.js +11 -16
  30. package/lib/es/locales/fa-IR.js +11 -16
  31. package/lib/es/locales/fr-FR.js +11 -16
  32. package/lib/es/locales/id-ID.js +11 -16
  33. package/lib/es/locales/it-IT.js +11 -16
  34. package/lib/es/locales/ja-JP.js +11 -16
  35. package/lib/es/locales/ko-KR.js +11 -16
  36. package/lib/es/locales/pl-PL.js +11 -16
  37. package/lib/es/locales/pt-BR.js +11 -16
  38. package/lib/es/locales/ru-RU.js +11 -16
  39. package/lib/es/locales/sk-SK.js +11 -16
  40. package/lib/es/locales/vi-VN.js +11 -16
  41. package/lib/es/locales/zh-CN.js +11 -16
  42. package/lib/es/locales/zh-HK.js +11 -16
  43. package/lib/es/locales/zh-TW.js +11 -16
  44. package/lib/es/worker.js +25 -23
  45. package/lib/index.js +74 -61
  46. package/lib/locales/ar-SA.js +11 -16
  47. package/lib/locales/ca-ES.js +11 -16
  48. package/lib/locales/de-DE.js +11 -16
  49. package/lib/locales/en-US.js +11 -16
  50. package/lib/locales/es-ES.js +11 -16
  51. package/lib/locales/fa-IR.js +11 -16
  52. package/lib/locales/fr-FR.js +11 -16
  53. package/lib/locales/id-ID.js +11 -16
  54. package/lib/locales/it-IT.js +11 -16
  55. package/lib/locales/ja-JP.js +11 -16
  56. package/lib/locales/ko-KR.js +11 -16
  57. package/lib/locales/pl-PL.js +11 -16
  58. package/lib/locales/pt-BR.js +11 -16
  59. package/lib/locales/ru-RU.js +11 -16
  60. package/lib/locales/sk-SK.js +11 -16
  61. package/lib/locales/vi-VN.js +11 -16
  62. package/lib/locales/zh-CN.js +11 -16
  63. package/lib/locales/zh-HK.js +11 -16
  64. package/lib/locales/zh-TW.js +11 -16
  65. package/lib/types/index.d.ts +16 -1
  66. package/lib/types/locales/ar-SA.d.ts +1 -3
  67. package/lib/types/locales/ca-ES.d.ts +1 -3
  68. package/lib/types/locales/de-DE.d.ts +1 -3
  69. package/lib/types/locales/en-US.d.ts +1 -3
  70. package/lib/types/locales/es-ES.d.ts +1 -3
  71. package/lib/types/locales/fa-IR.d.ts +1 -3
  72. package/lib/types/locales/fr-FR.d.ts +1 -3
  73. package/lib/types/locales/id-ID.d.ts +1 -3
  74. package/lib/types/locales/it-IT.d.ts +1 -3
  75. package/lib/types/locales/ja-JP.d.ts +1 -3
  76. package/lib/types/locales/ko-KR.d.ts +1 -3
  77. package/lib/types/locales/pl-PL.d.ts +1 -3
  78. package/lib/types/locales/pt-BR.d.ts +1 -3
  79. package/lib/types/locales/ru-RU.d.ts +1 -3
  80. package/lib/types/locales/sk-SK.d.ts +1 -3
  81. package/lib/types/locales/vi-VN.d.ts +1 -3
  82. package/lib/types/locales/zh-CN.d.ts +1 -3
  83. package/lib/types/locales/zh-HK.d.ts +1 -3
  84. package/lib/types/locales/zh-TW.d.ts +1 -3
  85. package/lib/types/preset.d.ts +46 -0
  86. package/lib/types/types.d.ts +15 -11
  87. package/lib/types/worker.d.ts +17 -1
  88. package/lib/worker.js +25 -23
  89. package/package.json +25 -28
  90. package/lib/types/umd.d.ts +0 -30
  91. package/lib/umd/index.js +0 -66
  92. package/lib/umd/locales/ar-SA.js +0 -60
  93. package/lib/umd/locales/ca-ES.js +0 -55
  94. package/lib/umd/locales/de-DE.js +0 -60
  95. package/lib/umd/locales/en-US.js +0 -60
  96. package/lib/umd/locales/es-ES.js +0 -55
  97. package/lib/umd/locales/fa-IR.js +0 -60
  98. package/lib/umd/locales/fr-FR.js +0 -60
  99. package/lib/umd/locales/id-ID.js +0 -60
  100. package/lib/umd/locales/it-IT.js +0 -60
  101. package/lib/umd/locales/ja-JP.js +0 -59
  102. package/lib/umd/locales/ko-KR.js +0 -53
  103. package/lib/umd/locales/pl-PL.js +0 -60
  104. package/lib/umd/locales/pt-BR.js +0 -60
  105. package/lib/umd/locales/ru-RU.js +0 -47
  106. package/lib/umd/locales/sk-SK.js +0 -55
  107. package/lib/umd/locales/vi-VN.js +0 -59
  108. package/lib/umd/locales/zh-CN.js +0 -60
  109. package/lib/umd/locales/zh-HK.js +0 -60
  110. package/lib/umd/locales/zh-TW.js +0 -60
  111. package/lib/umd/worker.js +0 -1
package/lib/umd/index.js DELETED
@@ -1,66 +0,0 @@
1
- // @univerjs/docs/index
2
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/engine-render"),require("rxjs")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/engine-render`,`rxjs`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverDocs={},e.UniverCore,e.UniverEngineRender,e.rxjs))})(this,function(e,t,n,r){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let i={id:`doc.operation.set-selections`,type:t.CommandType.OPERATION,handler:()=>!0};function a(e){"@babel/helpers - typeof";return a=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},a(e)}function o(e,t){if(a(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(a(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function s(e){var t=o(e,`string`);return a(t)==`symbol`?t:t+``}function c(e,t,n){return(t=s(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){return function(n,r){t(n,r,e)}}function u(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 d=class extends t.RxDisposable{constructor(e,t){super(),this._commandService=e,this._univerInstanceService=t,c(this,`_currentSelection`,null),c(this,`_textSelectionInfo`,new Map),c(this,`_textSelection$`,new r.Subject),c(this,`textSelection$`,this._textSelection$.asObservable()),c(this,`_refreshSelection$`,new r.BehaviorSubject(null)),c(this,`refreshSelection$`,this._refreshSelection$.asObservable()),this._listenCurrentUnit()}_listenCurrentUnit(){this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC).pipe((0,r.takeUntil)(this.dispose$)).subscribe(e=>{if(e==null)return;let t=e.getUnitId();this._setCurrentSelectionNotRefresh({unitId:t,subUnitId:t})})}__getCurrentSelection(){return this._currentSelection}getSelectionInfo(e=this._currentSelection){return this._getTextRanges(e)}refreshSelection(e=this._currentSelection){e!=null&&this._refresh(e)}__TEST_ONLY_setCurrentSelection(e){this._currentSelection=e,this._refresh(e)}getTextRanges(e=this._currentSelection){var t;return(t=this._getTextRanges(e))==null?void 0:t.textRanges}getRectRanges(e=this._currentSelection){var t;return(t=this._getTextRanges(e))==null?void 0:t.rectRanges}getDocRanges(e=this._currentSelection){var t,n;let r=(t=this.getTextRanges(e))==null?[]:t,i=(n=this.getRectRanges(e))==null?[]:n;return[...r,...i].filter(e=>e.startOffset!=null&&e.endOffset!=null).sort((e,t)=>e.startOffset>t.startOffset?1:e.startOffset<t.startOffset?-1:0)}getActiveTextRange(){let e=this._getTextRanges(this._currentSelection);if(e==null)return;let{textRanges:t}=e;return t.find(e=>e.isActive)}getActiveRectRange(){let e=this._getTextRanges(this._currentSelection);if(e==null)return;let{rectRanges:t}=e;return t.find(e=>e.isActive)}__TEST_ONLY_add(e,t=!0){this._currentSelection!=null&&this._addByParam({...this._currentSelection,textRanges:e,rectRanges:[],segmentId:``,segmentPage:-1,isEditing:t,style:n.NORMAL_TEXT_SELECTION_PLUGIN_STYLE})}replaceTextRanges(e,t=!0,n){return this.replaceDocRanges(e,this._currentSelection,t,n)}replaceDocRanges(e,t=this._currentSelection,n=!0,r){if(t==null)return;let{unitId:i,subUnitId:a}=t;this._refreshSelection$.next({unitId:i,subUnitId:a,docRanges:e,isEditing:n,options:r})}__replaceTextRangesWithNoRefresh(e,t){if(this._currentSelection==null)return;let n={...e,...t};this._replaceByParam(n),this._textSelection$.next(n);let{unitId:r,subUnitId:a,segmentId:o,style:s,textRanges:c,rectRanges:l,isEditing:u}=n,d=[...c,...l].filter(e=>e.startOffset!=null&&e.endOffset!=null).sort((e,t)=>e.startOffset>t.startOffset?1:e.startOffset<t.startOffset?-1:0);this._commandService.executeCommand(i.id,{unitId:r,subUnitId:a,segmentId:o,style:s,isEditing:u,ranges:d})}dispose(){this._textSelection$.complete(),this._refreshSelection$.complete()}_setCurrentSelectionNotRefresh(e){this._currentSelection=e}_getTextRanges(e){var t;if(e==null)return;let{unitId:n,subUnitId:r=``}=e;return(t=this._textSelectionInfo.get(n))==null?void 0:t.get(r)}_refresh(e){let t=this._getTextRanges(e);if(t==null)return;let{textRanges:n,rectRanges:r}=t,i=[...n,...r],{unitId:a,subUnitId:o}=e;this._refreshSelection$.next({unitId:a,subUnitId:o,docRanges:i,isEditing:!1})}_replaceByParam(e){let{unitId:t,subUnitId:n,...r}=e;this._textSelectionInfo.has(t)||this._textSelectionInfo.set(t,new Map),this._textSelectionInfo.get(t).set(n,{...r})}_addByParam(e){let{unitId:t,subUnitId:n,...r}=e;this._textSelectionInfo.has(t)||this._textSelectionInfo.set(t,new Map);let i=this._textSelectionInfo.get(t);i.has(n)?i.get(n).textRanges.push(...e.textRanges):i.set(n,{...r})}};d=u([l(0,t.ICommandService),l(1,t.IUniverInstanceService)],d);let f=class extends t.RxDisposable{constructor(e,n,i){super(),this._context=e,this._localeService=n,this._univerInstanceService=i,c(this,`_skeleton`,void 0),c(this,`_docViewModel`,void 0),c(this,`_currentSkeleton$`,new r.BehaviorSubject(null)),c(this,`currentSkeleton$`,this._currentSkeleton$.asObservable()),c(this,`_currentSkeletonBefore$`,new r.BehaviorSubject(null)),c(this,`currentSkeletonBefore$`,this._currentSkeletonBefore$.asObservable()),c(this,`_currentViewModel$`,new r.BehaviorSubject(null)),c(this,`currentViewModel$`,this._currentViewModel$.asObservable()),this._init(),this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC).pipe((0,r.takeUntil)(this.dispose$)).subscribe(e=>{e&&e.getUnitId()===this._context.unitId&&this._update(e)})}dispose(){super.dispose(),this._currentSkeletonBefore$.complete(),this._currentSkeleton$.complete()}getSkeleton(){return this._skeleton}getViewModel(){return this._docViewModel}_init(){let e=this._context.unit;this._update(e)}_update(e){let n=this._context.unitId;if(e.getBody()==null)return;this._docViewModel&&(0,t.isInternalEditorID)(n)?(this._docViewModel.reset(e),this._context.unit=e):this._docViewModel||(this._docViewModel=this._buildDocViewModel(e)),this._skeleton||(this._skeleton=this._buildSkeleton(this._docViewModel));let r=this._skeleton;r.calculate(),this._currentSkeletonBefore$.next(r),this._currentSkeleton$.next(r),this._currentViewModel$.next(this._docViewModel)}_buildSkeleton(e){return n.DocumentSkeleton.create(e,this._localeService)}_buildDocViewModel(e){return new n.DocumentViewModel(e)}};f=u([l(1,(0,t.Inject)(t.LocaleService)),l(2,t.IUniverInstanceService)],f);var p=class extends t.RxDisposable{constructor(){super(),c(this,`_docStateChangeParams$`,new r.BehaviorSubject(null)),c(this,`docStateChangeParams$`,this._docStateChangeParams$.asObservable())}emitStateChangeInfo(e){this._docStateChangeParams$.next(e)}dispose(){super.dispose(),this._docStateChangeParams$.complete()}};let m=`doc.mutation.rich-text-editing`,h={id:m,type:t.CommandType.MUTATION,handler:(e,r)=>{var i,a;let{unitId:o,segmentId:s=``,actions:c,textRanges:l,prevTextRanges:u,trigger:h,noHistory:g,isCompositionEnd:_,noNeedSetTextRange:v,debounce:y,isEditing:b=!0,isSync:x,syncer:S}=r,C=e.get(t.IUniverInstanceService),w=e.get(n.IRenderManagerService),T=e.get(p),E=C.getUniverDocInstance(o),D=(i=w.getRenderById(o))==null?void 0:i.with(f).getViewModel();if(E==null||D==null)throw Error(`DocumentDataModel or documentViewModel not found for unitId: ${o}`);let O=e.get(d),k=(a=O.getDocRanges())==null?[]:a,A=!!E.getSnapshot().disabled;if(t.JSONX.isNoop(c)||c&&c.length===0||A)return{unitId:o,actions:[],textRanges:k};let j=t.JSONX.invertWithDoc(c,E.getSnapshot());E.apply(c),D.reset(E),!v&&l&&h!=null&&!x&&queueMicrotask(()=>{O.replaceDocRanges(l,{unitId:o,subUnitId:o},b,r.options)});let M={commandId:m,unitId:o,segmentId:s,trigger:h,noHistory:g,debounce:y,redoState:{actions:c,textRanges:l},undoState:{actions:j,textRanges:u==null?k:u},isCompositionEnd:_,isSync:x,syncer:S};return T.emitStateChangeInfo(M),{unitId:o,actions:j,textRanges:k}}};var g=`@univerjs/docs`,_=`0.25.0`;let v={id:`doc.mutation.rename-doc`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService).getUnit(n.unitId,t.UniverInstanceType.UNIVER_DOC);return r?(r.setName(n.name),!0):!1}},y={},b=class extends t.Disposable{constructor(e,t,n){super(),this._commandService=e,this._textSelectionManagerService=t,this._univerInstanceService=n,this._initSelectionChange()}_transformCustomRange(e,n){var r;let{startOffset:i,endOffset:a,collapsed:o}=n,s=(r=e.getCustomRanges())==null?void 0:r.filter(e=>!e.wholeEntity||i<=e.startIndex&&a>e.endIndex?!1:o?e.startIndex<i&&e.endIndex>=a:t.BuildTextUtils.range.isIntersects(i,a-1,e.startIndex,e.endIndex));if(s!=null&&s.length){let e=i,t=a;return s.forEach(n=>{e=Math.min(n.startIndex,e),t=Math.max(n.endIndex+1,t)}),{...n,startOffset:e,endOffset:t,collapsed:e===t}}return n}_initSelectionChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===i.id){let{unitId:t,ranges:n,isEditing:r}=e.params,i=this._univerInstanceService.getUnit(t);if(!i)return;let a=n.map(e=>this._transformCustomRange(i,e));a.some((e,t)=>n[t]!==e)&&this._textSelectionManagerService.replaceTextRanges(a,r)}}))}};b=u([l(0,t.ICommandService),l(1,(0,t.Inject)(d)),l(2,t.IUniverInstanceService)],b);let x=class extends t.Plugin{constructor(e=y,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{...i}=(0,t.merge)({},y,this._config);this._configService.setConfig(`docs.config`,i)}onStarting(){this._initializeDependencies(),this._initializeCommands()}_initializeCommands(){[h,v,i].forEach(e=>{this._injector.get(t.ICommandService).registerCommand(e)})}_initializeDependencies(){[[d],[p],[b]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(b)}};c(x,`pluginName`,`DOCS_PLUGIN`),c(x,`packageName`,g),c(x,`version`,_),x=u([l(1,(0,t.Inject)(t.Injector)),l(2,t.IConfigService)],x);let S={CUSTOM_RANGE:(0,t.createInterceptorKey)(`CUSTOM_RANGE`),CUSTOM_DECORATION:(0,t.createInterceptorKey)(`CUSTOM_DECORATION`)},C=class extends t.Disposable{constructor(e,n){super(),this._context=e,this._docSkeletonManagerService=n,c(this,`_interceptorsByName`,new Map);let r=this._docSkeletonManagerService.getViewModel(),i=r.getDataModel().getUnitId();if(i===t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY||i===t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)return;this.disposeWithMe(this.interceptDocumentViewModel(r)),this.disposeWithMe(this.intercept(S.CUSTOM_RANGE,{priority:-1,handler:(e,t,n)=>n(e)}));let a=new t.DisposableCollection;r.segmentViewModels$.subscribe(e=>{a.dispose(),a=new t.DisposableCollection,e.forEach(e=>{a.add(this.interceptDocumentViewModel(e))})}),this.disposeWithMe(a)}intercept(e,n){let r=e;this._interceptorsByName.has(r)||this._interceptorsByName.set(r,[]);let i=this._interceptorsByName.get(r);return i.push(n),this._interceptorsByName.set(r,i.sort((e,t)=>{var n,r;return((n=t.priority)==null?0:n)-((r=e.priority)==null?0:r)})),this.disposeWithMe((0,t.toDisposable)(()=>(0,t.remove)(this._interceptorsByName.get(r),n)))}fetchThroughInterceptors(e){let n=e;return(0,t.composeInterceptors)(this._interceptorsByName.get(n)||[])}interceptDocumentViewModel(e){let n=new t.DisposableCollection;return n.add(e.registerCustomRangeInterceptor({getCustomRange:t=>{var n;return this.fetchThroughInterceptors(S.CUSTOM_RANGE)(e.getCustomRangeRaw(t),{index:t,unitId:e.getDataModel().getUnitId(),customRanges:(n=e.getDataModel().getCustomRanges())==null?[]:n})},getCustomDecoration:t=>{var n;return this.fetchThroughInterceptors(S.CUSTOM_DECORATION)(e.getCustomDecorationRaw(t),{index:t,unitId:e.getDataModel().getUnitId(),customDecorations:(n=e.getDataModel().getCustomDecorations())==null?[]:n})}})),n}};C=u([l(1,(0,t.Inject)(f))],C);function w(e,t=``){if(!t)return[`body`];let{headers:n,footers:r}=e.getSnapshot();if(n==null&&r==null)throw Error(`Document data model must have headers or footers when update by segment id`);if((n==null?void 0:n[t])!=null)return[`headers`,t,`body`];if((r==null?void 0:r[t])!=null)return[`footers`,t,`body`];throw Error(`Segment id not found in headers or footers`)}function T(e,n,r){let{unitId:i,segmentId:a}=n,o=e.get(t.IUniverInstanceService).getUnit(i);if(!o)return!1;let s={id:h.id,params:{unitId:n.unitId,actions:[],textRanges:void 0}},c=t.JSONX.getInstance(),l=t.BuildTextUtils.customRange.add({...n,body:r});if(!l)return!1;let u=w(o,a);return s.params.actions=c.editOp(l.serialize(),u),s}function E(e,n){var r;let{rangeId:i,rangeType:a,wholeEntity:o,properties:s,unitId:c,selections:l}=n,u=e.get(d),f=e.get(t.IUniverInstanceService),p=l==null?u.getTextRanges({unitId:c,subUnitId:c}):l,m=p==null||(r=p[0])==null?void 0:r.segmentId;if(!(p!=null&&p.length))return!1;let g=f.getUnit(c,t.UniverInstanceType.UNIVER_DOC);if(!g)return!1;let _=g.getSelfOrHeaderFooterModel(m).getBody();if(!_)return!1;let v=t.BuildTextUtils.customRange.add({ranges:p,rangeId:i,rangeType:a,segmentId:m,wholeEntity:o,properties:s,body:_});if(!v)return!1;let y=t.JSONX.getInstance(),b={id:h.id,params:{unitId:c,actions:[],textRanges:v.selections,segmentId:m},textX:v},x=w(g,m);return b.params.actions=y.editOp(v.serialize(),x),b}function D(e,n){let{unitId:r,segmentId:i,insert:a}=n,o=e.get(t.IUniverInstanceService).getUnit(r);if(!o)return!1;let s={id:h.id,params:{unitId:n.unitId,actions:[],textRanges:void 0,segmentId:i}},c=t.JSONX.getInstance(),l=t.BuildTextUtils.customRange.delete({documentDataModel:o,rangeId:n.rangeId,insert:a,segmentId:i});if(!l)return!1;let u=w(o,i);return s.params.actions=c.editOp(l.serialize(),u),s.params.textRanges=l.selections,s}function O(e,n){var r,i,a,o;let{unitId:s,body:c,doc:l}=n,u=l;if(u||(u=e.get(t.IUniverInstanceService).getUnit(s)),!u)return!1;let f=(r=n.selection)==null?void 0:r.segmentId,p=(i=u.getSelfOrHeaderFooterModel(f))==null?void 0:i.getBody();if(!p)return!1;let m=e.get(d),g=(a=n.selection)==null?m.getActiveTextRange():a;if(!g||!p)return!1;let _=(o=n.textRanges)==null?[{startOffset:g.startOffset+c.dataStream.length,endOffset:g.startOffset+c.dataStream.length,collapsed:!0,segmentId:f}]:o,v=t.BuildTextUtils.selection.replace({selection:g,body:c,doc:u});if(!v)return!1;let y={id:h.id,params:{unitId:s,actions:[],textRanges:_,debounce:!0,segmentId:f},textX:v},b=t.JSONX.getInstance();return y.params.actions=b.editOp(v.serialize()),y}e.DOC_INTERCEPTOR_POINT=S,Object.defineProperty(e,"DocInterceptorService",{enumerable:!0,get:function(){return C}}),Object.defineProperty(e,"DocSelectionManagerService",{enumerable:!0,get:function(){return d}}),Object.defineProperty(e,"DocSkeletonManagerService",{enumerable:!0,get:function(){return f}}),e.DocStateEmitService=p,e.RichTextEditingMutation=h,e.SetTextSelectionsOperation=i,Object.defineProperty(e,"UniverDocsPlugin",{enumerable:!0,get:function(){return x}}),e.addCustomRangeBySelectionFactory=E,e.addCustomRangeFactory=T,e.deleteCustomRangeFactory=D,e.replaceSelectionFactory=O});
3
-
4
- // @univerjs/rpc-node/index
5
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("node:child_process"),require("node:process"),require("@univerjs/core"),require("@univerjs/rpc"),require("rxjs")):typeof define==`function`&&define.amd?define([`exports`,`node:child_process`,`node:process`,`@univerjs/core`,`@univerjs/rpc`,`rxjs`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverRpcNode={},e[`Node:child_process`],e[`Node:process`],e.UniverCore,e.UniverRpc,e.rxjs))})(this,function(e,t,n,r,i,a){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var o=Object.create,s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,u=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty,f=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=l(t),a=0,o=i.length,u;a<o;a++)u=i[a],!d.call(e,u)&&u!==n&&s(e,u,{get:(e=>t[e]).bind(null,u),enumerable:!(r=c(t,u))||r.enumerable});return e};n=((e,t,n)=>(n=e==null?{}:o(u(e)),f(t||!e||!e.__esModule?s(n,`default`,{value:e,enumerable:!0}):n,e)))(n);var p=`@univerjs/rpc-node`,m=`0.25.0`;let h={},g={};function _(e){"@babel/helpers - typeof";return _=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},_(e)}function v(e,t){if(_(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(_(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function y(e){var t=v(e,`string`);return _(t)==`symbol`?t:t+``}function b(e,t,n){return(t=y(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function x(e,t){return function(n,r){t(n,r,e)}}function S(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let C=class extends r.Plugin{constructor(e=h,t,n){super(),this._config=e,this._injector=t,this._configService=n,b(this,`_child`,null);let{...i}=(0,r.merge)({},h,this._config);this._configService.setConfig(`rpc-node.main-thread.config`,i)}onStarting(){let{workerSrc:e}=this._config;if(!e)throw Error(`[UniverRPCNodeMainPlugin] workerSrc is required for UniverRPCNodeMainPlugin`);let[t,n]=T(this._injector,e);[[i.IRPCChannelService,{useFactory:()=>new i.ChannelService(t)}],[i.DataSyncPrimaryController],[i.IRemoteSyncService,{useClass:i.RemoteSyncPrimaryService}]].forEach(e=>this._injector.add(e)),this._injector.get(i.DataSyncPrimaryController),this._child=n}dispose(){if(super.dispose(),this._child){try{this._child.kill()}catch(e){console.error(`Failed to kill child process:`,e)}this._child=null}}};b(C,`pluginName`,`UNIVER_RPC_NODE_MAIN_PLUGIN`),b(C,`packageName`,p),b(C,`version`,m),C=S([x(1,(0,r.Inject)(r.Injector)),x(2,r.IConfigService)],C);let w=class extends r.Plugin{constructor(e=g,t,n){super(),this._config=e,this._injector=t,this._configService=n;let{...i}=(0,r.merge)({},g,this._config);this._configService.setConfig(`rpc-node.worker-thread.config`,i)}onStarting(){[[i.DataSyncReplicaController],[i.IRPCChannelService,{useFactory:()=>new i.ChannelService(E())}],[i.IRemoteInstanceService,{useClass:i.WebWorkerRemoteInstanceService}]].forEach(e=>this._injector.add(e)),this._injector.get(i.DataSyncReplicaController)}};b(w,`pluginName`,`UNIVER_RPC_NODE_WORKER_PLUGIN`),b(w,`packageName`,p),b(w,`version`,m),w=S([x(1,(0,r.Inject)(r.Injector)),x(2,r.IConfigService)],w);function T(e,n){let i=e.get(r.ILogService),o=(0,t.fork)(n);return o.on(`spawn`,()=>i.log(`Child computing process spawned!`)),o.on(`error`,e=>i.error(e)),[{send(e){o.send(e)},onMessage:new a.Observable(e=>{let t=t=>{e.next(t)};return o.on(`message`,t),()=>o.off(`message`,t)}).pipe((0,a.shareReplay)({bufferSize:1,refCount:!0}))},o]}function E(){return{send(e){n.default.send(e)},onMessage:new a.Observable(e=>{let t=t=>{e.next(t)};return n.default.on(`message`,t),()=>n.default.off(`message`,t)}).pipe((0,a.shareReplay)({bufferSize:1,refCount:!0}))}}Object.defineProperty(e,"UniverRPCNodeMainPlugin",{enumerable:!0,get:function(){return C}}),Object.defineProperty(e,"UniverRPCNodeWorkerPlugin",{enumerable:!0,get:function(){return w}})});
6
-
7
- // @univerjs/sheets/index
8
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("rxjs"),require("@univerjs/engine-formula"),require("@univerjs/engine-render"),require("@univerjs/protocol"),require("rxjs/operators"),require("@univerjs/rpc")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`rxjs`,`@univerjs/engine-formula`,`@univerjs/engine-render`,`@univerjs/protocol`,`rxjs/operators`,`@univerjs/rpc`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheets={},e.UniverCore,e.rxjs,e.UniverEngineFormula,e.UniverEngineRender,e.UniverProtocol,e.rxjs.operators,e.UniverRpc))})(this,function(e,t,n,r,i,a,o,s){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function c(e,n,r){var i;if(n.t)return n.t;if(n.v===null)return null;let a=e.getStyleByCell(n),o=e.getStyleByCell(r);if(r.t===t.CellValueType.FORCE_STRING){var s;if(!(0,t.isTextFormat)(o==null||(s=o.n)==null?void 0:s.pattern)&&n.v!==void 0){if((0,t.isRealNum)(n.v))return t.CellValueType.NUMBER;if((0,t.isBooleanString)(`${n.v}`))return t.CellValueType.BOOLEAN}return t.CellValueType.FORCE_STRING}if(u(a)){var c;return(0,t.isTextFormat)(a==null||(c=a.n)==null?void 0:c.pattern)?t.CellValueType.STRING:l(n,r)}return(0,t.isTextFormat)(o==null||(i=o.n)==null?void 0:i.pattern)?t.CellValueType.STRING:l(n,r)}function l(e,t){return e.v===void 0?d(t.v,t.t):d(e.v,e.t)}function u(e){var t;return!!(!(e==null||(t=e.n)==null)&&t.pattern)}function d(e,n){return e===null?null:typeof e==`string`?(0,t.isRealNum)(e)?(+e==0||+e==1)&&n===t.CellValueType.BOOLEAN?t.CellValueType.BOOLEAN:n!==t.CellValueType.STRING&&n!==t.CellValueType.FORCE_STRING&&(0,t.willLoseNumericPrecision)(e)?t.CellValueType.FORCE_STRING:t.CellValueType.NUMBER:(0,t.isBooleanString)(e)?t.CellValueType.BOOLEAN:t.CellValueType.STRING:typeof e==`number`?(e===0||e===1)&&n===t.CellValueType.BOOLEAN?t.CellValueType.BOOLEAN:t.CellValueType.NUMBER:typeof e==`boolean`?t.CellValueType.BOOLEAN:t.CellValueType.FORCE_STRING}function f(e,n){let{unitId:r}=n,i=r?e.getUnit(r,t.UniverInstanceType.UNIVER_SHEET):e.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);return i?{workbook:i,unitId:i.getUnitId()}:null}function p(e,n={}){let{unitId:r,subUnitId:i}=n,a=r?e.getUnit(r,t.UniverInstanceType.UNIVER_SHEET):e.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!a)return null;let o=i?a.getSheetBySheetId(i):a.getActiveSheet(!0);return o?{worksheet:o,workbook:a,unitId:a.getUnitId(),subUnitId:o.getSheetId()}:null}function m(e,n){let{unitId:r,subUnitId:i}=n,a=e.getUnit(r,t.UniverInstanceType.UNIVER_SHEET);if(!a)return null;let o=a.getSheetBySheetId(i);return o?{worksheet:o,workbook:a}:null}let h=(e,n)=>{if(!m(e.get(t.IUniverInstanceService),n))throw Error(`Workbook or worksheet is null error!`);return{unitId:n.unitId,subUnitId:n.subUnitId,ranges:t.Tools.deepClone(n.ranges)}},g={id:`sheet.mutation.add-worksheet-merge`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=m(e.get(t.IUniverInstanceService),n);if(!r)throw Error(`Workbook or worksheet is null error!`);let{worksheet:i}=r,a=i.getConfig().mergeData,o=n.ranges;for(let e=0;e<o.length;e++)a.push(o[e]);return i.getSpanModel().rebuild(a),!0}},_={CELL_CONTENT:(0,t.createInterceptorKey)(`CELL_CONTENT`),ROW_FILTERED:(0,t.createInterceptorKey)(`ROW_FILTERED`)},v=function(e){return e[e.DATA_VALIDATION=9]=`DATA_VALIDATION`,e[e.NUMFMT=10]=`NUMFMT`,e[e.CELL_IMAGE=11]=`CELL_IMAGE`,e}({}),y=`sheet.interceptor.range-theme-id`,b=`sheet.interceptor.ignore-range-theme`;function x(e){"@babel/helpers - typeof";return x=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},x(e)}function S(e,t){if(x(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(x(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function C(e){var t=S(e,`string`);return x(t)==`symbol`?t:t+``}function w(e,t,n){return(t=C(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function T(e,t){return function(n,r){t(n,r,e)}}function E(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 D=(0,t.createInterceptorKey)(`BEFORE_CELL_EDIT`),O=(0,t.createInterceptorKey)(`AFTER_CELL_EDIT`),k=(0,t.createInterceptorKey)(`VALIDATE_CELL`),A=class extends t.Disposable{constructor(e){super(),this._univerInstanceService=e,w(this,`_interceptorsByName`,new Map),w(this,`_commandInterceptors`,[]),w(this,`_rangeInterceptors`,[]),w(this,`_autoHeightInterceptors`,[]),w(this,`_beforeCommandInterceptor`,[]),w(this,`_afterCommandInterceptors`,[]),w(this,`_workbookDisposables`,new Map),w(this,`_worksheetDisposables`,new Map),w(this,`_composedInterceptorByKey`,new Map),w(this,`_composedInterceptorVersion`,0),w(this,`writeCellInterceptor`,new t.InterceptorManager({BEFORE_CELL_EDIT:D,AFTER_CELL_EDIT:O,VALIDATE_CELL:k})),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitAdded$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{this._interceptWorkbook(e.unit)})),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>this._disposeWorkbookInterceptor(e))),this.intercept(_.CELL_CONTENT,{priority:-1,effect:t.InterceptorEffectEnum.Style|t.InterceptorEffectEnum.Value,handler:e=>e}),this.disposeWithMe(this.writeCellInterceptor.intercept(O,{priority:-1,handler:e=>e})),this.disposeWithMe(this.writeCellInterceptor.intercept(D,{priority:-1,handler:e=>e})),this.disposeWithMe(this.writeCellInterceptor.intercept(k,{priority:-1,handler:e=>e}))}dispose(){super.dispose(),this._workbookDisposables.forEach(e=>e.dispose()),this._workbookDisposables.clear(),this._worksheetDisposables.forEach(e=>e.dispose()),this._worksheetDisposables.clear(),this._interceptorsByName.clear(),this._composedInterceptorByKey.clear()}interceptCommand(e){if(this._commandInterceptors.includes(e))throw Error(`[SheetInterceptorService]: Interceptor already exists!`);return this._commandInterceptors.push(e),this._commandInterceptors.sort((e,t)=>{var n,r;return((n=t.priority)==null?0:n)-((r=e.priority)==null?0:r)}),this.disposeWithMe((0,t.toDisposable)(()=>(0,t.remove)(this._commandInterceptors,e)))}onCommandExecute(e){let t=this._commandInterceptors.map(t=>t.getMutations(e));return{preUndos:t.map(e=>{var t;return(t=e.preUndos)==null?[]:t}).flat(),undos:t.map(e=>e.undos).flat(),preRedos:t.map(e=>{var t;return(t=e.preRedos)==null?[]:t}).flat(),redos:t.map(e=>e.redos).flat()}}interceptAfterCommand(e){if(this._afterCommandInterceptors.includes(e))throw Error(`[SheetInterceptorService]: Interceptor already exists!`);return this._afterCommandInterceptors.push(e),this._afterCommandInterceptors.sort((e,t)=>{var n,r;return((n=t.priority)==null?0:n)-((r=e.priority)==null?0:r)}),this.disposeWithMe((0,t.toDisposable)(()=>(0,t.remove)(this._afterCommandInterceptors,e)))}afterCommandExecute(e){let t=this._afterCommandInterceptors.map(t=>t.getMutations(e));return{undos:t.map(e=>e.undos).flat(),redos:t.map(e=>e.redos).flat()}}interceptAutoHeight(e){if(this._autoHeightInterceptors.includes(e))throw Error(`[SheetInterceptorService]: Interceptor already exists!`);return this._autoHeightInterceptors.push(e),this._autoHeightInterceptors.sort((e,t)=>{var n,r;return((n=t.priority)==null?0:n)-((r=e.priority)==null?0:r)}),this.disposeWithMe((0,t.toDisposable)(()=>(0,t.remove)(this._autoHeightInterceptors,e)))}generateMutationsOfAutoHeight(e){let t=this._autoHeightInterceptors.map(t=>t.getMutations(e));return{preUndos:t.map(e=>{var t;return(t=e.preUndos)==null?[]:t}).flat(),undos:t.map(e=>e.undos).flat(),preRedos:t.map(e=>{var t;return(t=e.preRedos)==null?[]:t}).flat(),redos:t.map(e=>e.redos).flat()}}interceptBeforeCommand(e){if(this._beforeCommandInterceptor.includes(e))throw Error(`[SheetInterceptorService]: Interceptor already exists!`);return this._beforeCommandInterceptor.push(e),this._beforeCommandInterceptor.sort((e,t)=>{var n,r;return((n=t.priority)==null?0:n)-((r=e.priority)==null?0:r)}),this.disposeWithMe((0,t.toDisposable)(()=>(0,t.remove)(this._beforeCommandInterceptor,e)))}async beforeCommandExecute(e){return(await Promise.all(this._beforeCommandInterceptor.map(t=>t.performCheck(e)))).every(e=>e)}interceptRanges(e){if(this._rangeInterceptors.includes(e))throw Error(`[SheetInterceptorService]: Interceptor already exists!`);return this._rangeInterceptors.push(e),this._rangeInterceptors.sort((e,t)=>{var n,r;return((n=t.priority)==null?0:n)-((r=e.priority)==null?0:r)}),this.disposeWithMe((0,t.toDisposable)(()=>(0,t.remove)(this._rangeInterceptors,e)))}generateMutationsByRanges(e){let t=this._rangeInterceptors.map(t=>t.getMutations(e));return{preUndos:t.map(e=>{var t;return(t=e.preUndos)==null?[]:t}).flat(),undos:t.map(e=>e.undos).flat(),preRedos:t.map(e=>{var t;return(t=e.preRedos)==null?[]:t}).flat(),redos:t.map(e=>e.redos).flat()}}onWriteCell(e,n,r,i,a){let o={subUnitId:n.getSheetId(),unitId:e.getUnitId(),workbook:e,worksheet:n,row:r,col:i,origin:t.Tools.deepClone(a)};return this.writeCellInterceptor.fetchThroughInterceptors(O)(a,o)}onValidateCell(e,t,n,r){let i={subUnitId:t.getSheetId(),unitId:e.getUnitId(),workbook:e,worksheet:t,row:n,col:r};return this.writeCellInterceptor.fetchThroughInterceptors(k)(Promise.resolve(!0),i)}intercept(e,n){let r=e;this._interceptorsByName.has(r)||this._interceptorsByName.set(r,[]);let i=this._interceptorsByName.get(r);i.push(n);let a=i.sort((e,t)=>{var n,r;return((n=t.priority)==null?0:n)-((r=e.priority)==null?0:r)});if(this._invalidateComposedInterceptors(),r===_.CELL_CONTENT){let e=t.InterceptorEffectEnum.Style|t.InterceptorEffectEnum.Value;this._interceptorsByName.set(`${r}-${e}`,a);let i=t.InterceptorEffectEnum.Style|t.InterceptorEffectEnum.Value;return this._interceptorsByName.set(`${r}-${t.InterceptorEffectEnum.Style}`,a.filter(e=>((e.effect||i)&t.InterceptorEffectEnum.Style)>0)),this._interceptorsByName.set(`${r}-${t.InterceptorEffectEnum.Value}`,a.filter(e=>((e.effect||i)&t.InterceptorEffectEnum.Value)>0)),this.disposeWithMe((0,t.toDisposable)(()=>{(0,t.remove)(this._interceptorsByName.get(r),n),(0,t.remove)(this._interceptorsByName.get(`${r}-${e}`),n),(0,t.remove)(this._interceptorsByName.get(`${r}-${t.InterceptorEffectEnum.Style}`),n),(0,t.remove)(this._interceptorsByName.get(`${r}-${t.InterceptorEffectEnum.Value}`),n),this._invalidateComposedInterceptors()}))}else return this._interceptorsByName.set(r,a),this.disposeWithMe((0,t.toDisposable)(()=>{(0,t.remove)(this._interceptorsByName.get(r),n),this._invalidateComposedInterceptors()}))}fetchThroughInterceptors(e,n,r,i){let a=n===void 0?e:`${e}-${n}`,o=r==null?a:r,s=this._composedInterceptorByKey.get(o);if(!s){let e=this._interceptorsByName.get(a);e&&i&&(e=e.filter(i)),s=(0,t.composeInterceptors)(e||[]),this._composedInterceptorByKey.set(o,s)}return s}_invalidateComposedInterceptors(){this._composedInterceptorVersion+=1,this._composedInterceptorByKey.clear()}_getCommonCellContentInterceptor(e,t){let n=t.get(e);return n||(n=this.fetchThroughInterceptors(_.CELL_CONTENT,e),t.set(e,n)),n}_getCommonRowFilteredInterceptor(e){return e.interceptor||(e.interceptor=this.fetchThroughInterceptors(_.ROW_FILTERED)),e.interceptor}_interceptWorkbook(e){let n=new t.DisposableCollection,r=e.getUnitId(),i=this,a=n=>{let a=n.getSheetId();n.__interceptViewModel(o=>{let s=new t.DisposableCollection,c=new Map,l={interceptor:null},u=-1,d=-1;i._worksheetDisposables.set(ee(r,n),s),s.add(o.registerCellContentInterceptor({getCell(t,o,s,l,d){let f=n.getCellRaw(t,o),p={unitId:r,subUnitId:a,row:t,col:o,worksheet:n,workbook:e,rawData:f};return l===void 0&&d===void 0?(u!==i._composedInterceptorVersion&&(c.clear(),u=i._composedInterceptorVersion),i._getCommonCellContentInterceptor(s,c)(f,p)):i.fetchThroughInterceptors(_.CELL_CONTENT,s,l,d)(f,p)}})),s.add(o.registerRowFilteredInterceptor({getRowFiltered(t){return d!==i._composedInterceptorVersion&&(l.interceptor=null,d=i._composedInterceptorVersion),!!i._getCommonRowFilteredInterceptor(l)(!1,{unitId:r,subUnitId:a,row:t,workbook:e,worksheet:n})}}))})};e.getSheets().forEach(e=>a(e)),n.add(e.sheetCreated$.subscribe(e=>a(e))),n.add((0,t.toDisposable)(()=>e.getSheets().forEach(e=>this._disposeSheetInterceptor(r,e)))),n.add(e.sheetDisposed$.subscribe(e=>this._disposeSheetInterceptor(r,e))),this._workbookDisposables.set(r,n)}_disposeWorkbookInterceptor(e){let t=e.getUnitId(),n=this._workbookDisposables.get(t);n&&(n.dispose(),this._workbookDisposables.delete(t))}_disposeSheetInterceptor(e,t){let n=ee(e,t),r=this._worksheetDisposables.get(n);r&&(r.dispose(),this._worksheetDisposables.delete(n))}};A=E([T(0,t.IUniverInstanceService)],A);function ee(e,t){return`${e}|${t.getSheetId()}`}let j=e=>{let t={};return e.bg&&(t.bg={...e.bg}),e.ol&&(t.ol={...e.ol}),e.bd&&(t.bd={...e.bd}),e.cl&&(t.cl={...e.cl}),e.ht&&(t.ht=e.ht),e.vt&&(t.vt=e.vt),e.bl!==void 0&&(t.bl=e.bl),t};function te(e){let t={};if(e.length===1)return e[0];for(let n of e)n.bg&&(t.bg=n.bg),n.ol&&(t.ol=n.ol),n.bd&&(t.bd={...t.bd,...n.bd}),n.cl&&(t.cl=n.cl),n.ht&&(t.ht=n.ht),n.vt&&(t.vt=n.vt),n.bl!==void 0&&(t.bl=n.bl);return t}let M={wholeStyle:1,headerRowStyle:2,headerColumnStyle:4,firstRowStyle:8,secondRowStyle:16,lastRowStyle:32,firstColumnStyle:128,secondColumnStyle:256,lastColumnStyle:512};var ne=class{constructor(e,t){w(this,`_name`,void 0),w(this,`wholeStyle`,null),w(this,`headerRowStyle`,null),w(this,`headerColumnStyle`,null),w(this,`firstRowStyle`,null),w(this,`secondRowStyle`,null),w(this,`lastRowStyle`,null),w(this,`firstColumnStyle`,null),w(this,`secondColumnStyle`,null),w(this,`lastColumnStyle`,null),w(this,`_mergeCacheMap`,new Map),t&&this.fromJson({...t,name:e}),this._name=e}getName(){return this._name}getWholeStyle(){return this.wholeStyle}setWholeStyle(e){this.wholeStyle=e,this._resetStyleCache()}getFirstRowStyle(){return this.firstRowStyle}setFirstRowStyle(e){this.firstRowStyle=e,this._resetStyleCache()}getSecondRowStyle(){return this.secondRowStyle}setSecondRowStyle(e){this.secondRowStyle=e,this._resetStyleCache()}getLastRowStyle(){return this.lastRowStyle}setLastRowStyle(e){this.lastRowStyle=e,this._resetStyleCache()}getFirstColumnStyle(){return this.firstColumnStyle}setFirstColumnStyle(e){this.firstColumnStyle=e,this._resetStyleCache()}getSecondColumnStyle(){return this.secondColumnStyle}setSecondColumnStyle(e){this.secondColumnStyle=e,this._resetStyleCache()}getLastColumnStyle(){return this.lastColumnStyle}setLastColumnStyle(e){this.lastColumnStyle=e,this._resetStyleCache()}getHeaderRowStyle(){return this.headerRowStyle}setHeaderRowStyle(e){this.headerRowStyle=e,this._resetStyleCache()}getHeaderColumnStyle(){return this.headerColumnStyle}setHeaderColumnStyle(e){this.headerColumnStyle=e,this._resetStyleCache()}getStyle(e,t,n,r,i){let a=0;return n&&(a|=M.lastRowStyle),r&&(a|=M.lastColumnStyle),e>=0&&t>=0&&(a|=M.wholeStyle),e%2==1&&(a|=i?M.secondRowStyle:M.firstRowStyle),e%2==0&&(a|=i?M.firstRowStyle:M.secondRowStyle),e===0&&(a|=M.headerRowStyle),t===0&&(a|=M.headerColumnStyle),t%2==1&&(a|=M.firstColumnStyle),t%2==0&&(a|=M.secondColumnStyle),a===0?null:this._getMergeStyle(a)}_getMergeStyle(e){let t=this._mergeCacheMap.get(e);return t||(t=this._mergeStyle(e),this._mergeCacheMap.set(e,t)),t}_mergeStyle(e){let t=[];return this.wholeStyle&&e&M.wholeStyle&&t.push(this.wholeStyle),this.firstColumnStyle&&e&M.firstColumnStyle&&t.push(this.firstColumnStyle),this.secondColumnStyle&&e&M.secondColumnStyle&&t.push(this.secondColumnStyle),this.firstRowStyle&&e&M.firstRowStyle&&t.push(this.firstRowStyle),this.secondRowStyle&&e&M.secondRowStyle&&t.push(this.secondRowStyle),this.headerColumnStyle&&e&M.headerColumnStyle&&t.push(this.headerColumnStyle),this.lastColumnStyle&&e&M.lastColumnStyle&&t.push(this.lastColumnStyle),this.headerRowStyle&&e&M.headerRowStyle&&t.push(this.headerRowStyle),this.lastRowStyle&&e&M.lastRowStyle&&t.push(this.lastRowStyle),te(t)}_resetStyleCache(){this._mergeCacheMap.clear()}toJson(){let e={name:this._name};return this.wholeStyle&&(e.wholeStyle=j(this.wholeStyle)),this.headerRowStyle&&(e.headerRowStyle=j(this.headerRowStyle)),this.headerColumnStyle&&(e.headerColumnStyle=j(this.headerColumnStyle)),this.firstRowStyle&&(e.firstRowStyle=j(this.firstRowStyle)),this.secondRowStyle&&(e.secondRowStyle=j(this.secondRowStyle)),this.lastRowStyle&&(e.lastRowStyle=j(this.lastRowStyle)),this.firstColumnStyle&&(e.firstColumnStyle=j(this.firstColumnStyle)),this.secondColumnStyle&&(e.secondColumnStyle=j(this.secondColumnStyle)),this.lastColumnStyle&&(e.lastColumnStyle=j(this.lastColumnStyle)),e}fromJson(e){this._name=e.name,e.wholeStyle&&(this.wholeStyle=j(e.wholeStyle)),e.headerRowStyle&&(this.headerRowStyle=j(e.headerRowStyle)),e.headerColumnStyle&&(this.headerColumnStyle=j(e.headerColumnStyle)),e.firstRowStyle&&(this.firstRowStyle=j(e.firstRowStyle)),e.secondRowStyle&&(this.secondRowStyle=j(e.secondRowStyle)),e.lastRowStyle&&(this.lastRowStyle=j(e.lastRowStyle)),e.firstColumnStyle&&(this.firstColumnStyle=j(e.firstColumnStyle)),e.secondColumnStyle&&(this.secondColumnStyle=j(e.secondColumnStyle)),e.lastColumnStyle&&(this.lastColumnStyle=j(e.lastColumnStyle))}dispose(){this._mergeCacheMap.clear()}};let re=(e,t,n)=>new ne(`light-${e}`,{headerRowStyle:{bg:{rgb:t}},firstColumnStyle:{bg:{rgb:`rgb(255, 255, 255)`}},secondColumnStyle:{bg:{rgb:n}},lastRowStyle:{bg:{rgb:t}}}),ie=(e,t,n)=>new ne(`middle-${e}`,{headerRowStyle:{bg:{rgb:t}},headerColumnStyle:{bg:{rgb:n}},secondRowStyle:{bg:{rgb:n}},lastRowStyle:{bg:{rgb:t}},lastColumnStyle:{bg:{rgb:n}}}),ae=(e,n,r,i)=>new ne(`dark-${e}`,{headerRowStyle:{bg:{rgb:n},cl:{rgb:`rgb(255, 255, 255)`},ht:t.HorizontalAlign.CENTER,bl:t.BooleanNumber.TRUE},firstRowStyle:{bg:{rgb:r}},secondRowStyle:{bg:{rgb:i}},lastRowStyle:{bg:{rgb:n}}}),oe=[{baseName:`blue`,header:`rgb(164, 202, 254)`,color:`rgb(225, 239, 254)`},{baseName:`grey`,header:`rgb(205, 208, 216)`,color:`rgb(238, 239, 241)`},{baseName:`red`,header:`rgb(248, 180, 180)`,color:`rgb(253, 232, 232)`},{baseName:`orange`,header:`rgb(253, 186, 140)`,color:`rgb(254, 236, 220)`},{baseName:`yellow`,header:`rgb(250, 200, 21)`,color:`rgb(255, 244, 185)`},{baseName:`green`,header:`rgb(132, 225, 188)`,color:`rgb(222, 247, 236)`},{baseName:`azure`,header:`rgb(126, 220, 226)`,color:`rgb(213, 245, 246)`},{baseName:`indigo`,header:`rgb(186, 198, 248)`,color:`rgb(233, 237, 255)`},{baseName:`purple`,header:`rgb(202, 191, 253)`,color:`rgb(237, 235, 254)`},{baseName:`magenta`,header:`rgb(248, 180, 217)`,color:`rgb(252, 232, 243)`}],se=[{baseName:`blue`,rowHeader:`rgb(63, 131, 248)`,colHeader:`rgb(195, 221, 253)`},{baseName:`grey`,rowHeader:`rgb(95, 101, 116)`,colHeader:`rgb(227, 229, 234)`},{baseName:`red`,rowHeader:`rgb(240, 82, 82)`,colHeader:`rgb(251, 213, 213)`},{baseName:`orange`,rowHeader:`rgb(255, 90, 31)`,colHeader:`rgb(252, 217, 189)`},{baseName:`yellow`,rowHeader:`rgb(212, 157, 15)`,colHeader:`rgb(252, 220, 106)`},{baseName:`green`,rowHeader:`rgb(13, 164, 113)`,colHeader:`rgb(188, 240, 218)`},{baseName:`azure`,rowHeader:`rgb(6, 148, 162)`,colHeader:`rgb(175, 236, 239)`},{baseName:`indigo`,rowHeader:`rgb(70, 106, 247)`,colHeader:`rgb(210, 218, 250)`},{baseName:`purple`,rowHeader:`rgb(144, 97, 249)`,colHeader:`rgb(220, 215, 254)`},{baseName:`magenta`,rowHeader:`rgb(231, 70, 148)`,colHeader:`rgb(250, 209, 232)`}],ce=[{baseName:`blue`,rowHeader:`rgb(30, 66, 159)`,firstRow:`rgb(195, 221, 253)`,secondRow:`rgb(118, 169, 250)`},{baseName:`grey`,rowHeader:`rgb(44, 48, 64)`,firstRow:`rgb(227, 229, 234)`,secondRow:`rgb(151, 157, 172)`},{baseName:`red`,rowHeader:`rgb(155, 28, 28)`,firstRow:`rgb(251, 213, 213)`,secondRow:`rgb(249, 128, 128)`},{baseName:`orange`,rowHeader:`rgb(180, 52, 3)`,firstRow:`rgb(252, 217, 189)`,secondRow:`rgb(255, 138, 76)`},{baseName:`yellow`,rowHeader:`rgb(154, 109, 21)`,firstRow:`rgb(252, 220, 106)`,secondRow:`rgb(212, 157, 15)`},{baseName:`green`,rowHeader:`rgb(4, 108, 78)`,firstRow:`rgb(188, 240, 218)`,secondRow:`rgb(49, 196, 141)`},{baseName:`azure`,rowHeader:`rgb(3, 102, 114)`,firstRow:`rgb(175, 236, 239)`,secondRow:`rgb(22, 189, 202)`},{baseName:`indigo`,rowHeader:`rgb(16, 51, 191)`,firstRow:`rgb(210, 218, 250)`,secondRow:`rgb(98, 128, 249)`},{baseName:`purple`,rowHeader:`rgb(74, 29, 150)`,firstRow:`rgb(220, 215, 254)`,secondRow:`rgb(172, 148, 250)`},{baseName:`magenta`,rowHeader:`rgb(153, 21, 75)`,firstRow:`rgb(250, 209, 232)`,secondRow:`rgb(241, 126, 184)`}],le=oe.map(({baseName:e,header:t,color:n})=>re(e,t,n)),ue=se.map(({baseName:e,rowHeader:t,colHeader:n})=>ie(e,t,n)),de=ce.map(({baseName:e,rowHeader:t,firstRow:n,secondRow:r})=>ae(e,t,n,r)),fe=[...le,...ue,...de],pe={headerRowStyle:{bg:{rgb:`rgb(68,114,196)`},cl:{rgb:`rgb(255,255,255)`},ht:t.HorizontalAlign.CENTER,bl:t.BooleanNumber.TRUE},firstRowStyle:{bg:{rgb:`rgb(217,225,242)`}}},me=new ne(`default`,pe),he=new ne(`default-last-row`,{...pe,lastRowStyle:{bd:{t:{s:t.BorderStyleTypes.THIN,cl:{rgb:`rgb(68,114,196)`}}},ht:t.HorizontalAlign.CENTER,bl:t.BooleanNumber.TRUE}});var ge=class{constructor(){w(this,`_toggleRanges`,[])}refresh(e,t){let{startRow:n,endRow:r}=e,i=[],a=0,o=!1,s=-1;for(let e=n;e<=r;e++){if(!t(e)){a++,a%2==1?o=!0:(o=!1,s!==-1&&(i.push([s,e-1]),s=-1));continue}a%2==1?o?s===-1&&(s=e):(o=!0,s=e):o&&(i.push([s,e-2]),o=!1,s=-1),e===r&&o&&i.push([s,e])}this._toggleRanges=i}getToggleRanges(){return this._toggleRanges.concat()}getIsToggled(e){let t=0,n=this._toggleRanges.length-1;for(;t<=n;){let r=Math.floor((t+n)/2),[i,a]=this._toggleRanges[r];if(e<i)n=r-1;else if(e>a)t=r+1;else return!0}return!1}};let N=class extends t.Disposable{constructor(e,t,r){super(),this._sheetInterceptorService=e,this._resourceManagerService=t,this._univerInstanceService=r,w(this,`_rangeThemeStyleMap`,new Map),w(this,`_rangeThemeStyleRuleMap`,new Map),w(this,`_rTreeCollection`,new Map),w(this,`_defaultRangeThemeMap`,new Map),w(this,`_zebraCrossingCacheMap`,new Map),w(this,`_rowVisibleFuncSet`,new Map),w(this,`_rangeThemeMapChanged$`,new n.Subject),w(this,`rangeThemeMapChange$`,this._rangeThemeMapChanged$.asObservable()),this._registerIntercept(),this._initSnapshot(),this._initDefaultTheme()}_initDefaultTheme(){this.registerDefaultRangeTheme(me),this.registerDefaultRangeTheme(he);for(let e of fe)this.registerDefaultRangeTheme(e)}_ensureRangeThemeStyleMap(e){return this._rangeThemeStyleMap.has(e)||this._rangeThemeStyleMap.set(e,new Map),this._rangeThemeStyleMap.get(e)}_ensureRangeThemeStyleRuleMap(e){return this._rangeThemeStyleRuleMap.has(e)||this._rangeThemeStyleRuleMap.set(e,new Map),this._rangeThemeStyleRuleMap.get(e)}_ensureRTreeCollection(e){return this._rTreeCollection.has(e)||this._rTreeCollection.set(e,new t.RTree),this._rTreeCollection.get(e)}getDefaultRangeThemeStyle(e){return this._defaultRangeThemeMap.get(e)}getCustomRangeThemeStyle(e,t){return this._ensureRangeThemeStyleMap(e).get(t)}_getSheetRowVisibleFuncSet(e,t){this._rowVisibleFuncSet.has(e)||this._rowVisibleFuncSet.set(e,new Map);let n=this._rowVisibleFuncSet.get(e);return n.has(t)||n.set(t,new Set),n.get(t)}_getSheetRowVisibleHasInit(e,t){var n;return!!(this._rowVisibleFuncSet.has(e)&&(n=this._rowVisibleFuncSet.get(e))!=null&&n.has(t))}refreshSheetRowVisibleFuncSet(e,t){let n=this._getSheetRowVisibleFuncSet(e,t);n.clear();let r=this._univerInstanceService.getUnit(e);if(r){let e=r.getSheetBySheetId(t);if(e){let t=e.getRowCount(),r=e.getRowManager();for(let i=1;i<=t;i++)e.getRowVisible(i)?r.getRowHeight(i)===0&&n.add(i):n.add(i)}}}_ensureZebraCrossingCache(e,t,n){this._zebraCrossingCacheMap.has(e)||this._zebraCrossingCacheMap.set(e,new Map);let r=this._zebraCrossingCacheMap.get(e);r.has(t)||r.set(t,new Map);let i=r.get(t);return i.has(n)||i.set(n,new ge),i.get(n)}registerRangeThemeRule(e,n){let{unitId:r,subUnitId:i,range:a}=n,o=(0,t.generateRandomId)(),s=this._ensureRangeThemeStyleRuleMap(r),c=this._ensureRTreeCollection(r);s.set(o,{rangeInfo:n,themeName:e}),c.insert({unitId:r,sheetId:i,range:a,id:o}),this._getSheetRowVisibleHasInit(r,i)||this.refreshSheetRowVisibleFuncSet(r,i);let l=this._ensureZebraCrossingCache(r,i,o),u=this._getSheetRowVisibleFuncSet(r,i);l.refresh(a,e=>!u.has(e))}getRegisteredRangeThemeStyle(e){let{unitId:t,subUnitId:n,range:r}=e,i=this._ensureRTreeCollection(t),a=Array.from(i.bulkSearch([{unitId:t,sheetId:n,range:r}]));if(a[0]){let e=this._ensureRangeThemeStyleRuleMap(t).get(a[0]);if(e)return e.themeName}}refreshZebraCrossingCacheBySheet(e,t){this._zebraCrossingCacheMap.has(e)||this._zebraCrossingCacheMap.set(e,new Map);let n=this._zebraCrossingCacheMap.get(e);n.has(t)||n.set(t,new Map);let r=n.get(t);r&&r.forEach((n,i)=>{let a=this._ensureRangeThemeStyleRuleMap(e).get(i);a?n.refresh(a.rangeInfo.range,n=>!this._getSheetRowVisibleFuncSet(e,t).has(n)):r.delete(i)})}removeRangeThemeRule(e,t){let{unitId:n,subUnitId:r,range:i}=t,a=this._ensureRTreeCollection(n),o=Array.from(a.bulkSearch([{unitId:n,sheetId:r,range:i}])),s=this._ensureRangeThemeStyleRuleMap(n);for(let t=0;t<o.length;t++){let c=s.get(o[t]);if(c&&c.themeName===e){s.delete(o[t]),a.remove({unitId:n,sheetId:r,range:i,id:o[t]});let e=this._zebraCrossingCacheMap.get(n);if(e){let n=e.get(r);n&&n.delete(o[t])}break}}}registerDefaultRangeTheme(e){this._defaultRangeThemeMap.set(e.getName(),e),this._rangeThemeMapChanged$.next({type:`add`,styleName:e.getName()})}unRegisterDefaultRangeTheme(e){this._defaultRangeThemeMap.delete(e),this._rangeThemeMapChanged$.next({type:`remove`,styleName:e})}getRegisteredRangeThemes(){return Array.from(this._defaultRangeThemeMap.keys())}registerRangeThemeStyle(e,t){this._ensureRangeThemeStyleMap(e).set(t.getName(),t),this._rangeThemeMapChanged$.next({type:`add`,styleName:t.getName()})}unregisterRangeThemeStyle(e,t){this._ensureRangeThemeStyleMap(e).delete(t),this._rangeThemeMapChanged$.next({type:`remove`,styleName:t})}getALLRegisteredTheme(e){return Array.from(this._ensureRangeThemeStyleMap(e).keys())}getRangeThemeStyle(e,t){return this._defaultRangeThemeMap.has(t)?this._defaultRangeThemeMap.get(t):this._ensureRangeThemeStyleMap(e).get(t)}getCellStyle(e,t,n,r){let i={startRow:n,startColumn:r,endRow:n,endColumn:r},a=this._ensureRTreeCollection(e),o=Array.from(a.bulkSearch([{unitId:e,sheetId:t,range:i}]));if(o[0]){let i=this._ensureRangeThemeStyleRuleMap(e).get(o[0]);if(i){let{rangeInfo:a,themeName:s}=i,c=n-a.range.startRow,l=r-a.range.startColumn,u=this.getRangeThemeStyle(e,s),d=this._ensureZebraCrossingCache(e,t,o[0]).getIsToggled(n);if(u)return u.getStyle(c,l,n===a.range.endRow,r===a.range.endColumn,d)}}}_registerIntercept(){this.disposeWithMe(this._sheetInterceptorService.intercept(_.CELL_CONTENT,{id:y,effect:t.InterceptorEffectEnum.Style,handler:(e,t,n)=>{let{row:r,col:i,unitId:a,subUnitId:o}=t,s=this.getCellStyle(a,o,r,i);if(s){let r=!e||e===t.rawData?{...t.rawData}:e;return r.themeStyle=s,n(r)}return n(e)}}))}toJson(e){let t=this._ensureRangeThemeStyleRuleMap(e),n=this._ensureRangeThemeStyleMap(e);if(n.size===0&&t.size===0)return`{}`;let r={};t.forEach((e,t)=>{r[t]=e});let i={};return n.forEach((e,t)=>{i[t]=e.toJson()}),JSON.stringify({rangeThemeStyleRuleMap:r,rangeThemeStyleMapJson:i})}fromJSON(e,t){let{rangeThemeStyleRuleMap:n,rangeThemeStyleMapJson:r}=t;n&&Object.keys(n).forEach(e=>{let{themeName:t,rangeInfo:r}=n[e];t.startsWith(`table`)||(this.registerRangeThemeRule(t,r),this._ensureRTreeCollection(r.unitId).insert({unitId:e,sheetId:r.subUnitId,range:r.range,id:e}))}),r&&Object.keys(r).forEach(t=>{let n=r[t],i=new ne(n.name);i.fromJson(n),this._ensureRangeThemeStyleMap(e).set(i.getName(),i)})}deleteUnitId(e){this._rangeThemeStyleMap.delete(e),this._rangeThemeStyleRuleMap.delete(e),this._rTreeCollection.delete(e)}_initSnapshot(){this.disposeWithMe(this._resourceManagerService.registerPluginResource({toJson:e=>this.toJson(e),parseJson:e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}},businesses:[t.UniverInstanceType.UNIVER_SHEET],pluginName:`SHEET_RANGE_THEME_MODEL_PLUGIN`,onLoad:(e,t)=>{this.fromJSON(e,t)},onUnLoad:e=>{this.deleteUnitId(e)}}))}dispose(){super.dispose(),this._rangeThemeStyleMap.clear(),this._rangeThemeStyleRuleMap.clear(),this._defaultRangeThemeMap.clear(),this._rTreeCollection.clear(),this._zebraCrossingCacheMap.clear(),this._rowVisibleFuncSet.clear()}};N=E([T(0,(0,t.Inject)(A)),T(1,(0,t.Inject)(t.IResourceManagerService)),T(2,(0,t.Inject)(t.IUniverInstanceService))],N);let _e={id:`sheet.mutation.set-worksheet-range-theme-style`,type:t.CommandType.MUTATION,handler:(e,n)=>{if(!p(e.get(t.IUniverInstanceService),n))return!1;let r=e.get(N),{unitId:i,subUnitId:a,range:o,themeName:s}=n;return r.registerRangeThemeRule(s,{range:o,unitId:i,subUnitId:a}),!0}},ve=(e,n)=>{let r=m(e.get(t.IUniverInstanceService),n);if(!r)throw Error(`[SetWorksheetRangeThemeStyleMutation]: worksheet is null error!`);let{worksheet:i}=r;return{unitId:n.unitId,subUnitId:i.getSheetId(),range:n.range,themeName:n.themeName}},ye={id:`sheet.mutation.remove-worksheet-range-theme-style`,type:t.CommandType.MUTATION,handler:(e,n)=>{if(!p(e.get(t.IUniverInstanceService),n))return!1;let r=e.get(N),{unitId:i,subUnitId:a,range:o,themeName:s}=n;return r.removeRangeThemeRule(s,{range:o,unitId:i,subUnitId:a}),!0}},be=(e,n)=>{let r=m(e.get(t.IUniverInstanceService),n);if(!r)throw Error(`[DeleteWorksheetRangeThemeStyleMutationFactory]: worksheet is null error!`);let{worksheet:i}=r;return{unitId:n.unitId,subUnitId:i.getSheetId(),range:n.range,themeName:n.themeName}},xe=(e,n)=>{if(!m(e.get(t.IUniverInstanceService),n))throw Error(`Workbook or Worksheet not found at InsertRowMutationUndoFactory`);return{unitId:n.unitId,subUnitId:n.subUnitId,range:n.range}},P={id:`sheet.mutation.insert-row`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=m(e.get(t.IUniverInstanceService),n);if(!r)throw Error(`Workbook or Worksheet not found at InsertRowMutation`);let{worksheet:i}=r,a=i.getRowManager(),{range:o,rowInfo:s}=n,{startRow:c,endRow:l}=o;a.insertRowsWithData(c,l,s);let u=l-c+1;return i.setRowCount(i.getRowCount()+u),i.getCellMatrix().insertRows(c,u),!0}},Se=(e,n)=>{if(!m(e.get(t.IUniverInstanceService),n))throw Error(`Workbook or Worksheet not found at InsertColMutationUndoFactory`);return{unitId:n.unitId,subUnitId:n.subUnitId,range:n.range}},F={id:`sheet.mutation.insert-col`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=m(e.get(t.IUniverInstanceService),n);if(!r)throw Error(`Workbook or Worksheet not found at InsertColMutation`);let{worksheet:i}=r,a=i.getColumnManager(),{range:o,colInfo:s}=n,{startColumn:c,endColumn:l}=o;a.insertColumnsWithData(c,l,s);let u=l-c+1;return i.setColumnCount(i.getColumnCount()+u),i.getCellMatrix().insertColumns(o.startColumn,u),!0}},Ce={id:`sheet.mutation.move-range`,type:t.CommandType.MUTATION,handler:(e,n)=>{let{from:r,to:i}=n;if(!r||!i)return!1;let a=e.get(t.IUniverInstanceService).getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!a)return!1;let o=a.getSheetBySheetId(n.from.subUnitId),s=a.getSheetBySheetId(n.to.subUnitId);if(!o||!s)return!1;let c=o.getCellMatrix(),l=s.getCellMatrix();return new t.ObjectMatrix(r.value).forValue((e,t,n)=>{n==null?c.realDeleteValue(e,t):c.setValue(e,t,n)}),new t.ObjectMatrix(i.value).forValue((e,t,n)=>{n==null?l.realDeleteValue(e,t):l.setValue(e,t,n)}),!0}};function we(e,n){let{unitId:r,subUnitId:i,sourceRange:a,targetRange:o}=n,s=a.startRow>o.startRow,c=a.endRow-a.startRow+1;return s?{unitId:r,subUnitId:i,sourceRange:t.Rectangle.clone(o),targetRange:{...a,endRow:a.endRow+c,startRow:a.startRow+c}}:{unitId:r,subUnitId:i,targetRange:t.Rectangle.clone(a),sourceRange:{...o,endRow:o.endRow-c,startRow:o.startRow-c}}}let Te={id:`sheet.mutation.move-rows`,type:t.CommandType.MUTATION,handler:(e,n)=>{let{unitId:r,subUnitId:i,sourceRange:a,targetRange:o}=n,s=e.get(t.IUniverInstanceService).getUniverSheetInstance(r);if(!s)throw Error(`[MoveRowMutation] univerSheet is null!`);let c=s.getSheetBySheetId(i);if(!c)throw Error(`[MoveRowMutation] worksheet is null!`);let l=a.startRow,u=a.endRow-a.startRow+1,d=o.startRow;return(0,t.moveMatrixArray)(l,u,d,c.getRowManager().getRowData()),c.getCellMatrix().moveRows(l,u,d),!0}};function Ee(e,n){let{unitId:r,subUnitId:i,sourceRange:a,targetRange:o}=n,s=a.startColumn>o.startColumn,c=a.endColumn-a.startColumn+1;return s?{unitId:r,subUnitId:i,sourceRange:t.Rectangle.clone(o),targetRange:{...a,endColumn:a.endColumn+c,startColumn:a.startColumn+c}}:{unitId:r,subUnitId:i,targetRange:t.Rectangle.clone(a),sourceRange:{...o,startColumn:o.startColumn-c,endColumn:o.endColumn-c}}}let De={id:`sheet.mutation.move-columns`,type:t.CommandType.MUTATION,handler:(e,n)=>{let{unitId:r,subUnitId:i,sourceRange:a,targetRange:o}=n,s=e.get(t.IUniverInstanceService).getUniverSheetInstance(r);if(!s)throw Error(`[MoveColumnMutation] univerSheet is null!`);let c=s.getSheetBySheetId(i);if(!c)throw Error(`[MoveColumnMutation] worksheet is null!`);let l=a.startColumn,u=a.endColumn-a.startColumn+1,d=o.startColumn;return(0,t.moveMatrixArray)(l,u,d,c.getColumnManager().getColumnData()),c.getCellMatrix().moveColumns(l,u,d),!0}},Oe=(e,n)=>{let r=n.getRowManager().getRowData(),i={},a=e.range,o=(0,t.concatMatrixArray)(i,(0,t.sliceMatrixArray)(a.startRow,a.endRow,r));return{unitId:e.unitId,subUnitId:e.subUnitId,range:e.range,rowInfo:o}},I={id:`sheet.mutation.remove-rows`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(r==null)throw Error(`universheet is null error!`);let i=r.getSheetBySheetId(n.subUnitId);if(!i)return!1;let a=n.range,o=i.getRowManager().getRowData(),s=[];for(let e=a.startRow;e<=a.endRow;e++)i.getRowFiltered(e)&&s.push(e);let c=a.endRow-a.startRow+1;return(0,t.spliceArray)(a.startRow,c,o),i.getCellMatrix().removeRows(a.startRow,c),i.setRowCount(i.getRowCount()-c),!0}},ke=(e,n)=>{let r=e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(r==null)throw Error(`universheet is null error!`);let i=r.getSheetBySheetId(n.subUnitId);if(i==null)throw Error(`worksheet is null error!`);let a=i.getColumnManager().getColumnData(),o={},s=n.range,c=(0,t.concatMatrixArray)(o,(0,t.sliceMatrixArray)(s.startColumn,s.endColumn,a));return{unitId:n.unitId,subUnitId:n.subUnitId,range:n.range,colInfo:c}},L={id:`sheet.mutation.remove-col`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(r==null)throw Error(`universheet is null error!`);let i=r.getSheetBySheetId(n.subUnitId);if(!i)return!1;let a=n.range,o=i.getColumnManager().getColumnData(),s=a.endColumn-a.startColumn+1;return(0,t.spliceArray)(a.startColumn,s,o),i.setColumnCount(i.getColumnCount()-s),i.getCellMatrix().removeColumns(a.startColumn,s),!0}},R=(e,n)=>{let r=m(e.get(t.IUniverInstanceService),n);if(!r)throw Error(`Workbook or worksheet is null error!`);let{worksheet:i}=r,a=i.getConfig().mergeData,o=n.ranges,s=[];for(let e=0;e<o.length;e++)for(let n=a.length-1;n>=0;n--){let r=a[n],i=o[e];t.Rectangle.intersects(r,i)&&s.push(a[n])}return{unitId:n.unitId,subUnitId:n.subUnitId,ranges:s}},z={id:`sheet.mutation.remove-worksheet-merge`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=m(e.get(t.IUniverInstanceService),n);if(!r)throw Error(`Workbook or worksheet is null error!`);let{worksheet:i}=r,a=i.getConfig().mergeData,o=n.ranges;for(let e=0;e<o.length;e++)for(let n=a.length-1;n>=0;n--){let r=a[n],i=o[e];t.Rectangle.intersects(r,i)&&a.splice(n,1)}return i.getSpanModel().rebuild(a),!0}},Ae=e=>{let{order:t}=e,n={};return Object.keys(t).forEach(e=>{n[t[Number(e)]]=Number(e)}),{...e,order:n}},je={id:`sheet.mutation.reorder-range`,type:t.CommandType.MUTATION,handler:(e,n)=>{let{subUnitId:r,unitId:i,range:a,order:o}=n,s=e.get(t.IUniverInstanceService).getUnit(i).getSheetBySheetId(r);if(!s)return!1;let c=new t.ObjectMatrix;t.Range.foreach(a,(e,n)=>{if(o.hasOwnProperty(e)){let r=o[e],i=t.Tools.deepClone(s.getCellRaw(r,n));c.setValue(e,n,i)}});let l=s.getCellMatrix();return c.forValue((e,t,n)=>{l.setValue(e,t,n)}),!0}};function Me(e,n){if(e==null)return e;let r=t.Tools.deepClone(e);if(n==null)return r;let i={};return`h`in n&&(i.h=r.h),`ia`in n&&(i.ia=r.ia),`ah`in n&&(i.ah=r.ah),`hd`in n&&(i.hd=r.hd),`s`in n&&(i.s=r.s),`custom`in n&&(i.custom=r.custom),i}function Ne(e,n){if(e==null)return e;let r=t.Tools.deepClone(e);if(n==null)return r;let i={};return`w`in n&&(i.w=r.w),`hd`in n&&(i.hd=r.hd),`s`in n&&(i.s=r.s),`custom`in n&&(i.custom=r.custom),i}let Pe=(e,t)=>{let{unitId:n,subUnitId:r,columnData:i}=e,a={},o=t.getColumnManager();for(let e in i){let t=i[e];a[e]=Ne(o.getColumn(Number(e)),t)}return{unitId:n,subUnitId:r,columnData:a}},Fe={id:`sheet.mutation.set-col-data`,type:t.CommandType.MUTATION,handler:(e,n)=>{let{columnData:r}=n,i=p(e.get(t.IUniverInstanceService),n);if(!i)return!1;let{worksheet:a}=i,o=a.getColumnManager();for(let e in r){let t=r[e];if(t==null){o.removeColumn(Number(e));continue}let n=o.getColumnOrCreate(Number(e));Object.assign(n,t)}return!0}},Ie=(e,n)=>{if(e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId)==null)throw Error(`universheet is null error!`);return{unitId:n.unitId,subUnitId:n.subUnitId,ranges:n.ranges}},Le={id:`sheet.mutation.set-col-hidden`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(!r)return!1;let i=r.getSheetBySheetId(n.subUnitId).getColumnManager();for(let e=0;e<n.ranges.length;e++){let r=n.ranges[e];for(let e=r.startColumn;e<r.endColumn+1;e++){let n=i.getColumnOrCreate(e);n!=null&&(n.hd=t.BooleanNumber.TRUE)}}return!0}},Re=(e,n)=>{if(e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId)==null)throw Error(`universheet is null error!`);return{unitId:n.unitId,subUnitId:n.subUnitId,ranges:n.ranges}},ze={id:`sheet.mutation.set-col-visible`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(!r)return!1;let i=r.getSheetBySheetId(n.subUnitId).getColumnManager();for(let e=0;e<n.ranges.length;e++){let r=n.ranges[e];for(let e=r.startColumn;e<r.endColumn+1;e++){let n=i.getColumnOrCreate(e);n!=null&&(n.hd=t.BooleanNumber.FALSE)}}return!0}},Be={id:`sheet.mutation.set-gridlines-color`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=p(e.get(t.IUniverInstanceService),n);if(!r)return!1;let{worksheet:i}=r,a=i.getConfig();return a.gridlinesColor=n.color,!0}};function Ve(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function He(e,t,n){for(let r of t)Object.prototype.hasOwnProperty.call(e,r)&&n(r,e[r])}function Ue(e,t,n){if(e==null)return e;if(!Ve(e))return;let r={},i=!1;if(He(e,t,(e,t)=>{r[e]=t,i=!0}),n)for(let t in n){let a=n[t];if(!a||!Object.prototype.hasOwnProperty.call(e,t))continue;let o=a(e[t]);o!==void 0&&(r[t]=o,i=!0)}return i?r:void 0}function We(e,t,n){if(e==null)return e;if(!Ve(e))return;let r={},i=!1;return He(e,t,(e,t)=>{let a=n(t);a!==void 0&&(r[e]=a,i=!0)}),i?r:void 0}function Ge(e){switch(e){case`bd`:case`tr`:case`td`:case`ht`:case`vt`:case`tb`:case`pd`:case`bg`:return!0;default:return!1}}function Ke(e){return e==null||[`string`,`number`,`boolean`].includes(typeof e)}function qe(e){return Ue(e,t.COLOR_STYLE_KEYS)}function Je(e){return Ue(e,t.TEXT_DECORATION_KEYS,{cl:qe})}function Ye(e){return Ue(e,t.BORDER_STYLE_KEYS,{cl:qe})}function Xe(e){return We(e,t.BORDER_KEYS,Ye)}function Ze(e){return Ue(e,t.TEXT_ROTATION_KEYS)}function Qe(e){return Ue(e,t.PADDING_KEYS)}function $e(e){if(e==null)return e;if(!(!Ve(e)||!Object.prototype.hasOwnProperty.call(e,`pattern`)||typeof e.pattern!=`string`))return{pattern:e.pattern}}function et(e,t){switch(e){case`ul`:case`bbl`:case`st`:case`ol`:return Je(t);case`bg`:case`cl`:return qe(t);case`bd`:return Xe(t);case`tr`:return Ze(t);case`pd`:return Qe(t);case`n`:return $e(t);default:return Ke(t)?t:void 0}}function tt(e,n){if(n===null)return null;if(n===void 0)return e;let r=n,i=t.Tools.isObject(e)?{...e}:{};return He(r,t.BORDER_KEYS,(e,t)=>{let n=Ye(t);n!==void 0&&(i[e]=n)}),i}function nt(e,n,r){let i=e.getStyleByCell(n);i==null&&delete n.s,typeof r.s==`string`&&(r.s=e.get(r.s));let a=at(i,r.s?r.s:null);a&&(t.Tools.removeNull(a),Object.entries(a).forEach(([e,t])=>{typeof t==`object`&&t&&Object.keys(t).length===0&&delete a[e]})),t.Tools.isEmptyObject(a)?delete n.s:n.s=e.setValue(a);let o=r.v?`${r.v}\r\n`:``;if(!r.p&&n.p){var s;o&&o!==((s=n.p.body)==null?void 0:s.dataStream)?delete n.p:st(n.p,r.s?r.s:null)}}function rt(e,n){if(!n||!Object.keys(n).length)return e;let r=t.Tools.deepClone(e==null?{}:e)||{},i=n;for(let e of t.STYLE_KEYS){if(!Object.prototype.hasOwnProperty.call(i,e))continue;let t=et(e,i[e]);t!==void 0&&(e===`bd`?r[e]=it(r[e]||{},t):e in r||(r[e]=null))}return r}function it(e,n){if(!n||!Object.keys(n).length)return e;let r=e;for(let i of t.BORDER_KEYS)Object.prototype.hasOwnProperty.call(n,i)&&(i in e||(r[i]=null));return e}function at(e,n,r=!1){if(n===null)return n;if(n===void 0)return e;let i=t.Tools.deepClone(e)||{},a=n;for(let e of t.STYLE_KEYS){if(!Object.prototype.hasOwnProperty.call(a,e)||r&&Ge(e))continue;let t=et(e,a[e]);t!==void 0&&(e===`bd`?i[e]=tt(i[e],t):i[e]=t)}if(`cl`in i){let e=i,t=e.cl;`ul`in e&&e.ul&&(e.ul.cl=t),`ol`in e&&e.ol&&(e.ol.cl=t),`st`in e&&e.st&&(e.st.cl=t)}return i}function ot(e,t){return e.some(e=>e.startIndex===t)?ot(e,t+1):t}function st(e,n){var r;if(e.body==null)return;Array.isArray(e.body.textRuns)||(e.body.textRuns=[]);let i=0,a=[],o=((r=e.body)==null?void 0:r.paragraphs)||[];for(let r of e.body.textRuns){let{st:e,ed:s,ts:c={}}=r;if(i<e){let r={st:i,ed:e},o=at({},n,!0);o&&t.Tools.removeNull(o),t.Tools.isEmptyObject(o)||(r.ts=o),a.push(r)}let l=at(c,n,!0);l&&t.Tools.removeNull(l),t.Tools.isEmptyObject(l)?delete r.ts:r.ts=l,a.push(r),i=ot(o,s)}let s=e.body.dataStream.endsWith(`\r
9
- `)?e.body.dataStream.length-2:e.body.dataStream.length;if(i<s){let e={st:i,ed:s},r=at({},n,!0);r&&t.Tools.removeNull(r),t.Tools.isEmptyObject(r)||(e.ts=r),a.push(e)}e.body.textRuns=(0,t.normalizeTextRuns)(a)}function ct(e,n){return n.v===void 0||n.v===null?n.v:e===t.CellValueType.NUMBER?Number(n.v):e===t.CellValueType.BOOLEAN?+!!lt(n.v):e===t.CellValueType.STRING||e===t.CellValueType.FORCE_STRING?`${n.v}`:n.v}function lt(e){if(typeof e==`string`){if(e.toUpperCase()===`TRUE`)return!0;if(e.toUpperCase()===`FALSE`)return!1;if((0,t.isSafeNumeric)(e)){if(Number(e)===0)return!1;if(Number(e)===1)return!0}}if(typeof e==`number`){if(e===0)return!1;if(e===1)return!0}return typeof e==`boolean`?e:null}function ut(e){return e==null?null:(e.f===void 0&&(e.f=null),e.si===void 0&&(e.si=null),e.p===void 0&&(e.p=null),e.v===void 0&&(e.v=null),e.t===void 0&&(e.t=null),e.s===void 0&&(e.s=null),e.custom===void 0&&(e.custom=null),e)}let B=(e,n)=>{let{unitId:r,subUnitId:i,cellValue:a}=n,o=e.get(t.IUniverInstanceService).getUniverSheetInstance(r);if(o==null)throw Error(`workbook is null error!`);let s=o.getSheetBySheetId(i);if(s==null)throw Error(`worksheet is null error!`);let c=s.getCellMatrix(),l=o.getStyles(),u=new t.ObjectMatrix;return new t.ObjectMatrix(a).forValue((e,n,r)=>{let i=t.Tools.deepClone(c==null?void 0:c.getValue(e,n))||{};i.s=rt(l.getStyleByCell(i),l.getStyleByCell(r)),u.setValue(e,n,ut(i))}),{...n,options:{},cellValue:u.getMatrix()}},V={id:`sheet.mutation.set-range-values`,type:t.CommandType.MUTATION,handler:(e,n)=>{let{cellValue:r,subUnitId:i,unitId:a}=n,o=e.get(t.IUniverInstanceService).getUnit(a);if(!o)return!1;let s=o.getSheetBySheetId(i);if(!s)return!1;let c=s.getCellMatrix(),l=o.getStyles();return new t.ObjectMatrix(r).forValue((e,n,r)=>{if(!r)c.realDeleteValue(e,n);else{let i=c.getValue(e,n)||{};i=ft(r,i,l),t.Tools.isEmptyObject(i)?c.realDeleteValue(e,n):c.setValue(e,n,i)}}),!0}},dt=new Set([`f`,`p`,`si`,`custom`,`ref`,`xf`]);function ft(e,t,n){let r=c(n,e,t);return Object.keys(e).forEach(i=>{let a=i;if(dt.has(a)){let n=e[a];pt(t,a,n)}else a===`v`?e.v!==void 0&&(t.v=ct(r,e)):a===`s`&&nt(n,t,e)}),t.v!==void 0&&(t.t=r,t.v=ct(r,t)),t.v===null&&(delete t.t,delete t.v),t}function pt(e,t,n){n===void 0||(n===null?delete e[t]:e[t]=n)}let mt=(e,t)=>{let{unitId:n,subUnitId:r,rowData:i}=e,a={},o=t.getRowManager();for(let e in i){let t=i[e];a[e]=Me(o.getRow(Number(e)),t)}return{unitId:n,subUnitId:r,rowData:a}},ht={id:`sheet.mutation.set-row-data`,type:t.CommandType.MUTATION,handler:(e,n)=>{let{rowData:r}=n,i=p(e.get(t.IUniverInstanceService),n);if(!i)return!1;let{worksheet:a}=i,o=a.getRowManager();for(let e in r){let t=r[e];if(t==null){o.removeRow(Number(e));continue}let n=o.getRowOrCreate(Number(e));Object.assign(n,t)}return!0}},gt=(e,n)=>{if(e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId)==null)throw Error(`universheet is null error!`);return{unitId:n.unitId,subUnitId:n.subUnitId,ranges:n.ranges}},_t={id:`sheet.mutation.set-row-visible`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(r==null)throw Error(`universheet is null error!`);let i=r.getSheetBySheetId(n.subUnitId).getRowManager();for(let e=0;e<n.ranges.length;e++){let t=n.ranges[e];for(let e=t.startRow;e<t.endRow+1;e++){let t=i.getRowOrCreate(e);t!=null&&(t.hd=0)}}return!0}},vt=(e,n)=>{if(e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId)==null)throw Error(`universheet is null error!`);return{unitId:n.unitId,subUnitId:n.subUnitId,ranges:n.ranges}},yt={id:`sheet.mutation.set-row-hidden`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(r==null)throw Error(`universheet is null error!`);let i=r.getSheetBySheetId(n.subUnitId).getRowManager();for(let e=0;e<n.ranges.length;e++){let t=n.ranges[e];for(let e=t.startRow;e<t.endRow+1;e++){let t=i.getRowOrCreate(e);t!=null&&(t.hd=1)}}return!0}},bt=(e,t)=>{let{unitId:n,subUnitId:r,ranges:i}=e,a={},o=t.getColumnManager();for(let e=0;e<i.length;e++){let t=i[e];for(let e=t.startColumn;e<t.endColumn+1;e++)a[e]=o.getColumnWidth(e)}return{unitId:n,subUnitId:r,ranges:i,colWidth:a}},xt={id:`sheet.mutation.set-worksheet-col-width`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=p(e.get(t.IUniverInstanceService),n);if(!r)return!1;let{worksheet:i}=r,a=i.getColumnManager(),o=n.ranges;for(let e=0;e<o.length;e++){let r=o[e];for(let e=r.startColumn;e<r.endColumn+1;e++)i.getColVisible(e)&&(typeof n.colWidth==`number`?a.setColumnWidth(e,n.colWidth):t.Tools.isDefine(n.colWidth[e])&&a.setColumnWidth(e,n.colWidth[e]))}return!0}},St=(e,n)=>{let r=m(e.get(t.IUniverInstanceService),n);if(!r)throw Error(`[SetWorksheetColumnCountUndoMutationFactory]: worksheet is null error!`);return{unitId:n.unitId,subUnitId:n.subUnitId,columnCount:r.worksheet.getColumnCount()}},Ct={id:`sheet.mutation.set-worksheet-column-count`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=m(e.get(t.IUniverInstanceService),n);return r?(r.worksheet.setColumnCount(n.columnCount),!0):!1}},wt={id:`sheet.mutation.set-worksheet-default-style`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=p(e.get(t.IUniverInstanceService),n);if(!r)return!1;let{worksheet:i}=r,{defaultStyle:a}=n;return i.setDefaultCellStyle(a),!0}},Tt=(e,n)=>{let r=m(e.get(t.IUniverInstanceService),n);if(!r)throw Error(`[SetWorksheetDefaultStyleMutationFactory]: worksheet is null error!`);let{worksheet:i}=r;return{unitId:n.unitId,subUnitId:i.getSheetId(),defaultStyle:i.getDefaultCellStyle()}},Et=(e,n)=>{let r=m(e.get(t.IUniverInstanceService),n);if(!r)throw Error(`[SetWorksheetRowCountUndoMutationFactory]: worksheet is null error!`);return{unitId:n.unitId,subUnitId:n.subUnitId,rowCount:r.worksheet.getRowCount()}},Dt={id:`sheet.mutation.set-worksheet-row-count`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=m(e.get(t.IUniverInstanceService),n);return r?(r.worksheet.setRowCount(n.rowCount),!0):!1}},Ot=(e,t)=>{let{unitId:n,subUnitId:r,ranges:i}=e,a={},o=t.getRowManager();for(let{startRow:e,endRow:n}of i)for(let r=e;r<n+1;r++){var s,c;a[r]=(s=(c=o.getRow(r))==null?void 0:c.h)==null?t.getConfig().defaultRowHeight:s}return{unitId:n,subUnitId:r,ranges:i,rowHeight:a}},kt=(e,t)=>{let{unitId:n,subUnitId:r,ranges:i}=e,a={},o=t.getRowManager();for(let{startRow:e,endRow:t}of i)for(let n=e;n<=t;n++){var s;a[n]=(s=o.getRow(n))==null?void 0:s.ia}return{unitId:n,subUnitId:r,ranges:i,autoHeightInfo:a}},At=(e,t)=>{let{unitId:n,subUnitId:r,rowsAutoHeightInfo:i}=e,a=[],o=t.getRowManager();for(let e of i){var s,c;let{row:n}=e;a.push({row:n,autoHeight:(s=(c=o.getRow(n))==null?void 0:c.ah)==null?t.getConfig().defaultRowHeight:s})}return{unitId:n,subUnitId:r,rowsAutoHeightInfo:a}},jt={id:`sheet.mutation.set-worksheet-row-height`,type:t.CommandType.MUTATION,handler:(e,n)=>{let{ranges:r,rowHeight:i}=n,a=p(e.get(t.IUniverInstanceService),n);if(!a)return!1;let{worksheet:o}=a,s=o.getRowManager();for(let{startRow:e,endRow:n}of r)for(let r=e;r<=n;r++)typeof i==`number`?s.setRowHeight(r,i):t.Tools.isDefine(i[r])&&s.setRowHeight(r,i[r]);return!0}},Mt={id:`sheet.mutation.set-worksheet-row-is-auto-height`,type:t.CommandType.MUTATION,handler:(e,n)=>{let{ranges:r,autoHeightInfo:i}=n,a=p(e.get(t.IUniverInstanceService),n);if(!a)return!1;let o=a.worksheet.getRowManager();for(let{startRow:e,endRow:t}of r)for(let n=e;n<=t;n++){let e=o.getRowOrCreate(n);if(typeof i==`number`)e.ia=i;else{var s;e.ia=(s=i[n])==null?void 0:s}}return!0}},Nt={id:`sheet.mutation.set-worksheet-row-auto-height`,type:t.CommandType.MUTATION,handler:(e,n)=>{let{rowsAutoHeightInfo:r}=n,i=p(e.get(t.IUniverInstanceService),n);if(!i)return!1;let a=i.worksheet.getRowManager();for(let{row:e,autoHeight:t}of r){let n=a.getRowOrCreate(e);n.ah=t}return!0}},Pt={id:`sheet.mutation.toggle-gridlines`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=p(e.get(t.IUniverInstanceService),n);if(!r)return!1;let{worksheet:i}=r,a=i.getConfig();return a.showGridlines=n.showGridlines,!0}},Ft={id:`sheet.operation.set-worksheet-active`,type:t.CommandType.OPERATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService).getUnit(n.unitId,t.UniverInstanceType.UNIVER_SHEET);if(!r)return!1;let i=r.getWorksheets();for(let[,e]of i)if(e.getSheetId()===n.subUnitId)return r.setActiveSheet(e),!0;return!1}},It=function(e){return e.SET_WORKSHEET_ROW_HEIGHT=`sheet.mutation.set-worksheet-row-height`,e.SET_WORKSHEET_ROW_IS_AUTO_HEIGHT=`sheet.mutation.set-worksheet-row-is-auto-height`,e.SET_WORKSHEET_ROW_AUTO_HEIGHT=`sheet.mutation.set-worksheet-row-auto-height`,e.SET_WORKSHEET_COL_WIDTH=`sheet.mutation.set-worksheet-col-width`,e.SET_WORKSHEET_ACTIVE=`sheet.operation.set-worksheet-active`,e.MOVE_ROWS=`sheet.mutation.move-rows`,e.MOVE_COLUMNS=`sheet.mutation.move-columns`,e.SET_COL_HIDDEN=`sheet.mutation.set-col-hidden`,e.SET_COL_VISIBLE=`sheet.mutation.set-col-visible`,e.SET_ROW_HIDDEN=`sheet.mutation.set-row-hidden`,e.SET_ROW_VISIBLE=`sheet.mutation.set-row-visible`,e.INSERT_COL=`sheet.mutation.insert-col`,e.INSERT_ROW=`sheet.mutation.insert-row`,e.REMOVE_COL=`sheet.mutation.remove-col`,e.REMOVE_ROW=`sheet.mutation.remove-rows`,e.TOGGLE_GRIDLINES=`sheet.mutation.toggle-gridlines`,e.SET_GRIDLINES_COLOR=`sheet.mutation.set-gridlines-color`,e}({}),Lt=function(e){return e.SET_RANGE_VALUES=`sheet.mutation.set-range-values`,e.MOVE_RANGE=`sheet.mutation.move-range`,e.REMOVE_WORKSHEET_MERGE=`sheet.mutation.remove-worksheet-merge`,e.ADD_WORKSHEET_MERGE=`sheet.mutation.add-worksheet-merge`,e.REORDER_RANGE=`sheet.mutation.reorder-range`,e.SET_WORKSHEET_DEFAULT_STYLE=`sheet.mutation.set-worksheet-default-style`,e.SET_ROW_DATA=`sheet.mutation.set-row-data`,e.SET_COL_DATA=`sheet.mutation.set-col-data`,e.SET_WORKSHEET_RANGE_THEME_STYLE=`sheet.mutation.set-worksheet-range-theme-style`,e.DELETE_WORKSHEET_RANGE_THEME_STYLE=`sheet.mutation.delete-worksheet-range-theme-style`,e}({}),Rt=[jt.id,Mt.id,Nt.id,xt.id,Ft.id,Te.id,De.id,Le.id,ze.id,yt.id,_t.id,F.id,P.id,L.id,I.id,Pt.id,Be.id,Dt.id,Ct.id],zt=[V.id,Ce.id,z.id,g.id,je.id,wt.id,ht.id,Fe.id,_e.id,ye.id];function Bt(e,n){switch(n.id){case`sheet.mutation.set-range-values`:{let e=n.params,r=new t.ObjectMatrix(e.cellValue).getDataRange();return r.endRow===-1?[]:e.cellValue?[{unitId:e.unitId,subUnitId:e.subUnitId,range:r}]:[]}case`sheet.mutation.move-range`:{let e=n.params;return[{unitId:e.unitId,subUnitId:e.from.subUnitId,range:new t.ObjectMatrix(e.from.value).getRange()},{unitId:e.unitId,subUnitId:e.to.subUnitId,range:new t.ObjectMatrix(e.to.value).getRange()}]}case`sheet.mutation.remove-worksheet-merge`:{let e=n.params;return e.ranges.map(t=>({unitId:e.unitId,subUnitId:e.subUnitId,range:t}))}case`sheet.mutation.add-worksheet-merge`:{let e=n.params;return e.ranges.map(t=>({unitId:e.unitId,subUnitId:e.subUnitId,range:t}))}case`sheet.mutation.reorder-range`:{let e=n.params;return[{unitId:e.unitId,subUnitId:e.subUnitId,range:e.range}]}case`sheet.mutation.set-worksheet-default-style`:{let t=p(e,n.params);if(!t)return[];let{worksheet:r,unitId:i,subUnitId:a}=t;return[{unitId:i,subUnitId:a,range:{startRow:0,endRow:r.getRowCount()-1,startColumn:0,endColumn:r.getColumnCount()-1}}]}case`sheet.mutation.set-row-data`:{let t=p(e,n.params);if(!t)return[];let{worksheet:r,unitId:i,subUnitId:a}=t,{rowData:o}=n.params,s=Object.keys(o).map(Number);return s.length===0?[]:[{unitId:i,subUnitId:a,range:{startRow:Math.min(...s),endRow:Math.max(...s),startColumn:0,endColumn:r.getColumnCount()-1}}]}case`sheet.mutation.set-col-data`:{let t=p(e,n.params);if(!t)return[];let{worksheet:r,unitId:i,subUnitId:a}=t,{columnData:o}=n.params,s=Object.keys(o).map(Number);return s.length===0?[]:[{unitId:i,subUnitId:a,range:{startRow:0,endRow:r.getRowCount()-1,startColumn:Math.min(...s),endColumn:Math.max(...s)}}]}case`sheet.mutation.set-worksheet-range-theme-style`:case`sheet.mutation.delete-worksheet-range-theme-style`:{let e=n.params;return[{unitId:e.unitId,subUnitId:e.subUnitId,range:e.range}]}default:return[]}}function Vt(e,n){switch(e.id){case`sheet.mutation.set-worksheet-row-height`:case`sheet.mutation.set-worksheet-row-is-auto-height`:{let n=e.params;return n.ranges.map(e=>({unitId:n.unitId,subUnitId:n.subUnitId,range:{...e,rangeType:t.RANGE_TYPE.ROW}}))}case`sheet.mutation.set-worksheet-row-auto-height`:{let r=e.params;return r.rowsAutoHeightInfo.map(e=>({unitId:r.unitId,subUnitId:r.subUnitId,range:{startRow:e.row,endRow:e.row,startColumn:0,endColumn:n-1,rangeType:t.RANGE_TYPE.ROW}}))}case`sheet.mutation.set-worksheet-col-width`:{let n=e.params;return n.ranges.map(e=>({unitId:n.unitId,subUnitId:n.subUnitId,range:{...e,rangeType:t.RANGE_TYPE.COLUMN}}))}case`sheet.mutation.move-rows`:case`sheet.mutation.move-columns`:{let t=e.params;return[{unitId:t.unitId,subUnitId:t.subUnitId,range:t.targetRange},{unitId:t.unitId,subUnitId:t.subUnitId,range:t.sourceRange}]}case`sheet.mutation.set-col-hidden`:case`sheet.mutation.set-col-visible`:{let n=e.params;return n.ranges.map(e=>({unitId:n.unitId,subUnitId:n.subUnitId,range:{...e,rangeType:t.RANGE_TYPE.COLUMN}}))}case`sheet.mutation.set-row-hidden`:case`sheet.mutation.set-row-visible`:{let n=e.params;return n.ranges.map(e=>({unitId:n.unitId,subUnitId:n.subUnitId,range:{...e,rangeType:t.RANGE_TYPE.ROW}}))}case`sheet.mutation.insert-col`:{let n=e.params;return[{unitId:n.unitId,subUnitId:n.subUnitId,range:{...n.range,rangeType:t.RANGE_TYPE.COLUMN}}]}case`sheet.mutation.insert-row`:{let n=e.params;return[{unitId:n.unitId,subUnitId:n.subUnitId,range:{...n.range,rangeType:t.RANGE_TYPE.ROW}}]}case`sheet.mutation.remove-col`:{let n=e.params;return[{unitId:n.unitId,subUnitId:n.subUnitId,range:{...n.range,rangeType:t.RANGE_TYPE.COLUMN}}]}case`sheet.mutation.remove-rows`:{let n=e.params;return[{unitId:n.unitId,subUnitId:n.subUnitId,range:{...n.range,rangeType:t.RANGE_TYPE.ROW}}]}case`sheet.mutation.toggle-gridlines`:case`sheet.mutation.set-gridlines-color`:return[];default:return[]}}function Ht(e,n){if(e.length===0)return`sheets.definedName.nameEmpty`;let{unitId:a,formulaOrRefString:o,univerInstanceService:s,definedNamesService:c,superTableService:l,functionService:u,id:d}=n,f=c.getValueByName(a,e);if(f&&(d==null||d.length===0||f.id!==d)||l.hasTable(a,e))return`sheets.definedName.nameDuplicate`;if(!t.Tools.isValidParameter(e)||(0,r.isReferenceStringWithEffectiveColumn)(e)||!t.Tools.isStartValidPosition(e)&&!(0,i.hasCJKText)(e.substring(0,1)))return`sheets.definedName.nameInvalid`;let p=s.getUnit(a,t.UniverInstanceType.UNIVER_SHEET);if(!p)throw Error(`Workbook not found for unitId: ${a}`);return p.getSheets().some(t=>t.getName()===e)?`sheets.definedName.nameSheetConflict`:o.length===0?`sheets.definedName.formulaOrRefStringEmpty`:u.hasExecutor(e.toUpperCase())?`sheets.definedName.nameConflict`:!0}function Ut(e){return e==null?!1:e.v!==void 0&&e.v!==null&&e.v!==``||e.p!==void 0}function Wt(e,t){return e&&e.spanAnchor?Ut(t.getValue(e.spanAnchor.startRow,e.spanAnchor.startColumn)):Ut(e)}function Gt(e,n,r,i,a){let o=e.getCellMatrix(),s=e.getSpanModel().getMergedCellRange(n,r,i,a),c=new t.ObjectMatrix;return o.forValue((e,t)=>{let n=o.getValue(e,t);n&&c.setValue(e,t,n)}),s.forEach(e=>{let{startColumn:n,startRow:r,endColumn:i,endRow:a}=e;(0,t.createRowColIter)(r,a,n,i).forEach((e,t)=>{e===r&&t===n&&c.setValue(e,t,{...o.getValue(e,t),spanAnchor:{startRow:r,endRow:a,startColumn:n,endColumn:i}}),(e!==r||t!==n)&&(c.realDeleteValue(e,t),c.setValue(e,t,{spanAnchor:{startRow:r,endRow:a,startColumn:n,endColumn:i}}))})}),c}function Kt(e,n,r,i){let{startRow:a,startColumn:o,endRow:s}=e,c=null,l=!1;for(let e=a;e<=s;e++){let t=n.getValue(e,o-r);if(l=l||Wt(t,n),!i&&l)break;t&&t.spanAnchor&&(c=c?{startRow:Math.min(t.spanAnchor.startRow,c.startRow),startColumn:Math.min(t.spanAnchor.startColumn,c.startColumn),endRow:Math.max(t.spanAnchor.endRow,c.endRow),endColumn:Math.max(t.spanAnchor.endColumn,c.endColumn)}:{startRow:t.spanAnchor.startRow,startColumn:t.spanAnchor.startColumn,endRow:t.spanAnchor.endRow,endColumn:t.spanAnchor.endColumn})}return l?(e.startColumn-=r,{spanAnchor:c,hasValue:!0,range:e}):c?{spanAnchor:t.Rectangle.simpleRangesIntersect(e,c)?c:null,hasValue:!1,range:e}:{spanAnchor:null,hasValue:!1,range:e}}function qt(e,n,r,i){let{startRow:a,endColumn:o,endRow:s}=e,c=null,l=!1;for(let e=a;e<=s;e++){let t=n.getValue(e,o+r);if(l=l||Wt(t,n),!i&&l)break;t&&t.spanAnchor&&(c=c?{startRow:Math.min(t.spanAnchor.startRow,c.startRow),startColumn:Math.min(t.spanAnchor.startColumn,c.startColumn),endRow:Math.max(t.spanAnchor.endRow,c.endRow),endColumn:Math.max(t.spanAnchor.endColumn,c.endColumn)}:{startRow:t.spanAnchor.startRow,startColumn:t.spanAnchor.startColumn,endRow:t.spanAnchor.endRow,endColumn:t.spanAnchor.endColumn})}return l?(e.endColumn+=r,{spanAnchor:c,hasValue:!0,range:e}):c?{spanAnchor:t.Rectangle.simpleRangesIntersect(e,c)?c:null,hasValue:!1,range:e}:{spanAnchor:null,hasValue:!1,range:e}}function Jt(e,n,r,i){let{startRow:a,startColumn:o,endColumn:s}=e,c=null,l=!1;for(let e=o;e<=s;e++){let t=n.getValue(a-r,e);if(l=l||Wt(t,n),!i&&l)break;t&&t.spanAnchor&&(c=c?{startRow:Math.min(t.spanAnchor.startRow,c.startRow),startColumn:Math.min(t.spanAnchor.startColumn,c.startColumn),endRow:Math.max(t.spanAnchor.endRow,c.endRow),endColumn:Math.max(t.spanAnchor.endColumn,c.endColumn)}:{startRow:t.spanAnchor.startRow,startColumn:t.spanAnchor.startColumn,endRow:t.spanAnchor.endRow,endColumn:t.spanAnchor.endColumn})}return l?(e.startRow-=r,{spanAnchor:c,hasValue:!0,range:e}):c?{spanAnchor:t.Rectangle.simpleRangesIntersect(e,c)?c:null,hasValue:!1,range:e}:{spanAnchor:null,hasValue:!1,range:e}}function Yt(e,n,r,i){let{startColumn:a,endColumn:o,endRow:s}=e,c=null,l=!1;for(let e=a;e<=o;e++){let t=n.getValue(s+r,e);if(l=l||Wt(t,n),!i&&l)break;t&&t.spanAnchor&&(c=c?{startRow:Math.min(t.spanAnchor.startRow,c.startRow),startColumn:Math.min(t.spanAnchor.startColumn,c.startColumn),endRow:Math.max(t.spanAnchor.endRow,c.endRow),endColumn:Math.max(t.spanAnchor.endColumn,c.endColumn)}:{startRow:t.spanAnchor.startRow,startColumn:t.spanAnchor.startColumn,endRow:t.spanAnchor.endRow,endColumn:t.spanAnchor.endColumn})}return l?(e.endRow+=r,{spanAnchor:c,hasValue:!0,range:e}):c?{spanAnchor:t.Rectangle.simpleRangesIntersect(e,c)?c:null,hasValue:!1,range:e}:{spanAnchor:null,hasValue:!1,range:e}}function Xt({range:e,allMatrixWithSpan:t,directions:n,isWorksheetHasSpan:r,maxRow:i,maxColumn:a}){let{left:o,right:s,up:c,down:l}=n,{startRow:u,startColumn:d,endRow:f,endColumn:p}=e,m=!1;if(o&&c&&u>0&&d>0){let n=t.getValue(u-1,d-1);Wt(n,t)&&(r&&n.spanAnchor?(e.startRow=n.spanAnchor.startRow,e.startColumn=n.spanAnchor.startColumn):(e.startRow=u-1,e.startColumn=d-1),m=!0)}if(s&&c&&u>0&&p<a-1){let n=t.getValue(u-1,p+1);Wt(n,t)&&(r&&n.spanAnchor?(e.startRow=n.spanAnchor.startRow,e.endColumn=n.spanAnchor.endColumn):(e.startRow=u-1,e.endColumn=p+1),m=!0)}if(o&&l&&f<i-1&&d>0){let n=t.getValue(f+1,d-1);Wt(n,t)&&(r&&n.spanAnchor?(e.endRow=n.spanAnchor.endRow,e.startColumn=n.spanAnchor.startColumn):(e.endRow=f+1,e.startColumn=d-1),m=!0)}if(s&&l&&f<i-1&&p<a-1){let n=t.getValue(f+1,p+1);Wt(n,t)&&(r&&n.spanAnchor?(e.endRow=n.spanAnchor.endRow,e.endColumn=n.spanAnchor.endColumn):(e.endRow=f+1,e.endColumn=p+1),m=!0)}return{hasValue:m,range:e}}function Zt(e,n,r){let i=r.getMaxRows(),a=r.getMaxColumns(),o=Gt(r,0,0,i-1,a-1),s=r.getSnapshot().mergeData.length>0,{left:c,right:l,up:u,down:d}=n,f=!0,p={...e},m=[];for(;f;){f=!1;let e=Xt({range:p,allMatrixWithSpan:o,directions:n,isWorksheetHasSpan:s,maxRow:i,maxColumn:a});if(e.hasValue){p=e.range,f=!0;continue}if(u&&p.startRow!==0){let{hasValue:e,range:t,spanAnchor:n}=Jt(p,o,1,s);if(n&&m.push(n),e){p=t,f=!0;continue}}if(d&&p.endRow!==i-1){let{hasValue:e,range:t,spanAnchor:n}=Yt(p,o,1,s);if(n&&m.push(n),e){p=t,f=!0;continue}}if(c&&p.startColumn!==0){let{hasValue:e,range:t,spanAnchor:n}=Kt(p,o,1,s);if(n&&m.push(n),e){p=t,f=!0;continue}}if(l&&p.endColumn!==a-1){let{hasValue:e,range:t,spanAnchor:n}=qt(p,o,1,s);if(n&&m.push(n),e){p=t,f=!0;continue}}}return m.length>0&&(p=t.Rectangle.union(p,...m)),p}let Qt=e=>{let n=new t.ObjectMatrix;return e.forEach(e=>{t.Range.foreach(e,(e,t)=>{n.setValue(e,t,1)})}),n.forValue((e,t)=>{let r=n.getValue(e-1,t);r&&n.setValue(e,t,r+1)}),n},$t=e=>{let t=e;return t.forValue((n,r)=>{let i=e.getValue(n-1,r);i&&t.setValue(n,r,i+1)}),t},en=e=>{let t={area:0},n=(e,n)=>t.area<e?(t.area=e,t.range=n,!0):!1;return e.forValue((t,r,i)=>{let a=1,o=i;n(a*o,{startRow:t-o+1,endRow:t,startColumn:r,endColumn:r});let s={startRow:t-o+1,endRow:t,startColumn:0,endColumn:r};for(let i=r-1;i>=0&&e.getValue(t,i);i--){o=Math.min(e.getValue(t,i)||0,o),a++;let r=o*a;s.startColumn=i,s.startRow=t-o+1,n(r,s)}}),t},tn=(e,n)=>{t.Range.foreach(n,(t,n)=>{e.realDeleteValue(t,n)});for(let t=n.startColumn;t<=n.endColumn;t++){let r=n.endRow+1;if(e.getValue(r,t)>0){e.setValue(r,t,1);let n=r+1;for(;e.getValue(n,t)>0;)e.setValue(n,t,e.getValue(n-1,t)+1),n++}}return e},nn=e=>{let t=[],n=en(e);for(;n.area>0;)n.range&&(t.push(n.range),tn(e,n.range)),n=en(e);return t},rn=e=>nn(Qt(e));var an=class{constructor(){w(this,`_matrix`,new t.ObjectMatrix)}add(...e){return e.forEach(e=>{t.Range.foreach(e,(e,t)=>{this._matrix.setValue(e,t,1)})}),this}subtract(...e){return e.forEach(e=>{t.Range.foreach(e,(e,t)=>{this._matrix.realDeleteValue(e,t)})}),this}merge(){return nn($t(this._matrix))}};function on(e){let{rangeWithCoord:t,primaryWithCoord:n,style:r}=e,i={range:{startRow:t.startRow,startColumn:t.startColumn,endRow:t.endRow,endColumn:t.endColumn,rangeType:t.rangeType,unitId:t.unitId,sheetId:t.sheetId},primary:null,style:r};return n!=null&&(i.primary=sn(n)),i}function sn(e){let{actualRow:t,actualColumn:n,isMerged:r,isMergedMainCell:i}=e,{startRow:a,startColumn:o,endRow:s,endColumn:c}=e.mergeInfo;return{actualRow:t,actualColumn:n,isMerged:r,isMergedMainCell:i,startRow:a,startColumn:o,endRow:s,endColumn:c}}let cn=function(e){return e[e.Tab=1]=`Tab`,e[e.Comma=2]=`Comma`,e[e.Semicolon=4]=`Semicolon`,e[e.Space=8]=`Space`,e[e.Custom=16]=`Custom`,e}({});var ln=class{constructor(){w(this,`_tabCount`,0),w(this,`_commaCount`,0),w(this,`_semicolonCount`,0),w(this,`_spaceCount`,0)}add(e){switch(e){case` `:this._tabCount++;break;case`,`:this._commaCount++;break;case`;`:this._semicolonCount++;break;case` `:this._spaceCount++;break;default:break}}update(e){e&&typeof e==`string`&&(e.includes(` `)&&this._tabCount++,e.includes(`,`)&&this._commaCount++,e.includes(`;`)&&this._semicolonCount++,e.trim().includes(` `)&&this._spaceCount++)}getDelimiter(){let e=Math.max(this._tabCount,this._commaCount,this._semicolonCount,this._spaceCount);return e===0||e===this._tabCount?1:e===this._commaCount?2:e===this._semicolonCount?4:e===this._spaceCount?8:1}};function un(e,n,r){let i=[];r!==void 0&&(e&16)>0&&i.push(r),(e&1)>0&&i.push(` `),(e&2)>0&&i.push(`,`),(e&4)>0&&i.push(`;`),(e&8)>0&&i.push(` `);let a=``;for(let e of i)a+=(0,t.escapeRegExp)(e);let o=`[${a}]`;return n&&(o+=`+`),new RegExp(o)}let dn=e=>{var t;return((t=e.body)==null?void 0:t.dataStream.replace(/\r\n$/,``))||``};function fn(e){if(e!=null){if(e.p)return dn(e.p);if(e.v&&typeof e.v==`string`)return e.v;if(e.t&&(e.t===t.CellValueType.FORCE_STRING||e.t===t.CellValueType.STRING))return String(e.v)}}function pn(e,n,r,i,a=!1){let{startColumn:o,startRow:s,endColumn:c,endRow:l}=t.Range.transformRange(n,e);if(o!==c)throw Error(`The range must be in the same column.`);if(r&&(r&16)>0&&(i===void 0||i.length!==1))throw Error(`The custom delimiter must a character.`);let u=r===void 0,d=u?new ln:null,f=[];for(let t=s;t<=l;t++){let n=fn(e.getCell(t,o));f.push(n),d&&d.update(n)}let p=un(u?d.getDelimiter():r,a,i),m=-1,h=0,g=0,_=[];for(let e of f){if(e!==void 0){let t=String(e).split(p);m=m<0?t.length:Math.max(m,t.length),_.push(t),h=g}else _.push(void 0);g++}return{rs:_,maxLength:m===-1?0:m,lastRow:h}}let mn=(e,t,n=``)=>e.reduce((e,r)=>{let i=r&&r[t];return typeof i==`string`?(i?(e[i]||(e[i]=[]),e[i].push(r)):e[n].push(r),e):(console.warn(r,`${t} is not string`),e)},{}),hn=(e=0)=>{let t=e;return function(){return t++}};function gn(e){return e==null?!1:e.v!==void 0&&e.v!==null&&e.v!==``||e.p!==void 0}function _n(e,t){for(let n=e.startRow;n<=e.endRow;n++)for(let r=e.startColumn;r<=e.endColumn;r++)if(gn(t.getCell(n,r)))return{startRow:n,startColumn:r,endRow:n,endColumn:r};return null}function vn(e){let n=new t.ObjectMatrix;return e.forEach(e=>{let{startRow:t,startColumn:r,endRow:i,endColumn:a}=e;for(let e=t;e<=i;e++)for(let t=r;t<=a;t++)n.setValue(e,t,null)}),n.clone()}function yn(e){let n=new t.ObjectMatrix;return e.forEach(e=>{let{startRow:t,startColumn:r,endRow:i,endColumn:a}=e;for(let e=t;e<=i;e++)for(let t=r;t<=a;t++)n.setValue(e,t,{v:null,p:null,f:null,si:null,custom:null})}),n.clone()}function bn(e){let n=new t.ObjectMatrix;return e.forEach(e=>{let{startRow:t,startColumn:r,endRow:i,endColumn:a}=e;for(let e=t;e<=i;e++)for(let t=r;t<=a;t++)n.setValue(e,t,{s:null})}),n.clone()}function xn(e){let{rows:t,cols:n}=e;return{startRow:t[0],endRow:t[t.length-1],startColumn:n[0],endColumn:n[n.length-1]}}function Sn(e,n,r,i){let a=n.get(t.IUniverInstanceService),o=r?a.getUnit(r,t.UniverInstanceType.UNIVER_SHEET):a.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),s=i?o==null?void 0:o.getSheetBySheetId(i):o==null?void 0:o.getActiveSheet();if(!s)return null;let{startRow:c,endRow:l,startColumn:u,endColumn:d}=e,f=[],p=[];for(let e=c;e<=l;e++)s.getRowFiltered(e)||f.push(e);for(let e=u;e<=d;e++)p.push(e);return{rows:f,cols:p}}function Cn(e,n,r,i){let a=p(n.get(t.IUniverInstanceService),{unitId:r,subUnitId:i});if(!a)return e;let{worksheet:o}=a,s=[];for(let t of e){let{startRow:e,endRow:n,startColumn:r,endColumn:i}=t,a=[],c=e;for(let t=e;t<=n;t++)o.getRowFiltered(t)?(c<t&&a.push([c,t-1]),c=t+1):t===n&&a.push([c,n]);let l=s.findIndex(e=>e.startColumn===r&&e.endColumn===i);l>-1?s[l].rowIntervals=s[l].rowIntervals.concat(a):s.push({startColumn:r,endColumn:i,rowIntervals:a})}let c=[];for(let e of s){let{startColumn:n,endColumn:r,rowIntervals:i}=e,a=(0,t.mergeIntervals)(i);for(let[e,t]of a)c.push({startRow:e,endRow:t,startColumn:n,endColumn:r})}return c}function wn(e){return JSON.stringify(e.filter(Boolean))}function Tn(e){try{let t=JSON.parse(e);if(Array.isArray(t)&&t.every(e=>typeof e==`string`))return t.filter(Boolean)}catch{}return e.split(`,`).filter(Boolean)}let En=function(e){return e.OthersCanView=`othersCanView`,e.NoOneElseCanView=`noOneElseCanView`,e}({}),Dn=function(e){return e.DesignedUserCanEdit=`designedUserCanEdit`,e.OnlyMe=`onlyMe`,e}({});var H=class{constructor(){w(this,`_model`,new Map),w(this,`_ruleChange$`,new n.Subject),w(this,`ruleChange$`,this._ruleChange$.asObservable()),w(this,`_ruleRefresh$`,new n.Subject),w(this,`ruleRefresh$`,this._ruleRefresh$.asObservable()),w(this,`_rangeRuleInitStateChange`,new n.BehaviorSubject(!1)),w(this,`rangeRuleInitStateChange$`,this._rangeRuleInitStateChange.asObservable())}dispose(){this._ruleChange$.complete(),this._ruleRefresh$.complete()}ruleRefresh(e){this._ruleRefresh$.next(e)}getRangeRuleInitState(){return this._rangeRuleInitStateChange.value}changeRuleInitState(e){this._rangeRuleInitStateChange.next(e)}addRule(e,t,n){this._ensureRuleMap(e,t).set(n.id,n),this._ruleChange$.next({unitId:e,subUnitId:t,rule:n,type:`add`})}deleteRule(e,t,n){var r;let i=(r=this._model.get(e))==null||(r=r.get(t))==null?void 0:r.get(n);if(i){var a;(a=this._model.get(e))==null||(a=a.get(t))==null||a.delete(n),this._ruleChange$.next({unitId:e,subUnitId:t,rule:i,type:`delete`})}}setRule(e,t,n,r){let i=this.getRule(e,t,n);if(i){var a;(a=this._model.get(e))==null||(a=a.get(t))==null||a.set(n,r),this._ruleChange$.next({unitId:e,subUnitId:t,oldRule:i,rule:r,type:`set`})}}getRule(e,t,n){var r;return(r=this._model.get(e))==null||(r=r.get(t))==null?void 0:r.get(n)}getSubunitRuleList(e,t){var n;return[...(((n=this._model.get(e))==null?void 0:n.get(t))||new Map).values()]}getSubunitRuleListLength(e,t){var n;let r=(n=this._model.get(e))==null?void 0:n.get(t);return r?r.size:0}_ensureRuleMap(e,t){let n=this._model.get(e);n||(n=new Map,this._model.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}toObject(){let e={};return[...this._model.keys()].forEach(t=>{let n=this._model.get(t),r=[...n.keys()];e[t]={},r.forEach(r=>{let i=n.get(r);e[t][r]=[...i.values()]})}),e}fromObject(e){let t=new Map;Object.keys(e).forEach(n=>{let r=e[n],i=new Map;Object.keys(r).forEach(e=>{let t=r[e].reduce((e,t)=>(e.set(t.id,t),e),new Map);i.set(e,t)}),t.set(n,i)}),this._model=t}deleteUnitModel(e){this._model.delete(e)}createRuleId(e,n){let r=(0,t.generateRandomId)(4),i=this._ensureRuleMap(e,n);for(;i.has(r);)r=(0,t.generateRandomId)(4);return r}getTargetByPermissionId(e,t){let n=this._model.get(e);if(!n)return null;for(let[r,i]of n)for(let n of i.values())if(n.permissionId===t)return[e,r];return null}};let On=(e,t)=>{let n=e.get(H),r=t.ruleIds.map(e=>n.getRule(t.unitId,t.subUnitId,e)).filter(e=>!!e);return{id:jn.id,params:{subUnitId:t.subUnitId,unitId:t.unitId,rules:r}}},kn={id:`sheet.mutation.delete-range-protection`,type:t.CommandType.MUTATION,handler:(e,t)=>{let{unitId:n,subUnitId:r,ruleIds:i}=t,a=e.get(H);return i.forEach(e=>{a.deleteRule(n,r,e)}),!0}},An=e=>{let t={...e,ruleIds:e.rules.map(e=>e.id)};return{id:kn.id,params:t}},jn={id:`sheet.mutation.add-range-protection`,type:t.CommandType.MUTATION,handler:(e,t)=>{let{unitId:n,subUnitId:r,rules:i}=t,a=e.get(H);return i.forEach(e=>{a.addRule(n,r,e)}),!0}},Mn={type:t.CommandType.COMMAND,id:`sheet.command.add-range-protection`,async handler(e,n){if(!n)return!1;let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),a=e.get(H),{rule:o,permissionId:s}=n,{unitId:c,subUnitId:l,ranges:u,description:d,viewState:f,editState:p}=o,m=[{ranges:u,permissionId:s,id:a.createRuleId(c,l),description:d,unitType:o.unitType,unitId:c,subUnitId:l,viewState:f,editState:p}];if(await r.executeCommand(jn.id,{unitId:c,subUnitId:l,rules:m})){let e=[{id:jn.id,params:{unitId:c,subUnitId:l,rules:m}}],t=[{id:kn.id,params:{unitId:c,subUnitId:l,ruleIds:m.map(e=>e.id)}}];i.pushUndoRedo({unitID:c,redoMutations:e,undoMutations:t})}return!0}},Nn=function(e){return e[e.MOVE_START=0]=`MOVE_START`,e[e.MOVING=1]=`MOVING`,e[e.MOVE_END=2]=`MOVE_END`,e[e.ONLY_SET=3]=`ONLY_SET`,e}({});var Pn=class extends t.Disposable{constructor(e){super(),this._workbook=e,w(this,`_worksheetSelections`,new Map),w(this,`_worksheetLastSelectionPrimaryCell`,new Map),w(this,`_selectionMoveStart$`,new n.Subject),w(this,`selectionMoveStart$`,this._selectionMoveStart$.asObservable()),w(this,`_selectionMoving$`,new n.Subject),w(this,`selectionMoving$`,this._selectionMoving$.asObservable()),w(this,`_selectionMoveEnd$`,new n.BehaviorSubject([])),w(this,`selectionMoveEnd$`,this._selectionMoveEnd$.asObservable()),w(this,`_selectionSet$`,new n.BehaviorSubject([])),w(this,`selectionSet$`,this._selectionSet$.asObservable()),w(this,`selectionChanged$`,void 0),w(this,`_beforeSelectionMoveEnd$`,new n.BehaviorSubject([])),w(this,`beforeSelectionMoveEnd$`,this._beforeSelectionMoveEnd$.asObservable()),this.selectionChanged$=(0,n.merge)(this._selectionMoveEnd$,this._selectionSet$)}dispose(){super.dispose(),this._beforeSelectionMoveEnd$.complete(),this._selectionMoveEnd$.complete(),this._selectionMoving$.complete(),this._selectionMoveStart$.complete(),this._selectionSet$.complete(),this._workbook=null,this.clear()}addSelections(e,t){let n=this.getSelectionsOfWorksheet(e);n.push(...t),this._selectionSet$.next(n)}setSelections(e,t=[],n){switch(this.setSelectionsOfWorksheet(e,t),n){case 0:this._selectionMoveStart$.next(t);break;case 1:this._selectionMoving$.next(t);break;case 2:this._beforeSelectionMoveEnd$.next(t),this._selectionMoveEnd$.next(t);break;case 3:this._selectionSet$.next(t);break;default:this._selectionSet$.next(t);break}}getCurrentSelections(){return this._getCurrentSelections()}getSelectionOfWorksheet(e){return this.getSelectionsOfWorksheet(e)}getSelectionsOfWorksheet(e){return this._worksheetSelections.has(e)||this._worksheetSelections.set(e,[]),this._worksheetSelections.get(e)}getLastSelectionPrimaryCellOfWorksheet(e){var t;return(t=this._worksheetLastSelectionPrimaryCell.get(e))==null?null:t}setSelectionsOfWorksheet(e,t){this._worksheetSelections.set(e,[...t]),t.length>0&&t[t.length-1].primary&&this._worksheetLastSelectionPrimaryCell.set(e,t[t.length-1].primary)}deleteSheetSelection(e){this._worksheetSelections.set(e,[]),this._worksheetLastSelectionPrimaryCell.delete(e)}clear(){this._worksheetSelections.clear(),this._worksheetLastSelectionPrimaryCell.clear(),this._selectionSet$.next([])}_getCurrentSelections(){return this.getSelectionsOfWorksheet(this._workbook.getActiveSheet().getSheetId())}getCurrentLastSelection(){let e=this._getCurrentSelections();return e[e.length-1]}};let U=class extends t.RxDisposable{get _currentSelectionPos(){let e=this._instanceSrv.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!e)return null;let n=e.getActiveSheet();return{unitId:e.getUnitId(),sheetId:n.getSheetId()}}get currentSelectionParam(){return this._currentSelectionPos}constructor(e){super(),this._instanceSrv=e,w(this,`_cellStylesCache`,new Map),w(this,`selectionMoveStart$`,void 0),w(this,`selectionMoving$`,void 0),w(this,`selectionMoveEnd$`,void 0),w(this,`selectionSet$`,void 0),w(this,`selectionChanged$`,void 0),w(this,`_workbookSelections`,new Map),this._init()}_init(){let e=this._instanceSrv.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).pipe((0,n.shareReplay)({bufferSize:1,refCount:!0}),(0,n.takeUntil)(this.dispose$));this.selectionMoveStart$=e.pipe((0,n.switchMap)(e=>e?this._ensureWorkbookSelection(e.getUnitId()).selectionMoveStart$:(0,n.of)()),(0,n.takeUntil)(this.dispose$)),this.selectionMoving$=e.pipe((0,n.switchMap)(e=>e?this._ensureWorkbookSelection(e.getUnitId()).selectionMoving$:(0,n.of)()),(0,n.takeUntil)(this.dispose$)),this.selectionMoveEnd$=e.pipe((0,n.switchMap)(e=>e?this._ensureWorkbookSelection(e.getUnitId()).selectionMoveEnd$:(0,n.of)([])),(0,n.takeUntil)(this.dispose$)),this.selectionSet$=e.pipe((0,n.switchMap)(e=>e?this._ensureWorkbookSelection(e.getUnitId()).selectionSet$:(0,n.of)([])),(0,n.takeUntil)(this.dispose$)),this.selectionChanged$=e.pipe((0,n.switchMap)(e=>e?this._ensureWorkbookSelection(e.getUnitId()).selectionChanged$:(0,n.of)([])),(0,n.distinctUntilChanged)((e,t)=>e.length===t.length?e.length===0&&t.length===0?!0:e.every((e,n)=>JSON.stringify(e)===JSON.stringify(t[n])):!1),(0,n.skip)(1),(0,n.takeUntil)(this.dispose$),(0,n.share)()),this.disposeWithMe(this._instanceSrv.getTypeOfUnitDisposed$(t.UniverInstanceType.UNIVER_SHEET).pipe((0,n.takeUntil)(this.dispose$)).subscribe(e=>{this._removeWorkbookSelection(e.getUnitId())})),this.disposeWithMe(this.selectionChanged$.pipe((0,n.takeUntil)(this.dispose$)).subscribe(()=>{this._cellStylesCache.clear()}))}dispose(){super.dispose(),this._cellStylesCache.clear(),this._workbookSelections.forEach(e=>e.dispose()),this._workbookSelections.clear(),this.selectionMoveStart$=(0,n.of)(null),this.selectionMoving$=(0,n.of)(null),this.selectionMoveEnd$=(0,n.of)([]),this.selectionSet$=(0,n.of)(null),this.selectionChanged$=(0,n.of)(null)}clear(){this._workbookSelections.forEach(e=>e.clear())}getCurrentSelections(){return this._getCurrentSelections()}getCurrentLastSelection(){let e=this._getCurrentSelections();return e==null?void 0:e[e.length-1]}getCurrentLastSelectionPrimaryCell(){let e=this._currentSelectionPos;if(!e)return null;let{unitId:t,sheetId:n}=e;return this._ensureWorkbookSelection(t).getLastSelectionPrimaryCellOfWorksheet(n)}addSelections(e,t,n){if(typeof e==`string`){this._ensureWorkbookSelection(e).addSelections(t,n);return}let r=this._currentSelectionPos;if(!r)throw Error(`[SheetsSelectionsService]: cannot find current selection position!`);let{unitId:i,sheetId:a}=r;this._ensureWorkbookSelection(i).addSelections(a,e)}setSelections(e,t,n,r){if(typeof e==`string`&&typeof t==`string`){let i=e;this._ensureWorkbookSelection(i).setSelections(t,n||[],r==null?3:r);return}let i=this._currentSelectionPos;if(!i)throw Error(`[SheetsSelectionsService]: cannot find current selection position!`);let{unitId:a,sheetId:o}=i;if(typeof e==`object`){var s;let r=e==null?n:e,i=(s=t)==null?3:s;this._ensureWorkbookSelection(a).setSelections(o,r,i)}}clearCurrentSelections(){this._getCurrentSelections().splice(0)}isOverlapping(){let e=this.getCurrentSelections();return e==null?!1:e.some(({range:t},n)=>e.some(({range:e},r)=>n===r?!1:t.startRow<=e.endRow&&t.endRow>=e.startRow&&t.startColumn<=e.endColumn&&t.endColumn>=e.startColumn))}_getCurrentSelections(){let e=this._currentSelectionPos;if(!e)return[];let{unitId:t,sheetId:n}=e;return this._ensureWorkbookSelection(t).getSelectionsOfWorksheet(n)}getWorkbookSelections(e){return this._ensureWorkbookSelection(e)}_ensureWorkbookSelection(e){let t=this._workbookSelections.get(e);if(!t){let n=this._instanceSrv.getUnit(e);if(!n)throw Error(`[SheetsSelectionsService]: cannot resolve unit with id "${e}"!`);t=new Pn(n),this._workbookSelections.set(e,t)}return t}_removeWorkbookSelection(e){this._workbookSelections.delete(e)}getCellStylesProperty(e){var n;let r=(n=this._instanceSrv.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET))==null?void 0:n.getActiveSheet(),i=this.getCurrentSelections();if(!r||i.length===0)return{isAllValuesSame:!1,value:null};let a=null;for(let n=0;n<i.length;n++){let{startRow:o,endRow:s,startColumn:c,endColumn:l}=i[n].range;for(let n=o;n<=s;n++)for(let i=c;i<=l;i++){let o=`${n}_${i}`,s;this._cellStylesCache.has(o)?s=this._cellStylesCache.get(o):(s=r.getComposedCellStyle(n,i),this._cellStylesCache.set(o,s));let c=s[e];if(a!=null&&!t.Tools.diffValue(a,c))return{isAllValuesSame:!1,value:null};a=c}}return{isAllValuesSame:!0,value:a}}};U=E([T(0,t.IUniverInstanceService)],U);let Fn=`REF_SELECTIONS_ENABLED`,In=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._univerInstanceService=t,w(this,`_sceneMap`,new Map),w(this,`_sheetSkeletonParamStore`,new Map),w(this,`_buildSkeleton$`,new n.Subject),w(this,`buildSkeleton$`,this._buildSkeleton$.asObservable()),this._init()}dispose(){super.dispose(),this._sheetSkeletonParamStore.forEach(e=>e.forEach(e=>e.skeleton.dispose())),this._sheetSkeletonParamStore.clear()}_disposeByUnitId(e){let t=this._sheetSkeletonParamStore.get(e);t&&(t.forEach(e=>e.skeleton.dispose()),this._sheetSkeletonParamStore.delete(e))}_init(){this.disposeWithMe(this._univerInstanceService.getTypeOfUnitAdded$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>this._initWorkbookSkeleton(e.unit))),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>this._disposeByUnitId(e.getUnitId())))}_initWorkbookSkeleton(e){let t=e.getUnitId();this._initSheetsSkeleton(e),this.disposeWithMe(e.sheetCreated$.subscribe(n=>{let r=this._sheetSkeletonParamStore.get(t);if(!r)return;let i=n.getSheetId(),a=this._buildSkeleton(n,e.getStyles());r.set(i,{unitId:t,sheetId:i,skeleton:a,dirty:!1})})),this.disposeWithMe(e.sheetDisposed$.subscribe(e=>{let n=this._sheetSkeletonParamStore.get(t);if(!n)return;let r=e.getSheetId(),i=n.get(r);i&&i.skeleton.dispose(),n.delete(r)}))}_initSheetsSkeleton(e){let t=e.getUnitId(),n=new Map;e.getWorksheets().forEach(r=>{let i=r.getSheetId(),a=this._buildSkeleton(r,e.getStyles());n.set(i,{unitId:t,sheetId:i,skeleton:a,dirty:!1})}),this._sheetSkeletonParamStore.set(t,n)}_buildSkeleton(e,t){let n=this._injector.createInstance(i.SpreadsheetSkeleton,e,t),r=e.getUnitId(),a=this._sceneMap.get(r);return a&&n.setScene(a),this._buildSkeleton$.next(n),n}setScene(e,t){this._sceneMap.set(e,t);let n=this._sheetSkeletonParamStore.get(e);n&&n.forEach(e=>e.skeleton.setScene(t))}getSkeletonsByUnitId(e){let t=this._sheetSkeletonParamStore.get(e);return t?Array.from(t.values()).map(e=>e.skeleton):[]}getSkeleton(e,t){var n;return(n=this.getSkeletonParam(e,t))==null?void 0:n.skeleton}getSkeletonParam(e,t){let n=this._sheetSkeletonParamStore.get(e);if(n)return n.get(t)}newSkeleton(e,t,n,r){return this.newSkeletonParam(e,t,n,r).skeleton}newSkeletonParam(e,t,n,r){let i=this._buildSkeleton(n,r),a=this._sheetSkeletonParamStore.get(e);a||(a=new Map,this._sheetSkeletonParamStore.set(e,a));let o={unitId:e,sheetId:t,skeleton:i,dirty:!1};return a.set(t,o),o}ensureSkeleton(e,t){let n=this.getSkeleton(e,t);if(n)return n;let r=this._univerInstanceService.getUnit(e);if(!r)return;let i=r.getSheetBySheetId(t);if(i)return this.newSkeleton(e,t,i,r.getStyles())}};In=E([T(0,(0,t.Inject)(t.Injector)),T(1,(0,t.Inject)(t.IUniverInstanceService))],In);function Ln(e,n){let r=new t.ObjectMatrix;return e.map(e=>t.Range.transformRange(e,n)).forEach(e=>{t.Range.foreach(e,(e,t)=>{let i=n.getCellHeight(e,t);i&&r.setValue(e,t,i)})}),r}function Rn(e,t){if(!t)return{suitableRanges:e,remainingRanges:[]};let n=t.worksheet.getColumnCount(),r=Math.ceil(1e4/n),i=[],a=[],o=t.getOffsetRelativeToRowCol(0,t.scrollY).row,s=e.map(e=>{let t;return t=o>=e.startRow&&o<=e.endRow?0:o<e.startRow?e.startRow-o:o-e.endRow,{range:e,distance:t,rowCount:e.endRow-e.startRow+1}});s.sort((e,t)=>e.distance===t.distance?e.rowCount-t.rowCount:e.distance-t.distance);let c=0;for(let e of s)if(c+e.rowCount<=r)i.push(e.range),c+=e.rowCount;else{let t=r-c;if(t>0){let n={...e.range,endRow:e.range.startRow+t-1},o={...e.range,startRow:e.range.startRow+t};i.push(n),a.push(o),c=r}else a.push(e.range)}return{suitableRanges:i,remainingRanges:a}}function zn(e){let t=0;return e.forEach(()=>{t++}),t}let Bn={id:`sheet.command.clear-selection-all`,type:t.CommandType.COMMAND,handler:(e,n)=>{var r;let i=p(e.get(t.IUniverInstanceService),{unitId:n==null?void 0:n.unitId,subUnitId:n==null?void 0:n.subUnitId});if(!i)return!1;let a=e.get(U),{unitId:o,subUnitId:s}=i,c=(n==null?void 0:n.ranges)||((r=a.getCurrentSelections())==null?void 0:r.map(e=>e.range));if(!(c!=null&&c.length))return!1;let l=e.get(In).getSkeleton(o,s);if(!l)return!1;let u=e.get(t.ICommandService),d=e.get(t.IUndoRedoService),f=e.get(A),m=[],h=[],g={subUnitId:s,unitId:o,cellValue:vn(Cn(c,e,o,s))},_=B(e,g);m.push({id:V.id,params:g}),h.push({id:V.id,params:_});let v=f.onCommandExecute({id:Bn.id,params:n});m.push(...v.redos),h.unshift(...v.undos);let y=(0,t.sequenceExecute)(m,u),{suitableRanges:b,remainingRanges:x}=Rn(c,l),{undos:S,redos:C}=f.generateMutationsOfAutoHeight({unitId:o,subUnitId:s,ranges:b,autoHeightRanges:b,lazyAutoHeightRanges:x}),w=(0,t.sequenceExecute)(C,u);return y.result&&w.result?(m.push(...C),h.push(...S),d.pushUndoRedo({unitID:o,undoMutations:h,redoMutations:m}),!0):!1}},Vn={id:`sheet.command.clear-selection-format`,type:t.CommandType.COMMAND,handler:(e,n)=>{var r;let i=p(e.get(t.IUniverInstanceService),{unitId:n==null?void 0:n.unitId,subUnitId:n==null?void 0:n.subUnitId});if(!i)return!1;let a=e.get(U),{unitId:o,subUnitId:s}=i,c=(n==null?void 0:n.ranges)||((r=a.getCurrentSelections())==null?void 0:r.map(e=>e.range));if(!(c!=null&&c.length))return!1;let l=e.get(In).getSkeleton(o,s);if(!l)return!1;let u=e.get(t.ICommandService),d=e.get(t.IUndoRedoService),f=e.get(A),m=[],h=[],g={subUnitId:s,unitId:o,cellValue:bn(Cn(c,e,o,s))},_=B(e,g);m.push({id:V.id,params:g}),h.push({id:V.id,params:_});let v=f.onCommandExecute({id:Vn.id,params:n});m.push(...v.redos),h.unshift(...v.undos);let y=(0,t.sequenceExecute)(m,u),{suitableRanges:b,remainingRanges:x}=Rn(c,l),{undos:S,redos:C}=f.generateMutationsOfAutoHeight({unitId:o,subUnitId:s,ranges:b,autoHeightRanges:b,lazyAutoHeightRanges:x}),w=(0,t.sequenceExecute)(C,u);return y.result&&w.result?(m.push(...C),h.push(...S),d.pushUndoRedo({unitID:o,undoMutations:h,redoMutations:m}),!0):!1}};function Hn(e,n,r=!0){let i=n.getMatrixWithMergedCells(...(0,t.selectionToArray)(e)),a=[];if(i.forValue((n,r,i)=>{if(i.colSpan!==void 0&&i.rowSpan!==void 0){let o={startRow:n,startColumn:r,endRow:n+i.rowSpan-1,endColumn:r+i.colSpan-1};t.Rectangle.contains(e,o)||a.push(o)}}),a.length===0)return e;let o=t.Rectangle.union(e,...a);return r?Hn(o,n,r):o}function Un(e,n,r){let i=null;return r.getMatrixWithMergedCells(e,n,e,n).forValue((e,n,r)=>(i={actualRow:e,actualColumn:n,startRow:e,startColumn:n,isMerged:r.rowSpan!==void 0||r.colSpan!==void 0,isMergedMainCell:r.rowSpan!==void 0&&r.colSpan!==void 0,endRow:e+(r.rowSpan===void 0?0:r.rowSpan-1),endColumn:n+(r.colSpan===void 0?0:r.colSpan-1),rangeType:t.RANGE_TYPE.NORMAL},!1)),i||{actualColumn:n,actualRow:e,startRow:e,startColumn:n,endRow:e,endColumn:n,isMerged:!1,isMergedMainCell:!1,rangeType:t.RANGE_TYPE.NORMAL}}function Wn(e,t,n){let{startRow:r,startColumn:i,endRow:a,endColumn:o}=e;return Number.isNaN(r)&&(e.startRow=0),Number.isNaN(a)&&(e.endRow=t-1),Number.isNaN(i)&&(e.startColumn=0),Number.isNaN(o)&&(e.endColumn=n-1),e}function W(e,n){let r=Number.isNaN(e.startRow)?0:e.startRow,i=Number.isNaN(e.startColumn)?0:e.startColumn,a=n.getMergedCell(r,i);return a?{...a,actualRow:r,actualColumn:i,rangeType:t.RANGE_TYPE.NORMAL,isMerged:!0,isMergedMainCell:!0}:{startRow:r,startColumn:i,endRow:e.startRow,endColumn:e.startColumn,actualRow:r,actualColumn:i,rangeType:t.RANGE_TYPE.NORMAL,isMerged:!1,isMergedMainCell:!1}}let Gn=(e,t,n)=>({id:G.id,params:{unitId:t.getUnitId(),subUnitId:n.getSheetId(),reveal:!0,selections:[{range:e,primary:W(e,n)}]}});function Kn(e){if(!e)return!1;let{range:n,primary:r}=e;return t.Rectangle.equals(n,r)}function qn(e){function t(t,n){function r(t){for(let r=t.startRow;r<=t.endRow;r++)if(!e.getRowFiltered(r))for(let e=t.startColumn;e<=t.endColumn;e++)n(r,e,t)}r(t)}return{forOperableEach:t}}let Jn=e=>e.id!==y;function Yn(e,n,r,i,a,o,s){let c={};for(let t=n;t<=r;t++)for(let n=i;n<=a;n++){let r=o?e.getCellWithFilteredInterceptors(s,n,b,Jn):e.getCellWithFilteredInterceptors(t,s,b,Jn);!r||!r.s||(c[t]||(c[t]={}),c[t][n]={s:r.s})}for(let e in c){for(let n in c[e]){let r=c[e][n];r.s&&typeof r.s==`object`&&t.Tools.isEmptyObject(r.s)&&delete r.s,t.Tools.isEmptyObject(r)&&delete c[e][n]}t.Tools.isEmptyObject(c[e])&&delete c[e]}return c}let Xn=(0,t.createIdentifier)(`sheets-formula.ref-selections.service`),Zn=class extends U{constructor(e){super(e)}_init(){let e=this._getAliveWorkbooks$().pipe((0,n.takeUntil)(this.dispose$));this.selectionMoveStart$=e.pipe((0,n.switchMap)(e=>(0,n.merge)(...e.map(e=>e.selectionMoveStart$)))),this.selectionMoving$=e.pipe((0,n.switchMap)(e=>(0,n.merge)(...e.map(e=>e.selectionMoving$)))),this.selectionMoveEnd$=e.pipe((0,n.switchMap)(e=>(0,n.merge)(...e.map(e=>e.selectionMoveEnd$)))),this.selectionSet$=e.pipe((0,n.switchMap)(e=>(0,n.merge)(...e.map(e=>e.selectionSet$))))}dispose(){super.dispose(),this.selectionMoveStart$=(0,n.of)(null),this.selectionMoving$=(0,n.of)(null),this.selectionMoveEnd$=(0,n.of)(null),this.selectionSet$=(0,n.of)(null),delete this._instanceSrv,this._workbookSelections.clear()}_getAliveWorkbooks$(){let e=this._instanceSrv.getAllUnitsForType(t.UniverInstanceType.UNIVER_SHEET);e.forEach(e=>this._ensureWorkbookSelection(e.getUnitId()));let r=new n.BehaviorSubject(e);return this.disposeWithMe(this._instanceSrv.getTypeOfUnitAdded$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{let{unit:t}=e;this._ensureWorkbookSelection(t.getUnitId()),r.next([...r.getValue(),t])})),this.disposeWithMe(this._instanceSrv.getTypeOfUnitDisposed$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{this._removeWorkbookSelection(e.getUnitId()),r.next(r.getValue().filter(t=>t!==e))})),r.pipe((0,n.map)(e=>e.map(e=>this._ensureWorkbookSelection(e.getUnitId()))))}};Zn=E([T(0,t.IUniverInstanceService)],Zn);function Qn(e,n){let r=e.get(t.IContextService).getContextValue(Fn);return e.get(r&&!n?Xn:U)}let G={id:`sheet.operation.set-selections`,type:t.CommandType.OPERATION,handler:(e,t)=>{if(!t)return!1;let{selections:n,type:r,unitId:i,subUnitId:a}=t;return Qn(e).setSelections(i,a,[...n],r),!0}},$n={id:`sheet.command.select-range`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(!n)return!1;let{unitId:r,subUnit:i,range:a}=n,o=e.get(t.ICommandService),s=p(e.get(t.IUniverInstanceService),n);if(!s)return!1;let c=[{range:a,primary:W(a,s.worksheet),style:null}];return o.syncExecuteCommand(G.id,{unitId:r,subUnitId:i,selections:c})}},er=`sheet.command.move-range`,tr={type:t.CommandType.COMMAND,id:er,handler:async(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),a=e.get(t.ErrorService),o=e.get(t.LocaleService);if(!await e.get(A).beforeCommandExecute({id:tr.id,params:n}))return!1;let s=rr(e,n);return s?(0,t.sequenceExecute)(s.redos,r).result?(i.pushUndoRedo({unitID:s.unitId,undoMutations:s.undos,redoMutations:s.redos}),!0):!1:(a.emit(o.t(`sheets.info.acrossMergedCell`)),!1)}};function nr(e,n){var r,i,a,o,s;let c=e.get(t.IUniverInstanceService),l=p(c),u=(r=(i=n.toUnitId)==null?n.fromUnitId:i)==null?l==null?void 0:l.unitId:r,d=(a=n.fromSubUnitId)==null?l==null?void 0:l.subUnitId:a,f=(o=(s=n.toSubUnitId)==null?n.fromSubUnitId:s)==null?l==null?void 0:l.subUnitId:o;if(!u||!d||!f||n.fromUnitId&&n.toUnitId&&n.fromUnitId!==n.toUnitId)return null;let m=c.getUniverSheetInstance(u),h=m==null?void 0:m.getSheetBySheetId(d),g=m==null?void 0:m.getSheetBySheetId(f);return!h||!g?null:{unitId:u,fromSubUnitId:d,toSubUnitId:f,fromWorksheet:h,toWorksheet:g}}function rr(e,t,n={}){var r,i;let{includeSelection:a=!0,includeAfterCommand:o=!0,includeAutoHeight:s=!0}=n,c=nr(e,t);if(!c)return null;let l=e.get(A),{unitId:u,fromSubUnitId:d,toSubUnitId:f,fromWorksheet:p,toWorksheet:m}=c,h=ir(e,{unitId:u,subUnitId:d,range:t.fromRange},{unitId:u,subUnitId:f,range:t.toRange});if(h===null)return null;let g={id:tr.id,params:t},_=l.onCommandExecute(g),v=[...(r=_.preRedos)==null?[]:r,...h.redos,..._.redos],y=[...(i=_.preUndos)==null?[]:i,...h.undos,..._.undos];if(a&&(v.push({id:G.id,params:{unitId:u,subUnitId:f,selections:[{range:t.toRange,primary:ar(t.fromRange,t.toRange,p,m)}],type:2}}),y.push({id:G.id,params:{unitId:u,subUnitId:d,selections:[{range:t.fromRange,primary:W(t.fromRange,p)}],type:2}})),o){let e=l.afterCommandExecute(g);v.push(...e.redos),y.push(...e.undos)}if(s){let{undos:e,redos:n}=l.generateMutationsOfAutoHeight({unitId:u,subUnitId:f,ranges:d===f?[t.fromRange,t.toRange]:[t.toRange]});v.push(...n),y.push(...e)}return{unitId:u,redos:v,undos:y}}function ir(e,n,r,i=!1){let a=n.unitId,o=e.get(t.IUniverInstanceService).getUnit(a,t.UniverInstanceType.UNIVER_SHEET);if(!o)return null;let{subUnitId:s,range:c}=n,{subUnitId:l,range:u}=r,d=o.getSheetBySheetId(s),f=o.getSheetBySheetId(l);if(!d||!f)return null;let p=Hn(u,f,!1);if(!t.Rectangle.equals(u,p)&&!i)return null;let m=d.getCellMatrix(),h=f.getCellMatrix(),g=new t.ObjectMatrix,_=new t.ObjectMatrix,v=new t.ObjectMatrix,y=new t.ObjectMatrix;t.Range.foreach(c,(e,n)=>{var r;let i=(r=t.Tools.deepClone(m.getValue(e,n)))==null?null:r;i!=null&&i.s&&(i.s=o.getStyles().get(i.s)),g.setValue(e,n,null),_.setValue(e,n,i);let a=(0,t.cellToRange)(e,n),s=t.Rectangle.getRelativeRange(a,c),l=t.Rectangle.getPositionRange(s,u);v.setValue(l.startRow,l.startColumn,t.Tools.deepClone(i))}),t.Range.foreach(u,(e,n)=>{var r;let i=(r=t.Tools.deepClone(h.getValue(e,n)))==null?null:r;y.setValue(e,n,i)});let b={fromRange:n.range,toRange:r.range,from:{value:g.getMatrix(),subUnitId:s},to:{value:v.getMatrix(),subUnitId:l},unitId:a},x={fromRange:r.range,toRange:n.range,from:{value:y.getMatrix(),subUnitId:l},to:{value:_.getMatrix(),subUnitId:s},unitId:a};return{redos:[{id:Ce.id,params:b}],undos:[{id:Ce.id,params:x}]}}function ar(e,t,n,r=n){let i=e.startRow,a=e.startColumn,o=n.getMergedCell(i,a),s=W(t,r);if(o){let e=o.endRow-o.startRow+1,t=o.endColumn-o.startColumn+1;s.endRow=s.startRow+e-1,s.endColumn=s.startColumn+t-1,s.actualRow=s.startRow,s.actualColumn=s.startColumn,s.isMerged=!1,s.isMergedMainCell=!0}return s}let or={id:`sheet.command.set-range-values`,type:t.CommandType.COMMAND,handler:(e,n)=>{var r,i;let a=p(e.get(t.IUniverInstanceService),n);if(!a)return!1;let o=(r=e.get(U).getCurrentSelections())==null?void 0:r.map(e=>e.range),{value:s,range:c,redoUndoId:l}=n,u=c?[c]:o;if(!u||!u.length)return!1;let d=e.get(t.ICommandService),f=e.get(t.IUndoRedoService),m=e.get(A),{subUnitId:h,unitId:g,workbook:_,worksheet:v}=a,y=new t.ObjectMatrix,b;if(t.Tools.isArray(s))for(let e=0;e<u.length;e++){let{startRow:t,startColumn:n,endRow:r,endColumn:i}=u[e];for(let e=t;e<=r;e++)for(let r=n;r<=i;r++)y.setValue(e,r,s[e-t][r-n])}else if((0,t.isICellData)(s))for(let e=0;e<u.length;e++){let{startRow:t,startColumn:n,endRow:r,endColumn:i}=u[e];for(let e=t;e<=r;e++)for(let t=n;t<=i;t++)y.setValue(e,t,s)}else b=s,u=b?[new t.ObjectMatrix(b).getStartEndScope()]:[];let x={unitId:g,subUnitId:h,cellValue:(i=b)==null?y.getMatrix():i},S=B(e,x),C=(0,t.mapObjectMatrix)(x.cellValue,(e,t)=>v.getCellHeight(e,t)||void 0);if(!d.syncExecuteCommand(V.id,x))return!1;let{undos:w,redos:T}=m.onCommandExecute({id:or.id,params:x}),{undos:E,redos:D}=m.generateMutationsOfAutoHeight({unitId:g,subUnitId:h,ranges:u,cellHeights:new t.ObjectMatrix(C)});if((0,t.sequenceExecute)([...T,...D],d).result){let e=[{id:V.id,params:x},...T,...D,Gn(u[u.length-1],_,v)],t=[{id:V.id,params:S},...w,...E];return o&&o.length&&t.push(Gn(o[o.length-1],_,v)),f.pushUndoRedo({unitID:g,undoMutations:t,redoMutations:e,id:l}),!0}return!1}};function sr(e,n){let r=[],i=[],{unitId:a,subUnitId:o,range:s,shiftDimension:c,cellValue:l={}}=n,u=e.get(t.IUniverInstanceService),d=e.get(A),f=u.getUniverSheetInstance(a),p=f==null?void 0:f.getSheetBySheetId(o);if(p){let n=p.getCellMatrix(),u=n.getDataRange();if(s.startColumn<=u.endColumn||s.startRow<=u.endRow){let l,d;if(c===t.Dimension.COLUMNS){let e=Math.min(s.endRow,u.endRow),r=0;for(let i=s.startRow;i<=e;i++){let e=n.getRow(i),a=e?(0,t.getArrayLength)(e)-1:0;r=Math.max(r,a)}l={startRow:s.startRow,startColumn:s.startColumn,endRow:e,endColumn:r};let i=s.endColumn-s.startColumn+1;d={startRow:s.startRow,startColumn:l.startColumn+i,endRow:e,endColumn:l.endColumn+i}}else{let e=Math.min(s.endColumn,u.endColumn),t=u.endRow;l={startRow:s.startRow,startColumn:s.startColumn,endRow:t,endColumn:e};let n=s.endRow-s.startRow+1;d={startRow:l.startRow+n,startColumn:s.startColumn,endRow:l.endRow+n,endColumn:e}}let f=ir(e,{unitId:a,subUnitId:o,range:l},{unitId:a,subUnitId:o,range:d},!0);f&&(r.push(...f.redos),i.push(...f.undos))}if(Object.entries(l).length===0)for(let e=s.startRow;e<=s.endRow;e++){l[e]||(l[e]={});for(let t=s.startColumn;t<=s.endColumn;t++)l[e][t]=null}let f={subUnitId:o,unitId:a,cellValue:l},m=B(e,f),{undos:h,redos:g}=d.onCommandExecute({id:or.id,params:{...f,range:s}});r.push({id:V.id,params:f},...g),i.push({id:V.id,params:m},...h)}return{redo:r,undo:i}}function cr(e,n){let r=[],i=[],{unitId:a,subUnitId:o,range:s,shiftDimension:c}=n,l=e.get(t.IUniverInstanceService),u=e.get(A),d=l.getUniverSheetInstance(a),f=d==null?void 0:d.getSheetBySheetId(o);if(f){let n=f.getCellMatrix(),l=n.getDataRange(),d={subUnitId:o,unitId:a,cellValue:vn([s])},p=B(e,d),m=u.onCommandExecute({id:or.id,params:d});if(r.push({id:V.id,params:d},...m.redos),i.push(...m.undos,{id:V.id,params:p}),s.startColumn<=l.endColumn||s.startRow<=l.endRow){let u=null,d=null;if(c===t.Dimension.COLUMNS&&s.endColumn<l.endColumn){let e=Math.min(s.endRow,l.endRow),r=0;for(let i=s.startRow;i<=e;i++){let e=n.getRow(i),a=e?(0,t.getArrayLength)(e)-1:0;r=Math.max(r,a)}u={startRow:s.startRow,startColumn:s.endColumn+1,endRow:e,endColumn:r};let i=s.endColumn-s.startColumn+1;d={startRow:s.startRow,startColumn:u.startColumn-i,endRow:e,endColumn:u.endColumn-i}}if(c===t.Dimension.ROWS&&s.endRow<l.endRow){let e=Math.min(s.endColumn,l.endColumn),t=l.endRow;u={startRow:s.endRow+1,startColumn:s.startColumn,endRow:t,endColumn:e};let n=s.endRow-s.startRow+1;d={startRow:u.startRow-n,startColumn:s.startColumn,endRow:u.endRow-n,endColumn:e}}if(u&&d){let t=ir(e,{unitId:a,subUnitId:o,range:u},{unitId:a,subUnitId:o,range:d},!0);t&&(r.push(...t.redos),i.push(...t.undos))}}}return{redo:r,undo:i}}function lr(e,n,r,i,a,o){let{startRow:s,endRow:c,startColumn:l,endColumn:u}=n;if(a===t.Dimension.ROWS){let t=c-s+1;for(let n=r;n>=s;n--)for(let r=l;r<=u;r++){let i=e.getValue(n,r);i==null?e.realDeleteValue(n+t,r):e.setValue(n+t,r,i)}for(let t=c;t>=s;t--)for(let n=l;n<=u;n++)o&&o[t]&&o[t][n]?e.setValue(t,n,o[t][n]):e.realDeleteValue(t,n)}else if(a===t.Dimension.COLUMNS){let t=u-l+1;for(let n=s;n<=c;n++)for(let r=i;r>=l;r--){let i=e.getValue(n,r);i==null?e.realDeleteValue(n,r+t):e.setValue(n,r+t,i)}for(let t=s;t<=c;t++)for(let n=u;n>=l;n--)o&&o[t]&&o[t][n]?e.setValue(t,n,o[t][n]):e.realDeleteValue(t,n)}}function ur(e,n,r,i,a){let{startRow:o,endRow:s,startColumn:c,endColumn:l}=n,u=s-o+1,d=l-c+1;if(a===t.Dimension.ROWS)for(let t=o;t<=r;t++)for(let n=c;n<=l;n++){let r=e.getValue(t+u,n);r==null?e.realDeleteValue(t,n):e.setValue(t,n,r)}else if(a===t.Dimension.COLUMNS)for(let t=o;t<=s;t++)for(let n=c;n<=i;n++){let r=e.getValue(t,n+d);r==null?e.realDeleteValue(t,n):e.setValue(t,n,r)}}let dr=`sheet.command.delete-range-move-left`,fr={type:t.CommandType.COMMAND,id:dr,handler:async(e,n)=>{var r,i;let a=e.get(t.ICommandService),o=e.get(t.IUndoRedoService),s=e.get(t.IUniverInstanceService),c=e.get(U),l=e.get(A),u=p(s);if(!u)return!1;let{worksheet:d,workbook:f,subUnitId:m,unitId:h}=u,g=n==null?void 0:n.range;if(!g){var _;g=(_=c.getCurrentLastSelection())==null?void 0:_.range}if(!g)return!1;let v={range:g,subUnitId:m,unitId:h,shiftDimension:t.Dimension.COLUMNS},y=l.onCommandExecute({id:fr.id,params:{range:g}}),{redo:b,undo:x}=cr(e,v),S=[...(r=y.preRedos)==null?[]:r,...b],C=[...y.undos,...x];if(S.push(...y.redos),S.push(Gn(g,f,d)),C.push(...(i=y.preUndos)==null?[]:i),(0,t.sequenceExecute)(S,a).result){let e=l.afterCommandExecute({id:fr.id,params:{range:g}});return(0,t.sequenceExecute)(e.redos,a),C.push(...e.undos),S.push(...e.redos),o.pushUndoRedo({unitID:h,undoMutations:C.reverse(),redoMutations:S}),!0}return!1}},pr=`sheet.command.delete-range-move-up`,mr={type:t.CommandType.COMMAND,id:pr,handler:async(e,n)=>{var r,i;let a=e.get(t.ICommandService),o=e.get(t.IUndoRedoService),s=e.get(t.IUniverInstanceService),c=e.get(U),l=e.get(A),u=p(s);if(!u)return!1;let{unitId:d,subUnitId:f,workbook:m,worksheet:h}=u,g=n==null?void 0:n.range;if(!g){let e=c.getCurrentLastSelection();g=e==null?void 0:e.range}if(!g)return!1;let _={range:g,subUnitId:f,unitId:d,shiftDimension:t.Dimension.ROWS},v=l.onCommandExecute({id:mr.id,params:{range:g}}),{redo:y,undo:b}=cr(e,_),x=[...(r=v.preRedos)==null?[]:r,...y],S=[...v.undos,...b];if(x.push(...v.redos),x.push(Gn(g,m,h)),S.push(...(i=v.preUndos)==null?[]:i),(0,t.sequenceExecute)(x,a).result){let e=l.afterCommandExecute({id:mr.id,params:{range:g}});return(0,t.sequenceExecute)(e.redos,a),S.push(...e.undos),x.push(...e.redos),o.pushUndoRedo({unitID:d,undoMutations:S.reverse(),redoMutations:x}),!0}return!1}},hr=`sheet.command.insert-range-move-down`,gr={type:t.CommandType.COMMAND,id:hr,handler:async(e,n)=>{var r,i;let a=e.get(t.ICommandService),o=e.get(t.IUndoRedoService),s=e.get(t.IUniverInstanceService),c=e.get(U),l=e.get(A),u=e.get(t.ErrorService),d=e.get(t.LocaleService);if(c.isOverlapping())return u.emit(d.t(`sheets.info.overlappingSelections`)),!1;let f=p(s);if(!f)return!1;let{unitId:m,subUnitId:h,worksheet:g,workbook:_}=f,v=n==null?void 0:n.range;if(!v){var y;v=(y=c.getCurrentLastSelection())==null?void 0:y.range}if(!v)return!1;let b=[],x=[],S=g.getCellMatrix(),C=S.getDataRange(),w=S.getSlice(C.startRow,C.endRow,v.startColumn,v.endColumn).getDataRange().endRow,T=Math.max(w+(v.endRow-v.startRow+1)-C.endRow,0);if(T>0){let n=v.startRow-1,r=g.getRowHeight(n),i={unitId:m,subUnitId:h,range:{startRow:C.endRow+1,endRow:C.endRow+T,startColumn:C.startColumn,endColumn:C.endColumn},rowInfo:Array(T).fill(void 0).map(()=>({h:r,hd:t.BooleanNumber.FALSE}))};b.push({id:P.id,params:i});let a=xe(e,i);x.push({id:I.id,params:a})}let E={};t.Range.foreach(v,(e,t)=>{let n=g.getCell(e,t);n&&(E[e]||(E[e]={}),E[e][t]={s:n.s})});let{redo:D,undo:O}=sr(e,{range:v,subUnitId:h,unitId:m,shiftDimension:t.Dimension.ROWS,cellValue:E});b.push(...D),x.push(...O);let k=l.onCommandExecute({id:gr.id,params:{range:v}});if(b.push(...k.redos),b.push(Gn(v,_,g)),x.push(...(r=k.preUndos)==null?[]:r),b.unshift(...(i=k.preRedos)==null?[]:i),x.unshift(...k.undos),(0,t.sequenceExecute)(b,a).result){let e=l.afterCommandExecute({id:gr.id,params:{range:v}});return(0,t.sequenceExecute)(e.redos,a),x.push(...e.undos),b.push(...e.redos),o.pushUndoRedo({unitID:m,undoMutations:x.reverse(),redoMutations:b}),!0}return!1}},_r=`sheet.command.insert-range-move-right`,vr={type:t.CommandType.COMMAND,id:_r,handler:async(e,n)=>{var r,i;let a=e.get(t.ICommandService),o=e.get(t.IUndoRedoService),s=e.get(t.IUniverInstanceService),c=e.get(U),l=e.get(A),u=e.get(t.ErrorService),d=e.get(t.LocaleService);if(c.isOverlapping())return u.emit(d.t(`sheets.info.overlappingSelections`)),!1;let f=p(s);if(!f)return!1;let{workbook:m,worksheet:h,unitId:g,subUnitId:_}=f,v=n==null?void 0:n.range;if(!v){var y;v=(y=c.getCurrentLastSelection())==null?void 0:y.range}if(!v)return!1;let b=[],x=[],S=h.getCellMatrix(),C=S.getDataRange(),w=S.getSlice(v.startRow,v.endRow,C.startColumn,C.endColumn).getDataRange().endColumn,T=Math.max(w+(v.endColumn-v.startColumn+1)-C.endColumn,0);if(T>0){let n=v.startColumn-1,r=h.getColumnWidth(n),i={unitId:g,subUnitId:_,range:{startRow:C.startRow+1,endRow:C.endRow,startColumn:C.endColumn+1,endColumn:C.endColumn+T},colInfo:Array(T).fill(void 0).map(()=>({w:r,hd:t.BooleanNumber.FALSE}))};b.push({id:F.id,params:i});let a=Se(e,i);x.push({id:L.id,params:a})}let E={};t.Range.foreach(v,(e,t)=>{let n=h.getCell(e,t);!n||!n.s||(E[e]||(E[e]={}),E[e][t]={s:n.s})});let{redo:D,undo:O}=sr(e,{range:v,subUnitId:_,unitId:g,shiftDimension:t.Dimension.COLUMNS,cellValue:E});b.push(...D),x.push(...O);let k=l.onCommandExecute({id:vr.id,params:{range:v}});if(b.push(...k.redos),b.push(Gn(v,m,h)),x.push(...(r=k.preUndos)==null?[]:r),b.unshift(...(i=k.preRedos)==null?[]:i),x.unshift(...k.undos),(0,t.sequenceExecute)(b,a).result){let e=l.afterCommandExecute({id:vr.id,params:{range:v}});return(0,t.sequenceExecute)(e.redos,a),x.push(...e.undos),b.push(...e.redos),o.pushUndoRedo({unitID:g,undoMutations:x.reverse(),redoMutations:b}),!0}return!1}},yr=`sheet.command.insert-row`,br={type:t.CommandType.COMMAND,id:yr,handler:async(e,n)=>{let r=e.get(t.ICommandService),i=e.get(A),{range:a,direction:o,unitId:s,subUnitId:c,cellValue:l}=n;return await i.beforeCommandExecute({id:br.id,params:n})?r.syncExecuteCommand(xr.id,{range:a,direction:o,unitId:s,subUnitId:c,cellValue:l}):!1}},xr={type:t.CommandType.COMMAND,id:`sheet.command.insert-row-by-range`,handler:(e,n)=>{var r,i,a,o;let s=p(e.get(t.IUniverInstanceService),n);if(!s)throw Error(`Workbook or Worksheet not found at InsertRowByRangeCommand`);let{workbook:c,worksheet:l,unitId:u,subUnitId:d}=s,{range:f,direction:m,cellValue:h}=n,{startRow:g,endRow:_}=f;f.rangeType=t.RANGE_TYPE.ROW;let v=m===t.Direction.UP?g:g-1;if(v<0||v>l.getRowCount()-1)throw Error(`Anchor row is out of bounds in InsertRowByRangeCommand`);let y=e.get(t.ICommandService),b=e.get(t.IUndoRedoService),x=e.get(A),S={unitId:u,subUnitId:d,range:f},C=l.getRowHeight(v);C!==l.getConfig().defaultRowHeight&&(S.rowInfo=Array(_-g+1).fill(void 0).map(()=>({h:C,hd:t.BooleanNumber.FALSE})));let w=xe(e,S),T=[{id:P.id,params:S}],E=[{id:I.id,params:w}];h&&Object.keys(h).length>0&&T.push({id:V.id,params:{unitId:u,subUnitId:d,cellValue:h}});let D=x.onCommandExecute({id:br.id,params:n});if(T.unshift(...(r=D.preRedos)==null?[]:r),T.push(...(i=D.redos)==null?[]:i),T.push(Gn(f,c,l)),E.unshift(...(a=D.preUndos)==null?[]:a),E.push(...(o=D.undos)==null?[]:o),(0,t.sequenceExecute)(T,y).result){let e=x.afterCommandExecute({id:br.id,params:n});return(0,t.sequenceExecute)(e.redos,y),T.push(...e.redos),E.push(...e.undos),b.pushUndoRedo({unitID:n.unitId,undoMutations:E,redoMutations:T}),!0}return!1}},Sr={type:t.CommandType.COMMAND,id:`sheet.command.insert-row-before`,handler:async(e,n)=>{var r;let i=(r=e.get(U).getCurrentSelections())==null?void 0:r.map(e=>e.range),a;if((i==null?void 0:i.length)===1)a=i[0];else return!1;let o=p(e.get(t.IUniverInstanceService));if(!o)return!1;let{worksheet:s,subUnitId:c,unitId:l}=o,u=n.value||0,d=a.startRow,f=a.startRow+u-1,m=s.getColumnCount()-1,h={unitId:l,subUnitId:c,direction:t.Direction.UP,range:{startRow:d,endRow:f,startColumn:0,endColumn:m},cellValue:Yn(s,d,f,0,m,!0,d-1)};return e.get(t.ICommandService).executeCommand(br.id,h)}},Cr={type:t.CommandType.COMMAND,id:`sheet.command.insert-row-after`,handler:async e=>{var n;let r=(n=e.get(U).getCurrentSelections())==null?void 0:n.map(e=>e.range),i;if((r==null?void 0:r.length)===1)i=r[0];else return!1;let a=p(e.get(t.IUniverInstanceService));if(!a)return!1;let{worksheet:o,unitId:s,subUnitId:c}=a,l=i.endRow-i.startRow+1,u=i.endRow+1,d=i.endRow+l,f=o.getColumnCount()-1,m={unitId:s,subUnitId:c,direction:t.Direction.DOWN,range:{startRow:u,endRow:d,startColumn:0,endColumn:f,rangeType:t.RANGE_TYPE.ROW},cellValue:Yn(o,u,d,0,f,!0,i.endRow)};return e.get(t.ICommandService).executeCommand(br.id,m)}},wr={type:t.CommandType.COMMAND,id:`sheet.command.insert-multi-rows-above`,handler:async(e,n)=>{var r;let i=(r=e.get(U).getCurrentSelections())==null?void 0:r.map(e=>e.range),a;if((i==null?void 0:i.length)===1)a=i[0];else return!1;let o=p(e.get(t.IUniverInstanceService));if(!o)return!1;let{worksheet:s,unitId:c,subUnitId:l}=o,u=n.value||0,d=a.startRow,f=a.startRow+u-1,m=s.getColumnCount()-1,h=Yn(s,d,f,0,m,!0,d-1),g={unitId:c,subUnitId:l,direction:t.Direction.UP,range:{startRow:d,endRow:f,startColumn:0,endColumn:m,rangeType:t.RANGE_TYPE.ROW},cellValue:h};return e.get(t.ICommandService).executeCommand(br.id,g)}},Tr={type:t.CommandType.COMMAND,id:`sheet.command.insert-multi-rows-after`,handler:async(e,n)=>{var r;let i=(r=e.get(U).getCurrentSelections())==null?void 0:r.map(e=>e.range),a;if((i==null?void 0:i.length)===1)a=i[0];else return!1;let o=p(e.get(t.IUniverInstanceService));if(!o)return!1;let{worksheet:s,unitId:c,subUnitId:l}=o,u=n.value||0,d=a.endRow+1,f=a.endRow+u,m=s.getColumnCount()-1,h={unitId:c,subUnitId:l,direction:t.Direction.DOWN,range:{startRow:d,endRow:f,startColumn:0,endColumn:m,rangeType:t.RANGE_TYPE.ROW},cellValue:Yn(s,d,f,0,m,!0,a.endRow)};return e.get(t.ICommandService).executeCommand(br.id,h)}},Er=`sheet.command.insert-col`,Dr={type:t.CommandType.COMMAND,id:Er,handler:async(e,n)=>{let r=e.get(t.ICommandService),i=e.get(A),{range:a,direction:o,subUnitId:s,unitId:c,cellValue:l}=n;return await i.beforeCommandExecute({id:Dr.id,params:n})?r.syncExecuteCommand(Or.id,{range:a,direction:o,unitId:c,subUnitId:s,cellValue:l}):!1}},Or={type:t.CommandType.COMMAND,id:`sheet.command.insert-col-by-range`,handler:(e,n)=>{var r,i,a,o;let s=p(e.get(t.IUniverInstanceService),n);if(!s)throw Error(`Workbook or Worksheet not found at InsertColByRangeCommand`);let{workbook:c,worksheet:l,unitId:u,subUnitId:d}=s,{range:f,direction:m,cellValue:h}=n,{startColumn:g,endColumn:_}=f;f.rangeType=t.RANGE_TYPE.COLUMN;let v=m===t.Direction.LEFT?g:g-1;if(v<0||v>l.getColumnCount()-1)throw Error(`Anchor column is out of bounds in InsertColByRangeCommand`);let y=e.get(t.ICommandService),b=e.get(t.IUndoRedoService),x=e.get(A),S={unitId:u,subUnitId:d,range:f},C=l.getColumnWidth(v);C!==l.getConfig().defaultColumnWidth&&(S.colInfo=Array(_-g+1).fill(void 0).map(()=>({w:C,hd:t.BooleanNumber.FALSE})));let w=Se(e,S),T=[{id:F.id,params:S}],E=[{id:L.id,params:w}];h&&Object.keys(h).length>0&&T.push({id:V.id,params:{unitId:u,subUnitId:d,cellValue:h}});let D=x.onCommandExecute({id:Dr.id,params:n});if(T.unshift(...(r=D.preRedos)==null?[]:r),T.push(...(i=D.redos)==null?[]:i),T.push(Gn(f,c,l)),E.unshift(...(a=D.preUndos)==null?[]:a),E.push(...(o=D.undos)==null?[]:o),(0,t.sequenceExecute)(T,y).result){let e=x.afterCommandExecute({id:Dr.id,params:n});return(0,t.sequenceExecute)(e.redos,y),T.push(...e.redos),E.push(...e.undos),b.pushUndoRedo({unitID:n.unitId,undoMutations:E.filter(Boolean),redoMutations:T.filter(Boolean)}),!0}return!1}},kr={type:t.CommandType.COMMAND,id:`sheet.command.insert-col-before`,handler:async(e,n)=>{let r=e.get(U).getCurrentSelections(),i;if((r==null?void 0:r.length)===1)i=r[0].range;else return!1;let a=p(e.get(t.IUniverInstanceService));if(!a)return!1;let{worksheet:o,unitId:s,subUnitId:c}=a,l=n.value||0,u=i.startColumn,d=i.startColumn+l-1,f=o.getRowCount()-1,m={unitId:s,subUnitId:c,direction:t.Direction.LEFT,range:{startColumn:u,endColumn:d,startRow:0,endRow:f,rangeType:t.RANGE_TYPE.COLUMN},cellValue:Yn(o,0,f,u,d,!1,u-1)};return e.get(t.ICommandService).executeCommand(Dr.id,m)}},Ar={type:t.CommandType.COMMAND,id:`sheet.command.insert-col-after`,handler:async e=>{let n=e.get(U).getCurrentSelections(),r;if((n==null?void 0:n.length)===1)r=n[0].range;else return!1;let i=p(e.get(t.IUniverInstanceService));if(!i)return!1;let{worksheet:a,unitId:o,subUnitId:s}=i,c=r.endColumn-r.startColumn+1,l=r.endColumn+1,u=r.endColumn+c,d=a.getRowCount()-1,f={unitId:o,subUnitId:s,direction:t.Direction.RIGHT,range:{startColumn:l,endColumn:u,startRow:0,endRow:d},cellValue:Yn(a,0,d,l,u,!1,r.endColumn)};return e.get(t.ICommandService).executeCommand(Dr.id,f)}},jr={type:t.CommandType.COMMAND,id:`sheet.command.insert-multi-cols-before`,handler:async(e,n)=>{let r=e.get(U).getCurrentSelections(),i;if((r==null?void 0:r.length)===1)i=r[0].range;else return!1;let a=p(e.get(t.IUniverInstanceService));if(!a)return!1;let{worksheet:o,unitId:s,subUnitId:c}=a,l=n.value||0,u=i.startColumn,d=i.startColumn+l-1,f=o.getRowCount()-1,m={unitId:s,subUnitId:c,direction:t.Direction.LEFT,range:{startColumn:u,endColumn:d,startRow:0,endRow:f,rangeType:t.RANGE_TYPE.COLUMN},cellValue:Yn(o,0,f,u,d,!1,u-1)};return e.get(t.ICommandService).executeCommand(Dr.id,m)}},Mr={type:t.CommandType.COMMAND,id:`sheet.command.insert-multi-cols-right`,handler:async(e,n)=>{let r=e.get(U).getCurrentSelections(),i;if((r==null?void 0:r.length)===1)i=r[0].range;else return!1;let a=p(e.get(t.IUniverInstanceService));if(!a)return!1;let{worksheet:o,unitId:s,subUnitId:c}=a,l=n.value||0,u=i.endColumn+1,d=i.endColumn+l,f=o.getRowCount()-1,m={unitId:s,subUnitId:c,direction:t.Direction.RIGHT,range:{startColumn:u,endColumn:d,startRow:0,endRow:f},cellValue:Yn(o,0,f,u,d,!1,i.endColumn)};return e.get(t.ICommandService).executeCommand(Dr.id,m)}},Nr=(0,t.throttle)((e,t,n,r)=>{if(!r.disposed){let i=Gn(e,t,n);r.executeCommand(i.id,i.params)}},300),Pr=`sheet.command.remove-row`,Fr={type:t.CommandType.COMMAND,id:`sheet.command.remove-row-by-range`,handler:(e,n)=>{var r;if(!n)return!1;let i=p(e.get(t.IUniverInstanceService),n);if(!i)return!1;let{workbook:a,worksheet:o}=i,s=e.get(A),{range:c,unitId:l,subUnitId:u}=n,d=Cn([c],e,l,u).reverse(),f=[],m=[];d.forEach(e=>{let t=[],n=[],r={unitId:l,subUnitId:u,range:e},i=Oe(r,o),a={unitId:l,subUnitId:u,cellValue:o.getCellMatrix().getSlice(e.startRow,e.endRow,0,o.getColumnCount()-1).getMatrix()};n.push({id:I.id,params:r}),t.push({id:P.id,params:i}),t.push({id:V.id,params:a}),m.push(...n),f.unshift(...t)});let h=s.onCommandExecute({id:Pr,params:{range:c}}),g=e.get(t.ICommandService);if((0,t.sequenceExecute)([...(r=h.preRedos)==null?[]:r,...m,...h.redos],g).result){var _,v;Nr(c,a,o,g);let n=s.afterCommandExecute({id:Pr,params:{range:c}});return(0,t.sequenceExecute)(n.redos,g),e.get(t.IUndoRedoService).pushUndoRedo({unitID:l,undoMutations:[...(_=h.preUndos)==null?[]:_,...f,...h.undos,...n.undos],redoMutations:[...(v=h.preRedos)==null?[]:v,...m,...h.redos,...n.redos]}),!0}return!1}},Ir={type:t.CommandType.COMMAND,id:Pr,handler:async(e,n)=>{var r;let i=p(e.get(t.IUniverInstanceService),n);if(!i)return!1;let a=e.get(U),o=(n==null?void 0:n.range)||((r=a.getCurrentLastSelection())==null?void 0:r.range);if(!o)return!1;let s=e.get(A),c=e.get(t.ICommandService),{worksheet:l,unitId:u,subUnitId:d}=i;return o={...o,startColumn:0,endColumn:Math.max(l.getMaxColumns()-1,0)},await s.beforeCommandExecute({id:Ir.id,params:{range:o}})?c.syncExecuteCommand(Fr.id,{range:o,unitId:u,subUnitId:d}):!1}},Lr=`sheet.command.remove-col`,Rr={type:t.CommandType.COMMAND,id:`sheet.command.remove-col-by-range`,handler:(e,n)=>{var r;if(!n)return!1;let i=p(e.get(t.IUniverInstanceService),n);if(!i)return!1;let{workbook:a,worksheet:o}=i,s=e.get(A),{range:c,unitId:l,subUnitId:u}=n,d={unitId:l,subUnitId:u,range:c},f=ke(e,d),m={unitId:l,subUnitId:u,cellValue:o.getCellMatrix().getSlice(0,o.getRowCount()-1,c.startColumn,c.endColumn).getMatrix()},h=s.onCommandExecute({id:Lr,params:{range:c}}),g=e.get(t.ICommandService);if((0,t.sequenceExecute)([...(r=h.preRedos)==null?[]:r,{id:L.id,params:d},...h.redos],g).result){var _,v;Nr(c,a,o,g);let n=s.afterCommandExecute({id:Lr,params:{range:c}});return(0,t.sequenceExecute)(n.redos,g),e.get(t.IUndoRedoService).pushUndoRedo({unitID:l,undoMutations:[...(_=h.preUndos)==null?[]:_,{id:F.id,params:f},{id:V.id,params:m},...h.undos,...n.undos],redoMutations:[...(v=h.preRedos)==null?[]:v,{id:L.id,params:d},...h.redos,...n.redos]}),!0}return!1}},zr={type:t.CommandType.COMMAND,id:Lr,handler:async(e,n)=>{var r;let i=e.get(U),a=e.get(A),o=e.get(t.ICommandService),s=n==null?void 0:n.range;if(s||(s=(r=i.getCurrentLastSelection())==null?void 0:r.range),!s)return!1;let c=p(e.get(t.IUniverInstanceService));if(!c)return!1;let{worksheet:l,subUnitId:u,unitId:d}=c;return s={...s,startRow:0,endRow:Math.max(l.getMaxRows()-1,0)},await a.beforeCommandExecute({id:zr.id,params:{range:s}})?o.syncExecuteCommand(Rr.id,{range:s,unitId:d,subUnitId:u}):!1}},Br=(e,n)=>{let r=e.get(t.IUniverInstanceService),{subUnitId:i,unitId:a}=n,o=m(r,n);if(!o)throw Error(`[RemoveSheetUndoMutationFactory]: Worksheet is null error!`);let{workbook:s,worksheet:c}=o,l=c.getConfig();return{index:s.getConfig().sheetOrder.findIndex(e=>e===i),sheet:l,unitId:a}},Vr={id:`sheet.mutation.remove-sheet`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService),{subUnitId:i,unitId:a}=n,o=r.getUniverSheetInstance(a);return o?o.removeSheet(i):!1}};function Hr(e,t){return t.getMergeData().some(t=>t.startRow<e&&e<=t.endRow)}function Ur(e,t){return t.getMergeData().some(t=>t.startColumn<e&&e<=t.endColumn)}let Wr=`sheet.command.move-rows`,Gr={id:Wr,type:t.CommandType.COMMAND,handler:(e,n)=>{var r,i;let a=e.get(U),{fromRange:{startRow:o},toRange:{startRow:s},range:c}=n,l=c?[Jr(c)]:a.getCurrentSelections(),u=l==null?void 0:l.filter(e=>e.range.rangeType===t.RANGE_TYPE.ROW&&e.range.startRow<=o&&o<=e.range.endRow);if((u==null?void 0:u.length)!==1)return!1;let d=e.get(A),f=p(e.get(t.IUniverInstanceService),n);if(!f)return!1;let{workbook:m,worksheet:h}=f,g=m.getUnitId(),_=h.getSheetId(),v=e.get(t.ErrorService),y=e.get(t.LocaleService),b=u[0].range,x=u[0].primary,S=Hn(b,h,!1);if(!t.Rectangle.equals(b,S))return v.emit(y.t(`sheets.info.partOfCell`)),!1;if(Hr(s,h))return v.emit(y.t(`sheets.info.acrossMergedCell`)),!1;let C={...b,startRow:s,endRow:s+b.endRow-b.startRow},w={unitId:g,subUnitId:_,sourceRange:b,targetRange:C},T=we(e,w),E=e.get(t.ICommandService),D=d.onCommandExecute({id:Gr.id,params:n}),O=[...(r=D.preRedos)==null?[]:r,{id:Te.id,params:w}],k=[...(i=D.preUndos)==null?[]:i,{id:Te.id,params:T}];if(x){let e=s-o<0,t=b.endRow-b.startRow+1,n=e?C:{...C,startRow:C.startRow-t,endRow:C.endRow-t},r={unitId:g,subUnitId:_,type:2,selections:[{range:n,primary:W(n,h),style:null}]},i={unitId:g,subUnitId:_,type:2,selections:[{range:b,primary:x,style:null}]};O.push({id:G.id,params:r}),k.push({id:G.id,params:i})}if(O.push(...D.redos),k.push(...D.undos),(0,t.sequenceExecute)(O,E).result){let r=d.afterCommandExecute({id:Gr.id,params:n});return(0,t.sequenceExecute)(r.redos,E),O.push(...r.redos),k.push(...r.undos),e.get(t.IUndoRedoService).pushUndoRedo({unitID:g,undoMutations:k,redoMutations:O}),!0}return!1}},Kr=`sheet.command.move-cols`,qr={id:Kr,type:t.CommandType.COMMAND,handler:(e,n)=>{var r,i;let a=e.get(U),{fromRange:{startColumn:o},toRange:{startColumn:s},range:c}=n,l=c?[Jr(c)]:a.getCurrentSelections(),u=l==null?void 0:l.filter(e=>e.range.rangeType===t.RANGE_TYPE.COLUMN&&e.range.startColumn<=o&&o<=e.range.endColumn);if((u==null?void 0:u.length)!==1)return!1;let d=e.get(A),f=p(e.get(t.IUniverInstanceService),n);if(!f)return!1;let{workbook:m,worksheet:h}=f,g=m.getUnitId(),_=h.getSheetId(),v=e.get(t.ErrorService),y=e.get(t.LocaleService),b=u[0].range,x=u[0].primary,S=Hn(b,h,!1);if(!t.Rectangle.equals(b,S))return v.emit(y.t(`sheets.info.partOfCell`)),!1;if(Ur(s,h))return v.emit(y.t(`sheets.info.acrossMergedCell`)),!1;let C={...b,startColumn:s,endColumn:s+b.endColumn-b.startColumn},w={unitId:g,subUnitId:_,sourceRange:b,targetRange:C},T=Ee(e,w),E=e.get(t.ICommandService),D=d.onCommandExecute({id:qr.id,params:n}),O=[...(r=D.preRedos)==null?[]:r,{id:De.id,params:w}],k=[...(i=D.preUndos)==null?[]:i,{id:De.id,params:T}];if(x){let e=b.endColumn-b.startColumn+1,t=s-o<0?C:{...C,startColumn:C.startColumn-e,endColumn:C.endColumn-e},n={unitId:g,subUnitId:_,type:2,selections:[{range:t,primary:W(t,h),style:null}]},r={unitId:g,subUnitId:_,type:2,selections:[{range:b,primary:x,style:null}]};O.push({id:G.id,params:n}),k.push({id:G.id,params:r})}if(O.push(...D.redos),k.push(...D.undos),(0,t.sequenceExecute)(O,E).result){let r=d.afterCommandExecute({id:qr.id,params:n});return(0,t.sequenceExecute)(r.redos,E),O.push(...r.redos),k.push(...r.undos),e.get(t.IUndoRedoService).pushUndoRedo({unitID:g,undoMutations:k,redoMutations:O}),!0}return!1}};function Jr(e){return{range:e,primary:null,style:null}}let Yr=`sheet.command.reorder-range`,Xr={id:Yr,type:t.CommandType.COMMAND,handler:(e,n)=>{var r,i;let{subUnitId:a,unitId:o,range:s,order:c}=n,l=e.get(t.ICommandService),u={id:je.id,params:{unitId:o,subUnitId:a,order:c,range:s}},d={id:je.id,params:Ae(u.params)},f=e.get(A),p=f.onCommandExecute({id:Xr.id,params:n}),m=[...(r=p.preRedos)==null?[]:r,u,...p.redos],h=[...(i=p.preUndos)==null?[]:i,d,...p.undos],g=(0,t.sequenceExecute)(m,l),{suitableRanges:_,remainingRanges:v}=Rn([s],e.get(In).getSkeleton(o,a)),{undos:y,redos:b}=f.generateMutationsOfAutoHeight({unitId:o,subUnitId:a,ranges:[s],autoHeightRanges:_,lazyAutoHeightRanges:v}),x=f.afterCommandExecute({id:Xr.id,params:n});return g.result?((0,t.sequenceExecute)([...x.redos,...b],l),e.get(t.IUndoRedoService).pushUndoRedo({unitID:o,undoMutations:[...h,...x.undos,...y],redoMutations:[...m,...x.redos,...b]}),!0):!1}},K={MoveRangeCommandId:er,InsertRowCommandId:yr,InsertColCommandId:Er,RemoveColCommandId:Lr,RemoveRowCommandId:Pr,DeleteRangeMoveLeftCommandId:dr,DeleteRangeMoveUpCommandId:pr,InsertRangeMoveDownCommandId:hr,InsertRangeMoveRightCommandId:_r,MoveColsCommandId:Kr,MoveRowsCommandId:Wr,ReorderRangeCommandId:Yr},Zr=function(e){return e[e.Set=0]=`Set`,e[e.Delete=1]=`Delete`,e[e.HorizontalMove=2]=`HorizontalMove`,e[e.VerticalMove=3]=`VerticalMove`,e[e.Unknown=4]=`Unknown`,e}({}),Qr=e=>{let n={...e},r=Number.isNaN(n.startRow)&&Number.isNaN(n.endRow)&&!Number.isNaN(n.startColumn)&&!Number.isNaN(n.endColumn),i=Number.isNaN(n.startColumn)&&Number.isNaN(n.endColumn)&&!Number.isNaN(n.startRow)&&!Number.isNaN(n.endRow);return(n.rangeType===t.RANGE_TYPE.COLUMN||r)&&(n.startRow=0,n.endRow=t.MAX_ROW_COUNT-1),(n.rangeType===t.RANGE_TYPE.ROW||i)&&(n.startColumn=0,n.endColumn=t.MAX_COLUMN_COUNT-1),n.rangeType===t.RANGE_TYPE.ALL&&(n.startColumn=0,n.endColumn=t.MAX_COLUMN_COUNT-1,n.startRow=0,n.endRow=t.MAX_ROW_COUNT-1),n},$r=e=>{let n=e.rangeType;return e.rangeType===t.RANGE_TYPE.COLUMN?n=t.RANGE_TYPE.ROW:e.rangeType===t.RANGE_TYPE.ROW&&(n=t.RANGE_TYPE.COLUMN),{startRow:e.startColumn,endRow:e.endColumn,startColumn:e.startRow,endColumn:e.endRow,rangeType:n}},ei=(e,t,n)=>{let r={...n},i={...t},a=(e,t)=>{let n=Math.max(e.start,t.start),r=Math.min(e.end,t.end);return r<n?null:{start:n,end:r}},o=e=>e.end-e.start+1,s=(e,t)=>({start:e.start-t.start,end:e.start-t.start+e.end-e.start}),c=(e,t)=>({start:t.start+e.start,end:t.start+e.start+e.end-e.start}),l=t.start>e.start;if(l){let n=Math.min(e.end,t.start)-e.start+1;i.start-=n,i.end-=n}let u=o(e),d=u,f=a(e,r),p=f&&o(f)>=o(r);if(e.end<r.start)r.start-=u,r.end-=u;else if(f){let t=o(f);if(p){let t=c(s(r,e),i);r.start=t.start,r.end=t.end}else f.start>e.start?l?(r.end-=t+u,r.start-=u):r.end-=t:l?r.end-=t:r.start>e.start&&r.end>e.end?(r.start-=u,r.end-=u+t):r.end-=t}let m=a(i,r);return p||(i.start<=r.start?(r.start+=d,r.end+=d):m&&(l?i.end<=r.start||i.start<=r.start&&i.end>=r.start?(r.start+=d,r.end+=d):i.start>=r.start&&i.start<=r.end&&(r.end+=d):r.start<i.start&&r.end>i.start?r.end+=d:(r.start>=i.end||r.start>=i.start&&r.start<=i.end)&&(r.end+=d,r.start+=d))),{step:r.start-n.start,length:o(r)-o(n)}},ti=(e,t)=>{let{fromRange:n,toRange:r}=e.params||{};if(!r||!n)return[];let i=Qr(n),a=Qr(r),o=Qr(t),s=ei({start:i.startRow,end:i.endRow},{start:a.startRow,end:a.endRow},{start:o.startRow,end:o.endRow});return s===null?[{type:1}]:[{type:3,step:s.step||0,length:s.length||0}]},ni=(e,n)=>{let{fromRange:r,toRange:i}=e.params||{};if(!r||!i)return[n];let a=r.startRow,o=r.endRow-r.startRow+1,s=i.startRow,c=new t.ObjectMatrix;return t.Range.foreach(n,(e,t)=>{c.setValue(e,t,1)}),c.moveRows(a,o,s),(0,t.queryObjectMatrix)(c,e=>e===1)},ri=(e,n)=>{let{range:r,order:i}=e.params||{};if(!r||!i)return[n];let a=new t.ObjectMatrix;t.Range.foreach(n,(e,t)=>{a.setValue(e,t,1)});let o=new t.ObjectMatrix;return t.Range.foreach(r,(e,t)=>{if(Object.prototype.hasOwnProperty.call(i,e)){var n;let r=i[e],s=(n=a.getValue(r,t))==null?0:n;o.setValue(e,t,s)}}),o.forValue((e,t,n)=>{a.setValue(e,t,n)}),(0,t.queryObjectMatrix)(a,e=>e===1)},ii=(e,t)=>{let{fromRange:n,toRange:r}=e.params||{};if(!r||!n)return[];let i=Qr(n),a=Qr(r),o=Qr(t),s=ei({start:i.startColumn,end:i.endColumn},{start:a.startColumn,end:a.endColumn},{start:o.startColumn,end:o.endColumn});return s===null?[{type:1}]:[{type:2,step:s.step||0,length:s.length||0}]},ai=(e,n)=>{let{fromRange:r,toRange:i}=e.params||{};if(!r||!i)return[n];let a=r.startColumn,o=r.endColumn-r.startColumn+1,s=i.startColumn,c=new t.ObjectMatrix;return t.Range.foreach(n,(e,t)=>{c.setValue(e,t,1)}),c.moveColumns(a,o,s),(0,t.queryObjectMatrix)(c,e=>e===1)},oi=(e,n)=>{var r,i;let a=(r=e.params)==null?void 0:r.toRange,o=(i=e.params)==null?void 0:i.fromRange;if(!a||!o)return[];let s=[];if(t.Rectangle.contains(a,n)&&s.push({type:1}),t.Rectangle.contains(o,n)){s.push({type:1});let e=t.Rectangle.getRelativeRange(n,o);return[{type:0,range:t.Rectangle.getPositionRange(e,a)}]}return s},si=(e,n)=>{var r,i;let a=(r=e.params)==null?void 0:r.toRange,o=(i=e.params)==null?void 0:i.fromRange;if(!a||!o||!t.Rectangle.intersects(o,n)&&!t.Rectangle.intersects(a,n))return[n];if(t.Rectangle.contains(o,n)){let e=t.Rectangle.getRelativeRange(n,o);return[t.Rectangle.getPositionRange(e,a)]}let s=new t.ObjectMatrix;t.Range.foreach(n,(e,t)=>{s.setValue(e,t,1)});let c=new t.ObjectMatrix,l=t.Rectangle.getIntersects(o,n);l&&t.Range.foreach(l,(e,t)=>{s.getValue(e,t)&&(s.setValue(e,t,void 0),c.setValue(e,t,1))});let u=a.startColumn-o.startColumn,d=a.startRow-o.startRow,f={startColumn:a.startColumn-u,endColumn:a.endColumn-u,startRow:a.startRow-d,endRow:a.endRow-d};return f&&t.Range.foreach(f,(e,t)=>{var n;let r=e+d,i=t+u;s.setValue(r,i,(n=c.getValue(e,t))==null?0:n)}),(0,t.queryObjectMatrix)(s,e=>e===1)},ci=(e,n)=>{let r=Qr(e),i=Qr(n),a=e=>e.endColumn-e.startColumn+1,o=e=>e.endRow-e.startRow+1;if(r.startRow<=i.startRow&&r.endRow>=i.endRow){if(i.startColumn<r.startColumn&&i.endColumn>=r.startColumn&&i.endColumn<=r.endColumn||i.startColumn<r.startColumn&&i.endColumn>=r.endColumn){let e=t.Rectangle.getIntersects(i,r);if(e)return{step:0,length:-a(e)}}if(i.startColumn>=r.startColumn&&i.endColumn<=r.endColumn&&o(r)>=o(i))return null;if(i.startColumn>=r.startColumn&&i.startColumn<=r.endColumn&&i.endColumn>r.endColumn){let e=t.Rectangle.getIntersects(i,r);if(e){let t=-a(e);return{step:-(a(r)-a(e)),length:t}}}if(i.startColumn>r.endColumn)return{step:-a(r),length:0}}return{step:0,length:0}},li=(e,t)=>{var n;let r=(n=e.params)==null?void 0:n.range;if(!r)return[];let i=[],a=ci(r,t);if(!a)i.push({type:1});else{let{step:e,length:t}=a;i.push({type:2,step:e,length:t})}return i},ui=(e,t,n)=>{var r;let i=(r=e.params)==null?void 0:r.range;if(!i)return[];let a=[];if(n&&n.length>0){let e=i.startRow;for(let t=i.startRow;t<=i.endRow;t++){if(n.includes(t)){if(t===e){e=t+1;continue}o({...i,startRow:e,endRow:t-1}),e=t+1;continue}t===i.endRow&&o({...i,startRow:e,endRow:i.endRow})}}else o(i);function o(e){let n=ci($r(e),$r(t));if(!n)a.push({type:1});else{let{step:e,length:t}=n;a.push({type:3,step:e,length:t})}}return a},di=(e,n)=>{let{range:r,order:i}=e.params||{};if(!r||!i)return[];if(t.Rectangle.contains(r,n)&&n.endRow===n.startRow){let e=[],t=n.startRow;for(let n in i)if(i[n]===t){let r=Number(n);return e.push({type:3,step:r-t,length:0}),e}return[]}return[]},fi=(e,t)=>{let n=Qr(e),r=Qr(t),i=e=>e.endColumn-e.startColumn+1;return n.startRow<=r.startRow&&n.endRow>=r.endRow?r.startColumn<n.startColumn&&r.endColumn>=n.startColumn&&r.endColumn<=n.endColumn||r.startColumn<n.startColumn&&r.endColumn>=n.endColumn?{step:0,length:i(n)}:r.startColumn>=n.startColumn&&r.endColumn<=n.endColumn||r.startColumn>=n.startColumn&&r.startColumn<=n.endColumn&&r.endColumn>n.endColumn||r.startColumn>=n.endColumn?{step:i(n),length:0}:{step:0,length:0}:{step:0,length:0}};function pi(e,n,r){let i=[];if(t.Rectangle.contains(n,r)&&i.push({type:1}),t.Rectangle.contains(e,r)){i.push({type:1});let a=t.Rectangle.getRelativeRange(r,e);return[{type:0,range:t.Rectangle.getPositionRange(a,n)}]}return i}let mi=(e,t)=>{var n;let r=(n=e.params)==null?void 0:n.range;if(!r)return[];let i=[],{step:a,length:o}=fi($r(r),$r(t));return i.push({type:3,step:a,length:o}),i},hi=(e,t)=>{var n;let r=(n=e.params)==null?void 0:n.range;if(!r)return[];let i=[],{step:a,length:o}=fi(r,t);return i.push({type:2,step:a,length:o}),i},gi=(e,t)=>{var n;let r=(n=e.params)==null?void 0:n.range;if(!r)return[];let i=[],{step:a,length:o}=fi($r(r),$r(t));return i.push({type:3,step:a,length:o}),i},_i=(e,n)=>{var r;let i=(r=e.params)==null?void 0:r.range;if(!i)return[n];let a=i.endRow-i.startRow+1,o={...i,startRow:i.startRow,endRow:1/0},s=t.Rectangle.subtract(n,o),c=t.Rectangle.getIntersects(o,n);if(!c)return[n];let l=new t.ObjectMatrix;return s.forEach(e=>{t.Range.foreach(e,(e,t)=>{l.setValue(e,t,1)})}),c&&t.Range.foreach(c,(e,t)=>{l.setValue(e+a,t,1)}),(0,t.queryObjectMatrix)(l,e=>e===1)},vi=(e,t)=>{var n;let r=(n=e.params)==null?void 0:n.range;if(!r)return[];let i=[],{step:a,length:o}=fi(r,t);return i.push({type:2,step:a,length:o}),i},yi=(e,n)=>{var r;let i=(r=e.params)==null?void 0:r.range;if(!i)return[n];let a=i.endColumn-i.startColumn+1,o={...i,startColumn:i.startColumn,endColumn:1/0},s=t.Rectangle.subtract(n,o),c=t.Rectangle.getIntersects(o,n);if(!c)return[n];let l=new t.ObjectMatrix;return s.forEach(e=>{t.Range.foreach(e,(e,t)=>{l.setValue(e,t,1)})}),c&&t.Range.foreach(c,(e,t)=>{l.setValue(e,t+a,1)}),(0,t.queryObjectMatrix)(l,e=>e===1)},bi=(e,t)=>{var n;let r=(n=e.params)==null?void 0:n.range;if(!r)return[];let i=[],a=ci(r,t);if(!a)i.push({type:1});else{let{step:e,length:t}=a;i.push({type:2,step:e,length:t})}return i},xi=(e,n)=>{var r;let i=(r=e.params)==null?void 0:r.range;if(!i)return[n];let a={startRow:i.startRow,endRow:i.endRow,startColumn:i.startColumn,endColumn:1/0},o=i.endColumn-i.startColumn+1,s=t.Rectangle.getIntersects(i,n),c=t.Rectangle.subtract(n,a),l=t.Rectangle.getIntersects(a,n);if(!s&&!l)return[n];let u=new t.ObjectMatrix;return l&&t.Range.foreach(l,(e,t)=>{u.setValue(e,t-o,1)}),s&&t.Range.foreach(s,(e,t)=>{u.setValue(e,t-o,0)}),c.forEach(e=>{t.Range.foreach(e,(e,t)=>{u.setValue(e,t,1)})}),(0,t.queryObjectMatrix)(u,e=>e===1)},Si=(e,t)=>{var n;let r=(n=e.params)==null?void 0:n.range;if(!r)return[];let i=[],a=ci($r(r),$r(t));if(!a)i.push({type:1});else{let{step:e,length:t}=a;i.push({type:3,step:e,length:t})}return i},Ci=(e,n)=>{var r;let i=(r=e.params)==null?void 0:r.range;if(!i)return[n];let a={...i,startRow:i.startRow,endRow:1/0},o=i.endRow-i.startRow+1,s=t.Rectangle.getIntersects(i,n),c=t.Rectangle.subtract(n,a),l=t.Rectangle.getIntersects(a,n);if(!s&&!l)return[n];let u=new t.ObjectMatrix;return l&&t.Range.foreach(l,(e,t)=>{u.setValue(e-o,t,1)}),s&&t.Range.foreach(s,(e,t)=>{u.setValue(e-o,t,0)}),c.forEach(e=>{t.Range.foreach(e,(e,t)=>{u.setValue(e,t,1)})}),(0,t.queryObjectMatrix)(u,e=>e===1)},wi=(e,n)=>{var r;let i=(0,t.mergeIntervals)(((r=e.ranges)==null?[e.range]:r).map(e=>[e.startRow,e.endRow])),a=n.startRow,o=n.endRow;for(let e=i.length-1;e>=0;e--){let[t,r]=i[e];if(t<=n.startRow&&r>=n.endRow)return[];if(r<a){let e=r-t+1;a-=e,o-=e}else if(!(t>o)){let e=Math.max(t,a),n=Math.min(r,o)-e+1;if(o-=n,t<=a){let t=e-a;a-=t}}}return[{...n,startRow:a,endRow:o}]},Ti=(e,n)=>{let r=e.params,i=r.range.startRow,a=r.range.endRow-r.range.startRow+1;if(r.direction===t.Direction.UP){if(i<n.startRow)return[{...n,startRow:n.startRow+a,endRow:n.endRow+a}];if(i<=n.endRow)return[{...n,endRow:n.endRow+a}]}else if(i<=n.startRow)return[{...n,startRow:n.startRow+a,endRow:n.endRow+a}];else if(i<=n.endRow+1)return[{...n,endRow:n.endRow+a}];return[n]},Ei=(e,n)=>{let r=e.params,i=r.range.startColumn,a=r.range.endColumn-r.range.startColumn+1;if(r.direction===t.Direction.LEFT){if(i<n.startColumn)return[{...n,startColumn:n.startColumn+a,endColumn:n.endColumn+a}];if(i<=n.endColumn)return[{...n,endColumn:n.endColumn+a}]}else if(i<=n.startColumn)return[{...n,startColumn:n.startColumn+a,endColumn:n.endColumn+a}];else if(i<=n.endColumn+1)return[{...n,endColumn:n.endColumn+a}];return[n]},Di=(e,t)=>{let n={...t};return e.forEach(e=>{switch(e.type){case 1:n=null;break;case 2:if(!n)return;n.startColumn+=e.step,n.endColumn+=e.step+(e.length||0);break;case 3:if(!n)return;n.startRow+=e.step,n.endRow+=e.step+(e.length||0);break;case 0:n=e.range;break}}),n&&(n.endColumn<n.startColumn||n.endRow<n.startRow)?null:n},Oi=(e,t)=>{let n=[];switch(t.id){case K.DeleteRangeMoveLeftCommandId:n=bi(t,e);break;case K.DeleteRangeMoveUpCommandId:n=Si(t,e);break;case K.InsertColCommandId:n=hi(t,e);break;case K.InsertRangeMoveDownCommandId:n=gi(t,e);break;case K.InsertRangeMoveRightCommandId:n=vi(t,e);break;case K.InsertRowCommandId:n=mi(t,e);break;case K.MoveColsCommandId:n=ii(t,e);break;case K.MoveRangeCommandId:n=oi(t,e);break;case K.MoveRowsCommandId:n=ti(t,e);break;case K.RemoveColCommandId:n=li(t,e);break;case K.RemoveRowCommandId:n=ui(t,e);break;case K.ReorderRangeCommandId:n=di(t,e);break}return Di(n,e)},ki=(e,n,r)=>[fr.id,mr.id].includes(n.id)||Ni(n,r).some(n=>t.Rectangle.intersects(n,e))?Oi(e,n):e,Ai=(e,t)=>{let n=[];switch(t.id){case K.DeleteRangeMoveLeftCommandId:return xi(t,e);case K.DeleteRangeMoveUpCommandId:return Ci(t,e);case K.InsertRangeMoveDownCommandId:return _i(t,e);case K.InsertRangeMoveRightCommandId:return yi(t,e);case K.InsertColCommandId:return Ei(t,e);case K.InsertRowCommandId:return Ti(t,e);case K.MoveColsCommandId:return ai(t,e);case K.MoveRangeCommandId:return si(t,e);case K.MoveRowsCommandId:return ni(t,e);case K.ReorderRangeCommandId:return ri(t,e);case K.RemoveColCommandId:n=li(t,e);break;case K.RemoveRowCommandId:return wi(t.params,e)}let r=Di(n,e);return r?[r]:[]},ji=(e,n,r)=>[fr.id,mr.id,gr.id,`sheet.command.insert-range-move-right`].includes(n.id)||Ni(n,r).some(n=>t.Rectangle.intersects(n,e))?Ai(e,n):e;function Mi(e,n){let{id:r,params:i}=n,a={length:0,step:0,type:4};switch(r){case Vr.id:a.type=1;break;case Te.id:a=ei({start:i.sourceRange.startRow,end:i.sourceRange.endRow},{start:i.targetRange.startRow,end:i.targetRange.endRow},{start:e.startRow,end:e.endRow}),a.type=3;break;case De.id:a=ei({start:i.sourceRange.startColumn,end:i.sourceRange.endColumn},{start:i.targetRange.startColumn,end:i.targetRange.endColumn},{start:e.startColumn,end:e.endColumn}),a.type=2;break;case L.id:a=ci(i.range,e),a?a.type=2:a={step:0,length:0,type:1};break;case I.id:a=ci($r(i.range),$r(e)),a?a.type=3:a={step:0,length:0,type:1};break;case P.id:a=fi($r(i.range),$r(e)),a.type=3;break;case F.id:a=fi(i.range,e),a.type=2;break;case Ce.id:a=pi(i.fromRange||new t.ObjectMatrix(i.from).getRange(),i.toRange||new t.ObjectMatrix(i.to).getRange(),e);break;default:break}return a?Di(Array.isArray(a)?a:[a],e):e}function Ni(e,t){let{selectionManagerService:n}=t;switch(e.id){case K.MoveColsCommandId:{let t=e.params;return[t.fromRange,{...t.toRange,startColumn:t.toRange.startColumn-.5,endColumn:t.toRange.endColumn-.5}]}case K.MoveRowsCommandId:{let t=e.params;return[t.fromRange,{...t.toRange,startRow:t.toRange.startRow-.5,endRow:t.toRange.startRow-.5}]}case K.MoveRangeCommandId:{let t=e;return[t.params.fromRange,t.params.toRange]}case K.InsertRowCommandId:{let t=e.params.range;return[{...t,startRow:t.startRow-.5,endRow:t.endRow-.5}]}case K.InsertColCommandId:{let t=e.params.range;return[{...t,startColumn:t.startColumn-.5,endColumn:t.endColumn-.5}]}case K.RemoveRowCommandId:return[e.params.range];case K.RemoveColCommandId:return[e.params.range];case K.DeleteRangeMoveUpCommandId:case K.InsertRangeMoveDownCommandId:{var r,i;let t=((r=e.params)==null?void 0:r.range)||((i=n.getCurrentSelections())==null||(i=i.map(e=>e.range))==null?void 0:i[0]);return t?[t]:[]}case K.DeleteRangeMoveLeftCommandId:case K.InsertRangeMoveRightCommandId:{var a,o;let t=((a=e.params)==null?void 0:a.range)||((o=n.getCurrentSelections())==null||(o=o.map(e=>e.range))==null?void 0:o[0]);return t?[t]:[]}case K.ReorderRangeCommandId:{let{range:t,order:n}=e.params,r=[];for(let e=t.startRow;e<=t.endRow;e++)e in n&&r.push({startRow:e,endRow:e,startColumn:t.startColumn,endColumn:t.endColumn});return r}}}function Pi(e){switch(e.id){case De.id:{let t=e.params;return[t.sourceRange,{...t.targetRange,startColumn:t.targetRange.startColumn-.5,endColumn:t.targetRange.startColumn-.5}]}case Te.id:{let t=e.params;return[t.sourceRange,{...t.targetRange,startRow:t.targetRange.startRow-.5,endRow:t.targetRange.startRow-.5}]}case Ce.id:{let n=e.params;return[new t.ObjectMatrix(n.from.value).getRange(),new t.ObjectMatrix(n.to.value).getRange()]}case F.id:{let t=e.params.range;return[{...t,startColumn:t.startColumn-.5,endColumn:t.startColumn-.5}]}case P.id:{let t=e.params.range;return[{...t,startRow:t.startRow-.5,endRow:t.startRow-.5}]}case L.id:return[e.params.range];case I.id:return[e.params.range];default:break}}function Fi(e,n){let r=e.get(t.IUniverInstanceService);switch(n.id){case K.MoveColsCommandId:{let e=n.params,t=p(r,e);if(!t)return;let{unitId:i,subUnitId:a}=t,{fromRange:o,toRange:s}=e;return{unitId:i,subUnitId:a,ranges:[o,{...s,startColumn:o.startColumn<s.startColumn?o.endColumn+1:s.startColumn,endColumn:o.startColumn<s.startColumn?s.endColumn-1:o.startColumn-1}]}}case K.MoveRowsCommandId:{let e=n.params,t=p(r,e);if(!t)return;let{unitId:i,subUnitId:a}=t,{fromRange:o,toRange:s}=e;return{unitId:i,subUnitId:a,ranges:[o,{...s,startRow:o.startRow<s.startRow?o.endRow+1:s.startRow,endRow:o.startRow<s.startRow?s.endRow-1:o.startRow-1}]}}case K.MoveRangeCommandId:{let e=n.params,t=p(r);if(!t)return;let{unitId:i,subUnitId:a}=t,{fromRange:o,toRange:s}=e;return{unitId:i,subUnitId:a,ranges:[o,s]}}case K.InsertRowCommandId:{let e=n.params,t=p(r,e);if(!t)return;let{worksheet:i,unitId:a,subUnitId:o}=t,{range:s}=e;return{unitId:a,subUnitId:o,ranges:[...s.startRow>0?[{...s,startRow:s.startRow-1,endRow:s.endRow-1}]:[],{...s,startRow:s.startRow,endRow:i.getRowCount()-1}]}}case K.InsertColCommandId:{let e=n.params,t=p(r,e);if(!t)return;let{worksheet:i,unitId:a,subUnitId:o}=t,{range:s}=e;return{unitId:a,subUnitId:o,ranges:[...s.startColumn>0?[{...s,startColumn:s.startColumn-1,endColumn:s.endColumn-1}]:[],{...s,startColumn:s.startColumn,endColumn:i.getColumnCount()-1}]}}case K.RemoveRowCommandId:{let e=n.params,t=p(r);if(!t)return;let{worksheet:i,unitId:a,subUnitId:o}=t,{range:s}=e;return{unitId:a,subUnitId:o,ranges:[s,{...s,startRow:s.endRow+1,endRow:i.getRowCount()-1}]}}case K.RemoveColCommandId:{let e=n.params,t=p(r);if(!t)return;let{worksheet:i,unitId:a,subUnitId:o}=t,{range:s}=e;return{unitId:a,subUnitId:o,ranges:[s,{...s,startColumn:s.endColumn+1,endColumn:i.getColumnCount()-1}]}}case K.DeleteRangeMoveUpCommandId:case K.InsertRangeMoveDownCommandId:{let e=n.params,t=p(r);if(!t)return;let{worksheet:i,unitId:a,subUnitId:o}=t,{range:s}=e;return{unitId:a,subUnitId:o,ranges:[s,{...s,startRow:s.endRow+1,endRow:i.getRowCount()-1}]}}case K.DeleteRangeMoveLeftCommandId:case K.InsertRangeMoveRightCommandId:{let e=n.params,t=p(r);if(!t)return;let{worksheet:i,unitId:a,subUnitId:o}=t,{range:s}=e;return{unitId:a,subUnitId:o,ranges:[s,{...s,startColumn:s.endColumn+1,endColumn:i.getColumnCount()-1}]}}case K.ReorderRangeCommandId:{let e=n.params,t=p(r);if(!t)return;let{unitId:i,subUnitId:a}=t,{range:o,order:s}=e,c=[];for(let e=o.startRow;e<=o.endRow;e++)e in s&&c.push({startRow:e,endRow:e,startColumn:o.startColumn,endColumn:o.endColumn});return{unitId:i,subUnitId:a,ranges:c}}}}let Ii=(0,t.createInterceptorKey)(`MERGE_REDO`),Li=(0,t.createInterceptorKey)(`MERGE_UNDO`);var Ri=class extends t.Disposable{constructor(e,t,n,r,i=!1){super(),this._unitId=e,this._subUnitId=t,this._range=n,this._callback=r,this._skipIntersects=i}onMutation(e){var n,r;if(((n=e.params)==null?void 0:n.unitId)!==this._unitId)return;if(e.id===Ce.id){let t=e.params;if(t.from.subUnitId!==this._subUnitId||t.to.subUnitId!==this._subUnitId)return}else if(((r=e.params)==null?void 0:r.subUnitId)!==this._subUnitId)return;if(!this._range)return;if(this._skipIntersects){if(e.id===Vr.id)return;let n=Pi(e);if(n!=null&&n.some(e=>t.Rectangle.intersects(e,this._range)))return}let i=Mi(this._range,e);if(i&&t.Rectangle.equals(i,this._range))return!1;let a=this._range;this._range=i,this._callback(a,i)}};let zi=class extends t.Disposable{constructor(e,n,r,i){super(),this._commandService=e,this._sheetInterceptorService=n,this._univerInstanceService=r,this._selectionManagerService=i,w(this,`interceptor`,new t.InterceptorManager({MERGE_REDO:Ii,MERGE_UNDO:Li})),w(this,`_watchRanges`,new Set),w(this,`_refRangeManagerMap`,new Map),w(this,`_serializer`,Ui()),w(this,`_onRefRangeChange`,()=>{this._sheetInterceptorService.interceptCommand({getMutations:e=>{let n=(()=>{switch(e.id){case K.MoveColsCommandId:{let t=e.params,n=p(this._univerInstanceService,t);if(!n)return[];let{worksheet:r,unitId:i,subUnitId:a}=n,o=Math.min(t.fromRange.startColumn,t.toRange.startColumn);return this._checkRange([{...t.fromRange,startColumn:o,endColumn:r.getColumnCount()-1}],i,a)}case K.MoveRowsCommandId:{let t=e.params,n=p(this._univerInstanceService,t);if(!n)return[];let{worksheet:r,unitId:i,subUnitId:a}=n,o=Math.min(t.fromRange.startRow,t.toRange.startRow);return this._checkRange([{...t.fromRange,startRow:o,endRow:r.getRowCount()-1}],i,a)}case K.MoveRangeCommandId:{var n,r;let t=e.params,i=p(this._univerInstanceService,{unitId:t.fromUnitId,subUnitId:t.fromSubUnitId}),a=p(this._univerInstanceService,{unitId:(n=t.toUnitId)==null?t.fromUnitId:n,subUnitId:(r=t.toSubUnitId)==null?t.fromSubUnitId:r});if(!i&&!a)return[];if(i&&a&&i.unitId===a.unitId&&i.subUnitId===a.subUnitId)return this._checkRange([t.fromRange,t.toRange],i.unitId,i.subUnitId);let o=[];return i&&o.push(...this._checkRange([t.fromRange],i.unitId,i.subUnitId)),a&&o.push(...this._checkRange([t.toRange],a.unitId,a.subUnitId)),o}case K.InsertRowCommandId:{let n=e.params,r=p(this._univerInstanceService,n);if(!r)return[];let{worksheet:i,unitId:a,subUnitId:o}=r,s={startRow:Math.max(0,n.range.startRow-1),endRow:i.getRowCount()-1,startColumn:0,endColumn:i.getColumnCount()-1,rangeType:t.RANGE_TYPE.ROW};return this._checkRange([s],a,o)}case K.InsertColCommandId:{let n=e.params,r=p(this._univerInstanceService,n);if(!r)return[];let{worksheet:i,unitId:a,subUnitId:o}=r,s={startRow:0,endRow:i.getRowCount()-1,startColumn:Math.max(0,n.range.startColumn-1),endColumn:i.getColumnCount()-1,rangeType:t.RANGE_TYPE.COLUMN};return this._checkRange([s],a,o)}case K.RemoveRowCommandId:{let n=e.params,r=p(this._univerInstanceService);if(!r)return[];let{worksheet:i,unitId:a,subUnitId:o}=r,s={startRow:n.range.startRow,endRow:i.getRowCount()-1,startColumn:0,endColumn:i.getColumnCount()-1,rangeType:t.RANGE_TYPE.ROW};return this._checkRange([s],a,o)}case K.RemoveColCommandId:{let n=e.params,r=p(this._univerInstanceService);if(!r)return[];let{worksheet:i,unitId:a,subUnitId:o}=r,s={startRow:0,endRow:i.getRowCount()-1,startColumn:n.range.startColumn,endColumn:i.getColumnCount()-1,rangeType:t.RANGE_TYPE.COLUMN};return this._checkRange([s],a,o)}case K.DeleteRangeMoveUpCommandId:case K.InsertRangeMoveDownCommandId:{let t=e.params,n=p(this._univerInstanceService);if(!n)return[];let{worksheet:r,unitId:i,subUnitId:a}=n,o={...t.range,endRow:r.getRowCount()-1};return this._checkRange([o],i,a)}case K.DeleteRangeMoveLeftCommandId:case K.InsertRangeMoveRightCommandId:{let t=e.params,n=p(this._univerInstanceService);if(!n)return[];let{worksheet:r,unitId:i,subUnitId:a}=n,o={...t.range,endColumn:r.getColumnCount()-1};return this._checkRange([o],i,a)}case K.ReorderRangeCommandId:{let t=e.params,n=p(this._univerInstanceService);if(!n)return[];let{unitId:r,subUnitId:i}=n,{range:a,order:o}=t,s=[];for(let e=a.startRow;e<=a.endRow;e++)e in o&&s.push({startRow:e,endRow:e,startColumn:a.startColumn,endColumn:a.endColumn});return this._checkRange(s,r,i)}}})();if(!n||n.length===0)return{redos:[],undos:[],preRedos:[],preUndos:[]};let r=n.reduce((t,n)=>{let r=n(e);return t.push(r),t},[]).reduce((e,t)=>{var n,r;return e.redos.push(...t.redos),e.undos.push(...t.undos),e.preRedos.push(...(n=t.preRedos)==null?[]:n),e.preUndos.push(...(r=t.preUndos)==null?[]:r),e},{redos:[],undos:[],preUndos:[],preRedos:[]}),i=this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().MERGE_REDO)(r.preRedos,null)||[],a=this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().MERGE_REDO)(r.redos,null)||[],o=this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().MERGE_UNDO)(r.preUndos,null)||[];return{redos:a,undos:this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().MERGE_UNDO)(r.undos,null)||[],preRedos:i,preUndos:o}}})}),w(this,`_checkRange`,(e,n,r)=>{let i=Hi(n,r),a=this._refRangeManagerMap.get(i);if(a){let n=new Set;return[...a.keys()].forEach(r=>{let i=a.get(r),o=this._serializer.deserialize(r),s={...o,startRow:+o.startRow,endRow:+o.endRow,startColumn:+o.startColumn,endColumn:+o.endColumn,rangeType:o.rangeType&&+o.rangeType};e.some(e=>t.Rectangle.intersects(e,s))&&i&&i.forEach(e=>{n.add(e)})}),[...n]}return[]}),w(this,`registerRefRange`,(e,n,r,i)=>{let a=r||Bi(this._univerInstanceService),o=i||Vi(this._univerInstanceService);if(!a||!o)return(0,t.toDisposable)(()=>{});let s=Hi(a,o),c=this._serializer.serialize(e),l=this._refRangeManagerMap.get(s);l||(l=new Map,this._refRangeManagerMap.set(s,l));let u=l.get(c);return u?u.add(n):l.set(c,new Set([n])),(0,t.toDisposable)(()=>{let e=l.get(c);e&&(e.delete(n),e.size||(l.delete(c),l.size||this._refRangeManagerMap.delete(s)))})}),this._onRefRangeChange(),this.interceptor.intercept(this.interceptor.getInterceptPoints().MERGE_REDO,{priority:-1,handler:e=>e}),this.interceptor.intercept(this.interceptor.getInterceptPoints().MERGE_UNDO,{priority:-1,handler:e=>e})}watchRange(e,n,r,i,a){let o;this._watchRanges.size===0&&(o=this._commandService.onCommandExecuted(e=>{if(e.type!==t.CommandType.MUTATION)return!1;for(let t of this._watchRanges)t.onMutation(e)}));let s=new Ri(e,n,r,i,a);this._watchRanges.add(s);let c=(0,t.toDisposable)(()=>{this._watchRanges.delete(s),this._watchRanges.size===0&&(o==null||o.dispose(),o=null)}),l=this.disposeWithMe(c);return(0,t.toDisposable)(()=>{l.dispose(),c.dispose()})}};zi=E([T(0,t.ICommandService),T(1,(0,t.Inject)(A)),T(2,(0,t.Inject)(t.IUniverInstanceService)),T(3,(0,t.Inject)(U))],zi);function Bi(e){var n;return(n=e.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET))==null?void 0:n.getUnitId()}function Vi(e){var n;return(n=e.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET))==null||(n=n.getActiveSheet())==null?void 0:n.getSheetId()}function Hi(e,t){return`${e}_${t}`}function Ui(){let e=[`startRow`,`startColumn`,`endRow`,`endColumn`,`rangeType`];return{deserialize:t=>{let n=e.reduce((e,t,n)=>(e[String(n)]=t,e),{});return t.split(`_`).reduce((e,t,r)=>{let i=String(r);return t&&n[i]&&(e[n[i]]=t),e},{})},serialize:t=>e.reduce((e,n,r)=>{let i=t[n];return i===void 0?`${e}`:`${e}${r>0?`_`:``}${i}`},``)}}let Wi=[F.id,P.id,L.id,I.id],Gi=[Te.id,De.id];function Ki(e,n){let r=e;if(n!==void 0){let e=[];for(let i=0;i<r.length;i++){let{startRow:a,endRow:o,startColumn:s,endColumn:c}=r[i];if(n===t.Dimension.ROWS)for(let t=a;t<=o;t++){let n={startRow:t,endRow:t,startColumn:s,endColumn:c};e.push(n)}else if(n===t.Dimension.COLUMNS)for(let t=s;t<=c;t++){let n={startRow:a,endRow:o,startColumn:t,endColumn:t};e.push(n)}}r=e}return r}let qi=(0,t.createInterceptorKey)(`mergeCellPermissionCheck`),Ji=class extends t.Disposable{constructor(e,n,r,i,a,o){super(),this._commandService=e,this._refRangeService=n,this._univerInstanceService=r,this._injector=i,this._sheetInterceptorService=a,this._selectionManagerService=o,w(this,`disposableCollection`,new t.DisposableCollection),w(this,`interceptor`,new t.InterceptorManager({MERGE_CELL_INTERCEPTOR_CHECK:qi})),this._onRefRangeChange(),this._initCommandInterceptor(),this._commandExecutedListener()}_initCommandInterceptor(){let e=this;this._sheetInterceptorService.interceptCommand({getMutations(n){switch(n.id){case Bn.id:case Vn.id:{var r;let n=e._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),i=n.getUnitId(),a=n==null?void 0:n.getActiveSheet();if(!a)return{redos:[],undos:[]};let o=a.getSheetId(),s=a.getConfig().mergeData,c=(r=e._selectionManagerService.getCurrentSelections())==null?void 0:r.map(e=>e.range);if(c&&c.length>0&&c.some(e=>s.some(n=>t.Rectangle.intersects(n,e)))){let t={unitId:i,subUnitId:o,ranges:c},n=R(e._injector,t);return{redos:[{id:z.id,params:t}],undos:[{id:g.id,params:n}]}}}}return{redos:[],undos:[]}}}),this._sheetInterceptorService.interceptRanges({getMutations:({unitId:e,subUnitId:n,ranges:r})=>{let i=[],a=[],o={redos:i,undos:a};if(!r||!r.length)return o;let s=p(this._univerInstanceService,{unitId:e,subUnitId:n});if(!s)return o;let{worksheet:c}=s,l=c.getMergeData().filter(e=>r.some(n=>t.Rectangle.intersects(e,n)));return l.length?(i.push({id:z.id,params:{unitId:e,subUnitId:n,ranges:l}}),a.push({id:g.id,params:{unitId:e,subUnitId:n,ranges:l}}),{undos:a,redos:i}):o}})}refRangeHandle(e,t,n){switch(e.id){case K.MoveColsCommandId:{let r=e.params;return this._handleMoveColsCommand(r,t,n)}case K.MoveRowsCommandId:{let r=e.params;return this._handleMoveRowsCommand(r,t,n)}case br.id:{let r=e.params,i=r.unitId||t,a=r.subUnitId||n;return this._handleInsertRowCommand(r,i,a)}case Dr.id:{let r=e.params,i=r.unitId||t,a=r.subUnitId||n;return this._handleInsertColCommand(r,i,a)}case zr.id:{let r=e.params;return this._handleRemoveColCommand(r,t,n)}case Ir.id:{let r=e.params;return this._handleRemoveRowCommand(r,t,n)}case tr.id:{let r=e.params;return this._handleMoveRangeCommand(r,t,n)}case vr.id:{let r=e.params;return this._handleInsertRangeMoveRightCommand(r,t,n)}case gr.id:{let r=e.params;return this._handleInsertRangeMoveDownCommand(r,t,n)}case mr.id:{let r=e.params;return this._handleDeleteRangeMoveUpCommand(r,t,n)}case fr.id:{let r=e.params;return this._handleDeleteRangeMoveLeftCommand(r,t,n)}}return{redos:[],undos:[]}}_onRefRangeChange(){let e=(e,t)=>{let n=this._univerInstanceService.getUniverSheetInstance(e);if(!n)return;let r=n==null?void 0:n.getSheetBySheetId(t);if(!r)return;this.disposableCollection.dispose();let i=r.getMergeData(),a=n=>this.refRangeHandle(n,e,t);i.forEach(n=>{this.disposableCollection.add(this._refRangeService.registerRefRange(n,a,e,t))})};this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===Ft.id){let n=t.params,r=n.subUnitId,i=n.unitId;if(!r||!i)return;e(i,r)}if(t.id===g.id){let n=t.params,r=n.subUnitId,i=n.unitId;if(!r||!i)return;e(n.unitId,n.subUnitId)}})),this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).pipe((0,n.first)(e=>!!e)).subscribe(t=>{let n=t.getActiveSheet();n&&e(t.getUnitId(),n.getSheetId())})}_handleMoveRowsCommand(e,t,n){let r=Yi(this._univerInstanceService,t);if(!r)return this._handleNull();let i=Xi(r,n);if(!i)return this._handleNull();let a=[...i.getMergeData()],o={unitId:t,subUnitId:n,ranges:[]},s={unitId:t,subUnitId:n,ranges:[]},{fromRange:c}=e,{startRow:l,endRow:u}=c;if(a.forEach(t=>{if(l<=t.startRow&&u>=t.endRow){o.ranges.push(t);let n=Di(ti({id:K.MoveRowsCommandId,params:e},t),t);n&&s.ranges.push(n)}}),o.ranges.length===0)return this._handleNull();let d=R(this._injector,o),f=h(this._injector,s);return{preRedos:[{id:z.id,params:o}],redos:[{id:g.id,params:s}],preUndos:[{id:z.id,params:f}],undos:[{id:g.id,params:d}]}}_handleMoveColsCommand(e,t,n){let r=Yi(this._univerInstanceService,t);if(!r)return this._handleNull();let i=Xi(r,n);if(!i)return this._handleNull();let a=[...i.getMergeData()],o={unitId:t,subUnitId:n,ranges:[]},s={unitId:t,subUnitId:n,ranges:[]},{fromRange:c}=e,{startColumn:l,endColumn:u}=c;if(a.forEach(t=>{if(l<=t.startColumn&&u>=t.endColumn){o.ranges.push(t);let n=Di(ii({id:K.MoveColsCommandId,params:e},t),t);n&&s.ranges.push(n)}}),o.ranges.length===0)return this._handleNull();let d=R(this._injector,o),f=h(this._injector,s);return{preRedos:[{id:z.id,params:o}],redos:[{id:g.id,params:s}],preUndos:[{id:z.id,params:f}],undos:[{id:g.id,params:d}]}}_handleMoveRangeCommand(e,n,r){var i,a;let o=Yi(this._univerInstanceService,n);if(!o)return this._handleNull();let s=(i=e.fromSubUnitId)==null?r:i,c=(a=e.toSubUnitId)==null?s:a,l=Xi(o,s),u=Xi(o,c);if(!l||!u)return this._handleNull();let d=l.getMergeData().filter(n=>t.Rectangle.intersects(n,e.fromRange)),f=u.getMergeData().filter(n=>t.Rectangle.intersects(n,e.toRange)),p=Ki(d.map(n=>t.Rectangle.getRelativeRange(n,e.fromRange)).map(n=>t.Rectangle.getPositionRange(n,e.toRange))).filter(e=>!u.getMergeData().some(n=>t.Rectangle.equals(e,n))),m=[],h=[];return r===s&&d.length>0&&(m.push({id:z.id,params:{unitId:n,subUnitId:s,ranges:d}}),h.push({id:g.id,params:{unitId:n,subUnitId:s,ranges:d}})),r===c&&f.length>0&&(m.push({id:z.id,params:{unitId:n,subUnitId:c,ranges:f}}),h.push({id:g.id,params:{unitId:n,subUnitId:c,ranges:f}})),r===c&&p.length>0&&(m.push({id:g.id,params:{unitId:n,subUnitId:c,ranges:p}}),h.unshift({id:z.id,params:{unitId:n,subUnitId:c,ranges:p}})),m.length===0?this._handleNull():{redos:m,undos:h}}_handleInsertRowCommand(e,n,r){let i=Yi(this._univerInstanceService,n);if(!i)return this._handleNull();let a=Xi(i,r);if(!a)return this._handleNull();let{range:o}=e,{startRow:s,endRow:c}=o,l=t.Tools.deepClone(a.getMergeData()).reduce((e,t)=>(s>t.startRow&&s<=t.endRow&&e.push(t),e),[]);if(l.length===0)return this._handleNull();let u=t.Tools.deepClone(a.getMergeData()).reduce((e,t)=>{if(s>t.startRow&&s<=t.endRow){let n=c-s+1;t.endRow+=n,this._checkIsMergeCell(t)&&e.push(t)}return e},[]),d={unitId:n,subUnitId:r,ranges:l},f=R(this._injector,d),p={unitId:n,subUnitId:r,ranges:u},m=h(this._injector,p);return{redos:[{id:z.id,params:d},{id:g.id,params:p}],undos:[{id:z.id,params:m},{id:g.id,params:f}]}}_handleInsertColCommand(e,n,r){let{range:i}=e,a=Yi(this._univerInstanceService,n);if(!a)return this._handleNull();let o=Xi(a,r);if(!o)return this._handleNull();let{startColumn:s,endColumn:c}=i,l=t.Tools.deepClone(o.getMergeData()).reduce((e,t)=>(s>t.startColumn&&s<=t.endColumn&&e.push(t),e),[]);if(l.length===0)return this._handleNull();let u=t.Tools.deepClone(o.getMergeData()).reduce((e,t)=>{if(s>t.startColumn&&s<=t.endColumn){let n=c-s+1;t.endColumn+=n,this._checkIsMergeCell(t)&&e.push(t)}return e},[]),d={unitId:n,subUnitId:r,ranges:l},f=R(this._injector,d),p={unitId:n,subUnitId:r,ranges:u},m=h(this._injector,p);return{redos:[{id:z.id,params:d},{id:g.id,params:p}],undos:[{id:z.id,params:m},{id:g.id,params:f}]}}_handleRemoveColCommand(e,n,r){let i=Yi(this._univerInstanceService,n);if(!i)return this._handleNull();let a=Xi(i,r);if(!a)return this._handleNull();let{range:o}=e,{startColumn:s,endColumn:c}=o,l=t.Tools.deepClone(a.getMergeData()).reduce((e,n)=>(t.Rectangle.intersects(o,n)&&e.push(n),e),[]);if(l.length===0)return this._handleNull();let u=t.Tools.deepClone(a.getMergeData()).reduce((e,n)=>{if(t.Rectangle.intersects(o,n)){if(s<=n.startColumn&&c>=n.endColumn)return e;s>=n.startColumn&&c<=n.endColumn?n.endColumn-=c-s+1:s<n.startColumn?(n.startColumn=s,n.endColumn-=c-s+1):c>n.endColumn&&(n.endColumn=s-1),this._checkIsMergeCell(n)&&e.push(n)}return e},[]),d={unitId:n,subUnitId:r,ranges:l},f=R(this._injector,d),p={unitId:n,subUnitId:r,ranges:u},m=h(this._injector,p),_=[{id:z.id,params:d}],v=[{id:g.id,params:p}];return{preUndos:[{id:z.id,params:m}],undos:[{id:g.id,params:f}],preRedos:_,redos:v}}_handleRemoveRowCommand(e,n,r){let{range:i}=e,a=Yi(this._univerInstanceService,n);if(!a)return this._handleNull();let o=Xi(a,r);if(!o)return this._handleNull();let{startRow:s,endRow:c}=i,l=t.Tools.deepClone(o.getMergeData()).reduce((e,n)=>(t.Rectangle.intersects(i,n)&&e.push(n),e),[]);if(l.length===0)return this._handleNull();let u=t.Tools.deepClone(o.getMergeData()).reduce((e,n)=>{if(t.Rectangle.intersects(i,n)){if(s<=n.startRow&&c>=n.endRow)return e;s>=n.startRow&&c<=n.endRow?n.endRow-=c-s+1:s<n.startRow?(n.startRow=s,n.endRow-=c-s+1):c>n.endRow&&(n.endRow=s-1),this._checkIsMergeCell(n)&&e.push(n)}return e},[]),d={unitId:n,subUnitId:r,ranges:l},f=R(this._injector,d),p={unitId:n,subUnitId:r,ranges:u},m=h(this._injector,p),_=[{id:z.id,params:d}],v=[{id:g.id,params:p}];return{preUndos:[{id:z.id,params:m}],undos:[{id:g.id,params:f}],preRedos:_,redos:v}}_handleInsertRangeMoveRightCommand(e,n,r){let i=Yi(this._univerInstanceService,n);if(!i)return this._handleNull();let a=Xi(i,r);if(!a)return this._handleNull();let o=e.range,s=a.getMaxColumns()-1,c=a.getMergeData(),l=[],u=[];c.forEach(e=>{let{startRow:n,endRow:r,startColumn:i,endColumn:a}=o;if(t.Rectangle.intersects({startRow:n,startColumn:i,endRow:r,endColumn:s},e)&&(l.push(e),t.Rectangle.contains({startRow:n,startColumn:i,endRow:r,endColumn:s},e))){let t=a-i+1;u.push({startRow:e.startRow,startColumn:e.startColumn+t,endRow:e.endRow,endColumn:e.endColumn+t})}});let d={unitId:n,subUnitId:r,ranges:l},f=R(this._injector,d),p={unitId:n,subUnitId:r,ranges:u},m=h(this._injector,p);return{preRedos:[{id:z.id,params:d}],redos:[{id:g.id,params:p}],preUndos:[{id:z.id,params:m}],undos:[{id:g.id,params:f}]}}_handleInsertRangeMoveDownCommand(e,n,r){let i=Yi(this._univerInstanceService,n);if(!i)return this._handleNull();let a=Xi(i,r);if(!a)return this._handleNull();let o=e.range,s=a.getMaxRows()-1,c=a.getMergeData(),l=[],u=[];c.forEach(e=>{let{startRow:n,startColumn:r,endColumn:i,endRow:a}=o;if(t.Rectangle.intersects({startRow:n,startColumn:r,endRow:s,endColumn:i},e)&&(l.push(e),t.Rectangle.contains({startRow:n,startColumn:r,endRow:s,endColumn:i},e))){let t=a-n+1;u.push({startRow:e.startRow+t,startColumn:e.startColumn,endRow:e.endRow+t,endColumn:e.endColumn})}});let d={unitId:n,subUnitId:r,ranges:l},f=R(this._injector,d),p={unitId:n,subUnitId:r,ranges:u},m=h(this._injector,p),_=[{id:z.id,params:d}],v=[{id:g.id,params:p}],y=[{id:z.id,params:m}];return{redos:v,undos:[{id:g.id,params:f}],preRedos:_,preUndos:y}}_handleDeleteRangeMoveUpCommand(e,n,r){let i=Yi(this._univerInstanceService,n);if(!i)return this._handleNull();let a=Xi(i,r);if(!a)return this._handleNull();let o=e.range,s=a.getMaxRows()-1,c=a.getMergeData(),l=[],u=[];c.forEach(e=>{let{startRow:n,startColumn:r,endColumn:i,endRow:a}=o;if(t.Rectangle.intersects({startRow:n,startColumn:r,endRow:s,endColumn:i},e)&&(l.push(e),t.Rectangle.contains({startRow:n,startColumn:r,endRow:s,endColumn:i},e))){let r=a-n+1,i=t.Rectangle.moveVertical(e,-r);u.push(i)}});let d={unitId:n,subUnitId:r,ranges:l},f=R(this._injector,d),p={unitId:n,subUnitId:r,ranges:u},m=h(this._injector,p),_=[{id:z.id,params:d}],v=[{id:g.id,params:p}],y=[{id:z.id,params:m}];return{redos:v,undos:[{id:g.id,params:f}],preRedos:_,preUndos:y}}_handleDeleteRangeMoveLeftCommand(e,n,r){let i=Yi(this._univerInstanceService,n);if(!i)return this._handleNull();let a=Xi(i,r);if(!a)return this._handleNull();let o=e.range,s=a.getMaxColumns()-1,c=a.getMergeData(),l=[],u=[];c.forEach(e=>{let{startRow:n,endRow:r,startColumn:i,endColumn:a}=o;if(t.Rectangle.intersects({startRow:n,startColumn:i,endRow:r,endColumn:s},e)&&(l.push(e),t.Rectangle.contains({startRow:n,startColumn:i,endRow:r,endColumn:s},e))){let t=a-i+1;u.push({startRow:e.startRow,startColumn:e.startColumn-t,endRow:e.endRow,endColumn:e.endColumn-t})}});let d={unitId:n,subUnitId:r,ranges:l},f=R(this._injector,d),p={unitId:n,subUnitId:r,ranges:u},m=h(this._injector,p);return{preRedos:[{id:z.id,params:d}],redos:[{id:g.id,params:p}],undos:[{id:g.id,params:f}],preUndos:[{id:z.id,params:m}]}}_checkIsMergeCell(e){return!(e.startRow===e.endRow&&e.startColumn===e.endColumn)}_handleNull(){return{redos:[],undos:[]}}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(Gi.includes(e.id)){if(!e.params)return;let n=this._univerInstanceService.getUniverSheetInstance(e.params.unitId);if(!n)return;let r=n.getSheetBySheetId(e.params.subUnitId);if(!r)return;let{sourceRange:i,targetRange:a}=e.params,o=i.startColumn===a.startColumn&&i.endColumn===a.endColumn,s=o?i.endRow-i.startRow+1:i.endColumn-i.startColumn+1,c=o?i.startRow:i.startColumn,l=o?a.startRow:a.startColumn,u=r.getConfig().mergeData,d=[];u.forEach(e=>{let{startRow:n,endRow:r,startColumn:a,endColumn:u,rangeType:f}=e;t.Rectangle.intersects(e,i)||(o?c<n&&l>r?(n-=s,r-=s):c>r&&l<=n&&(n+=s,r+=s):c<a&&l>u?(a-=s,u-=s):c>u&&l<=a&&(a+=s,u+=s)),e.startRow===e.endRow&&e.startColumn===e.endColumn||d.push({startRow:n,endRow:r,startColumn:a,endColumn:u,rangeType:f})}),r.setMergeData(d),this.disposableCollection.dispose();let{unitId:f,subUnitId:p}=e.params,m=e=>this.refRangeHandle(e,f,p);d.forEach(e=>{this.disposableCollection.add(this._refRangeService.registerRefRange(e,m,f,p))})}if(Wi.includes(e.id)){let t=this._univerInstanceService.getUniverSheetInstance(e.params.unitId);if(!t)return;let n=t.getSheetBySheetId(e.params.subUnitId);if(!n)return;let r=n.getConfig().mergeData,i=e.params;if(!i)return;let{range:a}=i,o=e.id.includes(`row`),s=e.id.includes(`insert`),c=o?a.startRow:a.startColumn,l=o?a.endRow:a.endColumn,u=l-c+1,d=[];r.forEach(e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i,rangeType:a}=e;s?o?c<=t&&(t+=u,n+=u):c<=r&&(r+=u,i+=u):o?l<t&&(t-=u,n-=u):l<r&&(r-=u,i-=u),e.startRow===e.endRow&&e.startColumn===e.endColumn||d.push({startRow:t,endRow:n,startColumn:r,endColumn:i,rangeType:a})}),n.setMergeData(d),this.disposableCollection.dispose();let{unitId:f,subUnitId:p}=e.params,m=e=>this.refRangeHandle(e,f,p);d.forEach(e=>{this.disposableCollection.add(this._refRangeService.registerRefRange(e,m,f,p))})}}))}};Ji=E([T(0,(0,t.Inject)(t.ICommandService)),T(1,(0,t.Inject)(zi)),T(2,(0,t.Inject)(t.IUniverInstanceService)),T(3,(0,t.Inject)(t.Injector)),T(4,(0,t.Inject)(A)),T(5,(0,t.Inject)(U))],Ji);function Yi(e,n){return n?e.getUniverSheetInstance(n):e.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET)}function Xi(e,t){return t?e.getSheetBySheetId(t):e.getActiveSheet()}let Zi=(e,n,r)=>{let i=e.get(U).getCurrentSelections(),{value:a,selections:o,unitId:s,subUnitId:c}=n;if(i&&i.length>0){let e=i[(i==null?void 0:i.length)-1].primary;if(e){let{actualColumn:n,actualRow:l}=e,{startRow:u,startColumn:d,endRow:f,endColumn:p}=o[o.length-1];if(a===t.Dimension.COLUMNS){let e=r.find(e=>e.startColumn===n&&e.endColumn===n&&l===e.startRow);e&&(p=e.endColumn,u=e.startRow,f=e.endRow)}else if(a===t.Dimension.ROWS){let e=r.find(e=>e.startRow===l&&e.endRow===l&&n===e.startColumn);e&&(f=e.endRow,d=e.startColumn,p=e.endColumn)}let m={startRow:u,startColumn:d,endRow:f,endColumn:p,actualRow:l,actualColumn:n,isMerged:!0,isMergedMainCell:u===l&&d===n},h={unitId:s,subUnitId:c,type:3,selections:i.map((e,t,n)=>({range:e.range,style:null,primary:t===n.length-1?m:null}))};return{id:G.id,params:h}}return null}return null},Qi=(e,t)=>{let n=e.get(U).getCurrentSelections(),{unitId:r,subUnitId:i}=t;if(n&&n.length>0&&n[(n==null?void 0:n.length)-1].primary){let e={unitId:r,subUnitId:i,type:3,selections:[...n]};return{id:G.id,params:e}}return null},$i={type:t.CommandType.COMMAND,id:`sheet.command.remove-worksheet-merge`,handler:(e,n)=>{var r;let i=e.get(U),a=e.get(t.ICommandService),o=e.get(t.IUndoRedoService),s=(n==null?void 0:n.ranges)||((r=i.getCurrentSelections())==null?void 0:r.map(e=>e.range));if(!(s!=null&&s.length))return!1;let c=p(e.get(t.IUniverInstanceService),n);if(!c)return!1;let{subUnitId:l,unitId:u,worksheet:d}=c,f={unitId:u,subUnitId:l,ranges:s},m=d.getConfig().mergeData.filter(e=>s.some(n=>t.Rectangle.intersects(n,e)));if(!m.length)return!1;let h=R(e,f),_=i.getCurrentSelections(),v=t.Tools.deepClone(_),y=t.Tools.deepClone(_);if(_.length){let e=y[y.length-1],{startRow:t,startColumn:n}=e.range;e.primary={startRow:t,startColumn:n,endRow:t,endColumn:n,actualRow:t,actualColumn:n,isMerged:!1,isMergedMainCell:!1}}let b={unitId:u,subUnitId:l,cellValue:ea(d,m).getMatrix()},x=B(e,b),S=[{id:z.id,params:h},{id:V.id,params:b},{id:G.id,params:{unitId:u,subUnitId:l,selections:y,type:3}}],C=[{id:g.id,params:h},{id:V.id,params:x},{id:G.id,params:{unitId:u,subUnitId:l,selections:v,type:3}}];return(0,t.sequenceExecute)(S,a).result?(o.pushUndoRedo({unitID:u,undoMutations:C,redoMutations:S}),!0):!1}};function ea(e,n){let r=new t.ObjectMatrix;return n.forEach(t=>{let{startRow:n,startColumn:i,endColumn:a,endRow:o}=t,s=e.getCellMatrix().getValue(n,i);if(s!=null&&s.s)for(let e=n;e<=o;e++)for(let t=i;t<=a;t++)(e!==n||t!==i)&&r.setValue(e,t,{s:s.s})}),r}function ta(e,t){return t.some(t=>na(e,t))}function na(e,t){let{startRow:n,startColumn:r,endColumn:i,endRow:a}=t,o=e.getMatrixWithMergedCells(n,r,a,i),s=!1;return o.forValue((t,i,a)=>{if(a&&(t!==n||i!==r)&&e.cellHasValue(a))return s=!0,!1}),s}function ra(e,t,n,r){let i=[],a=[],o=n.getSheetId();return r.forEach(r=>{let s={unitId:t,subUnitId:o,cellValue:ia(n,r).getData()},c=B(e,s);i.push({id:V.id,params:c}),a.push({id:V.id,params:s})}),{undos:i,redos:a}}function ia(e,n){let{startRow:r,startColumn:i,endColumn:a,endRow:o}=n,s=e.getMatrixWithMergedCells(r,i,o,a,t.CellModeEnum.Raw),c=new t.ObjectMatrix,l=null;return s.forValue((t,n,a)=>{if(a&&t>=r&&n>=i){var o,s;!l&&e.cellHasValue(a)&&(a.v!==``||((o=(s=a.p)==null||(s=s.body)==null||(s=s.dataStream)==null?void 0:s.length)==null?0:o)>2)&&(l=a),c.setValue(t,n,a.s?{v:null,t:null,f:null,si:null,p:null,s:a.s}:null)}}),c.setValue(r,i,l),c}let aa={type:t.CommandType.COMMAND,id:`sheet.command.add-worksheet-merge`,handler:async(e,n)=>{let r=p(e.get(t.IUniverInstanceService),n);if(!r)return!1;let{worksheet:i}=r,{unitId:a,subUnitId:o,selections:s}=n,c=e.get(t.ICommandService),l=e.get(t.IUndoRedoService),u=Ki(s,n.value),d=ta(i,u);if(d&&!n.defaultMerge){let n=e.get(t.IConfirmService),r=e.get(t.LocaleService);if(!await n.confirm({id:`merge.confirm.add-worksheet-merge`,title:{title:`sheets.merge.confirm.warning`},children:{title:`sheets.merge.confirm.title`},cancelText:r.t(`sheets.merge.confirm.cancel`),confirmText:r.t(`sheets.merge.confirm.confirm`)}))return!1}let f=[],m=[],_={unitId:a,subUnitId:o,ranges:t.Tools.deepClone(u)},v={unitId:a,subUnitId:o,ranges:t.Tools.deepClone(u)},y=R(e,_),b=h(e,v);if(y.ranges.length>0&&f.push({id:z.id,params:y}),f.push({id:g.id,params:v}),m.push({id:z.id,params:b}),y.ranges.length>0&&m.push({id:g.id,params:y}),d){let t=ra(e,a,i,u);f.unshift(...t.redos),m.push(...t.undos)}let x=Zi(e,n,u);x&&f.push(x);let S=Qi(e,n);S&&m.push(S);let C=e.get(A).onCommandExecute({id:aa.id,params:{unitId:a,subUnitId:o,ranges:u}});return f.push(...C.redos),m.push(...C.undos),(0,t.sequenceExecute)(f,c).result?(l.pushUndoRedo({unitID:a,undoMutations:m,redoMutations:f}),!0):!1}},oa={type:t.CommandType.COMMAND,id:`sheet.command.add-worksheet-merge-all`,handler:async e=>{var n;let r=ua(`mergeAll`,(n=e.get(U).getCurrentSelections())==null?void 0:n.map(e=>e.range));if(!(r!=null&&r.length))return!1;let i=p(e.get(t.IUniverInstanceService));if(!i)return!1;let{worksheet:a}=i,o=a.getUnitId(),s=a.getSheetId();return e.get(t.ICommandService).executeCommand(aa.id,{selections:r,unitId:o,subUnitId:s})}},sa={type:t.CommandType.COMMAND,id:`sheet.command.add-worksheet-merge-vertical`,handler:async e=>{var n;let r=ua(`mergeVertical`,(n=e.get(U).getCurrentSelections())==null?void 0:n.map(e=>e.range));if(!(r!=null&&r.length))return!1;let i=p(e.get(t.IUniverInstanceService));if(!i)return!1;let{worksheet:a}=i,o=a.getUnitId(),s=a.getSheetId();return e.get(t.ICommandService).executeCommand(aa.id,{value:t.Dimension.COLUMNS,selections:r,unitId:o,subUnitId:s})}},ca={type:t.CommandType.COMMAND,id:`sheet.command.add-worksheet-merge-horizontal`,handler:async e=>{var n;let r=ua(`mergeHorizontal`,(n=e.get(U).getCurrentSelections())==null?void 0:n.map(e=>e.range));if(!(r!=null&&r.length))return!1;let i=p(e.get(t.IUniverInstanceService));if(!i)return!1;let{workbook:a,worksheet:o}=i,s=a.getUnitId(),c=o.getSheetId();return e.get(t.ICommandService).executeCommand(aa.id,{value:t.Dimension.ROWS,selections:r,unitId:s,subUnitId:c})}};function la(e,n,r,i,a={}){let o=p(e.get(t.IUniverInstanceService),{unitId:n,subUnitId:r});if(!o)return;let s=e.get(t.ICommandService),{defaultMerge:c=!0,isForceMerge:l=!1}=a,{worksheet:u}=o;if(u.getMergeData().some(e=>i.some(n=>t.Rectangle.intersects(n,e)))){if(!l)throw Error(`The ranges to be merged overlap with the existing merged cells`);s.syncExecuteCommand($i.id,{unitId:n,subUnitId:r,ranges:i})}s.executeCommand(aa.id,{unitId:n,subUnitId:r,selections:i,defaultMerge:c})}function ua(e,t){return t?e===`mergeAll`?t.filter(e=>!(e.startRow===e.endRow&&e.startColumn===e.endColumn)):e===`mergeVertical`?t.filter(e=>e.startRow!==e.endRow):e===`mergeHorizontal`?t.filter(e=>e.startColumn!==e.endColumn):t:null}var da=class{constructor(){w(this,`_model`,new Map),w(this,`_ruleChange`,new n.Subject),w(this,`_ruleRefresh`,new n.Subject),w(this,`_resetOrder`,new n.Subject),w(this,`ruleChange$`,this._ruleChange.asObservable()),w(this,`ruleRefresh$`,this._ruleRefresh.asObservable()),w(this,`resetOrder$`,this._resetOrder.asObservable()),w(this,`_worksheetRuleInitStateChange`,new n.BehaviorSubject(!1)),w(this,`worksheetRuleInitStateChange$`,this._worksheetRuleInitStateChange.asObservable())}changeRuleInitState(e){this._worksheetRuleInitStateChange.next(e)}getSheetRuleInitState(){return this._worksheetRuleInitStateChange.value}addRule(e,t){this._ensureSubUnitMap(e).set(t.subUnitId,t),this._ruleChange.next({unitId:e,rule:t,type:`add`,subUnitId:t.subUnitId})}deleteRule(e,t){var n;let r=(n=this._model)==null||(n=n.get(e))==null?void 0:n.get(t);if(r){var i;(i=this._model.get(e))==null||i.delete(t),this._ruleChange.next({unitId:e,rule:r,type:`delete`,subUnitId:t})}}setRule(e,t,n){let r=this.getRule(e,t);if(r){var i;(i=this._model)==null||(i=i.get(e))==null||i.set(t,n),this._ruleChange.next({unitId:e,oldRule:r,rule:n,type:`set`,subUnitId:t})}}getRule(e,t){var n;return(n=this._model)==null||(n=n.get(e))==null?void 0:n.get(t)}toObject(){let e={};return[...this._model.keys()].forEach(t=>{let n=this._model.get(t);n!=null&&n.size&&(e[t]=[],[...n.keys()].forEach(r=>{let i=n.get(r);i&&e[t].push(i)}))}),e}fromObject(e){let t=new Map;Object.keys(e).forEach(n=>{let r=e[n];if(r!=null&&r.length){let e=new Map;r.forEach(t=>{e.set(t.subUnitId,t)}),t.set(n,e)}}),this._model=t}deleteUnitModel(e){this._model.delete(e)}_ensureSubUnitMap(e){let t=this._model.get(e);return t||(t=new Map,this._model.set(e,t)),t}ruleRefresh(e){this._ruleRefresh.next(e)}resetOrder(){this._resetOrder.next(Math.random())}getTargetByPermissionId(e,t){let n=this._model.get(e);if(!n)return null;for(let[r,i]of n)if(i.permissionId===t)return[e,r]}};let fa={id:`sheet.mutation.add-worksheet-protection`,type:t.CommandType.MUTATION,handler:(e,t)=>{let n=e.get(da),{unitId:r,rule:i}=t;return n.addRule(r,i),!0}},pa={id:`sheet.mutation.delete-worksheet-protection`,type:t.CommandType.MUTATION,handler:(e,t)=>{let n=e.get(da),{unitId:r,subUnitId:i}=t;return n.deleteRule(r,i),!0}},ma={type:t.CommandType.COMMAND,id:`sheet.command.add-worksheet-protection`,async handler(e,n){if(!n)return!1;let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),{rule:a,unitId:o}=n,s=a.subUnitId;if(await r.executeCommand(fa.id,{unitId:o,rule:a,subUnitId:a.subUnitId})){let e=[{id:fa.id,params:{unitId:o,rule:a,subUnitId:a.subUnitId}}],t=[{id:pa.id,params:{unitId:o,subUnitId:s}}];i.pushUndoRedo({unitID:o,redoMutations:e,undoMutations:t})}return!0}},ha={type:t.CommandType.COMMAND,id:`sheet.command.set-worksheet-range-theme-style`,handler:(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),{unitId:a}=n,o=ve(e,n);return r.syncExecuteCommand(_e.id,n)?(i.pushUndoRedo({unitID:a,undoMutations:[{id:ye.id,params:o}],redoMutations:[{id:_e.id,params:n}]}),!0):!1}},ga={type:t.CommandType.COMMAND,id:`sheet.command.append-row`,handler:(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),{unitId:a,subUnitId:o,cellValue:s,insertRowNums:c,insertColumnNums:l,maxRows:u,maxColumns:d}=n,f={unitId:a,subUnitId:o,cellValue:s},p=B(e,f),m=[{id:V.id,params:f}],h=[{id:V.id,params:p}];if(c){let t={unitId:a,subUnitId:o,range:{startRow:u,endRow:u,startColumn:0,endColumn:d-1}},n=xe(e,t);m.unshift({id:P.id,params:t}),h.push({id:I.id,params:n})}if(l){let t={unitId:a,subUnitId:o,range:{startRow:0,endRow:u-1,startColumn:d,endColumn:d-1+l}},n=Se(e,t);m.unshift({id:F.id,params:t}),h.push({id:L.id,params:n})}return(0,t.sequenceExecute)(m,r).result?(i.pushUndoRedo({unitID:a,undoMutations:h,redoMutations:m}),!0):!1}},_a=[`ff`,`fs`,`tr`,`tb`],q={type:t.CommandType.COMMAND,id:`sheet.command.set-style`,handler:(e,n)=>{var r;let i=p(e.get(t.IUniverInstanceService),n);if(!i)return!1;let{unitId:a,subUnitId:o,worksheet:s}=i,{range:c,style:l}=n,u=e.get(t.ICommandService),d=e.get(t.IUndoRedoService),f=e.get(U),m=c?[c]:(r=f.getCurrentSelections())==null?void 0:r.map(e=>e.range);if(!(m!=null&&m.length))return!1;let h=new t.ObjectMatrix,g=qn(s);if(t.Tools.isArray(l.value))for(let e=0;e<m.length;e++)g.forOperableEach(m[e],(e,t,n)=>{h.setValue(e,t,{s:{[l.type]:l.value[e-n.startRow][t-n.startColumn]}})});else for(let e=0;e<m.length;e++){let t={s:{[l.type]:l.value}};g.forOperableEach(m[e],(e,n)=>h.setValue(e,n,t))}let _={subUnitId:o,unitId:a,cellValue:h.getMatrix()},v=e.get(In).getSkeleton(a,o),y=B(e,_),b=null;if(_a.includes(n==null?void 0:n.style.type)){let{suitableRanges:e,remainingRanges:t}=Rn(m,v);b={suitableRanges:e,remainingRanges:t,cellHeights:Ln(e,s)}}let x=u.syncExecuteCommand(V.id,_),S=e.get(A),C=[],w=[];if(b){let{suitableRanges:e,remainingRanges:t,cellHeights:n}=b,{undos:r,redos:i}=S.generateMutationsOfAutoHeight({unitId:a,subUnitId:o,ranges:e,autoHeightRanges:e,lazyAutoHeightRanges:t,cellHeights:n});C=r,w=i}let{undos:T,redos:E}=S.onCommandExecute({id:q.id,params:n}),D=(0,t.sequenceExecute)([...E,...w],u);return x&&D.result?(d.pushUndoRedo({unitID:_.unitId,undoMutations:[{id:V.id,params:y},...T,...C],redoMutations:[{id:V.id,params:_},...E,...w]}),!0):!1}},va={type:t.CommandType.COMMAND,id:`sheet.command.set-bold`,handler:e=>{let n=e.get(U).getCurrentLastSelection();if(!n)return!1;let r=p(e.get(t.IUniverInstanceService));if(!r)return!1;let{worksheet:i}=r,{actualRow:a,actualColumn:o}=n.primary,s={style:{type:`bl`,value:i.getRange(a,o).getFontWeight()===t.FontWeight.BOLD?t.BooleanNumber.FALSE:t.BooleanNumber.TRUE}};return e.get(t.ICommandService).syncExecuteCommand(q.id,s)}},ya={type:t.CommandType.COMMAND,id:`sheet.command.set-italic`,handler:e=>{let n=e.get(U).getCurrentLastSelection();if(!n)return!1;let r=p(e.get(t.IUniverInstanceService));if(!r)return!1;let{worksheet:i}=r,a=!0;if(n.primary){let{startRow:e,startColumn:r}=n.primary;a=i.getRange(e,r).getFontStyle()===t.FontItalic.ITALIC}let o={style:{type:`it`,value:a?t.BooleanNumber.FALSE:t.BooleanNumber.TRUE}};return e.get(t.ICommandService).syncExecuteCommand(q.id,o)}},ba={type:t.CommandType.COMMAND,id:`sheet.command.set-underline`,handler:e=>{let n=e.get(U).getCurrentLastSelection();if(!n)return!1;let r=p(e.get(t.IUniverInstanceService));if(!r)return!1;let{worksheet:i}=r,a=!0;n.primary&&(a=!!i.getRange(n.primary.startRow,n.primary.startColumn).getUnderline().s);let o={style:{type:`ul`,value:{s:a?t.BooleanNumber.FALSE:t.BooleanNumber.TRUE}}};return e.get(t.ICommandService).syncExecuteCommand(q.id,o)}},xa={type:t.CommandType.COMMAND,id:`sheet.command.set-stroke`,handler:e=>{let n=e.get(U).getCurrentLastSelection();if(!n)return!1;let r=p(e.get(t.IUniverInstanceService));if(!r)return!1;let{worksheet:i}=r,a=!0;n.primary&&(a=!!i.getRange(n.primary.actualRow,n.primary.actualColumn).getStrikeThrough().s);let o={style:{type:`st`,value:{s:a?t.BooleanNumber.FALSE:t.BooleanNumber.TRUE}}};return e.get(t.ICommandService).syncExecuteCommand(q.id,o)}},Sa={type:t.CommandType.COMMAND,id:`sheet.command.set-overline`,handler:e=>{let n=e.get(U).getCurrentLastSelection();if(!n)return!1;let r=p(e.get(t.IUniverInstanceService));if(!r)return!1;let{worksheet:i}=r,a=!0;n.primary&&(a=!!i.getRange(n.primary.startRow,n.primary.startColumn).getOverline().s);let o={style:{type:`ol`,value:{s:a?t.BooleanNumber.FALSE:t.BooleanNumber.TRUE}}};return e.get(t.ICommandService).syncExecuteCommand(q.id,o)}},Ca={type:t.CommandType.COMMAND,id:`sheet.command.set-font-family`,handler:(e,n)=>{if(!n)return!1;let r=e.get(t.ICommandService),i={style:{type:`ff`,value:n.value}};return r.syncExecuteCommand(q.id,i)}},wa={type:t.CommandType.COMMAND,id:`sheet.command.set-font-size`,handler:(e,n)=>{if(!n)return!1;let r=e.get(t.ICommandService),i={style:{type:`fs`,value:n.value}};return r.syncExecuteCommand(q.id,i)}},Ta={type:t.CommandType.COMMAND,id:`sheet.command.set-text-color`,handler:(e,n)=>{if(!n)return!1;let r=e.get(t.ICommandService),i={style:{type:`cl`,value:{rgb:n.value}}};return r.syncExecuteCommand(q.id,i)}},Ea={type:t.CommandType.COMMAND,id:`sheet.command.reset-text-color`,handler:e=>e.get(t.ICommandService).syncExecuteCommand(q.id,{style:{type:`cl`,value:{rgb:null}}})},Da={type:t.CommandType.COMMAND,id:`sheet.command.set-background-color`,handler:(e,n)=>{if(!n||!n.value)return!1;let r=e.get(t.ICommandService),i={style:{type:`bg`,value:{rgb:n.value}}};return r.syncExecuteCommand(q.id,i)}},Oa={type:t.CommandType.COMMAND,id:`sheet.command.reset-background-color`,handler:e=>e.get(t.ICommandService).syncExecuteCommand(q.id,{style:{type:`bg`,value:{rgb:null}}})},ka={type:t.CommandType.COMMAND,id:`sheet.command.set-vertical-text-align`,handler:(e,n)=>{if(!n)return!1;let r=e.get(t.ICommandService),i={unitId:n.unitId,subUnitId:n.subUnitId,range:n.range,style:{type:`vt`,value:n.value}};return r.syncExecuteCommand(q.id,i)}},Aa={type:t.CommandType.COMMAND,id:`sheet.command.set-horizontal-text-align`,handler:(e,n)=>{if(!n)return!1;let r=e.get(t.ICommandService),i={unitId:n.unitId,subUnitId:n.subUnitId,range:n.range,style:{type:`ht`,value:n.value}};return r.syncExecuteCommand(q.id,i)}},ja={type:t.CommandType.COMMAND,id:`sheet.command.set-text-wrap`,handler:(e,n)=>{if(!n)return!1;let r=e.get(t.ICommandService),i={unitId:n.unitId,subUnitId:n.subUnitId,range:n.range,style:{type:`tb`,value:n.value}};return r.syncExecuteCommand(q.id,i)}},Ma={type:t.CommandType.COMMAND,id:`sheet.command.set-text-rotation`,handler:(e,n)=>{if(!n)return!1;let r=typeof n.value==`number`?{a:n.value}:{a:0,v:t.BooleanNumber.TRUE},i=e.get(t.ICommandService),a={unitId:n.unitId,subUnitId:n.subUnitId,range:n.range,style:{type:`tr`,value:r}};return i.syncExecuteCommand(q.id,a)}},Na={零:0,一:1,二:2,三:3,四:4,五:5,六:6,七:7,八:8,九:9},Pa=[`零`,`一`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`],Fa=[``,`万`,`亿`,`万亿`,`亿亿`],Ia=[``,`十`,`百`,`千`],La={十:{value:10,secUnit:!1},百:{value:100,secUnit:!1},千:{value:1e3,secUnit:!1},万:{value:1e4,secUnit:!0},亿:{value:1e8,secUnit:!0}};function Ra(e){if(!e)return 0;let t=0,n=0,r=0,i=!1,a=e.split(``);for(let e=0;e<a.length;e++){let o=Na[a[e]];if(o!==void 0)r=o,e===a.length-1&&(n+=r);else{let o=La[a[e]],s=o.value;i=o.secUnit,i?(n=(n+r)*s,t+=n,n=0):n+=r*s,r=0}}return t+n}function za(e){let t=``,n=``,r=0,i=!0;for(;e>0;){let a=e%10;a===0?i||(i=!0,n=Pa[a]+n):(i=!1,t=Pa[a],t+=Ia[r],n=t+n),r++,e=Math.floor(e/10)}return n}function Ba(e){let t=0,n=``,r=``,i=!1;if(e===0)return Pa[0];for(;e>0;){let a=e%1e4;i&&(r=Pa[0]+r),n=za(a),n+=a===0?Fa[0]:Fa[t],r=n+r,i=a<1e3&&a>0,e=Math.floor(e/1e4),t++}return r}function Va(e){if(!e)return!1;let t=!0;if(e)if(e.length===1)t=e===`日`||e in Na;else{let n=e.split(``);for(let e=0;e<n.length;e++)if(!(n[e]in Na||n[e]in La)){t=!1;break}}return t}function Ha(e){if(!e)return{isExtendNumber:!1};let t=[...e.matchAll(/\d+/g)];if(!t.length)return{isExtendNumber:!1};let n=t[t.length-1],r=n[0],i=n.index,a=e.substring(0,i),o=e.substring(i+r.length);return{isExtendNumber:!0,rawMatchTxt:r,matchNumber:Number(r),beforeTxt:a,afterTxt:o}}function Ua(e){let t;return t=e.length===1?e===`日`||Ra(e)<7:!1,t}function Wa(e){let t;return t=e.length===2?e===`周一`||e===`周二`||e===`周三`||e===`周四`||e===`周五`||e===`周六`||e===`周日`:!1,t}function Ga(e){let t;return t=e.length===3?e===`星期一`||e===`星期二`||e===`星期三`||e===`星期四`||e===`星期五`||e===`星期六`||e===`星期日`:!1,t}function Ka(e,t){let n=0;for(let r=0;r<e.length&&e[r]<t;r++)n++;return n}function qa(e){if(e.length<3)return!0;let t=e[1]-e[0],n=!1;for(let r=2;r<e.length;r++){let i=e[r]-e[r-1];if(i!==t){if(n||i!==-t)return!1;t=i,n=!0}}return!0}function Ja(e,t,n){let r=[],i=Math.floor(t/e),a=t%e,o=0;if(i>0){for(let t=0;t<i;t++)for(let i=0;i<n.length;i++)r[n[i]+t*e]=o,o++;for(let t=0;t<n.length&&n[t]<a;t++)r[n[t]+e*i]=o,o++}else for(let e=0;e<n.length&&n[e]<a;e++)r[n[e]]=o,o++;return r}function Ya(e,n){let r=[];for(let i=1;i<=n;i++){let n=(i-1)%e.length,a=t.Tools.deepClone(e[n]);fo(a),r.push({v:null,s:null,p:null,f:null,si:null,t:null,...a})}return r}function Xa(e,t){let n=[];for(let i=1;i<=t;i++){var r;let t={s:(r=e[(i-1)%e.length])==null?void 0:r.s};n.push(t)}return n}function Za(e){let t=!0,n=e[1]/e[0];for(let r=1;r<e.length;r++)if(e[r]/e[r-1]!==n){t=!1;break}return t}function Qa(e){let t=[];for(let n=1;n<=e;n++)t.push(n);return t}function $a(e,n,r){let i=[],a=[];for(let t=0;t<e.length;t++){var o;a.push(Number((o=e[t])==null?void 0:o.v))}if(e.length>2&&Za(a))for(let r=1;r<=n;r++){var s,c,l;let n=(r-1)%e.length,a=t.Tools.deepClone(e[n]);fo(a);let o=Number((s=e[e.length-1])==null?void 0:s.v)*(Number((c=e[1])==null?void 0:c.v)/Number((l=e[0])==null?void 0:l.v))**r;a&&(uo(a)&&(a.v=o),i.push(a))}else{let o=Qa(e.length);for(let s=1;s<=n;s++){let n=(s-1)%e.length,c=t.Tools.deepClone(e[n]);fo(c);let l=r===t.Direction.DOWN||r===t.Direction.RIGHT,u=eo(e.length+s,a,o,l);c&&(uo(c)&&(c.v=u),i.push(c))}}return i}function eo(e,t,n,r=!0){function i(e){let t=0;for(let n=0;n<e.length;n++)t+=e[n];return t/e.length}let a=i(n),o=i(t),s=0,c=0;for(let e=0;e<n.length;e++)s+=(n[e]-a)*(t[e]-o),c+=(n[e]-a)*(n[e]-a);let l;l=c===0?r?1:-1:s/c;let u=o-l*a;return Math.round((u+l*e)*1e5)/1e5}function to(e,n,r){let i=[],a=e[e.length-1],o=Ha(`${a==null?void 0:a.v}`);if(!o.isExtendNumber)return Ya(e,n);let{matchNumber:s,rawMatchTxt:c,beforeTxt:l,afterTxt:u}=o,d=c.length;for(let a=1;a<=n;a++){let n=(a-1)%e.length,o=t.Tools.deepClone(e[n]);if(fo(o),!o||!o.v)continue;let c=Math.abs(s+r*a).toString();c.length<d&&(c=c.padStart(d,`0`));let f=`${l}${c}${u}`;o&&(o.v=f,i.push(o))}return i}function no(e,n){let r=[];for(let i=1;i<=n;i++){let n=(i-1)%e.length,a=t.Tools.deepClone(e[n]);fo(a),a&&(delete a.v,r.push(a))}return r}function ro(e,n,r,i=0){let a=[[`日`,`一`,`二`,`三`,`四`,`五`,`六`],[`周日`,`周一`,`周二`,`周三`,`周四`,`周五`,`周六`],[`星期日`,`星期一`,`星期二`,`星期三`,`星期四`,`星期五`,`星期六`]];if(i>=a.length)return[];let o=a[i],s=[];for(let i=1;i<=n;i++){var c;let n=(i-1)%e.length,a=t.Tools.deepClone(e[n]);fo(a);let u=0;if(((c=e[e.length-1])==null?void 0:c.v)===o[0])u=7+r*i;else{var l;let t=`${(l=e[e.length-1])==null?void 0:l.v}`;t&&(u=Ra(t.substr(t.length-1,1))+r*i)}u<0&&(u=Math.ceil(Math.abs(u)/7)*7+u);let d=u%7;a&&(a.v=o[d],s.push(a))}return s}function io(e,n,r){let i=[];for(let o=1;o<=n;o++){var a;let n=(o-1)%e.length,s=t.Tools.deepClone(e[n]);fo(s);let c=Ra(`${(a=e[e.length-1])==null?void 0:a.v}`)+r*o,l;l=c<=0?`零`:Ba(c),s&&(s.v=l,i.push(s))}return i}let ao={enWeek1:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],enWeek2:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],enMonth1:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],enMonth2:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],chnMonth1:[`一月`,`二月`,`三月`,`四月`,`五月`,`六月`,`七月`,`八月`,`九月`,`十月`,`十一月`,`十二月`],chnMonth2:[`正月`,`二月`,`三月`,`四月`,`五月`,`六月`,`七月`,`八月`,`九月`,`十月`,`十一月`,`腊月`],chHour1:[`子`,`丑`,`寅`,`卯`,`辰`,`巳`,`午`,`未`,`申`,`酉`,`戌`,`亥`],chHour2:[`子时`,`丑时`,`寅时`,`卯时`,`辰时`,`巳时`,`午时`,`未时`,`申时`,`酉时`,`戌时`,`亥时`],chYear1:[`甲`,`乙`,`丙`,`丁`,`戊`,`己`,`庚`,`辛`,`壬`,`癸`],chSeason1:[`春`,`夏`,`秋`,`冬`],chSeason2:[`春季`,`夏季`,`秋季`,`冬季`]};function oo(e){let t=!1;return Object.keys(ao).forEach(n=>{ao[n].includes(e)&&(t=!0)}),t}function so(e){let t=``,n=[];return Object.keys(ao).forEach(r=>{ao[r].includes(e)&&(t=r,n.push(...ao[r]))}),{name:t,series:n}}function co(e,n,r,i){let a=i.length,o=[];for(let c=1;c<=n;c++){var s;let n=(c-1)%e.length,l=t.Tools.deepClone(e[n]);fo(l);let u=`${(s=e[e.length-1])==null?void 0:s.v}`,d=i.indexOf(u)+r*c;d<0&&(d+=Math.abs(r)*a);let f=d%a;l&&(l.v=i[f],o.push(l))}return o}function lo(e,n){let r=[],i;if(n.startRow<e.startRow)i=t.Direction.UP;else if(n.endRow>e.endRow)i=t.Direction.DOWN;else if(n.startColumn<e.startColumn)i=t.Direction.LEFT;else if(n.endColumn>e.endColumn)i=t.Direction.RIGHT;else return[];if(i===t.Direction.DOWN||i===t.Direction.UP){let a=e.endRow-e.startRow+1,o=n.endRow-n.startRow+1,s=Math.floor(o/a),c=o%a,l={startRow:0,startColumn:0,endRow:e.endRow-e.startRow,endColumn:e.endColumn-e.startColumn};if(i===t.Direction.DOWN){for(let t=0;t<s;t++)r.push({repeatStartCell:{row:e.startRow+(t+1)*a,col:e.startColumn},relativeRange:l});c>0&&r.push({repeatStartCell:{row:e.startRow+(s+1)*a,col:e.startColumn},relativeRange:{startRow:0,startColumn:0,endRow:c-1,endColumn:e.endColumn-e.startColumn}})}else{for(let t=0;t<s;t++)r.push({repeatStartCell:{row:e.startRow-(t+1)*a,col:e.startColumn},relativeRange:l});c>0&&r.push({repeatStartCell:{row:e.startRow-(s+1)*a,col:e.startColumn},relativeRange:{startRow:a-c,endRow:a-1,startColumn:0,endColumn:e.endColumn-e.startColumn}})}}if(i===t.Direction.RIGHT||i===t.Direction.LEFT){let a=e.endColumn-e.startColumn+1,o=n.endColumn-n.startColumn+1,s=Math.floor(o/a),c=o%a,l={startRow:0,startColumn:0,endRow:e.endRow-e.startRow,endColumn:e.endColumn-e.startColumn};if(i===t.Direction.RIGHT){for(let t=0;t<s;t++)r.push({repeatStartCell:{row:e.startRow,col:e.startColumn+(t+1)*a},relativeRange:l});c>0&&r.push({repeatStartCell:{row:e.startRow,col:e.startColumn+(s+1)*a},relativeRange:{startRow:0,startColumn:0,endRow:e.endRow-e.startRow,endColumn:c-1}})}else{for(let t=0;t<s;t++)r.push({repeatStartCell:{row:e.startRow,col:e.startColumn-(t+1)*a},relativeRange:l});c>0&&r.push({repeatStartCell:{row:e.startRow,col:e.startColumn-(s+1)*a},relativeRange:{startRow:0,startColumn:a-c,endRow:e.endRow-e.startRow,endColumn:a-1}})}}return r}function uo(e){return!((0,t.isFormulaString)(e.f)||(0,t.isFormulaId)(e.si)||e.t===t.CellValueType.BOOLEAN)}function fo(e){e&&`custom`in e&&delete e.custom}function po(e,t){return t?e.reverse():e}function mo(e){let n=new t.ObjectMatrix;return e.forEach(e=>{let{rows:t,cols:r}=e;t.forEach(e=>{r.forEach(t=>{n.setValue(e,t,{v:null,s:null,p:null,f:null,si:null,custom:null})})})}),n.clone()}let ho={chnNumChar:Na,chnNumChar2:Pa,chnUnitSection:Fa,chnUnitChar:Ia,chnNameValue:La,chineseToNumber:Ra,sectionToChinese:za,numberToChinese:Ba,isChnNumber:Va,matchExtendNumber:Ha,isChnWeek1:Ua,isChnWeek2:Wa,isChnWeek3:Ga,getLenS:Ka,isEqualDiff:qa,getDataIndex:Ja,fillCopy:Ya,fillCopyStyles:Xa,isEqualRatio:Za,getXArr:Qa,fillSeries:$a,forecast:eo,fillExtendNumber:to,fillOnlyFormat:no,fillChnWeek:ro,fillChnNumber:io,isLoopSeries:oo,getLoopSeriesInfo:so,fillLoopSeries:co,getAutoFillRepeatRange:lo,needsUpdateCellValue:uo,removeCellCustom:fo,reverseIfNeed:po,generateNullCellValueRowCol:mo},go=function(e){return e.COPY=`COPY`,e.SERIES=`SERIES`,e.ONLY_FORMAT=`ONLY_FORMAT`,e.NO_FORMAT=`NO_FORMAT`,e}({}),_o=function(e){return e.NUMBER=`number`,e.DATE=`date`,e.EXTEND_NUMBER=`extendNumber`,e.CHN_NUMBER=`chnNumber`,e.CHN_WEEK2=`chnWeek2`,e.CHN_WEEK3=`chnWeek3`,e.LOOP_SERIES=`loopSeries`,e.FORMULA=`formula`,e.OTHER=`other`,e}({}),vo=function(e){return e.APPEND=`APPEND`,e.DEFAULT=`DEFAULT`,e.ONLY=`ONLY`,e}({}),{chineseToNumber:yo,fillChnNumber:bo,fillChnWeek:xo,fillCopy:So,fillExtendNumber:Co,fillLoopSeries:wo,fillSeries:To,getLoopSeriesInfo:Eo,isChnNumber:Do,isChnWeek2:Oo,isChnWeek3:ko,isEqualDiff:Ao,isLoopSeries:jo,matchExtendNumber:Mo,reverseIfNeed:No}=ho,Po={dateRule:{type:`date`,priority:1100,match:(e,n)=>{if(e!=null&&e.f||e!=null&&e.si)return!1;if((typeof(e==null?void 0:e.v)==`number`||(e==null?void 0:e.t)===t.CellValueType.NUMBER)&&e.s){if(typeof e.s==`string`){var r;let i=n.get(t.IUniverInstanceService).getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!i)return!1;let a=i.getStyles().get(e.s),o=a==null||(r=a.n)==null?void 0:r.pattern;if(o)return t.numfmt.getFormatInfo(o).isDate}else if(e.s.n&&t.numfmt.getFormatInfo(e.s.n.pattern).isDate)return!0}return!1},isContinue:(e,t)=>e.type===`date`,applyFunctions:{SERIES:(e,n,r)=>{let{data:i}=e;return r===t.Direction.LEFT||r===t.Direction.UP?(i.reverse(),To(i,n,r).reverse()):To(i,n,r)}}},numberRule:{type:`number`,priority:1e3,match:e=>typeof(e==null?void 0:e.v)==`number`||(e==null?void 0:e.t)===t.CellValueType.NUMBER,isContinue:(e,t)=>e.type===`number`,applyFunctions:{SERIES:(e,n,r)=>{let{data:i}=e;return r===t.Direction.LEFT||r===t.Direction.UP?(i.reverse(),To(i,n,r).reverse()):To(i,n,r)}}},extendNumberRule:{type:`extendNumber`,priority:900,match:e=>Mo(`${e==null?void 0:e.v}`||``).isExtendNumber,isContinue:(e,t)=>{if(e.type===`extendNumber`){var n;let r=Mo(`${(n=e.cellData)==null?void 0:n.v}`||``),i=Mo(`${t==null?void 0:t.v}`||``);if(r.isExtendNumber&&i.isExtendNumber){let{beforeTxt:e,afterTxt:t}=r,{beforeTxt:n,afterTxt:a}=i;if(e===n&&t===a)return!0}}return!1},applyFunctions:{SERIES:(e,n,r)=>{let{data:i}=e,a=r===t.Direction.UP||r===t.Direction.LEFT,o;if(i.length===1)return o=a?-1:1,No(Co(i,n,o),a);let s=[];for(let e=0;e<i.length;e++){var c;let t=Mo(`${(c=i[e])==null?void 0:c.v}`);t.isExtendNumber&&s.push(t.matchNumber)}if(a&&(i.reverse(),s.reverse()),Ao(s)){let e=i.length;return o=s[e-1]-s[e-2],No(Co(i,n,o),a)}return So(i,n)}}},chnNumberRule:{type:`chnNumber`,priority:830,match:e=>!!Do(`${e==null?void 0:e.v}`||``),isContinue:(e,t)=>e.type===`chnNumber`,applyFunctions:{SERIES:(e,n,r)=>{let{data:i}=e,a=r===t.Direction.LEFT||r===t.Direction.UP;if(i.length===1){var o;let e=`${(o=i[0])==null?void 0:o.v}`,t;return t=a?-1:1,e&&(e===`日`||yo(e)<7)?No(xo(i,n,t),a):No(bo(i,n,t),a)}let s=!1;for(let e=0;e<i.length;e++){var c;if(((c=i[e])==null?void 0:c.v)===`日`){s=!0;break}}let l=[],u=0;for(let e=0;e<i.length;e++){var d;let t=`${(d=i[e])==null?void 0:d.v}`;t===`日`?e===0?l.push(0):(u++,l.push(u*7)):s&&yo(t)>0&&yo(t)<7?l.push(yo(t)+u*7):l.push(yo(t))}if(a&&(i.reverse(),l.reverse()),Ao(l)){if(s||l[l.length-1]<6&&l[0]>0||l[0]<6&&l[l.length-1]>0){let e=i.length;return No(xo(i,n,l[e-1]-l[e-2]),a)}return No(bo(i,n,l[1]-l[0]),a)}return So(i,n)}}},chnWeek2Rule:{type:`chnWeek2`,priority:820,match:e=>!!Oo(`${e==null?void 0:e.v}`||``),isContinue:(e,t)=>e.type===`chnWeek2`,applyFunctions:{SERIES:(e,n,r)=>{let{data:i}=e,a=r===t.Direction.LEFT||r===t.Direction.UP;if(i.length===1){let e;return e=a?-1:1,No(xo(i,n,e,1),a)}let o=[],s=0;for(let e=0;e<i.length;e++){var c;let t=`${(c=i[e])==null?void 0:c.v}`,n=t==null?void 0:t.substr(t.length-1,1);t===`周日`?e===0?o.push(0):(s++,o.push(s*7)):o.push(yo(n)+s*7)}if(a&&(i.reverse(),o.reverse()),Ao(o)){let e=i.length;return No(xo(i,n,o[e-1]-o[e-2],1),a)}return So(i,n)}}},chnWeek3Rule:{type:`chnWeek3`,priority:810,match:e=>ko(`${e==null?void 0:e.v}`||``),isContinue:(e,t)=>e.type===`chnWeek3`,applyFunctions:{SERIES:(e,n,r)=>{let{data:i}=e,a=r===t.Direction.LEFT||r===t.Direction.UP;if(i.length===1){let e;return e=a?-1:1,No(xo(i,n,e,2),a)}let o=[],s=0;for(let e=0;e<i.length;e++){var c;let t=`${(c=i[e])==null?void 0:c.v}`;if(t){let n=t.substr(t.length-1,1);t===`星期日`?e===0?o.push(0):(s++,o.push(s*7)):o.push(yo(n)+s*7)}}if(a&&(i.reverse(),o.reverse()),Ao(o)){let e=i.length;return No(xo(i,n,o[e-1]-o[e-2],2),a)}return So(i,n)}}},loopSeriesRule:{type:`loopSeries`,priority:800,match:e=>jo(`${e==null?void 0:e.v}`||``),isContinue:(e,t)=>{if(e.type===`loopSeries`){var n;return Eo(`${(n=e.cellData)==null?void 0:n.v}`||``).name===Eo(`${t==null?void 0:t.v}`||``).name}return!1},applyFunctions:{SERIES:(e,n,r)=>{var i;let{data:a}=e,o=r===t.Direction.LEFT||r===t.Direction.UP,{series:s}=Eo(`${(i=a[0])==null?void 0:i.v}`||``);if(a.length===1){let e;return e=o?-1:1,No(wo(a,n,e,s),o)}let c=[],l=0;for(let e=0;e<a.length;e++){var u;let t=`${(u=a[e])==null?void 0:u.v}`;t&&(t===s[0]?e===0?c.push(0):(l++,c.push(l*s.length)):c.push(s.indexOf(t)+l*7))}if(o&&(a.reverse(),c.reverse()),Ao(c)){let e=a.length;return No(wo(a,n,c[e-1]-c[e-2],s),o)}return So(a,n)}}},otherRule:{type:`other`,priority:0,match:()=>!0,isContinue:(e,t)=>e.type===`other`}},{chnNumberRule:Fo,chnWeek2Rule:Io,chnWeek3Rule:Lo,dateRule:Ro,extendNumberRule:zo,loopSeriesRule:Bo,numberRule:Vo,otherRule:Ho}=Po,Uo=class extends t.Disposable{constructor(e,r,i,a){super(),this._commandService=e,this._undoRedoService=r,this._univerInstanceService=i,this._injector=a,w(this,`_rules`,[]),w(this,`_hooks`,[]),w(this,`_applyType$`,new n.BehaviorSubject(`SERIES`)),w(this,`_isFillingStyle`,!0),w(this,`_prevUndos`,[]),w(this,`_autoFillLocation$`,new n.BehaviorSubject(null)),w(this,`autoFillLocation$`,this._autoFillLocation$.asObservable()),w(this,`_showMenu$`,new n.BehaviorSubject(!1)),w(this,`showMenu$`,this._showMenu$.asObservable()),w(this,`_direction`,t.Direction.DOWN),w(this,`applyType$`,this._applyType$.asObservable()),w(this,`_menu$`,new n.BehaviorSubject([{label:`sheets.autoFill.copy`,value:`COPY`,disable:!1},{label:`sheets.autoFill.series`,value:`SERIES`,disable:!1},{label:`sheets.autoFill.formatOnly`,value:`ONLY_FORMAT`,disable:!1},{label:`sheets.autoFill.noFormat`,value:`NO_FORMAT`,disable:!1}])),w(this,`menu$`,this._menu$.asObservable()),this._init()}_init(){this._rules=[Ro,Vo,zo,Fo,Io,Lo,Bo,Ho].sort((e,t)=>t.priority-e.priority),this._isFillingStyle=!0}_getOneByPriority(e){return e.length<=0?[]:[e.reduce((e,t)=>(t.priority||0)>(e.priority||0)?t:e,e[0])]}_initPrevUndo(){this._prevUndos=[]}async triggerAutoFill(e,n,r,i,a){var o;if(r.startColumn===i.startColumn&&r.startRow===i.startRow&&r.endColumn===i.endColumn&&r.endRow===i.endRow)return!1;if(i.endColumn<r.endColumn&&i.endColumn>r.startColumn)return this._commandService.executeCommand(Xo.id,{clearRange:{startRow:i.startRow,endRow:i.endRow,startColumn:i.endColumn+1,endColumn:r.endColumn},selectionRange:i});if(i.endRow<r.endRow&&i.endRow>r.startRow)return this._commandService.executeCommand(Xo.id,{clearRange:{startRow:i.endRow+1,endRow:r.endRow,startColumn:i.startColumn,endColumn:i.endColumn},selectionRange:i});let s={startRow:i.startRow,endRow:i.endRow,startColumn:i.startColumn,endColumn:i.endColumn},c=null;if(i.startRow<r.startRow)c=t.Direction.UP,s.endRow=r.startRow-1;else if(i.endRow>r.endRow)c=t.Direction.DOWN,s.startRow=r.endRow+1;else if(i.startColumn<r.startColumn)c=t.Direction.LEFT,s.endColumn=r.startColumn-1;else if(i.endColumn>r.endColumn)c=t.Direction.RIGHT,s.startColumn=r.endColumn+1;else return!1;this.direction=c;let l=this._injector.invoke(e=>Sn(r,e)),u=this._injector.invoke(e=>Sn(s,e));if(!l||!u)return!1;this.autoFillLocation={source:l,target:u,unitId:e,subUnitId:n};let d=[];if(this.getActiveHooks().forEach(t=>{var r;let i=t==null||(r=t.onBeforeFillData)==null?void 0:r.call(t,{source:l,target:u,unitId:e,subUnitId:n},c);i&&d.unshift(i)}),this._initPrevUndo(),a)return this.fillData(a);for(let e=0;e<d.length;e++){let t=this.menu.find(t=>t.value===d[e]);if(t&&!t.disable)return this.fillData(d[e])}let f=(o=this.menu.find(e=>e.disable===!1))==null?void 0:o.value;return f?this.fillData(f):!1}addHook(e){if(this._hooks.find(t=>t.id===e.id))throw Error(`Add hook failed, hook id '${e.id}' already exist!`);return e.priority===void 0&&(e.priority=0),e.type===void 0&&(e.type=`APPEND`),this._hooks.push(e),(0,t.toDisposable)(()=>{let t=this._hooks.findIndex(t=>t===e);t>-1&&this._hooks.splice(t,1)})}registerRule(e){if(this._rules.find(t=>t.type===e.type))throw Error(`Registry rule failed, type '${e.type}' already exist!`);let t=this._rules.findIndex(t=>t.priority<e.priority);this._rules.splice(t===-1?this._rules.length:t,0,e)}getRules(){return this._rules}getAllHooks(){return this._hooks}getActiveHooks(){let{source:e,target:t,unitId:n,subUnitId:r}=this.autoFillLocation||{};if(!e||!t||!n||!r)return[];let i=this._hooks.filter(i=>{var a;return!((a=i.disable)!=null&&a.call(i,{source:e,target:t,unitId:n,subUnitId:r},this._direction,this.applyType))}),a=i.filter(e=>e.type===`ONLY`);if(a.length>0)return this._getOneByPriority(a);let o=this._getOneByPriority(i.filter(e=>e.type===`DEFAULT`)),s=i.filter(e=>e.type===`APPEND`)||[];return[...o,...s]}get applyType(){return this._applyType$.getValue()}set applyType(e){this._applyType$.next(e)}get menu(){return this._menu$.getValue()}get direction(){return this._direction}set direction(e){this._direction=e}isFillingStyle(){return this._isFillingStyle}setFillingStyle(e){this._isFillingStyle=e}get autoFillLocation(){return this._autoFillLocation$.getValue()}set autoFillLocation(e){this._autoFillLocation$.next(e)}setDisableApplyType(e,t){this._menu$.next(this._menu$.getValue().map(n=>n.value===e?{...n,disable:t}:n))}setShowMenu(e){this._showMenu$.next(e)}fillData(e){var n;this.applyType=e;let r=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),i=r==null?void 0:r.getUnitId(),a=r==null||(n=r.getActiveSheet())==null?void 0:n.getSheetId(),{source:o,target:s,unitId:c=i,subUnitId:l=a}=this.autoFillLocation||{};if(!o||!s||!c||!l)return!1;let u=this._univerInstanceService.getUnit(c,t.UniverInstanceType.UNIVER_SHEET);if(!u)return!1;let d=u.getSheetBySheetId(l);if(!d)return!1;let f=this.direction;this._prevUndos.length>0&&this._prevUndos.forEach(e=>{this._commandService.syncExecuteCommand(e.id,e.params)}),this._prevUndos=[];let p=t.Rectangle.union(xn(o),xn(s)),m=this.getActiveHooks();c===i&&l===a&&this._commandService.syncExecuteCommand(G.id,{selections:[{primary:W({startRow:o.rows[0],endRow:o.rows[o.rows.length-1],startColumn:o.cols[0],endColumn:o.cols[o.cols.length-1]},d),range:{...p,rangeType:t.RANGE_TYPE.NORMAL}}],unitId:c,subUnitId:l});let h=[],g=[];m.forEach(t=>{var n;let{undos:r,redos:i}=((n=t.onFillData)==null?void 0:n.call(t,{source:o,target:s,unitId:c,subUnitId:l},f,e))||{};r&&h.push(...r),i&&g.push(...i)});let _=g.every(e=>this._commandService.syncExecuteCommand(e.id,e.params)),{redos:v,undos:y}=this._getAutoHeightUndoRedos(g,u,d);return g.push(...v),h.push(...y),_&&(this._prevUndos=h,this._undoRedoService.pushUndoRedo({unitID:c,undoMutations:h,redoMutations:g})),m.forEach(t=>{var n;(n=t.onAfterFillData)==null||n.call(t,{source:o,target:s,unitId:c,subUnitId:l},f,e)}),this.setShowMenu(!0),!0}_getAutoHeightUndoRedos(e,n,r){if(this.applyType===`NO_FORMAT`)return{undos:[],redos:[]};let i=[],a=r.getConfig().defaultRowHeight,o=r.getRowManager();if(e.forEach(e=>{if(e.id===V.id){let{cellValue:s}=e.params;new t.ObjectMatrix(s).forValue((e,t,s)=>{let c=Object.keys(n.getStyles().get(s==null?void 0:s.s)||{});if(s!=null&&s.p||c.length&&_a.some(e=>c.includes(e))){let n=r.getCellHeight(e,t),s=o.getRow(e);(!s&&n!==a||s&&n!==o.getRowHeight(e))&&i.push({row:e,autoHeight:n})}})}}),i.length===0)return{undos:[],redos:[]};let s={unitId:n.getUnitId(),subUnitId:r.getSheetId(),rowsAutoHeightInfo:i},c=At(s,r),l={id:Nt.id,params:s};return this._commandService.syncExecuteCommand(l.id,l.params)?{redos:[l],undos:[{id:Nt.id,params:c}]}:{undos:[],redos:[]}}};Uo=E([T(0,t.ICommandService),T(1,t.IUndoRedoService),T(2,(0,t.Inject)(t.IUniverInstanceService)),T(3,(0,t.Inject)(t.Injector))],Uo);let Wo=(0,t.createIdentifier)(`univer.auto-fill-service`),Go={type:t.CommandType.COMMAND,id:`sheet.command.auto-fill`,handler:async(e,n)=>{let r=p(e.get(t.IUniverInstanceService),n);if(!r)return!1;let{unitId:i,subUnitId:a}=r,{sourceRange:o,targetRange:s,applyType:c}=n;return e.get(Wo).triggerAutoFill(i,a,o,s,c)}};function Ko(e,n){let r=e.get(U).getCurrentLastSelection();if(!r)return null;let i=p(e.get(t.IUniverInstanceService));if(!i)return null;let{unitId:a,subUnitId:o}=i,{startRow:s,endRow:c,startColumn:l,endColumn:u}=r.range;return n===`down`?s===c?s===0?null:{sourceRange:{startRow:s-1,endRow:s-1,startColumn:l,endColumn:u},targetRange:{startRow:s-1,endRow:c,startColumn:l,endColumn:u},unitId:a,subUnitId:o,applyType:`COPY`}:{sourceRange:{startRow:s,endRow:s,startColumn:l,endColumn:u},targetRange:{startRow:s,endRow:c,startColumn:l,endColumn:u},unitId:a,subUnitId:o,applyType:`COPY`}:l===u?l===0?null:{sourceRange:{startRow:s,endRow:c,startColumn:l-1,endColumn:l-1},targetRange:{startRow:s,endRow:c,startColumn:l-1,endColumn:u},unitId:a,subUnitId:o,applyType:`COPY`}:{sourceRange:{startRow:s,endRow:c,startColumn:l,endColumn:l},targetRange:{startRow:s,endRow:c,startColumn:l,endColumn:u},unitId:a,subUnitId:o,applyType:`COPY`}}async function qo(e,n){let r=Ko(e,n);if(!r)return!1;let i=await e.get(t.ICommandService).executeCommand(Go.id,r);return i&&e.get(Wo).setShowMenu(!1),i}let Jo={type:t.CommandType.COMMAND,id:`sheet.command.copy-down`,handler:async e=>qo(e,`down`)},Yo={type:t.CommandType.COMMAND,id:`sheet.command.copy-right`,handler:async e=>qo(e,`right`)},Xo={id:`sheet.command.auto-clear-content`,type:t.CommandType.COMMAND,handler:async(e,n)=>{let r=p(e.get(t.IUniverInstanceService));if(!r)return!1;let i=e.get(t.ICommandService),a=e.get(t.IUndoRedoService),o=e.get(A),s=e.get(U),{unitId:c,subUnitId:l}=r,{clearRange:u,selectionRange:d}=n,{startColumn:f,startRow:m}=d,h={subUnitId:l,unitId:c,cellValue:yn([u])},g=B(e,h),_=[{id:V.id,params:h},{id:G.id,params:{selections:[{primary:{startColumn:f,startRow:m,endColumn:f,endRow:m,actualRow:m,actualColumn:f,isMerged:!1,isMergedMainCell:!1},range:{...d}}],unitId:c,subUnitId:l}}],v=[{id:V.id,params:g},{id:G.id,params:{selections:[s.getCurrentLastSelection()],unitId:c,subUnitId:l}}];if((0,t.sequenceExecute)(_,i).result){let e=o.afterCommandExecute({id:V.id,params:h});return(0,t.sequenceExecute)(e.redos,i),a.pushUndoRedo({unitID:c,undoMutations:[...v,...e.undos],redoMutations:[..._,...e.redos]}),!0}return!1}},Zo={id:`sheet.command.clear-selection-content`,type:t.CommandType.COMMAND,handler:(e,n)=>{var r;let i=p(e.get(t.IUniverInstanceService),{unitId:n==null?void 0:n.unitId,subUnitId:n==null?void 0:n.subUnitId});if(!i)return!1;let a=e.get(U),{unitId:o,subUnitId:s}=i,c=(n==null?void 0:n.ranges)||((r=a.getCurrentSelections())==null?void 0:r.map(e=>e.range));if(!(c!=null&&c.length))return!1;let l=e.get(In).getSkeleton(o,s);if(!l)return!1;let u=e.get(t.ICommandService),d=e.get(t.IUndoRedoService),f=e.get(A),m=[],h=[],g={subUnitId:s,unitId:o,cellValue:yn(Cn(c,e,o,s))},_=B(e,g);m.push({id:V.id,params:g}),h.push({id:V.id,params:_});let v=f.onCommandExecute({id:Zo.id,params:n});m.push(...v.redos),h.unshift(...v.undos);let y=(0,t.sequenceExecute)(m,u),{suitableRanges:b,remainingRanges:x}=Rn(c,l),{undos:S,redos:C}=f.generateMutationsOfAutoHeight({unitId:o,subUnitId:s,ranges:b,autoHeightRanges:b,lazyAutoHeightRanges:x}),w=(0,t.sequenceExecute)(C,u);return y.result&&w.result?(m.push(...C),h.push(...S),d.pushUndoRedo({unitID:o,undoMutations:h,redoMutations:m}),!0):!1}},Qo=`sheets.config`,$o={largeSheetCellCountThreshold:6e3,batchSize:3e3},es={},ts=class extends t.Disposable{constructor(e,t){super(),this._commandService=e,this._univerInstanceService=t,w(this,`_tasks`,new Map),w(this,`_idleCallbackId`,null),w(this,`_beforeUnloadHandler`,null),this._setupBeforeUnloadListener(),this.disposeWithMe(()=>{this._cancelAllTasks(),this._removeBeforeUnloadListener()})}hasPendingTasks(){return this._tasks.size>0}getPendingMutationsCount(){let e=0;for(let t of this._tasks.values())e+=t.mutations.length-t.currentIndex;return e}scheduleMutations(e,t,n){if(n.length===0)return;let r=`${e}_${t}`;this._cancelTask(r),this._tasks.set(r,{unitId:e,subUnitId:t,mutations:n,currentIndex:0}),this._scheduleNextIdle()}cancelScheduledMutations(e,t){let n=`${e}_${t}`;this._cancelTask(n)}_cancelTask(e){this._tasks.delete(e),this._tasks.size===0&&this._idleCallbackId!==null&&(typeof cancelIdleCallback<`u`&&cancelIdleCallback(this._idleCallbackId),this._idleCallbackId=null)}_cancelAllTasks(){this._tasks.clear(),this._idleCallbackId!==null&&(typeof cancelIdleCallback<`u`&&cancelIdleCallback(this._idleCallbackId),this._idleCallbackId=null)}_scheduleNextIdle(){this._idleCallbackId===null&&(typeof requestIdleCallback<`u`?this._idleCallbackId=requestIdleCallback(e=>this._processIdleTasks(e),{timeout:1e3*60}):this._idleCallbackId=setTimeout(()=>{this._processIdleTasks({didTimeout:!1,timeRemaining:()=>16})},16))}_processIdleTasks(e){this._idleCallbackId=null;for(let[t,n]of this._tasks){if(!this._isSheetExist(n.unitId,n.subUnitId)){this._tasks.delete(t);continue}for(n.currentIndex;n.currentIndex<n.mutations.length;){if(e.timeRemaining()<=0&&!e.didTimeout){this._scheduleNextIdle();return}let t=n.mutations[n.currentIndex];this._commandService.syncExecuteCommand(t.id,t.params,{onlyLocal:!0}),n.currentIndex++}this._tasks.delete(t)}this._tasks.size>0&&this._scheduleNextIdle()}_isSheetExist(e,n){let r=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET);return r?r.getSheetBySheetId(n)!==null:!1}_setupBeforeUnloadListener(){typeof window>`u`||(this._beforeUnloadHandler=e=>{if(this.hasPendingTasks())return e.preventDefault(),e.returnValue=``,``},window.addEventListener(`beforeunload`,this._beforeUnloadHandler))}_removeBeforeUnloadListener(){typeof window>`u`||!this._beforeUnloadHandler||(window.removeEventListener(`beforeunload`,this._beforeUnloadHandler),this._beforeUnloadHandler=null)}};ts=E([T(0,t.ICommandService),T(1,t.IUniverInstanceService)],ts);let ns={id:`sheet.mutation.copy-worksheet-end`,type:t.CommandType.MUTATION,handler:()=>!0},rs=(e,t)=>({subUnitId:t.sheet.id,unitId:t.unitId,subUnitName:t.sheet.name}),is={id:`sheet.mutation.insert-sheet`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService),{sheet:i,index:a,unitId:o,styles:s}=n,c=r.getUniverSheetInstance(o);return c?(s&&c.addStyles(s),c.addWorksheet(i.id,a,(0,t.cloneWorksheetData)(i))):!1}};function as(e){let t=0;for(let n of Object.keys(e)){let r=e[Number(n)];r&&(t+=Object.keys(r).length)}return t}function os(e,t,n,r){let i=[],a={},o=0;for(let e in n){let t=Number(e),s=n[t];if(!s)continue;let c=Object.keys(s).length;o>0&&o+c>r&&(i.push(a),a={},o=0),a[t]=s,o+=c,o>=r&&(i.push(a),a={},o=0)}return o>0&&i.push(a),{firstChunkCellData:i.length>0?i[0]:{},remainingMutations:i.slice(1).map(n=>({id:V.id,params:{unitId:e,subUnitId:t,cellValue:n,__splitChunk__:!0}}))}}let ss=`sheet.command.copy-sheet`;function cs(e,n,r,i,a,o,s){var c,l;let u=e.get(t.IConfigService).getConfig(Qo),d={...$o,...u==null?void 0:u.largeSheetOperation},f=(0,t.cloneWorksheetData)(r.getConfig());f.name=us(n,o,f.name);let p=(0,t.generateRandomId)();f.id=p;let m=n.getSheetIndex(r),{cellData:h}=f,g=as(h)>=d.largeSheetCellCountThreshold,_,v=[];if(g){let{firstChunkCellData:e,remainingMutations:t}=os(i,p,h,d.batchSize),n={...f,cellData:e};_={index:m+1,sheet:n,unitId:i},v=t}else _={index:m+1,sheet:f,unitId:i};let y=rs(e,_),b=s.onCommandExecute({id:ss,params:{unitId:i,subUnitId:a,targetSubUnitId:f.id}});return{redos:[...(c=b.preRedos)==null?[]:c,{id:is.id,params:_},...b.redos],undos:[...(l=b.preUndos)==null?[]:l,{id:Vr.id,params:y},...b.undos],unitId:i,newSheetId:p,isSplit:g,scheduledMutations:v}}let ls={type:t.CommandType.COMMAND,id:ss,handler:(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),a=e.get(t.IUniverInstanceService),o=e.get(A),s=e.get(t.LocaleService),c=e.get(ts),l=p(a,n);if(!l)return!1;let{workbook:u,worksheet:d,unitId:f,subUnitId:m}=l,{redos:h,undos:g,newSheetId:_,isSplit:v,scheduledMutations:y}=cs(e,u,d,f,m,s,o);if((0,t.sequenceExecute)(h,r).result){if(v){if(i.pushUndoRedo({unitID:f,undoMutations:g,redoMutations:[]}),y.length>0){for(let e of y)r.syncExecuteCommand(e.id,e.params,{syncOnly:!0});r.syncExecuteCommand(ns.id,{unitId:f,subUnitId:_},{syncOnly:!0}),c.scheduleMutations(f,_,y)}}else i.pushUndoRedo({unitID:f,undoMutations:g,redoMutations:h});return!0}return!1}};function us(e,t,n){let r=`${n} ${t.t(`sheets.tabs.sheetCopy`,``)}`,i=2;for(;e.checkSheetName(r);)r=`${n} ${t.t(`sheets.tabs.sheetCopy`,`${i}`)}`,i++;return r}let ds={type:t.CommandType.COMMAND,id:`sheet.command.delete-range-protection`,async handler(e,n){if(!n)return!1;let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),{unitId:a,subUnitId:o,rule:s}=n,c={unitId:a,subUnitId:o,ruleIds:[s.id]};return await r.executeCommand(kn.id,c)&&i.pushUndoRedo({unitID:a,redoMutations:[{id:kn.id,params:c}],undoMutations:[{id:jn.id,params:{unitId:a,subUnitId:o,rules:[s]}}]}),!0}},fs={type:t.CommandType.COMMAND,id:`sheet.command.delete-worksheet-protection`,handler(e,n){if(!n)return!1;let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),{rule:a,unitId:o,subUnitId:s}=n;r.executeCommand(pa.id,{unitId:o,subUnitId:s});let c=[{id:pa.id,params:{unitId:o,subUnitId:s}}],l=[{id:fa.id,params:{unitId:o,rule:a,subUnitId:s}}];return i.pushUndoRedo({unitID:o,redoMutations:c,undoMutations:l}),!0}},ps={type:t.CommandType.COMMAND,id:`sheet.command.remove-worksheet-range-theme-style`,handler:(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),{unitId:a}=n,o=be(e,n);return r.syncExecuteCommand(ye.id,n)?(i.pushUndoRedo({unitID:a,undoMutations:[{id:_e.id,params:o}],redoMutations:[{id:ye.id,params:n}]}),!0):!1}},ms={id:`sheet.command.insert-defined-name`,type:t.CommandType.COMMAND,handler:(e,n)=>{let i=e.get(t.ICommandService),a=e.get(t.IUndoRedoService);if(!n)return!1;let o={...n};return i.syncExecuteCommand(r.SetDefinedNameMutation.id,o)?(a.pushUndoRedo({unitID:n.unitId,undoMutations:[{id:r.RemoveDefinedNameMutation.id,params:o}],redoMutations:[{id:r.SetDefinedNameMutation.id,params:o}]}),!0):!1}},hs={id:`sheet.command.insert-sheet`,type:t.CommandType.COMMAND,handler:(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),a=e.get(t.IUniverInstanceService),o=e.get(t.LocaleService),s=f(a,{unitId:n==null?void 0:n.unitId});if(!s)return!1;let{unitId:c,workbook:l}=s,u=l.getSheets().length,d=n==null?void 0:n.sheet,p=d==null?void 0:d.id,m=d==null?void 0:d.name,h=(0,t.mergeWorksheetSnapshotWithDefault)(d||{});if(n){var g;u=(g=n.index)==null?u:g,h.id=p||(0,t.generateRandomId)(),h.name=m?l.uniqueSheetName(m):l.generateNewSheetName(`${o.t(`sheets.tabs.sheet`)}`)}else h.id=(0,t.generateRandomId)(),h.name=l.generateNewSheetName(`${o.t(`sheets.tabs.sheet`)}`);let _={index:u,sheet:h,unitId:c},v=rs(e,_);return r.syncExecuteCommand(is.id,_)?(i.pushUndoRedo({unitID:c,undoMutations:[{id:Vr.id,params:v}],redoMutations:[{id:is.id,params:_}]}),!0):!1}},gs={id:`sheet.command.refill`,type:t.CommandType.COMMAND,handler:async(e,t)=>e.get(Wo).fillData(t.type)},_s={id:`sheet.mutation.register-worksheet-range-theme-style`,type:t.CommandType.MUTATION,handler:(e,n)=>{if(!p(e.get(t.IUniverInstanceService),n))return!1;let r=e.get(N),{unitId:i,rangeThemeStyleJson:a,themeName:o}=n,s=new ne(o,a);return r.registerRangeThemeStyle(i,s),!0}},vs={id:`sheet.mutation.unregister-worksheet-range-theme-style`,type:t.CommandType.MUTATION,handler:(e,n)=>{if(!p(e.get(t.IUniverInstanceService),n))return!1;let r=e.get(N),{unitId:i,themeName:a}=n;return r.unregisterRangeThemeStyle(i,a),!0}},ys={id:`sheet.command.register-worksheet-range-theme-style`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(!n)return!1;let{unitId:r,rangeThemeStyle:i}=n,a=e.get(t.IUniverInstanceService),o=e.get(t.ICommandService),s=e.get(t.IUndoRedoService);if(!p(a,n))return!1;let c={unitId:r,themeName:i.getName(),rangeThemeStyleJson:i.toJson()},l={unitId:r,themeName:i.getName()};return o.syncExecuteCommand(_s.id,c)&&s.pushUndoRedo({unitID:r,undoMutations:[{id:vs.id,params:l}],redoMutations:[{id:_s.id,params:c}]}),!0}},bs={id:`sheet.command.remove-defined-name`,type:t.CommandType.COMMAND,handler:(e,n)=>{var i,a;let o=e.get(t.ICommandService),s=e.get(t.IUndoRedoService),c=e.get(A);if(!n)return!1;let l={...n},u=c.onCommandExecute({id:bs.id,params:n}),d=[...(i=u.preRedos)==null?[]:i,{id:r.RemoveDefinedNameMutation.id,params:l},...u.redos],f=[...(a=u.preUndos)==null?[]:a,{id:r.SetDefinedNameMutation.id,params:l},...u.undos];return(0,t.sequenceExecute)(d,o).result?(s.pushUndoRedo({unitID:n.unitId,undoMutations:f.filter(Boolean),redoMutations:d.filter(Boolean)}),!0):!1}},xs={id:`sheet.command.remove-sheet`,type:t.CommandType.COMMAND,handler:(e,n)=>{var r,i;let a=e.get(t.ICommandService),o=e.get(t.IUndoRedoService),s=e.get(t.IUniverInstanceService),c=e.get(A),l=e.get(t.IConfigService),u=p(s,n);if(!u)return!1;let{unitId:d,subUnitId:f,workbook:m,worksheet:h}=u;if(m.getSheets().length<=1)return!1;let g=l.getConfig(Qo),_={...$o,...g==null?void 0:g.largeSheetOperation},v=zn(h.getCellMatrix())>=_.largeSheetCellCountThreshold,y={subUnitId:f,unitId:d,subUnitName:h.getName()},b=v?null:Br(e,y),x=c.onCommandExecute({id:xs.id,params:{unitId:d,subUnitId:f}}),S=[...(r=x.preRedos)==null?[]:r,{id:Vr.id,params:y},...x.redos],C=v?[]:[...(i=x.preUndos)==null?[]:i,{id:is.id,params:b},...x.undos];return(0,t.sequenceExecute)(S,a).result?(v?o.clearUndoRedo(d):o.pushUndoRedo({unitID:d,undoMutations:C,redoMutations:S}),!0):!1}};var Ss=class{constructor(){w(this,`_borderInfo`,{type:t.BorderType.ALL,color:`#000000`,style:t.BorderStyleTypes.THIN,activeBorderType:!1}),w(this,`_borderInfo$`,new n.BehaviorSubject(this._borderInfo)),w(this,`borderInfo$`,this._borderInfo$.asObservable())}dispose(){this._borderInfo$.complete()}setType(e){this._borderInfo.type=e,this.setActiveBorderType(!0),this._refresh()}setColor(e){this._borderInfo.color=e,this._refresh()}setStyle(e){this._borderInfo.style=e,this._refresh()}setActiveBorderType(e){this._borderInfo.activeBorderType=e}getBorderInfo(){return this._borderInfo}_refresh(){this._borderInfo$.next(this._borderInfo)}};function Cs(e,t){let{startRow:n,startColumn:r,endRow:i,endColumn:a}=e;for(let e=n;e<=i;e++)for(let n=r;n<=a;n++)t(e,n)}let ws=(e,n,r,i)=>{let{mr:a,worksheet:o}=e;n.startRow<0||n.startColumn<0||Cs(n,(e,n)=>{let s=o.getMergedCell(e,n),c=r;if(s&&(r.bc_tr||r.ml_tr||r.bl_tr||r.tl_mr||r.tl_bc||r.tl_br)){if(i){var l;let e=t.Tools.deepClone((l=a.getValue(s.startRow,s.startColumn))==null?void 0:l.s);c=e!=null&&e.bd?Object.assign(e.bd,r):r}a.setValue(s.startRow,s.startColumn,{s:{bd:c}})}else{if(i){var u;let i=t.Tools.deepClone((u=a.getValue(e,n))==null?void 0:u.s);c=i!=null&&i.bd?Object.assign(i.bd,r):r}a.setValue(e,n,{s:{bd:c}})}})},Ts=e=>({topRangeOut:{startRow:e.startRow-1,startColumn:e.startColumn,endRow:e.startRow-1,endColumn:e.endColumn},leftRangeOut:{startRow:e.startRow,startColumn:e.startColumn-1,endRow:e.endRow,endColumn:e.startColumn-1},bottomRangeOut:{startRow:e.endRow+1,startColumn:e.startColumn,endRow:e.endRow+1,endColumn:e.endColumn},rightRangeOut:{startRow:e.startRow,startColumn:e.endColumn+1,endRow:e.endRow,endColumn:e.endColumn+1},topRange:{startRow:e.startRow,startColumn:e.startColumn,endRow:e.startRow,endColumn:e.endColumn},leftRange:{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.startColumn},bottomRange:{startRow:e.endRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn},rightRange:{startRow:e.startRow,startColumn:e.endColumn,endRow:e.endRow,endColumn:e.endColumn}});function Es(e,n,r){let{style:i,color:a,type:o}=e.getBorderInfo(),s=o===t.BorderType.TOP||o===t.BorderType.ALL||o===t.BorderType.OUTSIDE,c=o===t.BorderType.LEFT||o===t.BorderType.ALL||o===t.BorderType.OUTSIDE,l=o===t.BorderType.BOTTOM||o===t.BorderType.ALL||o===t.BorderType.OUTSIDE,u=o===t.BorderType.RIGHT||o===t.BorderType.ALL||o===t.BorderType.OUTSIDE,d=o===t.BorderType.VERTICAL||o===t.BorderType.ALL||o===t.BorderType.INSIDE,f=o===t.BorderType.HORIZONTAL||o===t.BorderType.ALL||o===t.BorderType.INSIDE,p=o.indexOf(`tlbr`)>-1,m=o.indexOf(`tlbc`)>-1,h=o.indexOf(`tlmr`)>-1,g=o.indexOf(`bltr`)>-1,_=o.indexOf(`mltr`)>-1,v=o.indexOf(`bctr`)>-1,y=r[0],{topRangeOut:b,leftRangeOut:x,bottomRangeOut:S,rightRangeOut:C,topRange:w,leftRange:T,bottomRange:E,rightRange:D}=Ts(y),O=new t.ObjectMatrix,{worksheet:k,unitId:A,subUnitId:ee}=n;return{worksheet:k,unitId:A,subUnitId:ee,style:i,color:a,type:o,top:s,left:c,right:u,bottom:l,vertical:d,horizontal:f,tl_br:p,tl_bc:m,tl_mr:h,bl_tr:g,ml_tr:_,bc_tr:v,topRangeOut:b,leftRangeOut:x,bottomRangeOut:S,rightRangeOut:C,topRange:w,leftRange:T,bottomRange:E,rightRange:D,range:y,mr:O,borderStyle:{s:i,cl:{rgb:a}}}}let Ds=e=>{let{range:n,mr:r,borderStyle:i,vertical:a,horizontal:o,worksheet:s}=e;a&&Cs(n,(e,a)=>{let o=s.getMergedCell(e,a);if(o){var c;let s=(c=r.getValue(o.startRow,o.startColumn))==null?void 0:c.s;o.startColumn!==n.startColumn&&r.setValue(e,a,{s:{bd:s!=null&&s.bd?Object.assign(s.bd,{l:t.Tools.deepClone(i)}):{l:t.Tools.deepClone(i)}}})}else{if(a!==n.endColumn){var l;let n=(l=r.getValue(e,a))==null?void 0:l.s;r.setValue(e,a,{s:{bd:n!=null&&n.bd?Object.assign(n.bd,{r:t.Tools.deepClone(i)}):{r:t.Tools.deepClone(i)}}})}if(a!==n.startColumn){var u;let n=(u=r.getValue(e,a))==null?void 0:u.s;r.setValue(e,a,{s:{bd:n!=null&&n.bd?Object.assign(n.bd,{l:t.Tools.deepClone(i)}):{l:t.Tools.deepClone(i)}}})}}}),o&&Cs(n,(e,a)=>{let o=s.getMergedCell(e,a);if(o){var c;let s=(c=r.getValue(o.startRow,o.startColumn))==null?void 0:c.s;o.startRow!==n.startRow&&r.setValue(e,a,{s:{bd:s!=null&&s.bd?Object.assign(s.bd,{t:t.Tools.deepClone(i)}):{t:t.Tools.deepClone(i)}}})}else{if(e!==n.endRow){var l;let n=(l=r.getValue(e,a))==null?void 0:l.s;r.setValue(e,a,{s:{bd:n!=null&&n.bd?Object.assign(n.bd,{b:t.Tools.deepClone(i)}):{b:t.Tools.deepClone(i)}}})}if(e!==n.startRow){var u;let n=(u=r.getValue(e,a))==null?void 0:u.s;r.setValue(e,a,{s:{bd:n!=null&&n.bd?Object.assign(n.bd,{t:t.Tools.deepClone(i)}):{t:t.Tools.deepClone(i)}}})}}})};function Os(e){let{borderStyle:n,tl_br:r,tl_bc:i,tl_mr:a,bl_tr:o,ml_tr:s,bc_tr:c}=e,l=(t,n,r)=>{ws(e,t,n,r)};r&&l(e.range,{tl_br:t.Tools.deepClone(n)},!0),i&&l(e.range,{tl_bc:t.Tools.deepClone(n)},!0),a&&l(e.range,{tl_mr:t.Tools.deepClone(n)},!0),o&&l(e.range,{bl_tr:t.Tools.deepClone(n)},!0),s&&l(e.range,{ml_tr:t.Tools.deepClone(n)},!0),c&&l(e.range,{bc_tr:t.Tools.deepClone(n)},!0)}let ks=e=>{let{top:n,left:r,right:i,bottom:a,borderStyle:o,bottomRange:s,topRange:c,leftRange:l,rightRange:u,bottomRangeOut:d,topRangeOut:f,leftRangeOut:p,rightRangeOut:m}=e,h=(t,n,r)=>{ws(e,t,n,r)};n&&(h(f,{b:null}),h(c,{t:t.Tools.deepClone(o)},!0)),a&&(h(d,{t:null}),h(s,{b:t.Tools.deepClone(o)},!0)),r&&(h(p,{r:null}),h(l,{l:t.Tools.deepClone(o)},!0)),i&&(h(m,{l:null}),h(u,{r:t.Tools.deepClone(o)},!0))},As=e=>{let{range:t,worksheet:n,mr:r,top:i,bottom:a,left:o,right:s,vertical:c,horizontal:l,tl_br:u,tl_bc:d,tl_mr:f,bl_tr:p,ml_tr:m,bc_tr:h,topRange:g,bottomRange:_,leftRange:v,rightRange:y,topRangeOut:b,bottomRangeOut:x,leftRangeOut:S,rightRangeOut:C}=e,w=(t,n,r)=>{ws(e,t,n,r)};!i&&!a&&!o&&!s&&!c&&!l&&!u&&!d&&!f&&!p&&!m&&!h&&(Cs(t,(e,i)=>{let a=n.getMergedCell(e,i);if(a){if(a.endColumn!==t.endColumn){var o;let t=(o=r.getValue(a.startRow,a.startColumn))==null?void 0:o.s;r.setValue(e,i,{s:{bd:t!=null&&t.bd?Object.assign(t.bd,{r:null}):{r:null}}})}if(a.startColumn!==t.startColumn){var s;let t=(s=r.getValue(a.startRow,a.startColumn))==null?void 0:s.s;r.setValue(e,i,{s:{bd:t!=null&&t.bd?Object.assign(t.bd,{l:null}):{l:null}}})}if(a.endRow!==t.endRow){var c;let t=(c=r.getValue(a.startRow,a.startColumn))==null?void 0:c.s;r.setValue(e,i,{s:{bd:t!=null&&t.bd?Object.assign(t.bd,{b:null}):{b:null}}})}if(a.startRow!==t.startRow){var l;let t=(l=r.getValue(a.startRow,a.startColumn))==null?void 0:l.s;r.setValue(e,i,{s:{bd:t!=null&&t.bd?Object.assign(t.bd,{t:null}):{t:null}}})}}else{if(i!==t.endColumn){var u;let t=(u=r.getValue(e,i))==null?void 0:u.s;r.setValue(e,i,{s:{bd:t!=null&&t.bd?Object.assign(t.bd,{r:null}):{r:null}}})}if(i!==t.startColumn){var d;let t=(d=r.getValue(e,i))==null?void 0:d.s;r.setValue(e,i,{s:{bd:t!=null&&t.bd?Object.assign(t.bd,{l:null}):{l:null}}})}if(e!==t.endRow){var f;let t=(f=r.getValue(e,i))==null?void 0:f.s;r.setValue(e,i,{s:{bd:t!=null&&t.bd?Object.assign(t.bd,{b:null}):{b:null}}})}if(e!==t.startRow){var p;let t=(p=r.getValue(e,i))==null?void 0:p.s;r.setValue(e,i,{s:{bd:t!=null&&t.bd?Object.assign(t.bd,{t:null}):{t:null}}})}}}),w(b,{b:null}),w(g,{t:null},!0),w(x,{t:null}),w(_,{b:null},!0),w(S,{r:null}),w(v,{l:null},!0),w(C,{l:null}),w(y,{r:null},!0),w(t,{tl_br:null},!0),w(t,{tl_bc:null},!0),w(t,{tl_mr:null},!0),w(t,{bl_tr:null},!0),w(t,{ml_tr:null},!0),w(t,{bc_tr:null},!0))},js={id:`sheet.command.set-border`,type:t.CommandType.COMMAND,handler:(e,n)=>{var r;let i=e.get(t.ICommandService),a=e.get(t.IUndoRedoService),o=e.get(t.IUniverInstanceService),s=e.get(U),c=e.get(Ss),l=p(o,n);if(!l)return!1;let u=(n==null?void 0:n.ranges)||((r=s.getCurrentSelections())==null?void 0:r.map(e=>e.range));if(!(u!=null&&u.length))return!1;let{activeBorderType:d}=c.getBorderInfo();if(!d)return!1;let f=Es(c,l,u);Ds(f),ks(f),Os(f),As(f);let{unitId:m,subUnitId:h,mr:g}=f,_={unitId:m,subUnitId:h,cellValue:g.getData()},v=B(e,_);return i.syncExecuteCommand(V.id,_)?(a.pushUndoRedo({unitID:m,undoMutations:[{id:V.id,params:v}],redoMutations:[{id:V.id,params:_}]}),!0):!1}},Ms={id:`sheet.command.set-border-position`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(!n.value)return!1;let r=e.get(t.ICommandService);return e.get(Ss).setType(n.value),r.syncExecuteCommand(js.id)}},Ns={id:`sheet.command.set-border-style`,type:t.CommandType.COMMAND,handler:(e,n)=>{let r=e.get(t.ICommandService);return e.get(Ss).setStyle(n.value),r.syncExecuteCommand(js.id)}},Ps={id:`sheet.command.set-border-color`,type:t.CommandType.COMMAND,handler:(e,n)=>{let r=e.get(t.ICommandService);return e.get(Ss).setColor(n.value),r.syncExecuteCommand(js.id)}},Fs={id:`sheet.command.set-border-basic`,type:t.CommandType.COMMAND,handler:(e,n)=>{let{unitId:r,subUnitId:i,value:a,ranges:o}=n,{type:s,color:c,style:l}=a,u=e.get(t.ICommandService),d=e.get(Ss);return d.setType(s),c&&d.setColor(c),d.setStyle(l),u.syncExecuteCommand(js.id,{unitId:r,subUnitId:i,ranges:o})}},Is={type:t.CommandType.COMMAND,id:`sheet.command.set-col-data`,handler:(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),a=p(e.get(t.IUniverInstanceService),n);if(!a)return!1;let{columnData:o}=n,{unitId:s,subUnitId:c,worksheet:l}=a,u={subUnitId:c,unitId:s,columnData:o},d=Pe(u,l);return r.syncExecuteCommand(Fe.id,u)?(i.pushUndoRedo({unitID:s,undoMutations:[{id:Fe.id,params:d}],redoMutations:[{id:Fe.id,params:u}]}),!0):!1}},Ls={type:t.CommandType.COMMAND,id:`sheet.command.set-col-visible-on-cols`,handler:(e,n)=>{let{unitId:r,subUnitId:i,ranges:a}=n,o=e.get(A),s=e.get(t.ICommandService),c=p(e.get(t.IUniverInstanceService),{unitId:r,subUnitId:i});if(!c)return!1;let{worksheet:l}=c,u={unitId:r,subUnitId:i,ranges:a},d={unitId:r,subUnitId:i,reveal:!0,selections:a.map(e=>({range:e,primary:W(e,l),style:null}))},f=Re(e,u),m={unitId:r,subUnitId:i,selections:Vs(a).map(e=>({range:e,primary:W(e,l),style:null}))},h=(0,t.sequenceExecute)([{id:ze.id,params:u},{id:G.id,params:d}],s),g=o.onCommandExecute({id:Ls.id,params:n}),_=(0,t.sequenceExecute)([...g.redos],s);if(h.result&&_.result){var v,y;let i=o.afterCommandExecute({id:Ls.id,params:n});return(0,t.sequenceExecute)(i.redos,s),e.get(t.IUndoRedoService).pushUndoRedo({unitID:r,undoMutations:[{id:Le.id,params:f},{id:G.id,params:m},...(v=g.undos)==null?[]:v,...i.undos],redoMutations:[...(y=g.preRedos)==null?[]:y,{id:ze.id,params:u},{id:G.id,params:d},...g.redos,...i.redos]}),!0}return!0}},Rs={type:t.CommandType.COMMAND,id:`sheet.command.set-selected-cols-visible`,handler:e=>{var n;let r=e.get(U),i=e.get(t.ICommandService),a=(n=r.getCurrentSelections())==null?void 0:n.map(e=>e.range).filter(e=>e.rangeType===t.RANGE_TYPE.COLUMN);if(!(a!=null&&a.length))return!1;let o=p(e.get(t.IUniverInstanceService));if(!o)return!1;let{worksheet:s,unitId:c,subUnitId:l}=o,u=a.map(e=>s.getHiddenCols(e.startColumn,e.endColumn)).flat();return i.executeCommand(Ls.id,{unitId:c,subUnitId:l,ranges:u})}},zs={type:t.CommandType.COMMAND,id:`sheet.command.set-col-hidden`,handler:(e,n)=>{var r,i;let a=e.get(U),o=e.get(A),s=e.get(t.IUniverInstanceService),c=e.get(t.ICommandService),l=!(n==null||(r=n.ranges)==null)&&r.length?n.ranges:(i=a.getCurrentSelections())==null?void 0:i.map(e=>e.range).filter(e=>e.rangeType===t.RANGE_TYPE.COLUMN);if(!(l!=null&&l.length))return!1;let u=p(s,n);if(!u)return!1;let{worksheet:d,unitId:f,subUnitId:m}=u;l=Bs(u.worksheet,l);let h={unitId:f,subUnitId:m,ranges:l},g={unitId:f,subUnitId:m,selections:Vs(l).map(e=>({range:e,primary:W(e,d),style:null}))},_=Ie(e,h),v={unitId:f,subUnitId:m,reveal:!0,selections:l.map(e=>({range:e,primary:W(e,d),style:null}))},y=(0,t.sequenceExecute)([{id:Le.id,params:h},{id:G.id,params:g}],c),b=o.onCommandExecute({id:zs.id,params:h}),x=(0,t.sequenceExecute)([...b.redos],c);if(y.result&&x.result){var S,C;let n=o.afterCommandExecute({id:zs.id,params:h});return(0,t.sequenceExecute)(n.redos,c),e.get(t.IUndoRedoService).pushUndoRedo({unitID:f,undoMutations:[{id:ze.id,params:_},{id:G.id,params:v},...(S=b.undos)==null?[]:S,...n.undos],redoMutations:[...(C=b.preRedos)==null?[]:C,{id:Le.id,params:h},{id:G.id,params:g},...b.redos,...n.redos]}),!0}return!1}};function Bs(e,t){let n=e.getRowCount()-1,r=e.getHiddenCols(),i=[];return t.forEach(e=>{let t=r.filter(t=>t.startColumn>=e.startColumn&&t.endColumn<=e.endColumn);if(t.length){let r=e.startColumn;t.forEach(e=>{e.startColumn>r&&(i.push({startColumn:r,endColumn:e.startColumn-1,startRow:0,endRow:n}),r=e.endColumn+1)}),r<=e.endColumn&&i.push({startColumn:r,endColumn:e.endColumn,startRow:0,endRow:n})}else i.push(e)}),i}function Vs(e){return Hs(e).map(e=>{let t=e.startColumn===0?e.endColumn+1:e.startColumn-1;return{...e,startColumn:t,endColumn:t}})}function Hs(e){let t=[],n;return e.sort((e,t)=>e.startColumn-t.startColumn).forEach(e=>{if(!n){n=e;return}n.endColumn===e.startColumn-1?n.endColumn=e.endColumn:(t.push(n),n=e)}),t.push(n),t}let Us={id:`sheet.command.set-defined-name`,type:t.CommandType.COMMAND,handler:(e,n)=>{var i,a;let o=e.get(t.ICommandService),s=e.get(t.IUndoRedoService),c=e.get(A);if(!n)return!1;let l={...n},u=(0,r.SetDefinedNameMutationFactory)(e,n),d=c.onCommandExecute({id:Us.id,params:n}),f=[...(i=d.preRedos)==null?[]:i,...u?[{id:r.RemoveDefinedNameMutation.id,params:u}]:[],{id:r.SetDefinedNameMutation.id,params:l},...d.redos],p=[...(a=d.preUndos)==null?[]:a,{id:r.RemoveDefinedNameMutation.id,params:l},...u?[{id:r.SetDefinedNameMutation.id,params:u}]:[],...d.undos];return(0,t.sequenceExecute)(f,o).result?(s.pushUndoRedo({unitID:n.unitId,undoMutations:p.filter(Boolean),redoMutations:f.filter(Boolean)}),!0):!1}},Ws=(e,n)=>{let r=e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(r==null)throw Error(`universheet is null error!`);let i=r.getSheetBySheetId(n.subUnitId);if(i==null)throw Error(`worksheet is null error!`);let a=i.getConfig().freeze;return{unitId:n.unitId,subUnitId:n.subUnitId,...a}},Gs={id:`sheet.mutation.set-frozen`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(r==null)throw Error(`universheet is null error!`);let i=r.getSheetBySheetId(n.subUnitId);if(!i)return!1;let a=i.getConfig(),{startRow:o,startColumn:s,ySplit:c,xSplit:l}=n;return a.freeze={startRow:o,startColumn:s,ySplit:c,xSplit:l},!0}},Ks={type:t.CommandType.COMMAND,id:`sheet.command.set-frozen`,handler:(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),a=p(e.get(t.IUniverInstanceService),{unitId:n.unitId,subUnitId:n.subUnitId});if(!a)return!1;let{unitId:o,subUnitId:s,worksheet:c}=a,{startColumn:l,startRow:u,xSplit:d,ySplit:f}=n;if(u>=c.getRowCount()||l>=c.getColumnCount()||d>=c.getColumnCount()||f>=c.getRowCount())return!1;let m={unitId:o,subUnitId:s,...n},h=Ws(e,m);return r.syncExecuteCommand(Gs.id,m)?(i.pushUndoRedo({unitID:o,undoMutations:[{id:Gs.id,params:h}],redoMutations:[{id:Gs.id,params:m}]}),!0):!1}},qs={type:t.CommandType.COMMAND,id:`sheet.command.cancel-frozen`,handler:(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUniverInstanceService),a=e.get(t.IUndoRedoService),o=p(i,{unitId:n==null?void 0:n.unitId,subUnitId:n==null?void 0:n.subUnitId});if(!o)return!1;let{unitId:s,subUnitId:c}=o,l={unitId:s,subUnitId:c,startRow:-1,startColumn:-1,xSplit:0,ySplit:0},u=Ws(e,l);return r.syncExecuteCommand(Gs.id,l)&&a.pushUndoRedo({unitID:s,undoMutations:[{id:Gs.id,params:u}],redoMutations:[{id:Gs.id,params:l}]}),!0}},Js={type:t.CommandType.COMMAND,id:`sheet.command.set-gridlines-color`,handler:(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),a=p(e.get(t.IUniverInstanceService),n);if(!a)return!1;let{worksheet:o}=a,s=o.getConfig().gridlinesColor;if(s===(n==null?void 0:n.color))return!1;let{unitId:c,subUnitId:l}=a,u={color:n==null?void 0:n.color,unitId:c,subUnitId:l},d={color:s,unitId:c,subUnitId:l};return r.syncExecuteCommand(Be.id,u)?(i.pushUndoRedo({unitID:c,undoMutations:[{id:Be.id,params:d}],redoMutations:[{id:Be.id,params:u}]}),!0):!1}},J={id:`sheet.mutation.set-range-protection`,type:t.CommandType.MUTATION,handler:(e,t)=>{let{unitId:n,subUnitId:r,rule:i,ruleId:a}=t;return e.get(H).setRule(n,r,a,i),!0}},Ys=(e,t)=>{let{unitId:n,subUnitId:r,ruleId:i}=t,a=e.get(H).getRule(n,r,i);return a?{id:J.id,params:{...t,rule:a}}:null},Xs={id:`sheet.mutation.set-worksheet-protection`,type:t.CommandType.MUTATION,handler:(e,t)=>{let{unitId:n,subUnitId:r,rule:i}=t;return e.get(da).setRule(n,r,i),!0}},Zs={type:t.CommandType.COMMAND,id:`sheet.command.set-protection`,async handler(e,n){if(!n)return!1;let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),o=e.get(H),{rule:s,oldRule:c}=n,{unitId:l,subUnitId:u}=s,d=[],f=[];return(c==null?void 0:c.unitType)===s.unitType?s.unitType===a.UnitObject.Worksheet?(d.push({id:Xs.id,params:{unitId:l,subUnitId:u,rule:s}}),f.push({id:Xs.id,params:{unitId:l,subUnitId:u,rule:c}})):(d.push({id:J.id,params:{unitId:l,subUnitId:u,rule:s,ruleId:s.id}}),f.push({id:J.id,params:{unitId:l,subUnitId:u,ruleId:c.id,rule:c}})):(c&&(c.unitType===a.UnitObject.Worksheet?(d.push({id:pa.id,params:{unitId:l,subUnitId:u}}),f.push({id:fa.id,params:{unitId:l,rule:c,subUnitId:c.subUnitId}})):c.unitType===a.UnitObject.SelectRange&&(d.push({id:kn.id,params:{unitId:l,subUnitId:u,ruleIds:[c.id]}}),f.push({id:jn.id,params:{unitId:l,subUnitId:u,rules:[c]}}))),s.unitType===a.UnitObject.Worksheet?(d.push({id:fa.id,params:{unitId:l,rule:s,subUnitId:s.subUnitId}}),f.unshift({id:pa.id,params:{unitId:l,subUnitId:u}})):s.unitType===a.UnitObject.SelectRange&&(s.id=o.createRuleId(l,u),d.push({id:jn.id,params:{unitId:l,subUnitId:u,rules:[s]}}),f.unshift({id:kn.id,params:{unitId:l,subUnitId:u,ruleIds:[s.id]}}))),(0,t.sequenceExecute)(d,r).result&&i.pushUndoRedo({unitID:l,undoMutations:f,redoMutations:d}),!0}},Qs={id:`sheet.command.set-range-custom-metadata`,type:t.CommandType.COMMAND,handler:(e,n)=>{let r=p(e.get(t.IUniverInstanceService),n);if(!r)return!1;let i=e.get(t.ICommandService),{unitId:a,subUnitId:o}=r,{range:s,customMetadata:c}=n,{startRow:l,startColumn:u,endRow:d,endColumn:f}=s,m=t.Tools.isArray(c),h=new t.ObjectMatrix;for(let e=l;e<=d;e++)for(let t=u;t<=f;t++){let n=m?c[e-l][t-u]:c;h.setValue(e,t,n)}return i.syncExecuteCommand(V.id,{unitId:a,subUnitId:o,cellValue:h.getMatrix()})}},$s={type:t.CommandType.COMMAND,id:`sheet.command.set-row-data`,handler:(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),a=p(e.get(t.IUniverInstanceService),n);if(!a)return!1;let{rowData:o}=n,{unitId:s,subUnitId:c,worksheet:l}=a,u={subUnitId:c,unitId:s,rowData:o},d=mt(u,l);return r.syncExecuteCommand(ht.id,u)?(i.pushUndoRedo({unitID:s,undoMutations:[{id:ht.id,params:d}],redoMutations:[{id:ht.id,params:u}]}),!0):!1}},ec={type:t.CommandType.COMMAND,id:`sheet.command.set-specific-rows-visible`,handler:(e,n)=>{let{unitId:r,subUnitId:i,ranges:a}=n,o=e.get(t.ICommandService),s=e.get(t.IUndoRedoService),c=e.get(A),l=p(e.get(t.IUniverInstanceService),{unitId:r,subUnitId:i});if(!l)return!1;let{worksheet:u}=l,d={unitId:r,subUnitId:i,ranges:a},f={unitId:r,subUnitId:i,reveal:!0,selections:a.map(e=>({range:e,primary:W(e,u),style:null}))},m=gt(e,d),h={unitId:r,subUnitId:i,selections:ic(a).map(e=>({range:e,primary:W(e,u),style:null}))},g=(0,t.sequenceExecute)([{id:_t.id,params:d},{id:G.id,params:f}],o),_=c.onCommandExecute({id:ec.id,params:n}),v=(0,t.sequenceExecute)([..._.redos],o);if(g.result&&v.result){var y,b,x;let e=c.afterCommandExecute({id:ec.id,params:n});return(0,t.sequenceExecute)(e.redos,o),s.pushUndoRedo({unitID:r,undoMutations:[...(y=_.preUndos)==null?[]:y,{id:yt.id,params:m},{id:G.id,params:h},...(b=_.undos)==null?[]:b,...e.undos],redoMutations:[...(x=_.preRedos)==null?[]:x,{id:_t.id,params:d},{id:G.id,params:f},..._.redos,...e.redos]}),!0}return!0}},tc={type:t.CommandType.COMMAND,id:`sheet.command.set-selected-rows-visible`,handler:async e=>{var n;let r=e.get(U),i=e.get(t.IUniverInstanceService),a=e.get(t.ICommandService),o=(n=r.getCurrentSelections())==null?void 0:n.map(e=>e.range).filter(e=>e.rangeType===t.RANGE_TYPE.ROW);if(!(o!=null&&o.length))return!1;let s=p(i);if(!s)return!1;let{worksheet:c,unitId:l,subUnitId:u}=s,d=o.map(e=>c.getHiddenRows(e.startRow,e.endRow)).flat();return a.executeCommand(ec.id,{unitId:l,subUnitId:u,ranges:d})}},nc={type:t.CommandType.COMMAND,id:`sheet.command.set-rows-hidden`,handler:(e,n)=>{var r,i,a;let o=e.get(U),s=e.get(t.ICommandService),c=e.get(t.IUndoRedoService),l=e.get(t.IUniverInstanceService),u=e.get(A),d=!(n==null||(r=n.ranges)==null)&&r.length?n.ranges:(i=o.getCurrentSelections())==null?void 0:i.map(e=>e.range).filter(e=>e.rangeType===t.RANGE_TYPE.ROW);if(!(d!=null&&d.length))return!1;let f=p(l,n);if(!f)return!1;d=rc(f.worksheet,d);let{unitId:m,subUnitId:h,worksheet:g}=f,_={unitId:m,subUnitId:h,ranges:d},v={unitId:m,subUnitId:h,selections:ic(d).map(e=>({range:e,primary:W(e,g),style:null}))},y=vt(e,_),b={unitId:m,subUnitId:h,reveal:!0,selections:d.map(e=>({range:e,primary:W(e,g),style:null}))},x=u.onCommandExecute({id:nc.id,params:_});if((0,t.sequenceExecute)([...(a=x.preRedos)==null?[]:a,{id:yt.id,params:_},{id:G.id,params:v},...x.redos],s).result){var S,C,w;let e=u.afterCommandExecute({id:nc.id,params:_});return(0,t.sequenceExecute)(e.redos,s),c.pushUndoRedo({unitID:m,undoMutations:[...(S=x.preUndos)==null?[]:S,{id:_t.id,params:y},{id:G.id,params:b},...(C=x.undos)==null?[]:C,...e.undos],redoMutations:[...(w=x.preRedos)==null?[]:w,{id:yt.id,params:_},{id:G.id,params:v},...x.redos,...e.redos]}),!0}return!0}};function rc(e,t){let n=e.getMaxColumns()-1,r=e.getHiddenRows(),i=[];return t.forEach(e=>{let t=r.filter(t=>t.startRow>=e.startRow&&t.endRow<=e.endRow);if(t.length){let r=e.startRow;t.forEach(e=>{e.startRow>r&&(i.push({startRow:r,endRow:e.startRow-1,startColumn:0,endColumn:n}),r=e.endRow+1)}),r<=e.endRow&&i.push({startRow:r,endRow:e.endRow,startColumn:0,endColumn:n})}else i.push(e)}),i}function ic(e){return ac(e).map(e=>{let t=e.startRow===0?e.endRow+1:e.startRow-1;return{...e,startRow:t,endRow:t}})}function ac(e){let t=[],n;return e.sort((e,t)=>e.startRow-t.startRow).forEach(e=>{if(!n){n=e;return}e.startRow===n.endRow+1?n.endRow=e.endRow:(t.push(n),n=e)}),t.push(n),t}let oc=(e,n)=>{let r=e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId).getSheetBySheetId(n.subUnitId).getConfig().tabColor;return{...t.Tools.deepClone(n),color:r}},sc={id:`sheet.mutation.set-tab-color`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(!r)return!1;let i=r.getSheetBySheetId(n.subUnitId);return i?(i.getConfig().tabColor=n.color,!0):!1}},cc={type:t.CommandType.COMMAND,id:`sheet.command.set-tab-color`,handler:(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),a=p(e.get(t.IUniverInstanceService),n);if(!a)return!1;let{unitId:o,subUnitId:s}=a,c={color:n.value,unitId:o,subUnitId:s},l=oc(e,c);return r.syncExecuteCommand(sc.id,c)?(i.pushUndoRedo({unitID:o,undoMutations:[{id:sc.id,params:l}],redoMutations:[{id:sc.id,params:c}]}),!0):!1}},lc={id:`sheet.mutation.set-workbook-name`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService).getUnit(n.unitId,t.UniverInstanceType.UNIVER_SHEET);return r?(r.setName(n.name),!0):!1}},uc={type:t.CommandType.COMMAND,id:`sheet.command.set-workbook-name`,handler:(e,n)=>{var r;let i=e.get(t.ICommandService),a=e.get(A);if(!f(e.get(t.IUniverInstanceService),n))return!1;let o=a.onCommandExecute({id:uc.id,params:n}),s={name:n.name,unitId:n.unitId};return(0,t.sequenceExecute)([...(r=o.preRedos)==null?[]:r,{id:lc.id,params:s},...o.redos],i).result}},dc={type:t.CommandType.COMMAND,id:`sheet.command.set-worksheet-activate`,handler:(e,n,r)=>{let i=e.get(t.ICommandService),a=p(e.get(t.IUniverInstanceService),n);if(!a)return!1;let{unitId:o,subUnitId:s}=a;return new Promise(e=>{setTimeout(()=>{e(i.syncExecuteCommand(Ft.id,{unitId:o,subUnitId:s},r))},4)})}},fc={type:t.CommandType.COMMAND,id:`sheet.command.delta-column-width`,handler:async(e,n)=>{let r=e.get(U).getCurrentSelections();if(!(r!=null&&r.length))return!1;let i=e.get(t.ICommandService),a=e.get(t.IUndoRedoService),o=p(e.get(t.IUniverInstanceService));if(!o)return!1;let{worksheet:s,unitId:c,subUnitId:l}=o,{anchorCol:u,deltaX:d}=n,f=s.getColumnWidth(u)+d,m=r.length===1&&r[0].range.rangeType===t.RANGE_TYPE.ALL,h=r.filter(e=>e.range.rangeType===t.RANGE_TYPE.COLUMN),g=m?t.RANGE_TYPE.ALL:h.some(({range:e})=>{let{startColumn:t,endColumn:n}=e;return t<=u&&u<=n})?t.RANGE_TYPE.COLUMN:t.RANGE_TYPE.NORMAL,_;if(g===t.RANGE_TYPE.ALL){let e=s.getRowCount();_={subUnitId:l,unitId:c,colWidth:f,ranges:Array(s.getColumnCount()).fill(void 0).map((t,n)=>({startRow:0,endRow:e-1,startColumn:n,endColumn:n}))}}else _=g===t.RANGE_TYPE.COLUMN?{subUnitId:l,unitId:c,ranges:h.map(e=>t.Rectangle.clone(e.range)),colWidth:f}:{subUnitId:l,unitId:c,colWidth:f,ranges:[{startRow:0,endRow:s.getMaxRows()-1,startColumn:u,endColumn:u}]};let v=e.get(In).getSkeleton(c,l),{suitableRanges:y,remainingRanges:b}=Rn(_.ranges,v);Ln(y,s);let x=e.get(A),{undos:S,redos:C}=x.onCommandExecute({id:fc.id,params:_}),w=bt(_,s),T=i.syncExecuteCommand(xt.id,_),{undos:E,redos:D}=x.generateMutationsOfAutoHeight({unitId:c,subUnitId:l,ranges:y,autoHeightRanges:y,lazyAutoHeightRanges:b}),{undos:O,redos:k}=e.get(A).afterCommandExecute({id:fc.id,params:_}),ee=(0,t.sequenceExecute)([...C,...k,...D],i);return T&&ee.result&&a.pushUndoRedo({unitID:c,undoMutations:[{id:xt.id,params:w},...S,...O,...E],redoMutations:[{id:xt.id,params:_},...C,...k,...D]}),!0}},pc={type:t.CommandType.COMMAND,id:`sheet.command.set-worksheet-col-width`,handler:(e,n)=>{var r,i;let a=e.get(U),o=e.get(t.ICommandService),s=e.get(t.IUndoRedoService),c=e.get(A),l=!(n==null||(r=n.ranges)==null)&&r.length?n.ranges:(i=a.getCurrentSelections())==null?void 0:i.map(e=>e.range);if(!(l!=null&&l.length))return!1;let u=p(e.get(t.IUniverInstanceService),n);if(!u)return!1;let{subUnitId:d,unitId:f,worksheet:m}=u,h=e.get(In).getSkeleton(f,d),g={subUnitId:d,unitId:f,ranges:l,colWidth:n.value},{suitableRanges:_,remainingRanges:v}=Rn(g.ranges,h);Ln(_,m);let y=bt(g,m),b=o.syncExecuteCommand(xt.id,g),{undos:x,redos:S}=c.generateMutationsOfAutoHeight({unitId:f,subUnitId:d,ranges:_,autoHeightRanges:_,lazyAutoHeightRanges:v}),C=c.onCommandExecute({id:pc.id,params:g}),w=(0,t.sequenceExecute)([...C.redos,...S],o);if(b&&w.result){var T,E;let e=c.afterCommandExecute({id:pc.id,params:g});return(0,t.sequenceExecute)(e.redos,o),s.pushUndoRedo({unitID:f,undoMutations:[...(T=C.preUndos)==null?[]:T,{id:xt.id,params:y},...C.undos,...e.undos,...x],redoMutations:[...(E=C.preRedos)==null?[]:E,{id:xt.id,params:g},...C.redos,...e.redos,...S]}),!0}return!1}},mc={type:t.CommandType.COMMAND,id:`sheet.command.set-col-is-auto-width`,handler:async(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),a=e.get(U),o=p(e.get(t.IUniverInstanceService),n);if(!o)return!1;let{unitId:s,subUnitId:c}=o,l=[];if(n!=null&&n.ranges)l=[...n.ranges];else{let e=a.getCurrentSelections();for(let t=0;t<e.length;t++)l.push(e[t].range)}if(!(l!=null&&l.length))return!1;let u={unitId:s,subUnitId:c,ranges:l},{undos:d,redos:f}=e.get(A).onCommandExecute({id:mc.id,params:u});return(0,t.sequenceExecute)([...f],r).result?(i.pushUndoRedo({unitID:s,undoMutations:[...d],redoMutations:[...f]}),!0):!1}},hc={type:t.CommandType.COMMAND,id:`sheet.command.set-worksheet-column-count`,handler:(e,n)=>{let{unitId:r,subUnitId:i,columnCount:a}=n,o=e.get(t.ICommandService),s=e.get(t.IUndoRedoService);if(!p(e.get(t.IUniverInstanceService),n))return!1;let c={unitId:r,subUnitId:i,columnCount:a},l=St(e,c);return o.syncExecuteCommand(Ct.id,c)?(s.pushUndoRedo({unitID:r,undoMutations:[{id:Ct.id,params:l}],redoMutations:[{id:Ct.id,params:c}]}),!0):!1}},gc={type:t.CommandType.COMMAND,id:`sheet.command.set-worksheet-default-style`,handler:(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),{unitId:a}=n,o=Tt(e,n);return r.syncExecuteCommand(wt.id,n)?(i.pushUndoRedo({unitID:a,undoMutations:[{id:wt.id,params:o}],redoMutations:[{id:wt.id,params:n}]}),!0):!1}},_c=(e,n)=>{let r=m(e.get(t.IUniverInstanceService),n);if(!r)throw Error(`[SetWorksheetHideMutationFactory]: worksheet is null error!`);let{worksheet:i}=r;return{hidden:i.isSheetHidden(),unitId:n.unitId,subUnitId:i.getSheetId()}},vc={id:`sheet.mutation.set-worksheet-hidden`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(r==null)return!1;let i=r.getSheetBySheetId(n.subUnitId);return i?(i.getConfig().hidden=n.hidden,!0):!1}},yc={type:t.CommandType.COMMAND,id:`sheet.command.set-worksheet-hidden`,handler:(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),a=e.get(t.ErrorService),o=e.get(t.LocaleService),s=p(e.get(t.IUniverInstanceService),n);if(!s)return!1;let{workbook:c,worksheet:l,unitId:u,subUnitId:d}=s;if(l.getConfig().hidden===t.BooleanNumber.TRUE)return!1;let f={unitId:u,subUnitId:d,hidden:t.BooleanNumber.TRUE},m=_c(e,f);return c.getSheets().filter(e=>e.getConfig().hidden===t.BooleanNumber.FALSE).length===1?(a.emit(o.t(`sheets.info.hideSheet`)),!1):r.syncExecuteCommand(vc.id,f)?(i.pushUndoRedo({unitID:u,undoMutations:[{id:vc.id,params:m}],redoMutations:[{id:vc.id,params:f}]}),!0):!1}},bc=(e,n)=>{let r=m(e.get(t.IUniverInstanceService),n);if(!r)throw Error(`[SetWorksheetNameMutationFactory]: worksheet is null error!`);let{worksheet:i}=r;return{unitId:n.unitId,name:i.getName(),subUnitId:i.getSheetId()}},xc={id:`sheet.mutation.set-worksheet-name`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(r==null)return!1;let i=r.getSheetBySheetId(n.subUnitId);return i?(i.getConfig().name=n.name,!0):!1}},Sc={type:t.CommandType.COMMAND,id:`sheet.command.set-worksheet-name`,handler:(e,n)=>{var r,i;let a=e.get(t.ICommandService),o=e.get(t.IUndoRedoService),s=e.get(A),c=p(e.get(t.IUniverInstanceService),n);if(!c)return!1;let{unitId:l,subUnitId:u}=c,d={subUnitId:u,name:n.name,unitId:l},f=bc(e,d),m=s.onCommandExecute({id:Sc.id,params:n}),h=[...(r=m.preRedos)==null?[]:r,{id:xc.id,params:d},...m.redos],g=[...(i=m.preUndos)==null?[]:i,{id:xc.id,params:f},...m.undos];return(0,t.sequenceExecute)(h,a).result?(o.pushUndoRedo({unitID:l,undoMutations:g,redoMutations:h}),!0):!1}},Cc=(e,n)=>({...t.Tools.deepClone(n),toOrder:n.fromOrder,fromOrder:n.toOrder}),wc={id:`sheet.mutation.set-worksheet-order`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(!r)return!1;let i=r.getConfig();return i.sheetOrder.splice(n.fromOrder,1),i.sheetOrder.splice(n.toOrder,0,n.subUnitId),r.ensureSheetOrderUnique(),!0}},Tc={type:t.CommandType.COMMAND,id:`sheet.command.set-worksheet-order`,handler:(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),a=p(e.get(t.IUniverInstanceService),n);if(!a)return!1;let{workbook:o,unitId:s,subUnitId:c}=a,l={fromOrder:o.getConfig().sheetOrder.indexOf(c),toOrder:n.order,unitId:s,subUnitId:c},u=Cc(e,l);return r.syncExecuteCommand(wc.id,l)?(i.pushUndoRedo({unitID:s,undoMutations:[{id:wc.id,params:u}],redoMutations:[{id:wc.id,params:l}]}),!0):!1}};var Ec=class{constructor(){w(this,`_model`,new Map),w(this,`_pointChange`,new n.Subject),w(this,`pointChange$`,this._pointChange.asObservable())}addRule(e){this._ensureSubUnitMap(e.unitId).set(e.subUnitId,e),this._pointChange.next(e)}deleteRule(e,t){var n;let r=(n=this._model.get(e))==null?void 0:n.get(t);if(r){var i;(i=this._model)==null||(i=i.get(e))==null||i.delete(t),this._pointChange.next(r)}}getRule(e,t){var n;return(n=this._model)==null||(n=n.get(e))==null?void 0:n.get(t)}toObject(){let e={};return[...this._model.keys()].forEach(t=>{let n=this._model.get(t);n!=null&&n.size&&(e[t]=[],[...n.keys()].forEach(r=>{let i=n.get(r);i&&e[t].push(i)}))}),e}fromObject(e){let t=new Map;Object.keys(e).forEach(n=>{let r=e[n];if(r!=null&&r.length){let e=new Map;r.forEach(t=>{e.set(t.subUnitId,t)}),t.set(n,e)}}),this._model=t}deleteUnitModel(e){this._model.delete(e)}_ensureSubUnitMap(e){let t=this._model.get(e);return t||(t=new Map,this._model.set(e,t)),t}getTargetByPermissionId(e,t){let n=this._model.get(e);if(!n)return null;for(let[r,i]of n)if(i.permissionId===t)return[e,r]}},Dc=class{constructor(e,n,r){w(this,`type`,a.UnitObject.SelectRange),w(this,`subType`,a.UnitAction.Delete),w(this,`status`,t.PermissionStatus.INIT),w(this,`value`,!0),w(this,`id`,void 0),w(this,`unitId`,void 0),w(this,`subUnitId`,void 0),w(this,`permissionId`,void 0),this.unitId=e,this.subUnitId=n,this.permissionId=r,this.id=`${a.UnitObject.SelectRange}.${a.UnitAction.Delete}.${r}`}},Y=class{constructor(e,n,r){w(this,`type`,a.UnitObject.SelectRange),w(this,`subType`,a.UnitAction.Edit),w(this,`status`,t.PermissionStatus.INIT),w(this,`value`,!0),w(this,`id`,void 0),w(this,`unitId`,void 0),w(this,`subUnitId`,void 0),w(this,`permissionId`,void 0),this.unitId=e,this.subUnitId=n,this.permissionId=r,this.id=`${a.UnitObject.SelectRange}.${a.UnitAction.Edit}.${r}`}},Oc=class{constructor(e,n,r){w(this,`type`,a.UnitObject.SelectRange),w(this,`subType`,a.UnitAction.ManageCollaborator),w(this,`status`,t.PermissionStatus.INIT),w(this,`value`,!0),w(this,`id`,void 0),w(this,`unitId`,void 0),w(this,`subUnitId`,void 0),w(this,`permissionId`,void 0),this.unitId=e,this.subUnitId=n,this.permissionId=r,this.id=`${a.UnitObject.SelectRange}.${a.UnitAction.ManageCollaborator}.${r}`}},kc=class{constructor(e,n,r){w(this,`type`,a.UnitObject.SelectRange),w(this,`subType`,a.UnitAction.View),w(this,`status`,t.PermissionStatus.INIT),w(this,`value`,!1),w(this,`id`,void 0),w(this,`unitId`,void 0),w(this,`subUnitId`,void 0),w(this,`permissionId`,void 0),this.unitId=e,this.subUnitId=n,this.permissionId=r,this.id=`${a.UnitObject.SelectRange}.${a.UnitAction.View}.${r}`}};let X=()=>[kc,Y,Oc,Dc],Ac=[a.UnitAction.Edit,a.UnitAction.View,a.UnitAction.ManageCollaborator,a.UnitAction.Delete],jc=(e=`unitId`,t=`subUnitId`,n=`permissionId`)=>X().reduce((r,i)=>{let a=new i(e,t,n);return r[a.subType]=a.value,r},{});var Mc=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`subType`,a.UnitAction.Comment),this.unitId=e,this.id=`${this.type}.${a.UnitAction.Comment}_${e}`}},Nc=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`subType`,a.UnitAction.Copy),this.unitId=e,this.id=`${this.type}.${a.UnitAction.Copy}_${e}`}},Pc=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`subType`,a.UnitAction.CopySheet),w(this,`status`,t.PermissionStatus.INIT),this.unitId=e,this.id=`${this.type}.${a.UnitAction.CopySheet}_${e}`}},Fc=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`subType`,a.UnitAction.CreatePermissionObject),this.unitId=e,this.id=`${this.type}.${a.UnitAction.CreatePermissionObject}_${e}`}},Ic=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`subType`,a.UnitAction.CreateSheet),this.unitId=e,this.id=`${this.type}.${a.UnitAction.CreateSheet}_${e}`}},Lc=class{constructor(e){this.unitId=e,w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.DeleteColumn),this.id=`${this.type}.${a.UnitAction.DeleteColumn}_${e}`}},Rc=class{constructor(e){this.unitId=e,w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.DeleteRow),this.id=`${this.type}.${a.UnitAction.DeleteRow}_${e}`}},zc=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`subType`,a.UnitAction.DeleteSheet),this.unitId=e,this.id=`${this.type}.${a.UnitAction.DeleteSheet}_${e}`}},Bc=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`subType`,a.UnitAction.Duplicate),this.unitId=e,this.id=`${this.type}.${a.UnitAction.Duplicate}_${e}`}},Z=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`subType`,a.UnitAction.Edit),this.unitId=e,this.id=`${this.type}.${a.UnitAction.Edit}_${e}`}},Vc=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`subType`,a.UnitAction.Export),this.unitId=e,this.id=`${this.type}.${a.UnitAction.Export}_${e}`}},Hc=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`subType`,a.UnitAction.HideSheet),this.unitId=e,this.id=`${this.type}.${a.UnitAction.HideSheet}_${e}`}},Uc=class{constructor(e){this.unitId=e,w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.InsertColumn),this.id=`${this.type}.${a.UnitAction.InsertColumn}_${e}`}},Wc=class{constructor(e){this.unitId=e,w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.InsertRow),this.id=`${this.type}.${a.UnitAction.InsertRow}_${e}`}},Gc=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`subType`,a.UnitAction.ManageCollaborator),this.unitId=e,this.id=`${this.type}.${a.UnitAction.ManageCollaborator}_${e}`}},Kc=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`subType`,a.UnitAction.MoveSheet),this.unitId=e,this.id=`${this.type}.${a.UnitAction.MoveSheet}_${e}`}},qc=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`subType`,a.UnitAction.Print),this.unitId=e,this.id=`${this.type}.${a.UnitAction.Print}_${e}`}},Jc=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`subType`,a.UnitAction.RecoverHistory),this.unitId=e,this.id=`${this.type}.${a.UnitAction.RecoverHistory}_${e}`}},Yc=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`subType`,a.UnitAction.RenameSheet),this.unitId=e,this.id=`${this.type}.${a.UnitAction.RenameSheet}_${e}`}},Xc=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`subType`,a.UnitAction.Share),this.unitId=e,this.id=`${this.type}.${a.UnitAction.Share}_${e}`}},Zc=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`subType`,a.UnitAction.View),this.unitId=e,this.id=`${this.type}.${a.UnitAction.View}_${e}`}},Qc=class{constructor(e){this.unitId=e,w(this,`id`,void 0),w(this,`value`,!0),w(this,`type`,a.UnitObject.Workbook),w(this,`status`,t.PermissionStatus.INIT),w(this,`subType`,a.UnitAction.ViewHistory),this.unitId=e,this.id=`${this.type}.${a.UnitAction.ViewHistory}_${e}`}},$c=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.Copy),this.id=`${this.type}.${a.UnitAction.Copy}_${e}_${n}`}},el=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.DeleteColumn),this.id=`${this.type}.${a.UnitAction.DeleteColumn}_${e}_${n}`}},tl=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.Delete),this.id=`${this.type}.${a.UnitAction.Delete}_${e}_${n}`}},nl=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.DeleteRow),this.id=`${this.type}.${a.UnitAction.DeleteRow}_${e}_${n}`}},Q=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.Edit),this.id=`${this.type}.${a.UnitAction.Edit}_${e}_${n}`}},rl=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.EditExtraObject),this.id=`${this.type}.${a.UnitAction.EditExtraObject}_${e}_${n}`}},il=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.Filter),this.id=`${this.type}.${a.UnitAction.Filter}_${e}_${n}`}},al=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.InsertColumn),this.id=`${this.type}.${a.UnitAction.InsertColumn}_${e}_${n}`}},ol=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.InsertHyperlink),this.id=`${this.type}.${a.UnitAction.InsertHyperlink}_${e}_${n}`}},sl=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.InsertRow),this.id=`${this.type}.${a.UnitAction.InsertRow}_${e}_${n}`}},cl=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.ManageCollaborator),this.id=`${this.type}.${a.UnitAction.ManageCollaborator}_${e}_${n}`}},ll=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.PivotTable),this.id=`${this.type}.${a.UnitAction.PivotTable}_${e}_${n}`}},ul=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.SelectProtectedCells),this.id=`${this.type}.${a.UnitAction.SelectProtectedCells}_${e}_${n}`}},dl=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.SelectUnProtectedCells),this.id=`${this.type}.${a.UnitAction.SelectUnProtectedCells}_${e}_${n}`}},fl=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.SetCellStyle),this.id=`${this.type}.${a.UnitAction.SetCellStyle}_${e}_${n}`}},pl=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.SetCellValue),this.id=`${this.type}.${a.UnitAction.SetCellValue}_${e}_${n}`}},ml=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.SetColumnStyle),this.id=`${this.type}.${a.UnitAction.SetColumnStyle}_${e}_${n}`}},hl=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.SetRowStyle),this.id=`${this.type}.${a.UnitAction.SetRowStyle}_${e}_${n}`}},gl=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.Sort),this.id=`${this.type}.${a.UnitAction.Sort}_${e}_${n}`}},_l=class{constructor(e,n){this.unitId=e,this.subUnitId=n,w(this,`value`,!0),w(this,`type`,a.UnitObject.Worksheet),w(this,`status`,t.PermissionStatus.INIT),w(this,`id`,void 0),w(this,`subType`,a.UnitAction.View),this.id=`${this.type}.${a.UnitAction.View}_${e}_${n}`}};let vl=()=>[Z,qc,Mc,Zc,Nc,Vc,Gc,Ic,zc,Yc,Hc,Bc,Xc,Kc,Pc,Qc,Jc,Fc,Wc,Uc,Rc,Lc],yl=[a.UnitAction.Edit,a.UnitAction.Print,a.UnitAction.Comment,a.UnitAction.View,a.UnitAction.Copy,a.UnitAction.Export,a.UnitAction.ManageCollaborator,a.UnitAction.CreateSheet,a.UnitAction.DeleteSheet,a.UnitAction.RenameSheet,a.UnitAction.HideSheet,a.UnitAction.Duplicate,a.UnitAction.Share,a.UnitAction.MoveSheet,a.UnitAction.CopySheet,a.UnitAction.RecoverHistory,a.UnitAction.ViewHistory,a.UnitAction.CreatePermissionObject,a.UnitAction.InsertRow,a.UnitAction.InsertColumn,a.UnitAction.DeleteRow,a.UnitAction.DeleteColumn],$=()=>[Q,_l,cl,tl],bl=()=>[$c,el,nl,rl,il,al,sl,ol,ll,fl,pl,ml,hl,gl],xl=[a.UnitAction.Copy,a.UnitAction.DeleteColumn,a.UnitAction.DeleteRow,a.UnitAction.EditExtraObject,a.UnitAction.Filter,a.UnitAction.InsertColumn,a.UnitAction.InsertRow,a.UnitAction.InsertHyperlink,a.UnitAction.PivotTable,a.UnitAction.SetCellStyle,a.UnitAction.SetCellValue,a.UnitAction.SetColumnStyle,a.UnitAction.SetRowStyle,a.UnitAction.Sort],Sl=class extends t.RxDisposable{constructor(e,t,n,r,i,a,o,s){super(),this._permissionService=e,this._univerInstanceService=t,this._injector=n,this._worksheetProtectionRuleModel=r,this._worksheetProtectionPointRuleModel=i,this._resourceManagerService=a,this._rangeProtectionRuleModel=o,this._logService=s,this._init(),this._initRuleChange(),this._initRuleSnapshot(),this._initPointSnapshot()}_init(){let e=e=>{let t=e.getUnitId(),n=e=>{let n=e.getSheetId();[...$(),...bl()].forEach(e=>{let r=new e(t,n);this._permissionService.addPermissionPoint(r)}),this._logService.debug(`[WorksheetPermissionService]`,`Initialization completed`,t,n)};e.getSheets().forEach(e=>{n(e)}),e.sheetCreated$.subscribe(e=>{n(e)}),e.sheetDisposed$.subscribe(e=>{let n=e.getSheetId();this._rangeProtectionRuleModel.getSubunitRuleList(t,n).forEach(e=>{[...X()].forEach(r=>{let i=new r(t,n,e.permissionId);this._permissionService.deletePermissionPoint(i.id)})}),[...$(),...bl()].forEach(e=>{let r=new e(t,n);this._permissionService.deletePermissionPoint(r.id)})})};this._univerInstanceService.getAllUnitsForType(t.UniverInstanceType.UNIVER_SHEET).forEach(t=>e(t)),this._univerInstanceService.getTypeOfUnitAdded$(t.UniverInstanceType.UNIVER_SHEET).pipe((0,o.takeUntil)(this.dispose$)).subscribe(t=>e(t.unit)),this._univerInstanceService.getTypeOfUnitDisposed$(t.UniverInstanceType.UNIVER_SHEET).pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{e.getSheets().forEach(t=>{let n=e.getUnitId(),r=t.getSheetId();$().forEach(e=>{let t=new e(n,r);this._permissionService.deletePermissionPoint(t.id)})})})}_initRuleChange(){this.disposeWithMe(this._worksheetProtectionRuleModel.ruleChange$.subscribe(e=>{switch(e.type){case`add`:break;case`delete`:$().forEach(t=>{let n=new t(e.unitId,e.subUnitId);this._permissionService.updatePermissionPoint(n.id,!0)});break;case`set`:$().forEach(t=>{let n=new t(e.unitId,e.subUnitId);this._permissionService.updatePermissionPoint(n.id,e.rule)});break}}))}_initRuleSnapshot(){this.disposeWithMe(this._resourceManagerService.registerPluginResource({toJson:()=>{let e=this._worksheetProtectionRuleModel.toObject();return JSON.stringify(e)},parseJson:e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}},pluginName:`SHEET_WORKSHEET_PROTECTION_PLUGIN`,businesses:[t.UniverInstanceType.UNIVER_SHEET],onLoad:(e,t)=>{this._worksheetProtectionRuleModel.fromObject(t),Object.keys(t).forEach(t=>{$().forEach(n=>{let r=new n(e,t);r.value=!1,this._permissionService.addPermissionPoint(r)})}),this._worksheetProtectionRuleModel.changeRuleInitState(!0)},onUnLoad:e=>{let t=this._univerInstanceService.getUnit(e);t&&(t.getSheets().forEach(t=>{let n=t.getSheetId();[...$(),...bl()].forEach(t=>{let r=new t(e,n);this._permissionService.deletePermissionPoint(r.id)})}),vl().forEach(t=>{let n=new t(e);this._permissionService.deletePermissionPoint(n.id)})),this._worksheetProtectionRuleModel.deleteUnitModel(e)}}))}_initPointSnapshot(){this.disposeWithMe(this._resourceManagerService.registerPluginResource({toJson:()=>{let e=this._worksheetProtectionPointRuleModel.toObject();return JSON.stringify(e)},parseJson:e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}},pluginName:`SHEET_WORKSHEET_PROTECTION_POINT_PLUGIN`,businesses:[t.UniverInstanceType.UNIVER_SHEET],onLoad:(e,t)=>{this._worksheetProtectionPointRuleModel.fromObject(t),Object.keys(t).forEach(t=>{bl().forEach(n=>{let r=new n(e,t);this._permissionService.addPermissionPoint(r)})})},onUnLoad:e=>{this._worksheetProtectionPointRuleModel.deleteUnitModel(e)}}))}};Sl=E([T(0,(0,t.Inject)(t.IPermissionService)),T(1,(0,t.Inject)(t.IUniverInstanceService)),T(2,(0,t.Inject)(t.Injector)),T(3,(0,t.Inject)(da)),T(4,(0,t.Inject)(Ec)),T(5,(0,t.Inject)(t.IResourceManagerService)),T(6,(0,t.Inject)(H)),T(7,(0,t.Inject)(t.ILogService))],Sl);let Cl={id:`sheet.mutation.set-worksheet-permission-points`,type:t.CommandType.MUTATION,handler:(e,t)=>{let{rule:n}=t;return e.get(Ec).addRule(n),!0}},wl={type:t.CommandType.COMMAND,id:`sheet.command.set-worksheet-permission-points`,async handler(e,n){if(!n)return!1;let r=e.get(t.ICommandService),{rule:i}=n;return r.executeCommand(Cl.id,{rule:i,unitId:i.unitId,subUnitId:i.subUnitId}),!0}},Tl={type:t.CommandType.COMMAND,id:`sheet.command.set-worksheet-protection`,async handler(e,n){if(!n)return!1;let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),{rule:a,permissionId:o,oldRule:s}=n,{unitId:c,subUnitId:l}=a,u={...a,permissionId:o};if(await r.executeCommand(Xs.id,{unitId:c,subUnitId:l,newRule:u})){let e=[{id:Xs.id,params:{unitId:c,subUnitId:l,newRule:u}}],t=[{id:Xs.id,params:{unitId:c,subUnitId:l,rule:s}}];i.pushUndoRedo({unitID:c,redoMutations:e,undoMutations:t})}return!0}},El=(e,n)=>{let r=e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId).getSheetBySheetId(n.subUnitId).getConfig().rightToLeft;return{...t.Tools.deepClone(n),rightToLeft:r}},Dl={id:`sheet.mutation.set-worksheet-right-to-left`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService).getUniverSheetInstance(n.unitId);if(!r)return!1;let i=r.getSheetBySheetId(n.subUnitId);if(!i)return!1;let a=i.getConfig();return a.rightToLeft=n.rightToLeft,!0}},Ol={type:t.CommandType.COMMAND,id:`sheet.command.set-worksheet-right-to-left`,handler:async(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),a=p(e.get(t.IUniverInstanceService),n);if(!a)return!1;let{unitId:o,subUnitId:s}=a,c=t.BooleanNumber.FALSE;if(n){var l;c=(l=n.rightToLeft)==null?t.BooleanNumber.FALSE:l}let u={rightToLeft:c,unitId:o,subUnitId:s},d=El(e,u);return r.syncExecuteCommand(Dl.id,u)?(i.pushUndoRedo({unitID:o,undoMutations:[{id:Dl.id,params:d}],redoMutations:[{id:Dl.id,params:u}]}),!0):!1}},kl={type:t.CommandType.COMMAND,id:`sheet.command.set-worksheet-row-count`,handler:(e,n)=>{let{unitId:r,subUnitId:i,rowCount:a}=n,o=e.get(t.ICommandService),s=e.get(t.IUndoRedoService);if(!p(e.get(t.IUniverInstanceService),n))return!1;let c={unitId:r,subUnitId:i,rowCount:a},l=Et(e,c);return o.syncExecuteCommand(Dt.id,c)?(s.pushUndoRedo({unitID:r,undoMutations:[{id:Dt.id,params:l}],redoMutations:[{id:Dt.id,params:c}]}),!0):!1}},Al={type:t.CommandType.COMMAND,id:`sheet.command.delta-row-height`,handler:async(e,n)=>{let r=e.get(U).getCurrentSelections(),i=e.get(A);if(!(r!=null&&r.length))return!1;let a=p(e.get(t.IUniverInstanceService));if(!a)return!1;let{worksheet:o,subUnitId:s,unitId:c}=a,{anchorRow:l,deltaY:u}=n,d=o.getRowHeight(l)+u,f=r.length===1&&r[0].range.rangeType===t.RANGE_TYPE.ALL,m=r.filter(e=>e.range.rangeType===t.RANGE_TYPE.ROW),h=f?t.RANGE_TYPE.ALL:m.some(({range:e})=>{let{startRow:t,endRow:n}=e;return t<=l&&l<=n})?t.RANGE_TYPE.ROW:t.RANGE_TYPE.NORMAL,g;if(h===t.RANGE_TYPE.ALL){let e=o.getColumnCount();g={subUnitId:s,unitId:c,rowHeight:d,ranges:Array(o.getRowCount()).fill(void 0).map((t,n)=>({startRow:n,endRow:n,startColumn:0,endColumn:e-1}))}}else g=h===t.RANGE_TYPE.ROW?{subUnitId:s,unitId:c,ranges:m.map(e=>t.Rectangle.clone(e.range)),rowHeight:d}:{subUnitId:s,unitId:c,rowHeight:d,ranges:[{startRow:l,endRow:l,startColumn:0,endColumn:o.getMaxColumns()-1}]};let _=Ot(g,o),v={unitId:c,subUnitId:s,ranges:g.ranges,autoHeightInfo:t.BooleanNumber.FALSE},y=kt(v,o),b=e.get(t.ICommandService),x=e.get(t.IUndoRedoService),S=i.onCommandExecute({id:Al.id,params:g}),C=(0,t.sequenceExecute)([{id:jt.id,params:g},{id:Mt.id,params:v}],b),w=(0,t.sequenceExecute)([...S.redos],b);if(C.result&&w.result){var T,E;let e=i.afterCommandExecute({id:Al.id,params:g});return(0,t.sequenceExecute)(e.redos,b),x.pushUndoRedo({unitID:c,undoMutations:[...(T=S.preUndos)==null?[]:T,{id:jt.id,params:_},{id:Mt.id,params:y},...S.undos,...e.undos],redoMutations:[...(E=S.preRedos)==null?[]:E,{id:jt.id,params:g},{id:Mt.id,params:v},...S.redos,...e.redos]}),!0}return!1}},jl={type:t.CommandType.COMMAND,id:`sheet.command.set-row-height`,handler:(e,n)=>{var r,i;let a=e.get(U),o=e.get(t.ICommandService),s=e.get(t.IUndoRedoService),c=e.get(t.IUniverInstanceService),l=e.get(A),u=!(n==null||(r=n.ranges)==null)&&r.length?n.ranges:(i=a.getCurrentSelections())==null?void 0:i.map(e=>e.range);if(!(u!=null&&u.length))return!1;let d=p(c,n);if(!d)return!1;let{unitId:f,subUnitId:m,worksheet:h}=d,g={subUnitId:m,unitId:f,ranges:u,rowHeight:n.value},_=Ot(g,h),v={unitId:f,subUnitId:m,ranges:g.ranges,autoHeightInfo:t.BooleanNumber.FALSE},y=kt(v,h),b=(0,t.sequenceExecute)([{id:jt.id,params:g},{id:Mt.id,params:v}],o),x=l.onCommandExecute({id:jl.id,params:g}),S=(0,t.sequenceExecute)([...x.redos],o);if(b.result&&S.result){var C,w;let e=l.afterCommandExecute({id:jl.id,params:g});return(0,t.sequenceExecute)(e.redos,o),s.pushUndoRedo({unitID:f,undoMutations:[...(C=x.preRedos)==null?[]:C,{id:jt.id,params:_},{id:Mt.id,params:y},...x.undos,...e.undos],redoMutations:[...(w=x.preRedos)==null?[]:w,{id:jt.id,params:g},{id:Mt.id,params:v},...x.redos,...e.redos]}),!0}return!1}},Ml={type:t.CommandType.COMMAND,id:`sheet.command.set-row-is-auto-height`,handler:(e,n)=>{var r,i;let a=e.get(t.ICommandService),o=e.get(t.IUndoRedoService),s=e.get(U),c=p(e.get(t.IUniverInstanceService),n);if(!c)return!1;let{unitId:l,subUnitId:u,worksheet:d}=c,f=!(n==null||(r=n.ranges)==null)&&r.length?n.ranges:(i=s.getCurrentSelections())==null?void 0:i.map(e=>e.range);if(!(f!=null&&f.length))return!1;let m={unitId:l,subUnitId:u,ranges:f,autoHeightInfo:t.BooleanNumber.TRUE},h=kt(m,d),g=a.syncExecuteCommand(Mt.id,m),_=e.get(In).getSkeleton(l,u),{suitableRanges:v,remainingRanges:y}=Rn(m.ranges,_),b=e.get(A),{undos:x,redos:S}=b.generateMutationsOfAutoHeight({unitId:l,subUnitId:u,ranges:v,autoHeightRanges:v,lazyAutoHeightRanges:y}),{undos:C,redos:w}=b.onCommandExecute({id:Ml.id,params:m}),T=(0,t.sequenceExecute)([...w,...S],a);return g&&T.result?(o.pushUndoRedo({unitID:l,undoMutations:[{id:Mt.id,params:h},...C,...x],redoMutations:[{id:Mt.id,params:m},...w,...S]}),!0):!1}},Nl={type:t.CommandType.COMMAND,id:`sheet.command.set-worksheet-show`,handler:(e,n)=>{let r=p(e.get(t.IUniverInstanceService),n);if(!r)return!1;let{unitId:i,subUnitId:a,worksheet:o}=r;if(o.getConfig().hidden===t.BooleanNumber.FALSE)return!1;let s=e.get(t.ICommandService),c=e.get(t.IUndoRedoService),l={unitId:i,subUnitId:a,hidden:t.BooleanNumber.FALSE},u=_c(e,l),d=s.syncExecuteCommand(vc.id,l),f={unitId:i,subUnitId:a},m=s.syncExecuteCommand(Ft.id,f);return d&&m?(c.pushUndoRedo({unitID:i,undoMutations:[{id:vc.id,params:u}],redoMutations:[{id:vc.id,params:l}]}),!0):!1}},Pl={type:t.CommandType.COMMAND,id:`sheet.command.split-text-to-columns`,handler:(e,n)=>{let r=p(e.get(t.IUniverInstanceService),n);if(!r)return!1;let{unitId:i,subUnitId:a,worksheet:o}=r,{range:s,delimiter:c,customDelimiter:l,treatMultipleDelimitersAsOne:u}=n,{lastRow:d,rs:f,maxLength:m}=pn(o,s,c,l,u),h=o.getColumnCount(),{startColumn:g}=t.Range.transformRange(s,o);if(s.startColumn!==s.endColumn)return!1;let _=e.get(t.ICommandService),v=e.get(t.IUndoRedoService),y=[],b=[],x=g+m+1-h;if(x>0){let t={unitId:i,subUnitId:a,range:{startRow:0,endRow:o.getRowCount()-1,startColumn:h-1,endColumn:h-1+x}};y.push({id:F.id,params:t});let n=Se(e,t);b.push({id:L.id,params:n})}let S={startRow:s.startRow,endRow:d,startColumn:g,endColumn:g+m},C=new t.ObjectMatrix;for(let e=S.startRow;e<=S.endRow;e++)for(let t=S.startColumn;t<=S.endColumn;t++){let n=f[e-S.startRow];t===0&&(n==null?void 0:n.length)===1?C.setValue(e,t,o.getCell(e,t)):C.setValue(e,t,{v:(n==null?void 0:n[t-S.startColumn])||null,p:null,f:null,si:null,custom:null})}let w={unitId:i,subUnitId:a,cellValue:C.clone()},T=B(e,w);return y.push({id:V.id,params:w}),b.unshift({id:V.id,params:T}),(0,t.sequenceExecute)(y,_).result?(v.pushUndoRedo({unitID:i,undoMutations:b,redoMutations:y}),!0):!1}},Fl=(0,t.createIdentifier)(`INumfmtService`),Il=(e,n)=>{let r=e.get(Fl),{values:i,unitId:a,subUnitId:o}=n,s=[],c=[];Object.keys(i).forEach(e=>{i[e].ranges.forEach(e=>{t.Range.foreach(e,(e,t)=>{let n=r.getValue(a,o,e,t);n?s.push({pattern:n.pattern,row:e,col:t}):c.push({startColumn:t,endColumn:t,startRow:e,endRow:e})})})});let l=[];if(s.length){let e=Bl(a,o,s);Object.keys(e.values).forEach(t=>{let n=e.values[t];n.ranges=rn(n.ranges)}),l.push({id:Ll.id,params:Bl(a,o,s)})}return c.length&&l.push({id:Rl.id,params:{unitId:a,subUnitId:o,ranges:c}}),l},Ll={id:`sheet.mutation.set.numfmt`,type:t.CommandType.MUTATION,handler:(e,t)=>{if(!t)return!1;let{values:n,refMap:r}=t,i=e.get(Fl),a=t.unitId,o=t.subUnitId,s=Object.keys(n).reduce((e,t)=>{let i=r[t],a=n[t].ranges;return i&&e.push({...i,ranges:a}),e},[]);return i.setValues(a,o,s),!0}},Rl={id:`sheet.mutation.remove.numfmt`,type:t.CommandType.MUTATION,handler:(e,t)=>{if(!t)return!1;let{unitId:n,subUnitId:r,ranges:i}=t;return e.get(Fl).deleteValues(n,r,i),!0}},zl=(e,n)=>{let r=e.get(Fl),{ranges:i,unitId:a,subUnitId:o}=n,s=[];if(i.forEach(e=>{t.Range.foreach(e,(e,t)=>{let n=r.getValue(a,o,e,t);n&&s.push({pattern:n.pattern,row:e,col:t})})}),!s.length)return[];let c=Bl(a,o,s);return Object.keys(c.values).forEach(e=>{let t=c.values[e];t.ranges=rn(t.ranges)}),[{id:Ll.id,params:c}]},Bl=(e,n,r)=>{let i=mn(r,`pattern`),a={},o={},s=hn();return Object.keys(i).forEach(e=>{let n=i[e],r=s();a[r]={pattern:e},n.forEach(e=>{o[r]||(o[r]={ranges:[]}),o[r].ranges.push((0,t.cellToRange)(e.row,e.col))})}),{unitId:e,subUnitId:n,refMap:a,values:o}},Vl={id:`sheet.command.text-to-number`,type:t.CommandType.COMMAND,handler:(e,n)=>{var r;let i=p(e.get(t.IUniverInstanceService),n);if(!i)return!1;let a=(n==null?void 0:n.ranges)||((r=e.get(U).getCurrentSelections())==null?void 0:r.map(e=>e.range));if(!(a!=null&&a.length))return!1;let o=e.get(t.ICommandService),s=e.get(t.IUndoRedoService),{worksheet:c,unitId:l,subUnitId:u}=i,d=new t.ObjectMatrix,f=[];for(let e=0;e<a.length;e++)for(let n=a[e].startRow;n<=a[e].endRow;n++)for(let r=a[e].startColumn;r<=a[e].endColumn;r++){var m,h;if(d.getValue(n,r))continue;let e=c.getCellRaw(n,r),i=typeof(e==null?void 0:e.s)==`string`?(m=c.getStyleDataByHash(e.s))==null||(m=m.n)==null?void 0:m.pattern:e==null||(h=e.s)==null||(h=h.n)==null?void 0:h.pattern;e&&e.v&&(e.t!==t.CellValueType.NUMBER||(0,t.isTextFormat)(i))&&(0,t.isRealNum)(e.v)&&(d.setValue(n,r,{v:Number(e.v),t:t.CellValueType.NUMBER}),(0,t.isTextFormat)(i)&&f.push({startRow:n,endRow:n,startColumn:r,endColumn:r}))}let g={subUnitId:u,unitId:l,cellValue:d.getMatrix()},_=[{id:V.id,params:g}],v=[{id:V.id,params:B(e,g)}];if(f.length){let t={unitId:l,subUnitId:u,ranges:f};_.push({id:Rl.id,params:t}),v.push(...zl(e,t))}return(0,t.sequenceExecute)(_,o).result?(s.pushUndoRedo({unitID:l,undoMutations:v,redoMutations:_}),!0):!1}},Hl={id:`sheet.command.toggle-cell-checkbox`,type:t.CommandType.COMMAND,handler:(e,n)=>{if(!n)return!1;let{unitId:r,subUnitId:i,row:a,col:o,paragraphIndex:s}=n,c=e.get(t.IUniverInstanceService).getUnit(r,t.UniverInstanceType.UNIVER_SHEET),l=c==null?void 0:c.getSheetBySheetId(i),u=e.get(t.IUndoRedoService),d=e.get(t.ICommandService);if(!l)return!1;let f=l.getCell(a,o);if(!(f!=null&&f.p))return!1;let p=t.Tools.deepClone(f.p),m=new t.DocumentDataModel(p),h=t.BuildTextUtils.paragraph.bullet.toggleChecklist({document:m,paragraphIndex:s});if(!h)return!1;t.TextX.apply(m.getBody(),h.serialize());let g={unitId:r,subUnitId:i,cellValue:{[a]:{[o]:{p,t:t.CellValueType.STRING}}}},_={id:V.id,params:g},v=B(e,g),y={id:V.id,params:v},b=[_],x=[y];return u.pushUndoRedo({redoMutations:b,undoMutations:x,unitID:r}),d.syncExecuteCommand(_.id,_.params)}},Ul={type:t.CommandType.COMMAND,id:`sheet.command.toggle-gridlines`,handler:(e,n)=>{let r=e.get(t.ICommandService),i=e.get(t.IUndoRedoService),a=p(e.get(t.IUniverInstanceService),n);if(!a)return!1;let{worksheet:o}=a,s=o.getConfig().showGridlines;if(s===(n==null?void 0:n.showGridlines))return!1;let{unitId:c,subUnitId:l}=a,u={showGridlines:s===t.BooleanNumber.TRUE?t.BooleanNumber.FALSE:t.BooleanNumber.TRUE,unitId:c,subUnitId:l},d={showGridlines:s,unitId:c,subUnitId:l};return r.syncExecuteCommand(Pt.id,u)?(i.pushUndoRedo({unitID:c,undoMutations:[{id:Pt.id,params:d}],redoMutations:[{id:Pt.id,params:u}]}),!0):!1}},Wl={id:`sheet.command.unregister-worksheet-range-theme-style`,type:t.CommandType.COMMAND,handler:(e,n)=>{var r;if(!n||!p(e.get(t.IUniverInstanceService),n))return!1;let i=e.get(t.ICommandService),a=e.get(t.IUndoRedoService),o=e.get(N),{unitId:s,themeName:c}=n,l={unitId:s,themeName:c},u={unitId:s,themeName:c,rangeThemeStyleJson:(r=o.getRangeThemeStyle(s,c))==null?void 0:r.toJson()};return i.syncExecuteCommand(_s.id,n)?(a.pushUndoRedo({unitID:s,undoMutations:[{id:_s.id,params:u}],redoMutations:[{id:vs.id,params:l}]}),!0):!1}},Gl={id:`sheet.mutation.add-range-theme`,type:t.CommandType.MUTATION,handler:(e,t)=>{if(!t)return!1;let{styleJSON:n,unitId:r}=t,i=e.get(N),a=new ne(n.name);return a.fromJson(n),i.registerRangeThemeStyle(r,a),!0}},Kl={id:`sheet.mutation.empty`,type:t.CommandType.MUTATION,handler:()=>!0},ql={id:`sheet.mutation.mark-dirty-filter-change`,type:t.CommandType.MUTATION,handler:()=>!0},Jl={id:`sheet.mutation.remove-range-theme`,type:t.CommandType.MUTATION,handler:(e,t)=>{if(!t)return!1;let{styleName:n,unitId:r}=t;return e.get(N).unregisterRangeThemeStyle(r,n),!0}},Yl={id:`sheet.mutation.set-range-theme`,type:t.CommandType.MUTATION,handler:(e,t)=>{if(!t)return!1;let{unitId:n,styleName:r,style:i}=t,a=e.get(N).getRangeThemeStyle(n,r);return a&&(i.headerRowStyle&&a.setHeaderRowStyle(i.headerRowStyle),i.firstRowStyle&&a.setFirstRowStyle(i.firstRowStyle),i.secondRowStyle&&a.setSecondRowStyle(i.secondRowStyle),i.lastRowStyle&&a.setLastRowStyle(i.lastRowStyle)),!0}},Xl={id:`sheet.operation.mark-dirty-row-auto-height`,type:t.CommandType.OPERATION,handler:()=>!0},Zl={id:`sheet.operation.cancel-mark-dirty-row-auto-height`,type:t.CommandType.OPERATION,handler:()=>!0},Ql={id:`sheet.operation.scroll-to-cell`,type:t.CommandType.OPERATION,handler:()=>!0},{getLenS:$l,getDataIndex:eu,fillCopy:tu,fillCopyStyles:nu,generateNullCellValueRowCol:ru}=ho,{otherRule:iu}=Po,au=class extends t.Disposable{constructor(e,t,n){super(),this._univerInstanceService=e,this._autoFillService=t,this._injector=n,w(this,`_beforeApplyData`,[]),w(this,`_copyData`,[]),this._init()}_init(){this._initDefaultHook()}quit(){this._beforeApplyData=[],this._copyData=[]}_initDefaultHook(){this.disposeWithMe(this._autoFillService.addHook({id:`default`,type:`DEFAULT`,priority:0,onBeforeFillData:(e,t)=>this._presetAndCacheData(e,t),onFillData:(e,t,n)=>this._fillData(e,t,n)}))}_presetAndCacheData(e,n){var r;let{unitId:i,subUnitId:a,target:o}=e,s=(r=this._univerInstanceService.getUnit(i))==null?void 0:r.getSheetBySheetId(a);if(!s)throw Error(`Worksheet not found for unitId: ${i}, subUnitId: ${a}`);let c=s.getCellMatrix(),l=[];return o.rows.forEach(e=>{let n=[];o.cols.forEach(r=>{n.push(t.Tools.deepClone(c.getValue(e,r)))}),l.push(n)}),this._beforeApplyData=l,this._copyData=this._getCopyData(e,n),this._shouldDisableSeries(this._copyData)?(this._autoFillService.setDisableApplyType(`SERIES`,!0),`COPY`):(this._autoFillService.setDisableApplyType(`SERIES`,!1),this._getPreferredApplyType(this._copyData))}_getApplyData(e,t,n,r,i,a=!0,o){let s=[],c=Math.floor(n/t),l=n%t,u=this._autoFillService.getRules();if(!a&&i===`ONLY_FORMAT`)return console.error(`ERROR: only format can not be applied when hasStyle is false`),[];let d={};u.forEach(e=>{d[e.type]=[]}),u.forEach(a=>{let{type:s,applyFunctions:u={}}=a,f=e[s];f&&f.forEach(a=>{let f=$l(a.index,l),p=a.index.length*c+f,m=this._applyFunctions(a,p,r,i,u,e,o),h=eu(t,n,a.index);d[s].push({data:m,index:h})})});for(let e=0;e<n;e++)u.forEach(t=>{let{type:n}=t,r=d[n];for(let t=0;t<r.length;t++)e in r[t].index&&s.push(r[t].data[r[t].index[e]])});return s}_applyFunctions(e,n,r,i,a,o,s){let{data:c}=e,l=r===t.Direction.UP||r===t.Direction.LEFT;if(i===`COPY`){let t=a==null?void 0:a.COPY;return t?t(e,n,r,o,s):(l&&c.reverse(),tu(c,n))}if(i===`SERIES`){let t=a==null?void 0:a.SERIES;return t?t(e,n,r,o):(l&&c.reverse(),a!=null&&a.COPY?a.COPY(e,n,r,o,s):tu(c,n))}if(i===`ONLY_FORMAT`){let t=a==null?void 0:a.ONLY_FORMAT;return t?t(e,n,r,o):nu(c,n)}}_getCopyData(e,n){var r;let{unitId:i,subUnitId:a,source:o}=e,s=(r=this._univerInstanceService.getUnit(i))==null?void 0:r.getSheetBySheetId(a);if(!s)throw Error(`No worksheet found`);let c=s.getCellMatrix(),l=this._autoFillService.getRules(),u=[],d=n===t.Direction.DOWN||n===t.Direction.UP,f,p;return d?(f=o.cols,p=o.rows):(f=o.rows,p=o.cols),f.forEach(e=>{let t=this._getEmptyCopyDataPiece(),n={type:void 0,cellData:void 0};p.forEach(r=>{let i;i=d?c.getValue(r,e):c.getValue(e,r);let{type:a,isContinue:o}=l.find(e=>e.match(i,this._injector))||iu;if(o(n,i)){let e=t[a],n=e[e.length-1];n.data.push(i),n.index.push(r-p[0])}else{let e=t[a];e?e.push({data:[i],index:[r-p[0]]}):t[a]=[{data:[i],index:[r-p[0]]}]}n.type=a,n.cellData=i}),u.push(t)}),u}_getEmptyCopyDataPiece(){let e={};return this._autoFillService.getRules().forEach(t=>{e[t.type]=[]}),e}_getMergeApplyData(e,n,r,i,a){var o;let{unitId:s,subUnitId:c}=a,l=(o=this._univerInstanceService.getUnit(s))==null?void 0:o.getSheetBySheetId(c);if(!l)throw Error(`No active sheet found`);let u=[];for(let a=e.startRow;a<=e.endRow;a++)for(let o=e.startColumn;o<=e.endColumn;o++){let{isMergedMainCell:e,startRow:s,startColumn:c,endRow:d,endColumn:f}=l.getCellInfoInMergeData(a,o);if(e){if(r===t.Direction.DOWN){let e=s+i,t=d+i;for(;t<=n.endRow;)u.push({startRow:e,startColumn:c,endRow:t,endColumn:f}),e+=i,t+=i}else if(r===t.Direction.UP){let e=s-i,t=d-i;for(;e>=n.startRow;)u.push({startRow:e,startColumn:c,endRow:t,endColumn:f}),e-=i,t-=i}else if(r===t.Direction.RIGHT){let e=c+i,t=f+i;for(;t<=n.endColumn;)u.push({startRow:s,startColumn:e,endRow:d,endColumn:t}),e+=i,t+=i}else if(r===t.Direction.LEFT){let e=c-i,t=f-i;for(;e>=n.startColumn;)u.push({startRow:s,startColumn:e,endRow:d,endColumn:t}),e-=i,t-=i}}}return u}_fillData(e,n,r){var i;let a=[],o=[],s=!0;r===`NO_FORMAT`&&(s=!1,r=`SERIES`);let{source:c,target:l,unitId:u,subUnitId:d}=e;if(!c||!l||n==null)return{undos:a,redos:o};let f=xn(c),p=xn(l),{cols:m,rows:_}=l,{cols:v,rows:y}=c,b=this._copyData,x;x=n===t.Direction.DOWN||n===t.Direction.UP?y.length:v.length;let S=[];if(n===t.Direction.DOWN||n===t.Direction.UP){let t=_.length,i=[];m.forEach((a,o)=>{let c=b[o],l=this._getApplyData(c,x,t,n,r,s,e);i.push(l)});for(let e=0;e<i[0].length;e++){let t=[];for(let n=0;n<i.length;n++)t.push({s:null,...i[n][e]});S.push(t)}}else{let t=m.length;_.forEach((i,a)=>{let o=b[a],c=this._getApplyData(o,x,t,n,r,s,e),l=[];for(let e=0;e<c.length;e++)l.push({s:null,...c[e]});S.push(l)})}let C=[],w=(i=this._univerInstanceService.getUnit(u))==null?void 0:i.getStyles();if(s?(C=this._getMergeApplyData(f,p,n,x,e),S.forEach(e=>{e.forEach(e=>{e&&w&&w&&(e.s=w.getStyleByCell(e))})})):S.forEach((e,t)=>{e.forEach((e,n)=>{e&&w&&(e.s=w.getStyleByCell(this._beforeApplyData[t][n])||null)})}),r===`ONLY_FORMAT`&&S.forEach((e,t)=>{e.forEach((e,n)=>{if(e){let r=this._beforeApplyData[t][n]||{};e.f=r.f,e.si=r.si,e.t=r.t,e.v=r.v}})}),s){var T;let e=[],n=(T=this._univerInstanceService.getUniverSheetInstance(u))==null||(T=T.getSheetBySheetId(d))==null?void 0:T.getMergeData();if(n&&n.forEach(n=>{t.Rectangle.intersects(n,p)&&e.push(n)}),e.length){let t={unitId:u,subUnitId:d,ranges:e},n=this._injector.invoke(R,t);o.push({id:z.id,params:t}),a.unshift({id:g.id,params:n})}}let E={subUnitId:d,unitId:u,cellValue:ru([l])},D=this._injector.invoke(B,E);o.push({id:V.id,params:E}),a.unshift({id:V.id,params:D});let O=new t.ObjectMatrix;_.forEach((e,t)=>{m.forEach((n,r)=>{S[t][r]&&O.setValue(e,n,S[t][r])})});let k=O.getMatrix(),A={subUnitId:d,unitId:u,cellValue:k},ee=this._injector.invoke(B,A);if(this._autoFillService.getActiveHooks().forEach(t=>{var i;(i=t.onBeforeSubmit)==null||i.call(t,e,n,r,k)}),a.unshift({id:V.id,params:ee}),o.push({id:V.id,params:A}),C!=null&&C.length){let e={unitId:u,subUnitId:d,ranges:Ki(C)},t=this._injector.invoke(h,e);a.unshift({id:z.id,params:t}),o.push({id:g.id,params:e})}return{undos:a,redos:o}}_shouldDisableSeries(e){return e.every(e=>Object.keys(e).every(t=>{var n;return((n=e[t])==null?void 0:n.length)===0||[`other`,`formula`].includes(t)}))}_getPreferredApplyType(e){return e.every(e=>Object.keys(e).every(t=>{var n,r;return((n=e[t])==null?void 0:n.length)===0||((r=e[t])==null?void 0:r.length)===1&&e[t][0].data.length===1&&t===`number`}))?`COPY`:`SERIES`}};au=E([T(0,t.IUniverInstanceService),T(1,Wo),T(2,(0,t.Inject)(t.Injector))],au);let ou=`maxCellsPerSheet`,su=class extends t.Disposable{constructor(e,t){super(),this._definedNamesService=e,this._resourceManagerService=t,this._initialize()}_initialize(){this._initSnapshot()}_initSnapshot(){let e=e=>{let t=this._definedNamesService.getDefinedNameMap(e);return t?JSON.stringify(t):``},n=e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}};this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:`SHEET_DEFINED_NAME_PLUGIN`,businesses:[t.UniverInstanceType.UNIVER_SHEET],toJson:t=>e(t),parseJson:e=>n(e),onUnLoad:e=>{this._definedNamesService.removeUnitDefinedName(e)},onLoad:(e,t)=>{this._definedNamesService.registerDefinedNames(e,t)}}))}};su=E([T(0,r.IDefinedNamesService),T(1,t.IResourceManagerService)],su);let cu=[Gs.id],lu=[P.id,F.id,I.id,L.id,Te.id,De.id],uu=class extends t.Disposable{constructor(e,n,r){var i,a;super(),this._univerInstanceService=e,this._commandService=n,this._configService=r,w(this,`_d`,new t.DisposableCollection),w(this,`_enabled`,!0);let o=(i=(a=this._configService.getConfig(`sheets.config`))==null?void 0:a.freezeSync)==null?!0:i;this.setEnabled(o)}getEnabled(){return this._enabled}setEnabled(e){e?this._d.dispose():this._initOnlyLocalListener(),this._enabled=e}_initOnlyLocalListener(){this._d.add(this._commandService.beforeCommandExecuted((e,t)=>{cu.includes(e.id)&&(t||(t={}),t.onlyLocal=!0)})),this._d.add(this._commandService.onCommandExecuted((e,t)=>{if(lu.includes(e.id)&&t!=null&&t.fromCollab){let{id:n,params:r}=e;n===P.id?this._handleInsertRowMutation(r,t):n===F.id?this._handleInsertColMutation(r,t):n===I.id?this._handleRemoveRowMutation(r,t):n===L.id?this._handleRemoveColMutation(r,t):n===Te.id?this._handleMoveRowsMutation(r,t):n===De.id&&this._handleMoveColsMutation(r,t)}}))}_handleInsertRowMutation(e,t){let{range:n,unitId:r,subUnitId:i}=e,a=this._getFreeze(r,i);if(a&&n.startRow<a.startRow){let e=n.endRow-n.startRow+1,o={...a,startRow:Math.max(1,a.startRow+e),ySplit:Math.max(1,a.ySplit+e)};this._sequenceExecute(r,i,o,t)}}_handleInsertColMutation(e,t){let{range:n,unitId:r,subUnitId:i}=e,a=this._getFreeze(r,i);if(a&&n.startColumn<a.startColumn){let e=n.endColumn-n.startColumn+1,o={...a,startColumn:Math.max(1,a.startColumn+e),xSplit:Math.max(1,a.xSplit+e)};this._sequenceExecute(r,i,o,t)}}_handleRemoveRowMutation(e,t){let{range:n,unitId:r,subUnitId:i}=e,a=this._getFreeze(r,i);if(a&&n.startRow<a.startRow){let e=Math.min(a.startRow,n.endRow+1)-n.startRow,o={...a,startRow:Math.max(1,a.startRow-e),ySplit:Math.max(1,a.ySplit-e)};this._sequenceExecute(r,i,o,t)}}_handleRemoveColMutation(e,t){let{range:n,unitId:r,subUnitId:i}=e,a=this._getFreeze(r,i);if(a&&n.startColumn<a.startColumn){let e=Math.min(a.startColumn,n.endColumn+1)-n.startColumn,o={...a,startColumn:Math.max(1,a.startColumn-e),xSplit:Math.max(1,a.xSplit-e)};this._sequenceExecute(r,i,o,t)}}_handleMoveRowsMutation(e,t){let{sourceRange:n,targetRange:r,unitId:i,subUnitId:a}=e,o=this._getFreeze(i,a);if(!o||o.startRow<=0||n.startRow>=o.startRow&&r.startRow>=o.startRow||n.endRow<o.startRow&&r.endRow<o.startRow)return;let s=n.endRow-n.startRow+1,c=Math.max(Math.min(o.startRow,n.endRow+1)-n.startRow,0),l={...o};r.startRow>=o.startRow?(l.startRow=Math.max(1,o.startRow-c),l.ySplit=Math.max(1,o.ySplit-c)):(l.startRow=o.startRow+s-c,l.ySplit=o.ySplit+s-c),this._sequenceExecute(i,a,l,t)}_handleMoveColsMutation(e,t){let{sourceRange:n,targetRange:r,unitId:i,subUnitId:a}=e,o=this._getFreeze(i,a);if(!o||o.startColumn<=0||n.startColumn>=o.startColumn&&r.startColumn>=o.startColumn||n.endColumn<o.startColumn&&r.endColumn<o.startColumn)return;let s=n.endColumn-n.startColumn+1,c=Math.max(Math.min(o.startColumn,n.endColumn+1)-n.startColumn,0),l={...o};r.startColumn>=o.startColumn?(l.startColumn=Math.max(1,o.startColumn-c),l.xSplit=Math.max(1,o.xSplit-c)):(l.startColumn=o.startColumn+s-c,l.xSplit=o.xSplit+s-c),this._sequenceExecute(i,a,l,t)}_getFreeze(e,n){let r=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET);if(!r)return null;let i=r.getSheetBySheetId(n);return i?i.getFreeze():null}_sequenceExecute(e,n,r,i){(0,t.sequenceExecute)([{id:Gs.id,params:{...r,unitId:e,subUnitId:n,resetScroll:!1}}],this._commandService,i)}};uu=E([T(0,(0,t.Inject)(t.IUniverInstanceService)),T(1,t.ICommandService),T(2,t.IConfigService)],uu);let du=class extends t.Disposable{constructor(e,r,i,a,o,s,c,l,u){super(),this._commandService=e,this._univerInstanceService=r,this._permissionService=i,this._selectionManagerService=a,this._rangeProtectionRuleModel=o,this._worksheetProtectionRuleModel=s,this._localeService=c,this._lexerTreeBuilder=l,this._definedNamesService=u,w(this,`disposableCollection`,new t.DisposableCollection),w(this,`_triggerPermissionUIEvent$`,new n.Subject),w(this,`triggerPermissionUIEvent$`,this._triggerPermissionUIEvent$.asObservable()),this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{this._getPermissionCheck(e)})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===xc.id){let t=p(this._univerInstanceService,e.params);if(!t)return;let{unitId:n,subUnitId:r}=t,i=this._worksheetProtectionRuleModel.getRule(n,r);i&&this._worksheetProtectionRuleModel.ruleRefresh(i.permissionId),this._rangeProtectionRuleModel.getSubunitRuleList(n,r).length&&this._rangeProtectionRuleModel.ruleRefresh(r)}}))}blockExecuteWithoutPermission(e){throw this._triggerPermissionUIEvent$.next(e),new t.CustomCommandExecutionError(`have no permission`)}_getPermissionCheck(e){let{id:n}=e,r=!0,i=``,a;switch(n){case or.id:a=e.params,(0,t.isICellData)(a.value)&&a.value.f?(r=this._permissionCheckWithFormula(a),i=this._localeService.t(`sheets.permission.dialog.formulaErr`)):(r=this._permissionCheckBySetRangeValue({workbookTypes:[Z],worksheetTypes:[pl,Q],rangeTypes:[Y]},a),i=this._localeService.t(`sheets.permission.dialog.editErr`));break;case q.id:a=e.params,r=this.permissionCheckWithRanges({workbookTypes:[Z],worksheetTypes:[fl,Q],rangeTypes:[Y]},a.range?[a.range]:void 0,a.unitId,a.subUnitId),i=this._localeService.t(`sheets.permission.dialog.setStyleErr`);break;case js.id:a=e.params,r=this.permissionCheckWithRanges({workbookTypes:[Z],worksheetTypes:[fl,Q],rangeTypes:[Y]},a==null?void 0:a.ranges,a==null?void 0:a.unitId,a==null?void 0:a.subUnitId),i=this._localeService.t(`sheets.permission.dialog.setStyleErr`);break;case Bn.id:a=e.params,r=this.permissionCheckWithRanges({workbookTypes:[Z],worksheetTypes:[pl,fl,Q],rangeTypes:[Y]},a==null?void 0:a.ranges,a==null?void 0:a.unitId,a==null?void 0:a.subUnitId),i=this._localeService.t(`sheets.permission.dialog.editErr`);break;case Zo.id:a=e.params,r=this.permissionCheckWithRanges({workbookTypes:[Z],worksheetTypes:[pl,Q],rangeTypes:[Y]},a==null?void 0:a.ranges,a==null?void 0:a.unitId,a==null?void 0:a.subUnitId),i=this._localeService.t(`sheets.permission.dialog.editErr`);break;case Vn.id:a=e.params,r=this.permissionCheckWithRanges({workbookTypes:[Z],worksheetTypes:[fl,Q],rangeTypes:[Y]},a==null?void 0:a.ranges,a==null?void 0:a.unitId,a==null?void 0:a.subUnitId),i=this._localeService.t(`sheets.permission.dialog.setStyleErr`);break;case fc.id:r=this.permissionCheckWithoutRange({worksheetTypes:[ml]}),i=this._localeService.t(`sheets.permission.dialog.setRowColStyleErr`);break;case pc.id:a=e.params,r=this.permissionCheckWithoutRange({worksheetTypes:[ml]},a.unitId,a.subUnitId),i=this._localeService.t(`sheets.permission.dialog.setRowColStyleErr`);break;case Al.id:r=this.permissionCheckWithoutRange({worksheetTypes:[hl]}),i=this._localeService.t(`sheets.permission.dialog.setRowColStyleErr`);break;case jl.id:case Ml.id:a=e.params,r=this.permissionCheckWithoutRange({worksheetTypes:[hl]},a.unitId,a.subUnitId),i=this._localeService.t(`sheets.permission.dialog.setRowColStyleErr`);break;case Gr.id:case qr.id:a=e.params,r=this._permissionCheckByMoveRowsColsCommand(a),i=this._localeService.t(`sheets.permission.dialog.moveRowColErr`);break;case tr.id:a=e.params,r=this._permissionCheckByMoveRangeCommand(a),i=this._localeService.t(`sheets.permission.dialog.moveRangeErr`);break;case xr.id:case Or.id:a=e.params,r=this._permissionCheckByInsertRowColCommand(a),i=this._localeService.t(`sheets.permission.dialog.insertRowColErr`);break;case Fr.id:a=e.params,r=this.permissionCheckWithRanges({workbookTypes:[Z,Rc],worksheetTypes:[Q,nl],rangeTypes:[Y]},[a.range],a.unitId,a.subUnitId),i=this._localeService.t(`sheets.permission.dialog.removeRowColErr`);break;case Rr.id:a=e.params,r=this.permissionCheckWithRanges({workbookTypes:[Z,Lc],worksheetTypes:[Q,el],rangeTypes:[Y]},[a.range],a.unitId,a.subUnitId),i=this._localeService.t(`sheets.permission.dialog.removeRowColErr`);break;case Tc.id:a=e.params,r=this._permissionCheckByWorksheetCommand([Z,Kc],a),i=this._localeService.t(`sheets.permission.dialog.operatorSheetErr`);break;case Sc.id:a=e.params,r=this._permissionCheckByWorksheetCommand([Z,Yc],a),i=this._localeService.t(`sheets.permission.dialog.operatorSheetErr`);break;case Nl.id:a=e.params,r=this._permissionCheckByWorksheetCommand([Z,Hc],a),i=this._localeService.t(`sheets.permission.dialog.operatorSheetErr`);break;case Ls.id:a=e.params,r=this.permissionCheckWithRanges({workbookTypes:[Z],worksheetTypes:[Q,ml],rangeTypes:[Y]},a.ranges,a.unitId,a.subUnitId),i=this._localeService.t(`sheets.permission.dialog.setRowColStyleErr`);break;case ec.id:a=e.params,r=this.permissionCheckWithRanges({workbookTypes:[Z],worksheetTypes:[Q,hl],rangeTypes:[Y]},a.ranges,a.unitId,a.subUnitId),i=this._localeService.t(`sheets.permission.dialog.setRowColStyleErr`);break;case Rs.id:r=this.permissionCheckWithRanges({workbookTypes:[Z],worksheetTypes:[Q,ml],rangeTypes:[Y]}),i=this._localeService.t(`sheets.permission.dialog.setRowColStyleErr`);break;case tc.id:r=this.permissionCheckWithRanges({workbookTypes:[Z],worksheetTypes:[Q,hl],rangeTypes:[Y]}),i=this._localeService.t(`sheets.permission.dialog.setRowColStyleErr`);break;case vr.id:a=e.params,r=this._permissionCheckWithInsertOrDeleteMoveRange(`right`,a),i=this._localeService.t(`sheets.permission.dialog.insertOrDeleteMoveRangeErr`);break;case gr.id:a=e.params,r=this._permissionCheckWithInsertOrDeleteMoveRange(`down`,a),i=this._localeService.t(`sheets.permission.dialog.insertOrDeleteMoveRangeErr`);break;case fr.id:a=e.params,r=this._permissionCheckWithInsertOrDeleteMoveRange(`left`,a),i=this._localeService.t(`sheets.permission.dialog.insertOrDeleteMoveRangeErr`);break;case mr.id:a=e.params,r=this._permissionCheckWithInsertOrDeleteMoveRange(`up`,a),i=this._localeService.t(`sheets.permission.dialog.insertOrDeleteMoveRangeErr`);break;case Go.id:a=e.params,r=this.permissionCheckWithRanges({workbookTypes:[Z],worksheetTypes:[pl,Q],rangeTypes:[Y]},[a.targetRange],a.unitId,a.subUnitId),i=this._localeService.t(`sheets.permission.dialog.autoFillErr`);break;case ms.id:case Us.id:case bs.id:a=e.params,r=!a.localSheetId||a.localSheetId===`AllDefaultWorkbook`?this.permissionCheckWithoutRange({workbookTypes:[Z]},a.unitId):this.permissionCheckWithoutRange({workbookTypes:[Z],worksheetTypes:[Q]},a.unitId,a.localSheetId),i=this._localeService.t(`sheets.permission.dialog.editErr`);break;default:break}r||this.blockExecuteWithoutPermission(i)}permissionCheckWithRanges(e,n,r,i){let a=p(this._univerInstanceService,{unitId:r,subUnitId:i});if(!a)return!1;let{unitId:o,subUnitId:s}=a,{workbookTypes:c,worksheetTypes:l,rangeTypes:u}=e;if(c&&c.some(e=>{var t;let n=new e(o);return((t=this._permissionService.getPermissionPoint(n.id))==null?void 0:t.value)===!1})||l&&l.some(e=>{var t;let n=new e(o,s);return((t=this._permissionService.getPermissionPoint(n.id))==null?void 0:t.value)===!1}))return!1;if(u&&u.length>0){var d;let e=n==null?(d=this._selectionManagerService.getCurrentSelections())==null?void 0:d.map(e=>e.range):n;if(!e)return!1;let r=this._rangeProtectionRuleModel.getSubunitRuleList(o,s);if(r.length===0)return!0;for(let n=0;n<r.length;n++){let i=r[n];if(e.some(e=>i.ranges.some(n=>t.Rectangle.intersects(n,e)))){let e=i.permissionId;if(u.some(t=>{var n;let r=new t(o,s,e);return((n=this._permissionService.getPermissionPoint(r.id))==null?void 0:n.value)===!1}))return!1}}}return!0}permissionCheckWithoutRange(e,t,n){let r=p(this._univerInstanceService,{unitId:t,subUnitId:n});if(!r)return!1;let{worksheet:i,unitId:a,subUnitId:o}=r,{workbookTypes:s,worksheetTypes:c,rangeTypes:l}=e;if(s&&s.some(e=>{var t;let n=new e(a);return((t=this._permissionService.getPermissionPoint(n.id))==null?void 0:t.value)===!1})||c&&c.some(e=>{var t;let n=new e(a,o);return((t=this._permissionService.getPermissionPoint(n.id))==null?void 0:t.value)===!1}))return!1;if(l&&l.length>0){var u,d,f;let e=(u=this._selectionManagerService.getCurrentLastSelection())==null?void 0:u.primary;if(!e)return!1;let{actualRow:t,actualColumn:n}=e,r=i.getCell(t,n),s=r==null||(d=r.selectionProtection)==null?void 0:d[0];if(!(s!=null&&s.ruleId))return!0;let c=(f=this._rangeProtectionRuleModel.getRule(a,o,s.ruleId))==null?void 0:f.permissionId;if(!c)return!0;if(l.some(e=>{var t;let n=new e(a,o,c);return((t=this._permissionService.getPermissionPoint(n.id))==null?void 0:t.value)===!1}))return!1}return!0}_permissionCheckWithFormula(e){let n=p(this._univerInstanceService,e);if(!n)return!1;let{workbook:i,unitId:o,subUnitId:s}=n,c=e.value.f;if(c){let e=c.substring(1),n=this._definedNamesService.getValueByName(o,e);if(n){let e=n.formulaOrRefString;e.startsWith(r.operatorToken.EQUALS)&&(e=e.slice(1));let t=e.split(`,`);for(let e=0;e<t.length;e++){let n=t[e],{sheetName:o,range:s}=(0,r.deserializeRangeWithSheet)(n);if(o){let e=i.getSheetBySheetName(o);if(!e)return!0;let{startRow:t,endRow:n,startColumn:r,endColumn:c}=s;for(let i=t;i<=n;i++)for(let t=r;t<=c;t++){var l;let n=e.getCell(i,t),r=n==null||(l=n.selectionProtection)==null?void 0:l[0];if((r==null?void 0:r[a.UnitAction.View])===!1)return!1}}}return!0}else{let e=this._lexerTreeBuilder.sequenceNodesBuilder(c);if(!e)return!0;for(let n=0;n<e.length;n++){let s=e[n];if(typeof s==`string`||s.nodeType!==r.sequenceNodeType.REFERENCE)continue;let{token:c}=s,{unitId:l,sheetName:d,range:f}=(0,r.deserializeRangeWithSheetWithCache)(c),p=i;if(l&&l!==o){let e=this._univerInstanceService.getUnit(l,t.UniverInstanceType.UNIVER_SHEET);if(!e)return!0;p=e}let m=d?p.getSheetBySheetName(d):p.getActiveSheet();if(!m)return!0;if(d){let e=this._permissionService.getPermissionPoint(new _l(p.getUnitId(),m.getSheetId()).id);if(!e||e.value===!1)return!1}let{startRow:h,endRow:g,startColumn:_,endColumn:v}=f;for(let e=h;e<=g;e++)for(let t=_;t<=v;t++){var u;let n=m.getCell(e,t),r=n==null||(u=n.selectionProtection)==null?void 0:u[0];if((r==null?void 0:r[a.UnitAction.View])===!1)return!1}}return!0}}let{range:d}=e;if(d){let e=this._rangeProtectionRuleModel.getSubunitRuleList(o,s);if(e.length===0)return!0;let n=e.filter(e=>e.ranges.some(e=>t.Rectangle.intersects(e,d))).map(e=>new Y(o,s,e.permissionId).id);return this._permissionService.composePermission(n).every(e=>e.value)}return!0}_permissionCheckBySetRangeValue(e,n){let{unitId:r,subUnitId:i,value:a,range:o}=n,s=[];return s=(t.Tools.isArray(a)||(0,t.isICellData)(a))&&o?[o]:[new t.ObjectMatrix(a).getStartEndScope()],this.permissionCheckWithRanges(e,s,r,i)}_permissionCheckByMoveRowsColsCommand(e){let t=p(this._univerInstanceService,e);if(!t)return!1;let{worksheet:n,unitId:r,subUnitId:i}=t,{fromRange:a,toRange:o}=e;if(!this.permissionCheckWithRanges({workbookTypes:[Z],worksheetTypes:[pl,Q],rangeTypes:[Y]},[a],r,i))return!1;let s={...o};return s.endRow===n.getRowCount()-1?s.endColumn=s.startColumn:s.endRow=s.startRow,this.permissionCheckWithRanges({workbookTypes:[Z],worksheetTypes:[pl,Q],rangeTypes:[Y]},[s],r,i)}_permissionCheckByMoveRangeCommand(e){let{fromUnitId:t,fromSubUnitId:n,fromRange:r,toUnitId:i,toSubUnitId:a,toRange:o}=e,s=p(this._univerInstanceService,{unitId:t,subUnitId:n});if(!s)return!1;let c=p(this._univerInstanceService,{unitId:i,subUnitId:a});return!c||!this.permissionCheckWithRanges({workbookTypes:[Z],worksheetTypes:[pl,Q],rangeTypes:[Y]},[r],s.unitId,s.subUnitId)?!1:this.permissionCheckWithRanges({workbookTypes:[Z],worksheetTypes:[pl,Q],rangeTypes:[Y]},[o],c.unitId,c.subUnitId)}_permissionCheckByInsertRowColCommand(e){let n=p(this._univerInstanceService,e);if(!n)return!1;let{worksheet:r,unitId:i,subUnitId:a}=n,{range:o,direction:s}=e,c={...o},l={workbookTypes:[Z],worksheetTypes:[Q],rangeTypes:[Y]};if(s===t.Direction.UP||s===t.Direction.DOWN){let e=s===t.Direction.UP?o.startRow:o.startRow-1;if(e<0||e>r.getRowCount()-1)return!1;c.startRow=e,c.endRow=e,l.workbookTypes.push(Wc),l.worksheetTypes.push(sl)}else if(s===t.Direction.LEFT||s===t.Direction.RIGHT){let e=s===t.Direction.LEFT?o.startColumn:o.startColumn-1;if(e<0||e>r.getColumnCount()-1)return!1;c.startColumn=e,c.endColumn=e,l.workbookTypes.push(Uc),l.worksheetTypes.push(al)}return this.permissionCheckWithRanges(l,[c],i,a)}_permissionCheckByWorksheetCommand(e,t){let n=p(this._univerInstanceService,t);if(!n)return this._worksheetProtectionRuleModel.resetOrder(),!1;let{unitId:r}=n;return e.some(e=>{var t;let n=new e(r);return((t=this._permissionService.getPermissionPoint(n.id))==null?void 0:t.value)===!1})?(this._worksheetProtectionRuleModel.resetOrder(),!1):!0}_permissionCheckWithInsertOrDeleteMoveRange(e,n){var r,i;let a=p(this._univerInstanceService);if(!a)return!1;let{worksheet:o,unitId:s,subUnitId:c}=a,l=(r=n==null?void 0:n.range)==null?(i=this._selectionManagerService.getCurrentLastSelection())==null?void 0:i.range:r;if(!l||!this.permissionCheckWithRanges({workbookTypes:[Z],worksheetTypes:[Q],rangeTypes:[Y]},[l],s,c))return!1;let u=this._rangeProtectionRuleModel.getSubunitRuleList(s,c);if(u.length===0)return!0;let d={...l};return e===`right`||e===`left`?d.endColumn=o.getColumnCount()-1:(e===`down`||e===`up`)&&(d.endRow=o.getRowCount()-1),!u.some(e=>e.ranges.some(e=>t.Rectangle.intersects(e,d)))}};du=E([T(0,t.ICommandService),T(1,t.IUniverInstanceService),T(2,t.IPermissionService),T(3,(0,t.Inject)(U)),T(4,(0,t.Inject)(H)),T(5,(0,t.Inject)(da)),T(6,(0,t.Inject)(t.LocaleService)),T(7,(0,t.Inject)(r.LexerTreeBuilder)),T(8,r.IDefinedNamesService)],du);let fu=class extends t.Disposable{constructor(e,t,r,i,a){super(),this._permissionService=e,this._univerInstanceService=t,this._rangeProtectionRuleModel=r,this._worksheetProtectionRuleModel=i,this._worksheetProtectionPointModel=a,w(this,`_unitPermissionInitStateChange`,new n.BehaviorSubject(!1)),w(this,`unitPermissionInitStateChange$`,this._unitPermissionInitStateChange.asObservable()),this._init()}_init(){let e=e=>{let t=e.getUnitId();vl().forEach(e=>{let n=new e(t);this._permissionService.addPermissionPoint(n)})};this._univerInstanceService.getAllUnitsForType(t.UniverInstanceType.UNIVER_SHEET).forEach(t=>e(t)),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitAdded$(t.UniverInstanceType.UNIVER_SHEET).subscribe(t=>e(t.unit))),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{let t=e.getUnitId();e.getSheets().forEach(e=>{let n=e.getSheetId();this._rangeProtectionRuleModel.getSubunitRuleList(t,n).forEach(e=>{[...X()].forEach(r=>{let i=new r(t,n,e.permissionId);this._permissionService.deletePermissionPoint(i.id)})}),[...$(),...bl()].forEach(e=>{let r=new e(t,n);this._permissionService.deletePermissionPoint(r.id)})}),vl().forEach(e=>{let n=new e(t);this._permissionService.deletePermissionPoint(n.id)}),this._rangeProtectionRuleModel.deleteUnitModel(t),this._worksheetProtectionPointModel.deleteUnitModel(t),this._worksheetProtectionRuleModel.deleteUnitModel(t)}))}changeUnitInitState(e){this._unitPermissionInitStateChange.next(e)}};fu=E([T(0,(0,t.Inject)(t.IPermissionService)),T(1,(0,t.Inject)(t.IUniverInstanceService)),T(2,(0,t.Inject)(H)),T(3,(0,t.Inject)(da)),T(4,(0,t.Inject)(Ec))],fu);let pu=class extends t.Disposable{constructor(e,t,n,r,i,a,o,s,c,l){super(),this._univerInstanceService=e,this._permissionService=t,this._authzIoService=n,this._rangeProtectionRuleModel=r,this._worksheetProtectionRuleModel=i,this._userManagerService=a,this._worksheetProtectionPointRuleModel=o,this._workbookPermissionService=s,this._undoRedoService=c,this._commandService=l}initPermission(){this._initRangePermissionFromSnapshot(),this._initRangePermissionChange(),this._initWorksheetPermissionFromSnapshot(),this._initWorksheetPermissionChange(),this._initWorksheetPermissionPointsChange(),this._initWorkbookPermissionFromSnapshot(),this._initUserChange(),this._refreshPermissionByCollaCreate()}refreshRangeProtectPermission(){this._initRangePermissionFromSnapshot()}async _initRangePermissionFromSnapshot(){let e=async e=>{let t=[],n=e.getUnitId(),r=e.getSheets(),i=new Map;if(r.forEach(e=>{let r=e.getSheetId();this._rangeProtectionRuleModel.getSubunitRuleList(n,r).forEach(e=>{i.set(e.permissionId,e),t.push({objectID:e.permissionId,unitID:n,objectType:a.UnitObject.SelectRange,actions:Ac})})}),!t.length){this._rangeProtectionRuleModel.changeRuleInitState(!0);return}this._authzIoService.batchAllowed(t).then(e=>{e.forEach(e=>{let t=i.get(e.objectID);if(t){if(!this._rangeProtectionRuleModel.getRule(n,t.subUnitId,t.id))return;X().forEach(r=>{let i=new r(n,t.subUnitId,e.objectID),a=i.subType,o=e.actions.find(e=>e.action===a);(o==null?void 0:o.allowed)!==void 0&&this._permissionService.updatePermissionPoint(i.id,o.allowed)})}}),this._rangeProtectionRuleModel.changeRuleInitState(!0)})};await Promise.all(this._univerInstanceService.getAllUnitsForType(t.UniverInstanceType.UNIVER_SHEET).map(t=>e(t))),this._rangeProtectionRuleModel.changeRuleInitState(!0)}_initRangePermissionChange(){this.disposeWithMe(this._rangeProtectionRuleModel.ruleChange$.subscribe(e=>{e.type===`delete`?this._rangeProtectionRuleModel.getSubunitRuleList(e.unitId,e.subUnitId).length===0&&(this._worksheetProtectionPointRuleModel.deleteRule(e.unitId,e.subUnitId),[...bl()].forEach(t=>{let n=new t(e.unitId,e.subUnitId);this._permissionService.updatePermissionPoint(n.id,n.value)})):this._authzIoService.allowed({objectID:e.rule.permissionId,unitID:e.unitId,objectType:a.UnitObject.SelectRange,actions:Ac}).then(t=>{this._rangeProtectionRuleModel.getRule(e.unitId,e.subUnitId,e.rule.id)&&(X().forEach(n=>{if(e.type===`set`){let{rule:t,oldRule:n}=e;if(t.permissionId===(n==null?void 0:n.permissionId))return}let r=e.rule,i=new n(r.unitId,r.subUnitId,r.permissionId),a=i.subType,o=t.find(e=>e.action===a);o&&this._permissionService.updatePermissionPoint(i.id,o.allowed)}),this._rangeProtectionRuleModel.ruleRefresh(e.rule.permissionId))})}))}async initWorkbookPermissionChange(e){var n;let r=e||((n=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET))==null?void 0:n.getUnitId());if(r)return this._authzIoService.allowed({objectID:r,objectType:a.UnitObject.Workbook,unitID:r,actions:yl}).then(e=>{vl().forEach(t=>{let n=new t(r),i=n.subType,a=e.find(e=>e.action===i);a&&this._permissionService.updatePermissionPoint(n.id,a.allowed)})})}async _initWorkbookPermissionFromSnapshot(){await Promise.all(this._univerInstanceService.getAllUnitsForType(t.UniverInstanceType.UNIVER_SHEET).map(e=>this.initWorkbookPermissionChange(e.getUnitId()))),this._workbookPermissionService.changeUnitInitState(!0)}_initWorksheetPermissionChange(){this.disposeWithMe(this._worksheetProtectionRuleModel.ruleChange$.subscribe(e=>{e.type===`delete`?([...$(),...bl()].forEach(t=>{let n=new t(e.unitId,e.subUnitId);this._permissionService.updatePermissionPoint(n.id,!0)}),this._worksheetProtectionPointRuleModel.deleteRule(e.unitId,e.subUnitId)):this._authzIoService.allowed({objectID:e.rule.permissionId,unitID:e.unitId,objectType:a.UnitObject.Worksheet,actions:Ac}).then(t=>{let n=this._worksheetProtectionRuleModel.getRule(e.unitId,e.subUnitId);!n||n.permissionId!==e.rule.permissionId||($().forEach(n=>{let r=new n(e.unitId,e.subUnitId),i=r.subType,a=t.find(e=>e.action===i);a&&this._permissionService.updatePermissionPoint(r.id,a.allowed)}),this._worksheetProtectionRuleModel.ruleRefresh(e.rule.permissionId))})}))}_initWorksheetPermissionPointsChange(){this.disposeWithMe(this._worksheetProtectionPointRuleModel.pointChange$.subscribe(e=>{this._authzIoService.allowed({objectID:e.permissionId,unitID:e.unitId,objectType:a.UnitObject.Worksheet,actions:xl}).then(t=>{let n=this._worksheetProtectionPointRuleModel.getRule(e.unitId,e.subUnitId);!n||n.permissionId!==e.permissionId||bl().forEach(n=>{let r=new n(e.unitId,e.subUnitId),i=r.subType,a=t.find(e=>e.action===i);a&&this._permissionService.updatePermissionPoint(r.id,a.allowed)})})}))}async _initWorksheetPermissionFromSnapshot(){let e=async e=>{let t=[],n=e.getUnitId(),r=e.getSheets(),i=new Map;if(r.forEach(e=>{let r=e.getSheetId(),o=this._worksheetProtectionRuleModel.getRule(n,r);o&&(i.set(o.permissionId,o),t.push({objectID:o.permissionId,unitID:n,objectType:a.UnitObject.Worksheet,actions:Ac}));let s=this._worksheetProtectionPointRuleModel.getRule(n,r);s&&(i.set(s.permissionId,s),t.push({objectID:s.permissionId,unitID:n,objectType:a.UnitObject.Worksheet,actions:xl}))}),!t.length){this._worksheetProtectionRuleModel.changeRuleInitState(!0);return}this._authzIoService.batchAllowed(t).then(e=>{e.forEach(e=>{let t=i.get(e.objectID);if(t){let r=this._worksheetProtectionRuleModel.getRule(n,t.subUnitId)||this._worksheetProtectionPointRuleModel.getRule(n,t.subUnitId);if(!r||r.permissionId!==e.objectID)return;[...$(),...bl()].forEach(r=>{let i=new r(n,t.subUnitId),a=i.subType,o=e.actions.find(e=>e.action===a);(o==null?void 0:o.allowed)!==void 0&&this._permissionService.updatePermissionPoint(i.id,o.allowed)})}}),this._worksheetProtectionRuleModel.changeRuleInitState(!0)})};await Promise.all(this._univerInstanceService.getAllUnitsForType(t.UniverInstanceType.UNIVER_SHEET).map(t=>e(t))),this._worksheetProtectionRuleModel.changeRuleInitState(!0)}_initUserChange(){this.disposeWithMe(this._userManagerService.currentUser$.pipe((0,n.skip)(1)).subscribe(()=>{let e=this._permissionService.getAllPermissionPoint();this._permissionService.clearPermissionMap(),this._worksheetProtectionRuleModel.changeRuleInitState(!1),this._univerInstanceService.getAllUnitsForType(t.UniverInstanceType.UNIVER_SHEET).forEach(t=>{let n=t.getUnitId();vl().forEach(t=>{let r=new t(n);e.has(r.id)&&(r=e.get(r.id)),this._permissionService.addPermissionPoint(r)}),t.getSheets().forEach(t=>{let r=t.getSheetId();[...$(),...bl()].forEach(t=>{let i=new t(n,r);e.has(i.id)&&(i=e.get(i.id)),this._permissionService.addPermissionPoint(i)}),this._rangeProtectionRuleModel.getSubunitRuleList(n,r).forEach(t=>{X().forEach(i=>{let a=new i(n,r,t.permissionId);e.has(a.id)&&(a=e.get(a.id)),this._permissionService.addPermissionPoint(a)})})}),this._initWorkbookPermissionFromSnapshot(),this._initWorksheetPermissionFromSnapshot(),this._initRangePermissionFromSnapshot()})}))}refreshPermission(e,t){let n=this._worksheetProtectionRuleModel.getTargetByPermissionId(e,t),r=!1;if(n){let[i,o]=n;this._authzIoService.allowed({objectID:t,unitID:e,objectType:a.UnitObject.Worksheet,actions:Ac}).then(n=>{if(!this._worksheetProtectionRuleModel.getTargetByPermissionId(e,t))return;let i=``;$().forEach(t=>{let a=new t(e,o),s=a.subType,c=n.find(e=>e.action===s);if(c){var l;((l=this._permissionService.getPermissionPoint(a.id))==null?void 0:l.value)!==c.allowed&&(r=!0),this._permissionService.updatePermissionPoint(a.id,c.allowed),i+=`${c.action}_${c.allowed}`}}),this._worksheetProtectionRuleModel.ruleRefresh(`${t}_${i}`),r&&this._undoRedoService.clearUndoRedo(e)})}let i=this._worksheetProtectionPointRuleModel.getTargetByPermissionId(e,t);if(i){let[n,o]=i;this._authzIoService.allowed({objectID:t,unitID:e,objectType:a.UnitObject.Worksheet,actions:xl}).then(n=>{this._worksheetProtectionPointRuleModel.getTargetByPermissionId(e,t)&&(bl().forEach(t=>{let i=new t(e,o),a=i.subType,s=n.find(e=>e.action===a);if(s){var c;((c=this._permissionService.getPermissionPoint(i.id))==null?void 0:c.value)!==s.allowed&&(r=!0),this._permissionService.updatePermissionPoint(i.id,s.allowed)}}),r&&this._undoRedoService.clearUndoRedo(e))})}let o=this._rangeProtectionRuleModel.getTargetByPermissionId(e,t);if(o){let[n,i]=o;this._authzIoService.allowed({objectID:t,unitID:e,objectType:a.UnitObject.SelectRange,actions:Ac}).then(n=>{if(!this._rangeProtectionRuleModel.getTargetByPermissionId(e,t))return;let a=``;X().forEach(o=>{let s=new o(e,i,t),c=s.subType,l=n.find(e=>e.action===c);if(l){var u;((u=this._permissionService.getPermissionPoint(s.id))==null?void 0:u.value)!==l.allowed&&(r=!0),this._permissionService.updatePermissionPoint(s.id,l.allowed),a+=`${l.action}_${l.allowed}`}}),this._rangeProtectionRuleModel.ruleRefresh(`${t}_${a}`),r&&this._undoRedoService.clearUndoRedo(e)})}}_refreshPermissionByCollaCreate(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{if(t!=null&&t.fromCollab&&(e.id===jn.id||e.id===fa.id||e.id===Cl.id)){let t=e.params;this._undoRedoService.clearUndoRedo(t.unitId)}}))}};pu=E([T(0,t.IUniverInstanceService),T(1,t.IPermissionService),T(2,t.IAuthzIoService),T(3,(0,t.Inject)(H)),T(4,(0,t.Inject)(da)),T(5,(0,t.Inject)(t.UserManagerService)),T(6,(0,t.Inject)(Ec)),T(7,(0,t.Inject)(fu)),T(8,(0,t.Inject)(t.IUndoRedoService)),T(9,(0,t.Inject)(t.ICommandService))],pu);let mu=class extends t.Disposable{constructor(e,t,r){super(),this._commandService=e,this._sheetRangeThemeModel=t,this._univerInstanceService=r,w(this,`_zebraCacheUpdateSubject`,new n.Subject),this._init()}_init(){this._initializeCommandListener(),this._initTriggerCacheUpdateListener()}updateZebraCrossingCache(e,t){this._zebraCacheUpdateSubject.next({unitId:e,subUnitId:t})}_initializeCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{let{id:t}=e,n,r;switch(t){case P.id:{let t=e.params;n=t.unitId,r=t.subUnitId}break;case _t.id:{let t=e.params;n=t.unitId,r=t.subUnitId}break;case yt.id:{let t=e.params;n=t.unitId,r=t.subUnitId}break;case I.id:{let t=e.params;n=t.unitId,r=t.subUnitId}break;case jt.id:{let t=e.params;n=t.unitId,r=t.subUnitId}break;default:break}n&&r&&(this._sheetRangeThemeModel.refreshSheetRowVisibleFuncSet(n,r),this._sheetRangeThemeModel.refreshZebraCrossingCacheBySheet(n,r))}))}_initTriggerCacheUpdateListener(){this.disposeWithMe(this._zebraCacheUpdateSubject.subscribe(({unitId:e,subUnitId:t})=>{this._sheetRangeThemeModel.refreshSheetRowVisibleFuncSet(e,t),this._sheetRangeThemeModel.refreshZebraCrossingCacheBySheet(e,t)}))}};mu=E([T(0,(0,t.Inject)(t.ICommandService)),T(1,(0,t.Inject)(N)),T(2,(0,t.Inject)(t.IUniverInstanceService))],mu);let hu=class{constructor(e,n){this._selectionProtectionRuleModel=e,this._permissionService=n,w(this,`_cache`,new t.LRUMap(1e4)),this._init()}_init(){this._permissionService.permissionPointUpdate$.pipe((0,o.filter)(e=>e.type===a.UnitObject.SelectRange),(0,o.filter)(e=>X().some(t=>e instanceof t)),(0,o.map)(e=>e)).subscribe(e=>{let n=this._selectionProtectionRuleModel.getSubunitRuleList(e.unitId,e.subUnitId);for(let r of n)r.permissionId===e.permissionId&&r.ranges.forEach(n=>{t.Range.foreach(n,(t,n)=>{let r=this._createKey(e.unitId,e.subUnitId,t,n);this._cache.delete(r)})})}),this._selectionProtectionRuleModel.ruleChange$.subscribe(e=>{if(e.rule.ranges.forEach(n=>{t.Range.foreach(n,(t,n)=>{let r=this._createKey(e.unitId,e.subUnitId,t,n);this._cache.delete(r)})}),e.type===`set`){var n;(n=e.oldRule)==null||n.ranges.forEach(n=>{t.Range.foreach(n,(t,n)=>{let r=this._createKey(e.unitId,e.subUnitId,t,n);this._cache.delete(r)})})}})}_createKey(e,t,n,r){return`${e}_${t}_${n}_${r}`}getCellInfo(e,t,n,r){let i=this._selectionProtectionRuleModel.getSubunitRuleList(e,t),a=[];if(!i||!i.length)return a;let o=this._createKey(e,t,n,r),s=this._cache.get(o);if(s)return s;let c=[];for(let a of i)if(a.ranges.some(e=>e.startRow<=n&&e.endRow>=n&&e.startColumn<=r&&e.endColumn>=r)){let n=X().reduce((n,r)=>{var i;let o=new r(e,t,a.permissionId),s=this._permissionService.getPermissionPoint(o.id);return n[o.subType]=(i=s==null?void 0:s.value)==null?o.value:i,n},{});c.push({...n,ruleId:a.id,ranges:a.ranges})}return this._cache.set(o,c),c}clear(){this._cache.clear()}};hu=E([T(0,(0,t.Inject)(H)),T(1,(0,t.Inject)(t.IPermissionService))],hu);let gu=class extends t.Disposable{constructor(e,t,n){super(),this._ruleModel=e,this._permissionService=t,this._univerInstanceService=n,w(this,`_cellRuleCache`,new Map),w(this,`_permissionIdCache`,new Map),w(this,`_cellInfoCache`,new Map),w(this,`_rowInfoCache`,new Map),w(this,`_colInfoCache`,new Map),this._initUpdateCellRuleCache(),this._initUpdateCellInfoCache(),this._initUpdateRowColInfoCache(),this._initCache()}_initCache(){this._univerInstanceService.getAllUnitsForType(t.UniverInstanceType.UNIVER_SHEET).forEach(e=>{e.getSheets().forEach(t=>{let n=e.getUnitId(),r=t.getSheetId();this.reBuildCache(n,r)})})}_initUpdateCellInfoCache(){this.disposeWithMe(this._permissionService.permissionPointUpdate$.pipe((0,n.filter)(e=>e.type===a.UnitObject.SelectRange),(0,n.map)(e=>e)).subscribe(e=>{let{subUnitId:t,unitId:n,permissionId:r}=e,i=this._permissionIdCache.get(r);if(!i)return;let a=this._ruleModel.getRule(n,t,i);if(!a)return;let o=this._ensureCellInfoMap(n,t);a.ranges.forEach(e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;for(let e=t;e<=n;e++)for(let t=r;t<=i;t++)o.delete(`${e}-${t}`)})})),this.disposeWithMe(this._ruleModel.ruleChange$.subscribe(e=>{let{unitId:n,subUnitId:r}=e,i=this._ensureCellInfoMap(n,r);if(e.rule.ranges.forEach(e=>{t.Range.foreach(e,(e,t)=>{i.delete(`${e}-${t}`)})}),e.type===`set`){var a;(a=e.oldRule)==null||a.ranges.forEach(e=>{t.Range.foreach(e,(e,t)=>{this._cellInfoCache.delete(`${e}-${t}`)})})}}))}_initUpdateCellRuleCache(){this.disposeWithMe(this._ruleModel.ruleChange$.subscribe(e=>{let{type:t}=e;t===`add`?this._addCellRuleCache(e):t===`delete`?this._deleteCellRuleCache(e):(this._deleteCellRuleCache({...e,rule:e.oldRule}),this._addCellRuleCache(e))}))}_ensureRuleMap(e,t){let n=this._cellRuleCache.get(e);n||(n=new Map,this._cellRuleCache.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}_ensureCellInfoMap(e,t){let n=this._cellInfoCache.get(e);n||(n=new Map,this._cellInfoCache.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}_ensureRowColInfoMap(e,t,n){let r=n===`row`?this._rowInfoCache.get(e):this._colInfoCache.get(e);r||(r=new Map,n===`row`?this._rowInfoCache.set(e,r):this._colInfoCache.set(e,r));let i=r.get(t);return i||(i=new Map,r.set(t,i)),i}_addCellRuleCache(e){let{subUnitId:t,unitId:n,rule:r}=e,i=this._ensureRuleMap(n,t);r.ranges.forEach(e=>{let{startRow:t,endRow:n,startColumn:a,endColumn:o}=e;for(let e=t;e<=n;e++)for(let t=a;t<=o;t++)i.set(`${e}-${t}`,r.id)}),this._permissionIdCache.set(r.permissionId,r.id)}_deleteCellRuleCache(e){let{subUnitId:t,unitId:n,rule:r}=e,i=this._ensureRuleMap(n,t),a=this._ensureCellInfoMap(n,t);r.ranges.forEach(e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:o}=e;for(let e=t;e<=n;e++)for(let t=r;t<=o;t++)i.delete(`${e}-${t}`),a.delete(`${e}-${t}`)}),this._permissionIdCache.delete(r.permissionId)}_getSelectionActions(e,t,n){var r,i,o,s,c,l,u,d,f,p,m,h;let g=(r=(i=this._permissionService.getPermissionPoint((o=new Y(e,t,n.permissionId))==null?void 0:o.id))==null?void 0:i.value)==null?!1:r,_=(s=(c=this._permissionService.getPermissionPoint((l=new kc(e,t,n.permissionId))==null?void 0:l.id))==null?void 0:c.value)==null?!1:s,v=(u=(d=this._permissionService.getPermissionPoint((f=new Oc(e,t,n.permissionId))==null?void 0:f.id))==null?void 0:d.value)==null?!1:u,y=(p=(m=this._permissionService.getPermissionPoint((h=new Dc(e,t,n.permissionId))==null?void 0:h.id))==null?void 0:m.value)==null?!1:p;return{[a.UnitAction.Edit]:g,[a.UnitAction.View]:_,[a.UnitAction.ManageCollaborator]:v,[a.UnitAction.Delete]:y}}reBuildCache(e,t){let n=this._ensureRuleMap(e,t),r=this._ensureCellInfoMap(e,t);n.clear(),r.clear();let i=this._ensureRowColInfoMap(e,t,`row`),a=this._ensureRowColInfoMap(e,t,`col`);i.clear(),a.clear(),this._ruleModel.getSubunitRuleList(e,t).forEach(o=>{let s=this._getSelectionActions(e,t,o),c={...s,ruleId:o.id,ranges:o.ranges};o.ranges.forEach(e=>{let{startRow:t,endRow:l,startColumn:u,endColumn:d}=e;for(let e=t;e<=l;e++){let t=i.get(`${e}`);t?t.set(o.id,s):i.set(`${e}`,new Map([[o.id,s]]));for(let t=u;t<=d;t++){n.set(`${e}-${t}`,o.id),r.set(`${e}-${t}`,c);let i=a.get(`${t}`);i?i.set(o.id,s):a.set(`${t}`,new Map([[o.id,s]]))}}}),this._permissionIdCache.set(o.permissionId,o.id)})}getRowPermissionInfo(e,t,n,r){var i;let a=(i=this._rowInfoCache.get(e))==null?void 0:i.get(t);if(!a)return!0;let o=a.get(`${n}`);return o?r.every(e=>{for(let t of o.values())if(t[e]===!1)return!1;return!0}):!0}getColPermissionInfo(e,t,n,r){var i;let a=(i=this._colInfoCache.get(e))==null?void 0:i.get(t);if(!a)return!0;let o=a.get(`${n}`);return o?r.every(e=>{for(let t of o.values())if(t[e]===!1)return!1;return!0}):!0}_initUpdateRowColInfoCache(){this.disposeWithMe(this._permissionService.permissionPointUpdate$.pipe((0,n.filter)(e=>e.type===a.UnitObject.SelectRange),(0,n.map)(e=>e)).subscribe({next:e=>{let{subUnitId:t,unitId:n,permissionId:r}=e,i=this._permissionIdCache.get(r);if(!i)return;let a=this._ruleModel.getRule(n,t,i);if(!a)return;let o=this._ensureRowColInfoMap(n,t,`row`),s=this._ensureRowColInfoMap(n,t,`col`),c=this._getSelectionActions(n,t,a);a.ranges.forEach(e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:a}=e;for(let e=t;e<=n;e++){let t=o.get(`${e}`);t?t.set(i,c):o.set(`${e}`,new Map([[i,c]]));for(let e=r;e<=a;e++){let t=s.get(`${e}`);t?t.set(i,c):s.set(`${e}`,new Map([[i,c]]))}}})}})),this.disposeWithMe(this._ruleModel.ruleChange$.subscribe(e=>{if(e.type===`delete`){let{unitId:t,subUnitId:n,rule:r}=e,i=this._ensureRowColInfoMap(t,n,`row`),a=this._ensureRowColInfoMap(t,n,`col`);r.ranges.forEach(e=>{let{startRow:t,endRow:n,startColumn:o,endColumn:s}=e;for(let e=t;e<=n;e++){let t=i.get(`${e}`);t==null||t.delete(r.id);for(let e=o;e<=s;e++){let t=a.get(`${e}`);t==null||t.delete(r.id)}}})}}))}getCellInfo(e,t,n,r){var i;let a=this._ensureCellInfoMap(e,t),o=a.get(`${n}-${r}`);if(o)return o;let s=(i=this._cellRuleCache.get(e))==null||(i=i.get(t))==null?void 0:i.get(`${n}-${r}`);if(!s)return;let c=this._ruleModel.getRule(e,t,s);if(c){let i={...this._getSelectionActions(e,t,c),ruleId:s,ranges:c.ranges};return a.set(`${n}-${r}`,i),i}}deleteUnit(e){this._cellRuleCache.delete(e),this._cellInfoCache.delete(e),this._rowInfoCache.delete(e),this._colInfoCache.delete(e);let t=this._univerInstanceService.getUnit(e);t==null||t.getSheets().forEach(t=>{let n=t.getSheetId();this._ruleModel.getSubunitRuleList(e,n).forEach(e=>{this._permissionIdCache.delete(e.permissionId)})})}};gu=E([T(0,(0,t.Inject)(H)),T(1,(0,t.Inject)(t.IPermissionService)),T(2,(0,t.Inject)(t.IUniverInstanceService))],gu);var _u=`@univerjs/sheets`,vu=`0.25.0`;let yu=class extends t.Disposable{constructor(e,t){super(),this._commandService=e,this._univerInstanceService=t,w(this,`_previousSheetIndex`,-1),this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===Vr.id)return this._beforeAdjustActiveSheetOnRemoveSheet(e)})),this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{if(e.id===Vr.id)return this._adjustActiveSheetOnRemoveSheet(e);if(e.id===vc.id&&e.params.hidden)return this._adjustActiveSheetOnHideSheet(e);if(t!=null&&t.fromCollab)return!1;if(e.id===is.id)return this._adjustActiveSheetOnInsertSheet(e);if(e.id===vc.id&&!e.params.hidden)return this._adjustActiveSheetOnShowSheet(e);if(e.id===G.id)return this._adjustActiveSheetOnSelection(e)}))}_adjustActiveSheetOnHideSheet(e){var t;let{unitId:n,subUnitId:r}=e.params,i=this._univerInstanceService.getUniverSheetInstance(n);if(!i||((t=i.getActiveSheet())==null?void 0:t.getSheetId())!==r)return;let a=bu(i,i.getActiveSheetIndex());this._switchToNextSheet(n,a)}_beforeAdjustActiveSheetOnRemoveSheet(e){let{unitId:t,subUnitId:n}=e.params,r=this._univerInstanceService.getUniverSheetInstance(t);if(!r)return;let i=r.getSheetBySheetId(n);i&&(this._previousSheetIndex=r.getSheetIndex(i))}_adjustActiveSheetOnRemoveSheet(e){if(this._previousSheetIndex===-1)return;let{unitId:t}=e.params,n=this._univerInstanceService.getUniverSheetInstance(t);if(n&&n.getActiveSheet().getSheetId()===e.params.subUnitId){let e=this._previousSheetIndex,r=bu(n,e>=1?e-1:0);this._switchToNextSheet(t,r)}}_adjustActiveSheetOnInsertSheet(e){let{unitId:t,sheet:n}=e.params;this._switchToNextSheet(t,n.id)}_adjustActiveSheetOnShowSheet(e){let{unitId:t,subUnitId:n}=e.params;this._switchToNextSheet(t,n)}_adjustActiveSheetOnSelection(e){var t;let{unitId:n,subUnitId:r}=e.params;r!==((t=this._univerInstanceService.getUnit(n))==null?void 0:t.getActiveSheet().getSheetId())&&this._switchToNextSheet(n,r)}_switchToNextSheet(e,t){this._commandService.executeCommand(Ft.id,{unitId:e,subUnitId:t})}};yu=E([T(0,t.ICommandService),T(1,t.IUniverInstanceService)],yu);function bu(e,t){let n=e.getSheetSize();for(let n=t;n>-1;n--){let t=e.getSheetByIndex(n);if(!t.getConfig().hidden)return t.getSheetId()}for(let r=t;r<n;r++){let t=e.getSheetByIndex(r);if(!t.getConfig().hidden)return t.getSheetId()}throw Error(`[ActiveWorksheetController]: could not find the next unhidden sheet! Collaboration error perhaps.`)}let xu=class extends t.Disposable{constructor(e,t,n){var r;super(),this._commandService=e,this._configService=t,this._dataSyncPrimaryController=n,[V,F,P,is,Ce,Te,De,L,I,Vr,z,Rl,g,lc,xc,Ll,je,Kl,yt,_t,Xl,Zl,ns,Dt,Ct,ql].forEach(e=>{var t;this._commandService.registerCommand(e),(t=this._dataSyncPrimaryController)==null||t.registerSyncingMutations(e)}),(r=this._configService.getConfig(`ONLY_REGISTER_FORMULA_RELATED_MUTATIONS_KEY`))!=null&&r||[aa,oa,sa,ca,ga,Bn,Zo,Vn,ls,fr,mr,fc,Al,Ar,kr,jr,Mr,Or,Dr,gr,vr,Cr,Sr,Tr,wr,xr,br,hs,qr,tr,Gr,Fr,zr,Rr,Ir,xs,Xr,$i,Oa,Ea,Da,Fs,Ps,js,Ms,Ns,zs,Le,ze,pc,Is,Fe,Ks,Gs,qs,Aa,Qs,or,jl,nc,$s,ht,Rs,tc,Ls,ec,q,cc,sc,Ta,Ma,ja,ka,uc,dc,Ft,yc,vc,Sc,Tc,wc,Nt,jt,Ml,Mt,xt,kl,hc,$n,G,Ql,ms,bs,Us,Nl,Ul,Pt,Js,Be,Vl,wl,fa,Xs,pa,Cl,Mn,Zs,ds,ma,fs,Tl,jn,kn,J,Hl,wt,gc,Pl,ye,_e,vs,_s,Wl,ys,ha,ps,Gl,Yl,Jl,Go,Jo,Yo,Xo,gs].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e))),this._configService.setConfig(ou,3e6)}};xu=E([T(0,t.ICommandService),T(1,t.IConfigService),T(2,(0,t.Optional)(s.DataSyncPrimaryController))],xu);let Su=class extends t.Disposable{constructor(e,t){super(),this._univerInstanceService=e,this._commandService=t,this._initialize()}_initialize(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id!==r.SetFormulaCalculationResultMutation.id)return;let{unitData:n}=e.params,i=Object.keys(n),a=[];for(let e=0;e<i.length;e++){let t=i[e],r=n[t];if(r==null)continue;let o=Object.keys(r);for(let e=0;e<o.length;e++){let n=o[e],i=r[n];if(i==null)continue;let s={subUnitId:n,unitId:t,cellValue:this._getMergedCellData(t,n,i)};a.push({id:V.id,params:s})}}return(0,t.sequenceExecute)(a,this._commandService,{onlyLocal:!0,fromFormula:!0,applyFormulaCalculationResult:!0})}))}_getMergedCellData(e,n,i){let a=this._univerInstanceService.getUniverSheetInstance(e),o=a==null?void 0:a.getStyles(),s=a==null?void 0:a.getSheetBySheetId(n),c=s==null?void 0:s.getCellMatrix(),l=new t.ObjectMatrix(i);return l.forValue((e,t,n)=>{let i=(0,r.handleNumfmtInCell)(c==null?void 0:c.getValue(e,t),n,o);l.setValue(e,t,i)}),l.getMatrix()}};Su=E([T(0,(0,t.Inject)(t.IUniverInstanceService)),T(1,t.ICommandService)],Su);let Cu=class extends t.Disposable{constructor(e){super(),this._sheetInterceptorService=e,this._initialize()}_initialize(){this._initInterceptorCellContent()}_initInterceptorCellContent(){this.disposeWithMe(this._sheetInterceptorService.intercept(_.CELL_CONTENT,{priority:11,effect:t.InterceptorEffectEnum.Value|t.InterceptorEffectEnum.Style,handler:(e,n,i)=>{var a;if(!e)return i(e);let o=n.workbook.getStyles().getStyleByCell(e);return(0,t.isDefaultFormat)(o==null||(a=o.n)==null?void 0:a.pattern)&&(e==null?void 0:e.t)===t.CellValueType.NUMBER&&e.v!==void 0&&e.v!==null&&(0,t.isRealNum)(e.v)?((!e||e===n.rawData)&&(e={...n.rawData}),e.v=(0,r.stripErrorMargin)(Number(e.v)),i(e)):i(e)}}))}};Cu=E([T(0,(0,t.Inject)(A))],Cu);let wu=class extends t.Disposable{constructor(e,t,n,r){super(),this._permissionService=e,this._worksheetProtectionRuleModel=t,this._sheetInterceptorService=n,this._rangeProtectionCache=r,this._initViewModelByRangeInterceptor(),this._initViewModelBySheetInterceptor()}_initViewModelByRangeInterceptor(){this.disposeWithMe(this._sheetInterceptorService.intercept(_.CELL_CONTENT,{priority:999,effect:t.InterceptorEffectEnum.Value|t.InterceptorEffectEnum.Style,handler:(e,t,n)=>{let{unitId:r,subUnitId:i,row:o,col:s}=t,c=this._rangeProtectionCache.getCellInfo(r,i,o,s);if(c){let r=c[a.UnitAction.View]===!1,i=!e||e===t.rawData?{...t.rawData}:e;return i.selectionProtection=[c],r?(delete i.s,delete i.v,delete i.p,i):n(i)}return n(e)}}))}_initViewModelBySheetInterceptor(){this.disposeWithMe(this._sheetInterceptorService.intercept(_.CELL_CONTENT,{priority:999,effect:t.InterceptorEffectEnum.Value|t.InterceptorEffectEnum.Style,handler:(e,t,n)=>{let{unitId:r,subUnitId:i}=t,o=this._worksheetProtectionRuleModel.getRule(r,i);if(o!=null&&o.permissionId){var s,c,l,u,d;let o=[{[a.UnitAction.View]:(s=(c=this._permissionService.getPermissionPoint(new _l(r,i).id))==null?void 0:c.value)==null?!1:s,[a.UnitAction.Edit]:(l=(u=this._permissionService.getPermissionPoint(new Q(r,i).id))==null?void 0:u.value)==null?!1:l}],f=!((d=o[0])!=null&&d[a.UnitAction.View]),p=!e||e===t.rawData?{...e}:e;return p.hasWorksheetRule=!0,p.selectionProtection=o,f?(delete p.s,delete p.v,delete p.p,p):n(p)}return n(e)}}))}};wu=E([T(0,t.IPermissionService),T(1,(0,t.Inject)(da)),T(2,(0,t.Inject)(A)),T(3,(0,t.Inject)(gu))],wu);let Tu=(0,t.createIdentifier)(`univer.exclusive-range.service`);var Eu=class extends t.Disposable{constructor(...e){super(...e),w(this,`_exclusiveRanges`,new Map),w(this,`_exclusiveRangesChange$`,new n.Subject),w(this,`exclusiveRangesChange$`,this._exclusiveRangesChange$.asObservable())}_ensureUnitMap(e){return this._exclusiveRanges.has(e)||this._exclusiveRanges.set(e,new Map),this._exclusiveRanges.get(e)}_ensureSubunitMap(e,t){let n=this._ensureUnitMap(e);return n.has(t)||n.set(t,new Map),n.get(t)}_ensureFeature(e,t,n){let r=this._ensureSubunitMap(e,t);return r.has(n)||r.set(n,[]),r.get(n)}addExclusiveRange(e,t,n,r){let i=this._ensureFeature(e,t,n);i.push(...r),this._exclusiveRangesChange$.next({unitId:e,subUnitId:t,ranges:i.map(e=>e.range)})}getExclusiveRanges(e,t,n){var r;return(r=this._exclusiveRanges.get(e))==null||(r=r.get(t))==null?void 0:r.get(n)}clearExclusiveRanges(e,t,n){let r=this.getExclusiveRanges(e,t,n);this._exclusiveRangesChange$.next({unitId:e,subUnitId:t,ranges:(r==null?void 0:r.map(e=>e.range))||[]}),this._ensureFeature(e,t,n),this._exclusiveRanges.get(e).get(t).set(n,[])}clearExclusiveRangesByGroupId(e,t,n,r){let i=this.getExclusiveRanges(e,t,n);this._exclusiveRangesChange$.next({unitId:e,subUnitId:t,ranges:(i==null?void 0:i.map(e=>e.range))||[]});let a=this.getExclusiveRanges(e,t,n);if(a){let i=a.filter(e=>e.groupId!==r);this._exclusiveRanges.get(e).get(t).set(n,i)}}getInterestGroupId(e){let n=[];return e.forEach(e=>{var r;let i=e.range,{unitId:a,sheetId:o}=i;if(!a||!o)return;let s=(r=this._exclusiveRanges.get(a))==null?void 0:r.get(o);if(s)for(let e of s.keys()){let r=s.get(e);if(r){for(let a of r)if(t.Rectangle.intersects(i,a.range)){n.push(e);break}}}}),n}};let Du=class extends t.Disposable{constructor(e,t,n){super(),this._resourceManagerService=e,this._univerInstanceService=t,this._logService=n}getValue(e,t,n,r){let i=this._univerInstanceService.getUniverSheetInstance(e);if(!i)return;let a=i==null?void 0:i.getSheetBySheetId(t);if(!a)return;let o=i.getStyles(),s=a.getCellRaw(n,r);if(s!=null&&s.s){let e=o.get(s.s);if(e!=null&&e.n)return e.n}return null}deleteValues(e,n,r){let i=this._univerInstanceService.getUniverSheetInstance(e);if(!i)return;let a=i==null?void 0:i.getSheetBySheetId(n);if(!a)return;let o=i.getStyles();r.forEach(e=>{t.Range.foreach(e,(e,t)=>{let n=a.getCellRaw(e,t);if(!n)return;let r=n==null?void 0:n.s,i={...r&&o.get(r)||{}};delete i.n,n.s=o.setValue(i)})})}setValues(e,n,r){let i=this._univerInstanceService.getUniverSheetInstance(e);if(!i)return;let a=i==null?void 0:i.getSheetBySheetId(n);if(!a)return;let o=i.getStyles(),s=a.getCellMatrix();r.forEach(e=>{e.ranges.forEach(n=>{t.Range.foreach(n,(t,n)=>{let r=a.getCellRaw(t,n);if(r){let t={...o.getStyleByCell(r)||{},n:{pattern:e.pattern}};r.s=o.setValue(t)}else{let r={n:{pattern:e.pattern}},i=o.setValue(r);i&&s.setValue(t,n,{s:i})}})})})}};Du=E([T(0,t.IResourceManagerService),T(1,t.IUniverInstanceService),T(2,t.ILogService)],Du);let Ou=[F.id,P.id,L.id,I.id],ku=[Te.id,De.id],Au=class extends t.Disposable{constructor(e,n,r,i,a,o,s,c){super(),this._selectionProtectionRuleModel=e,this._univerInstanceService=n,this._commandService=r,this._refRangeService=i,this._selectionProtectionRenderModel=a,this._rangeProtectionCache=o,this._sheetInterceptorService=s,this._rangeProtectionRuleModel=c,w(this,`disposableCollection`,new t.DisposableCollection),this._onRefRangeChange(),this._correctPermissionRange(),this._initReBuildCache(),this._initRemoveSheet()}_onRefRangeChange(){let e=(e,n)=>{let r=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!r||!(r!=null&&r.getSheetBySheetId(n)))return;this.disposableCollection.dispose();let i=t=>this.refRangeHandle(t,e,n);this._selectionProtectionRuleModel.getSubunitRuleList(e,n).reduce((e,t)=>[...e,...t.ranges],[]).forEach(t=>{this.disposableCollection.add(this._refRangeService.registerRefRange(t,i,e,n))})};this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===dc.id){let n=t.params,r=n.subUnitId,i=n.unitId;if(!r||!i)return;e(i,r)}if(t.id===J.id||t.id===jn.id){let n=t.params,r=n.subUnitId,i=n.unitId;if(!r||!i)return;e(i,r)}}));let n=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(n){let t=n.getActiveSheet();if(!t)return;e(n.getUnitId(),t.getSheetId())}}refRangeHandle(e,t,n){switch(e.id){case Gr.id:return this._getRefRangeMutationsByMoveRows(e.params,t,n);case qr.id:return this._getRefRangeMutationsByMoveCols(e.params,t,n);case br.id:return this._getRefRangeMutationsByInsertRows(e.params,t,n);case Dr.id:return this._getRefRangeMutationsByInsertCols(e.params,t,n);case zr.id:return this._getRefRangeMutationsByDeleteCols(e.params,t,n);case Ir.id:return this._getRefRangeMutationsByDeleteRows(e.params,t,n);default:break}return{redos:[],undos:[]}}_getRefRangeMutationsByDeleteCols(e,n,r){let i=this._selectionProtectionRuleModel.getSubunitRuleList(n,r).filter(n=>n.ranges.some(n=>t.Rectangle.intersects(n,e.range))),a=e.range;if(i.length){let e=[],o=[];return i.forEach(i=>{let s=t.Tools.deepClone(i);s.ranges=s.ranges.reduce((e,n)=>{if(t.Rectangle.intersects(n,a)){let r=t.Tools.deepClone(n),{startColumn:i,endColumn:o}=a;if(i<=r.startColumn&&o>=r.endColumn)return e;i>=r.startColumn&&o<=r.endColumn?r.endColumn-=o-i+1:i<r.startColumn?(r.startColumn=i,r.endColumn-=o-i+1):o>r.endColumn&&(r.endColumn=i-1),this._checkIsRightRange(r)&&e.push(r)}return e},[]),s.ranges.length?(e.push({id:J.id,params:{unitId:n,subUnitId:r,rule:s,ruleId:i.id}}),o.push({id:J.id,params:{unitId:n,subUnitId:r,rule:i,ruleId:i.id}})):(e.push({id:kn.id,params:{unitId:n,subUnitId:r,ruleIds:[i.id]}}),o.push({id:jn.id,params:{unitId:n,subUnitId:r,name:``,rules:[i]}}))}),{redos:e,undos:o}}return{undos:[],redos:[]}}_getRefRangeMutationsByDeleteRows(e,n,r){let i=this._selectionProtectionRuleModel.getSubunitRuleList(n,r).filter(n=>n.ranges.some(n=>t.Rectangle.intersects(n,e.range))),a=e.range;if(i.length){let e=[],o=[];return i.forEach(i=>{let s=t.Tools.deepClone(i);s.ranges=s.ranges.reduce((e,n)=>{if(t.Rectangle.intersects(n,a)){let r=t.Tools.deepClone(n),{startRow:i,endRow:o}=a;if(i<=r.startRow&&o>=r.endRow)return e;i>=r.startRow&&o<=r.endRow?r.endRow-=o-i+1:i<r.startRow?(r.startRow=i,r.endRow-=o-i+1):o>r.endRow&&(r.endRow=i-1),this._checkIsRightRange(r)&&e.push(r)}return e},[]),e.push({id:J.id,params:{unitId:n,subUnitId:r,rule:s,ruleId:i.id}}),o.push({id:J.id,params:{unitId:n,subUnitId:r,rule:i,ruleId:i.id}})}),{redos:e,undos:o}}return{undos:[],redos:[]}}_getRefRangeMutationsByInsertCols(e,n,r){let i=e.range.startColumn,a=e.range.endColumn-e.range.startColumn+1,o=this._selectionProtectionRuleModel.getSubunitRuleList(n,r).filter(e=>e.ranges.some(e=>i>e.startColumn&&i<=e.endColumn));if(o.length){let e=[],s=[];return o.forEach(o=>{let c=t.Tools.deepClone(o),l=!1;c.ranges.forEach(e=>{i>e.startColumn&&i<=e.endColumn&&(e.endColumn+=a,l=!0)}),l&&(e.push({id:J.id,params:{unitId:n,subUnitId:r,rule:c,ruleId:o.id}}),s.push({id:J.id,params:{unitId:n,subUnitId:r,rule:o,ruleId:o.id}}))}),{redos:e,undos:s}}return{undos:[],redos:[]}}_getRefRangeMutationsByInsertRows(e,n,r){let i=e.range.startRow,a=e.range.endRow-e.range.startRow+1,o=this._selectionProtectionRuleModel.getSubunitRuleList(n,r).filter(e=>e.ranges.some(e=>i>e.startRow&&i<=e.endRow));if(o.length){let e=[],s=[];return o.forEach(o=>{let c=t.Tools.deepClone(o),l=!1;c.ranges.forEach(e=>{i>e.startRow&&i<=e.endRow&&(e.endRow+=a,l=!0)}),l&&(e.push({id:J.id,params:{unitId:n,subUnitId:r,rule:c,ruleId:o.id}}),s.push({id:J.id,params:{unitId:n,subUnitId:r,rule:o,ruleId:o.id}}))}),{redos:e,undos:s}}return{undos:[],redos:[]}}_getRefRangeMutationsByMoveRows(e,n,r){let i=e.toRange,a=i.startRow,o=i.endRow-i.startRow+1,s=this._selectionProtectionRuleModel.getSubunitRuleList(n,r).filter(e=>e.ranges.some(e=>a>e.startRow&&a<=e.endRow));if(s.length){let i=[],c=[];return s.forEach(s=>{let l=t.Tools.deepClone(s),u=e.fromRange.startRow,d=!1;l.ranges.forEach(e=>{a>e.startRow&&a<=e.endRow&&(u<e.startRow&&(e.startRow-=o,e.endRow-=o),e.endRow+=o,d=!0)}),d&&(i.push({id:J.id,params:{unitId:n,subUnitId:r,rule:l,ruleId:s.id}}),c.push({id:J.id,params:{unitId:n,subUnitId:r,rule:s,ruleId:s.id}}))}),{redos:i,undos:c}}return{undos:[],redos:[]}}_getRefRangeMutationsByMoveCols(e,n,r){let i=e.toRange,a=i.startColumn,o=i.endColumn-i.startColumn+1,s=this._selectionProtectionRuleModel.getSubunitRuleList(n,r).filter(e=>e.ranges.some(e=>a>e.startColumn&&a<=e.endColumn));if(s.length){let i=[],c=[];return s.forEach(s=>{let l=t.Tools.deepClone(s),u=e.fromRange.startColumn,d=!1;l.ranges.forEach(e=>{a>e.startColumn&&a<=e.endColumn&&(u<e.startColumn&&(e.startColumn-=o,e.endColumn-=o),e.endColumn+=o,d=!0)}),d&&(i.push({id:J.id,params:{unitId:n,subUnitId:r,rule:l,ruleId:s.id}}),c.push({id:J.id,params:{unitId:n,subUnitId:r,rule:s,ruleId:s.id}}))}),{redos:i,undos:c}}return{undos:[],redos:[]}}_correctPermissionRange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(ku.includes(e.id)){if(!e.params)return;let n=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!n)return;let r=n.getSheetBySheetId(e.params.subUnitId);if(!r)return;let{sourceRange:i,targetRange:a}=e.params,o=i.startColumn===a.startColumn&&i.endColumn===a.endColumn,s=o?i.endRow-i.startRow+1:i.endColumn-i.startColumn+1,c=o?i.startRow:i.startColumn,l=o?a.startRow:a.startColumn;this._selectionProtectionRuleModel.getSubunitRuleList(n.getUnitId(),r.getSheetId()).forEach(e=>{e.ranges.forEach(e=>{let{startRow:n,endRow:r,startColumn:a,endColumn:u}=e;t.Rectangle.intersects(e,i)||(o?c<n&&l>r?(n-=s,r-=s):c>r&&l<=n&&(n+=s,r+=s):c<a&&l>u?(a-=s,u-=s):c>u&&l<=a&&(a+=s,u+=s)),this._checkIsRightRange({startRow:n,endRow:r,startColumn:a,endColumn:u})&&(e.startColumn=a,e.endColumn=u,e.startRow=n,e.endRow=r)})}),this.disposableCollection.dispose();let{unitId:u,subUnitId:d}=e.params,f=e=>this.refRangeHandle(e,u,d);this._selectionProtectionRuleModel.getSubunitRuleList(u,d).reduce((e,t)=>[...e,...t.ranges],[]).forEach(e=>{this.disposableCollection.add(this._refRangeService.registerRefRange(e,f,u,d))}),this._selectionProtectionRenderModel.clear()}if(Ou.includes(e.id)){let t=this._univerInstanceService.getUniverSheetInstance(e.params.unitId);if(!t)return;let n=t.getSheetBySheetId(e.params.subUnitId);if(!n)return;let r=e.params;if(!r)return;let{range:i}=r,a=e.id.includes(`row`),o=e.id.includes(`insert`),s=a?i.startRow:i.startColumn,c=a?i.endRow:i.endColumn,l=c-s+1;this._selectionProtectionRuleModel.getSubunitRuleList(t.getUnitId(),n.getSheetId()).forEach(e=>{e.ranges.forEach(e=>{let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;o?a?s<=t&&(t+=l,n+=l):s<=r&&(r+=l,i+=l):a?c<t&&(t-=l,n-=l):c<r&&(r-=l,i-=l),this._checkIsRightRange({startRow:t,endRow:n,startColumn:r,endColumn:i})&&(e.startColumn=r,e.endColumn=i,e.startRow=t,e.endRow=n)})}),this.disposableCollection.dispose();let{unitId:u,subUnitId:d}=e.params,f=e=>this.refRangeHandle(e,u,d);this._selectionProtectionRuleModel.getSubunitRuleList(u,d).reduce((e,t)=>[...e,...t.ranges],[]).forEach(e=>{this.disposableCollection.add(this._refRangeService.registerRefRange(e,f,u,d))}),this._selectionProtectionRenderModel.clear()}}))}_checkIsRightRange(e){return e.startRow<=e.endRow&&e.startColumn<=e.endColumn}_initReBuildCache(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(Ou.includes(e.id)||ku.includes(e.id)){let{unitId:t,subUnitId:n}=e.params;this._rangeProtectionCache.reBuildCache(t,n)}}))}_initRemoveSheet(){this._sheetInterceptorService.interceptCommand({getMutations:e=>{let t=[],n=[],r=[],i=[];if(e.id===xs.id){let n=e.params,i=[],a=[];this._rangeProtectionRuleModel.getSubunitRuleList(n.unitId,n.subUnitId).forEach(e=>{i.push(e.id),a.push(e)}),i.length&&a.length&&(r.push({id:kn.id,params:{unitId:n.unitId,subUnitId:n.subUnitId,ruleIds:i}}),t.push({id:jn.id,params:{unitId:n.unitId,subUnitId:n.subUnitId,name:``,rules:a}}))}return{redos:n,undos:t,preRedos:r,preUndos:i}}})}};Au=E([T(0,(0,t.Inject)(H)),T(1,(0,t.Inject)(t.IUniverInstanceService)),T(2,t.ICommandService),T(3,(0,t.Inject)(zi)),T(4,(0,t.Inject)(hu)),T(5,(0,t.Inject)(gu)),T(6,(0,t.Inject)(A)),T(7,(0,t.Inject)(H))],Au);let ju=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._selectionProtectionRuleModel=e,this._permissionService=t,this._resourceManagerService=n,this._selectionProtectionCache=r,this._univerInstanceService=i,this._initSnapshot(),this._initRuleChange()}_initRuleChange(){this.disposeWithMe(this._selectionProtectionRuleModel.ruleChange$.subscribe(e=>{switch(e.type){case`add`:X().forEach(t=>{let n=new t(e.unitId,e.subUnitId,e.rule.permissionId);this._permissionService.addPermissionPoint(n)});break;case`delete`:X().forEach(t=>{let n=new t(e.unitId,e.subUnitId,e.rule.permissionId);this._permissionService.deletePermissionPoint(n.id)});break;case`set`:e.oldRule.permissionId!==e.rule.permissionId&&X().forEach(t=>{let n=new t(e.unitId,e.subUnitId,e.oldRule.permissionId);this._permissionService.deletePermissionPoint(n.id);let r=new t(e.unitId,e.subUnitId,e.rule.permissionId);this._permissionService.addPermissionPoint(r)});break}}))}_initSnapshot(){this.disposeWithMe(this._resourceManagerService.registerPluginResource({toJson:e=>{let t=this._selectionProtectionRuleModel.toObject()[e];return t?JSON.stringify(t):``},parseJson:e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}},pluginName:`SHEET_RANGE_PROTECTION_PLUGIN`,businesses:[t.UniverInstanceType.UNIVER_SHEET],onLoad:(e,t)=>{let n=this._selectionProtectionRuleModel.toObject();n[e]=t,this._selectionProtectionRuleModel.fromObject(n);let r=[];Object.keys(t).forEach(n=>{let i=t[n];this._selectionProtectionRuleModel.getSubunitRuleList(e,n).forEach(t=>{r.push({objectID:t.permissionId,unitID:e,objectType:a.UnitObject.SelectRange,actions:Ac})}),i.forEach(t=>{X().forEach(r=>{let i=new r(e,n,t.permissionId);i.value=!1,this._permissionService.addPermissionPoint(i)})}),this._selectionProtectionCache.reBuildCache(e,n)})},onUnLoad:e=>{this._selectionProtectionCache.deleteUnit(e)}}))}};ju=E([T(0,(0,t.Inject)(H)),T(1,(0,t.Inject)(t.IPermissionService)),T(2,(0,t.Inject)(t.IResourceManagerService)),T(3,(0,t.Inject)(gu)),T(4,(0,t.Inject)(t.IUniverInstanceService))],ju);let Mu=class extends t.Disposable{constructor(e){super(),this._sheetRangeThemeModel=e}registerRangeTheme(e,t){this._sheetRangeThemeModel.registerRangeThemeStyle(e,t)}removeRangeThemeRule(e,t){this._sheetRangeThemeModel.removeRangeThemeRule(e,t)}getALLRegisterThemes(e){return this._sheetRangeThemeModel.getALLRegisteredTheme(e)}registerRangeThemeStyle(e,t){this._sheetRangeThemeModel.registerRangeThemeRule(e,t)}getAppliedRangeThemeStyle(e){return this._sheetRangeThemeModel.getRegisteredRangeThemeStyle(e)}getRegisteredRangeThemes(){return this._sheetRangeThemeModel.getRegisteredRangeThemes()}};Mu=E([T(0,(0,t.Inject)(N))],Mu);let Nu=class extends t.Plugin{constructor(e=es,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{...i}=(0,t.merge)({},es,this._config);this._configService.setConfig(Qo,i),this._initConfig(),this._initDependencies()}_initConfig(){var e,n,r;(e=this._config)!=null&&e.onlyRegisterFormulaRelatedMutations&&this._configService.setConfig(`ONLY_REGISTER_FORMULA_RELATED_MUTATIONS_KEY`,!0),(n=this._config)!=null&&n.isRowStylePrecedeColumnStyle&&this._configService.setConfig(t.IS_ROW_STYLE_PRECEDE_COLUMN_STYLE,!0),(r=this._config)!=null&&r.autoHeightForMergedCells&&this._configService.setConfig(t.AUTO_HEIGHT_FOR_MERGED_CELLS,!0)}_initDependencies(){var e;let n=[[Ss],[ts],[U],[zi],[fu],[Fl,{useClass:Du}],[A],[Mu],[In],[xu],[Ji],[Cu],[su],[mu],[uu],[Sl],[da],[Ec],[wu],[pu],[du],[N],[hu],[H],[gu],[Au],[ju],[Tu,{useClass:Eu,deps:[U]}],[Wo,{useClass:Uo}],[au]];(e=this._config)!=null&&e.notExecuteFormula||n.push([Su]),(0,t.registerDependencies)(this._injector,(0,t.mergeOverrideWithDependencies)(n,this._config.override)),(0,t.touchDependencies)(this._injector,[[A],[ju],[Tu],[pu],[uu]])}onStarting(){var e;(0,t.touchDependencies)(this._injector,[[xu],[Ji],[fu],[Sl],[wu],[In],[au]]),(e=this._config)!=null&&e.onlyRegisterFormulaRelatedMutations||this._injector.add([yu])}onRendered(){(0,t.touchDependencies)(this._injector,[[Fl]])}onReady(){(0,t.touchDependencies)(this._injector,[[yu],[Su],[su],[mu],[N],[Cu],[hu],[Au],[zi],[du]])}};w(Nu,`pluginName`,`SHEET_PLUGIN`),w(Nu,`packageName`,_u),w(Nu,`version`,vu),w(Nu,`type`,t.UniverInstanceType.UNIVER_SHEET),Nu=E([(0,t.DependentOn)(r.UniverFormulaEnginePlugin),T(1,(0,t.Inject)(t.Injector)),T(2,t.IConfigService)],Nu);let Pu={WorkbookCommentPermission:Mc,WorkbookCopyPermission:Nc,WorkbookCreateProtectPermission:Fc,WorkbookCreateSheetPermission:Ic,WorkbookDeleteSheetPermission:zc,WorkbookDuplicatePermission:Bc,WorkbookEditablePermission:Z,WorkbookExportPermission:Vc,WorkbookHideSheetPermission:Hc,WorkbookManageCollaboratorPermission:Gc,WorkbookMoveSheetPermission:Kc,WorkbookPrintPermission:qc,WorkbookRecoverHistoryPermission:Jc,WorkbookRenameSheetPermission:Yc,WorkbookSharePermission:Xc,WorkbookViewHistoryPermission:Qc,WorkbookViewPermission:Zc,WorksheetCopyPermission:$c,WorksheetDeleteColumnPermission:el,WorksheetDeleteProtectionPermission:tl,WorksheetDeleteRowPermission:nl,WorksheetEditExtraObjectPermission:rl,WorksheetEditPermission:Q,WorksheetFilterPermission:il,WorksheetInsertColumnPermission:al,WorksheetInsertHyperlinkPermission:ol,WorksheetInsertRowPermission:sl,WorksheetManageCollaboratorPermission:cl,WorksheetPivotTablePermission:ll,WorksheetSetCellStylePermission:fl,WorksheetSetCellValuePermission:pl,WorksheetSetColumnStylePermission:ml,WorksheetSetRowStylePermission:hl,WorksheetSortPermission:gl,WorksheetViewPermission:_l,RangeProtectionPermissionEditPoint:Y,RangeProtectionPermissionViewPoint:kc},Fu=(e,n,r,i)=>{let a=e.get(t.IPermissionService),o=e.get(H),s=a.getPermissionPoint(new Z(n).id);if(!(s!=null&&s.value))return!1;let c=a.getPermissionPoint(new Q(n,r).id);if(!(c!=null&&c.value))return!1;let l=o.getSubunitRuleList(n,r).filter(e=>e.ranges.some(e=>i.some(n=>t.Rectangle.intersects(e,n))));return l.length?l.every(e=>{let t=e.permissionId,i=a.getPermissionPoint(new Y(n,r,t).id);return!!(i!=null&&i.value)}):!0},Iu=(e,n,r,i=1,a=!0,o=!0)=>{let{startRow:s,endRow:c}=t.Range.transformRange(e,n),l=r.startRow-i,u=n.getMergedCell(l,r.startColumn),d=!u||u.startRow===l&&u.startColumn===r.startColumn;for(;!n.getRowVisible(l)||!d;)l--,u=n.getMergedCell(l,r.startColumn),d=!u||u.startRow===l&&u.startColumn===r.startColumn;if(l>=s)return{...r,startRow:l,endRow:l};if(o)return Ru(e,n,{...r,startRow:c,endRow:c},i,a,!1)},Lu=(e,n,r,i=1,a=!0,o=!0)=>{let{startRow:s,endRow:c}=t.Range.transformRange(e,n),l=r.endRow+i,u=n.getMergedCell(l,r.startColumn),d=!u||u.startRow===l&&u.startColumn===r.startColumn;for(;!n.getRowVisible(l)||!d;)l++,u=n.getMergedCell(l,r.startColumn),d=!u||u.startRow===l&&u.startColumn===r.startColumn;if(l<=c)return{...r,startRow:l,endRow:l};if(o)return zu(e,n,{...r,startRow:s,endRow:s},i,a,!1)},Ru=(e,n,r,i=1,a=!0,o=!0)=>{let{startColumn:s,endColumn:c}=t.Range.transformRange(e,n),l=r.startColumn-i,u=n.getMergedCell(r.startRow,l),d=!u||u.startRow===r.startRow&&u.startColumn===l;for(;!n.getColVisible(l)||!d;)l--,u=n.getMergedCell(r.startRow,l),d=!u||u.startRow===r.startRow&&u.startColumn===l;if(l>=s)return{...r,startColumn:l,endColumn:l};if(o)return Iu(e,n,{...r,startColumn:c,endColumn:c},i,a,!1)},zu=(e,n,r,i=1,a=!0,o=!0)=>{let{startColumn:s,endColumn:c}=t.Range.transformRange(e,n),l=r.endColumn+i,u=n.getMergedCell(r.startRow,l),d=!u||u.startRow===r.startRow&&u.startColumn===l;for(;!n.getColVisible(l)||!d;)l++,u=n.getMergedCell(r.startRow,l),d=!u||u.startRow===r.startRow&&u.startColumn===l;if(l<=c)return{...r,endColumn:l,startColumn:l};if(o)return Lu(e,n,{...r,startColumn:s,endColumn:s},i,a,!1)};function Bu(e,n,r){let i=null;return r.getMatrixWithMergedCells(e,n,e,n).forValue((e,n,r)=>(i={actualRow:e,actualColumn:n,startRow:e,startColumn:n,isMerged:r.rowSpan!==void 0||r.colSpan!==void 0,isMergedMainCell:r.rowSpan!==void 0&&r.colSpan!==void 0,endRow:e+(r.rowSpan===void 0?0:r.rowSpan-1),endColumn:n+(r.colSpan===void 0?0:r.colSpan-1),rangeType:t.RANGE_TYPE.NORMAL},!1)),i||{actualColumn:n,actualRow:e,startRow:e,startColumn:n,endRow:e,endColumn:n,isMerged:!1,isMergedMainCell:!1,rangeType:t.RANGE_TYPE.NORMAL}}let Vu=(e,n,r,i,a=1)=>{switch(i){case t.Direction.UP:return Iu(e,n,r,a);case t.Direction.DOWN:return Lu(e,n,r,a);case t.Direction.LEFT:return Ru(e,n,r,a);case t.Direction.RIGHT:return zu(e,n,r,a)}},Hu=(e,n,r)=>{let i,a=-1,o;for(let t=0;t<e.length;t++)if(e[t].primary){i=e[t],a=t,o=i.primary;break}if(a===-1)return null;let s=n===t.Direction.LEFT||n===t.Direction.UP,c=e[s?a-1>=0?a-1:e.length-1:a+1<e.length?a+1:0];if(!i||!o)return null;let l={...o},{startRow:u,startColumn:d,endRow:f,endColumn:p}=i.range,m=s?l.startRow===u&&l.startColumn===d:l.endRow===f&&l.endColumn===p,h=m&&s;if(!t.Rectangle.equals(i.range,l)){let e=m?c.range:Vu(i.range,r,l,n);if(!e)return null;let t=h?Bu(e.endRow,e.endColumn,r):Bu(e.startRow,e.startColumn,r);return{startRow:t.startRow,startColumn:t.startColumn,endRow:t.endRow,endColumn:t.endColumn}}let g=h?Bu(c.range.endRow,c.range.endColumn,r):Bu(c.range.startRow,c.range.startColumn,r);return{startRow:g.startRow,startColumn:g.startColumn,endRow:g.endRow,endColumn:g.endColumn}};function Uu(e,t){let{startRow:n,startColumn:r,endRow:i,endColumn:a,rangeType:o}=t,s=i<n?i:n,c=i<n?n:i,l=a<r?a:r,u=a<r?r:a,d=e.getNoMergeCellWithCoordByIndex(s,l),f=e.getNoMergeCellWithCoordByIndex(c,u);return{startRow:n,startColumn:r,endRow:i,endColumn:a,rangeType:o,startY:(d==null?void 0:d.startY)||0,endY:(f==null?void 0:f.endY)||0,startX:(d==null?void 0:d.startX)||0,endX:(f==null?void 0:f.endX)||0}}function Wu(e,t){let{range:n,primary:r,style:i}=e;return{rangeWithCoord:Uu(t,n),primaryWithCoord:r&&Gu(t,r),style:i}}function Gu(e,t){let{actualRow:n,actualColumn:r,isMerged:i,isMergedMainCell:a,startRow:o,startColumn:s,endRow:c,endColumn:l}=t,u=e.getNoMergeCellWithCoordByIndex(n,r),d=e.getNoMergeCellWithCoordByIndex(o,s),f=e.getNoMergeCellWithCoordByIndex(c,l);return{actualRow:n,actualColumn:r,isMerged:i,isMergedMainCell:a,startX:u.startX,startY:u.startY,endX:u.endX,endY:u.endY,mergeInfo:{startRow:o,startColumn:s,endRow:c,endColumn:l,startY:(d==null?void 0:d.startY)||0,endY:(f==null?void 0:f.endY)||0,startX:(d==null?void 0:d.startX)||0,endX:(f==null?void 0:f.endX)||0}}}function Ku(e,t,n,r){let{from:a,to:o}=n,{column:s,columnOffset:c,row:l,rowOffset:u}=a,{column:d,columnOffset:f,row:p,rowOffset:m}=o,h=Uu(r,{startColumn:s,endColumn:s,startRow:l,endRow:l}),g=Uu(r,{startColumn:d,endColumn:d,startRow:p,endRow:p}),{startX:_,startY:v}=h,{startX:y,startY:b}=g,x=(0,i.precisionTo)(_+c,1),S=(0,i.precisionTo)(v+u,1),C=(0,i.precisionTo)(y+f-x,1),w=(0,i.precisionTo)(b+m-S,1);return h.startX===g.endX&&(C=0),h.startY===g.endY&&(w=0),{unitId:e,subUnitId:t,left:x,top:S,width:C,height:w}}function qu(e,t,n,r,a,o){let{column:s,columnOffset:c,row:l,rowOffset:u}=n,{startX:d,startY:f}=Uu(o,{startColumn:s,endColumn:s,startRow:l,endRow:l}),p=(0,i.precisionTo)(d+c,1),m=(0,i.precisionTo)(f+u,1),h=o.getCellIndexAndOffsetByPosition(p+r,m+a);return{unitId:e,subUnitId:t,sheetTransform:{from:{column:s,columnOffset:c,row:l,rowOffset:u},to:h},transform:{left:p,top:m,width:r,height:a}}}e.AFFECT_LAYOUT_STYLES=_a,e.AFTER_CELL_EDIT=O,e.AUTO_FILL_APPLY_TYPE=go,e.AUTO_FILL_DATA_TYPE=_o,e.AUTO_FILL_HOOK_TYPE=vo,e.AddMergeRedoSelectionsOperationFactory=Zi,e.AddMergeUndoMutationFactory=h,e.AddMergeUndoSelectionsOperationFactory=Qi,e.AddRangeProtectionCommand=Mn,e.AddRangeProtectionMutation=jn,e.AddRangeThemeMutation=Gl,e.AddWorksheetMergeAllCommand=oa,e.AddWorksheetMergeCommand=aa,e.AddWorksheetMergeHorizontalCommand=ca,e.AddWorksheetMergeMutation=g,e.AddWorksheetMergeVerticalCommand=sa,e.AddWorksheetProtectionCommand=ma,e.AddWorksheetProtectionMutation=fa,e.AppendRowCommand=ga,e.AutoClearContentCommand=Xo,e.AutoFillCommand=Go,Object.defineProperty(e,"AutoFillController",{enumerable:!0,get:function(){return au}}),e.AutoFillRules=Po,Object.defineProperty(e,"AutoFillService",{enumerable:!0,get:function(){return Uo}}),e.AutoFillTools=ho,e.BEFORE_CELL_EDIT=D,e.BorderStyleManagerService=Ss,e.COMMAND_LISTENER_SKELETON_CHANGE=Rt,e.COMMAND_LISTENER_VALUE_CHANGE=zt,e.CancelFrozenCommand=qs,e.CancelMarkDirtyRowAutoHeightOperation=Zl,e.ClearSelectionAllCommand=Bn,e.ClearSelectionContentCommand=Zo,e.ClearSelectionFormatCommand=Vn,e.CopySheetCommand=ls,e.CopyWorksheetEndMutation=ns,e.DISABLE_NORMAL_SELECTIONS=`DISABLE_NORMAL_SELECTIONS`,Object.defineProperty(e,"DefinedNameDataController",{enumerable:!0,get:function(){return su}}),e.DeleteRangeMoveLeftCommand=fr,e.DeleteRangeMoveUpCommand=mr,e.DeleteRangeProtectionCommand=ds,e.DeleteRangeProtectionMutation=kn,e.DeleteWorksheetProtectionCommand=fs,e.DeleteWorksheetProtectionMutation=pa,e.DeleteWorksheetRangeThemeStyleCommand=ps,e.DeleteWorksheetRangeThemeStyleMutation=ye,e.DeleteWorksheetRangeThemeStyleMutationFactory=be,e.DeltaColumnWidthCommand=fc,e.DeltaRowHeightCommand=Al,e.EditStateEnum=Dn,e.EffectRefRangId=K,e.EmptyMutation=Kl,e.ExclusiveRangeService=Eu,e.FactoryAddRangeProtectionMutation=An,e.FactoryDeleteRangeProtectionMutation=On,e.FactorySetRangeProtectionMutation=Ys,e.IAutoFillService=Wo,e.IExclusiveRangeService=Tu,e.INTERCEPTOR_POINT=_,e.INumfmtService=Fl,e.IRefSelectionsService=Xn,e.InsertColAfterCommand=Ar,e.InsertColBeforeCommand=kr,e.InsertColByRangeCommand=Or,e.InsertColCommand=Dr,e.InsertColMutation=F,e.InsertColMutationUndoFactory=Se,e.InsertDefinedNameCommand=ms,e.InsertMultiColsLeftCommand=jr,e.InsertMultiColsRightCommand=Mr,e.InsertMultiRowsAboveCommand=wr,e.InsertMultiRowsAfterCommand=Tr,e.InsertRangeMoveDownCommand=gr,e.InsertRangeMoveRightCommand=vr,e.InsertRowAfterCommand=Cr,e.InsertRowBeforeCommand=Sr,e.InsertRowByRangeCommand=xr,e.InsertRowCommand=br,e.InsertRowMutation=P,e.InsertRowMutationUndoFactory=xe,e.InsertSheetCommand=hs,e.InsertSheetMutation=is,e.InsertSheetUndoMutationFactory=rs,e.InterceptCellContentPriority=v,e.MAX_CELL_PER_SHEET_KEY=ou,e.MERGE_CELL_INTERCEPTOR_CHECK=qi,e.MarkDirtyFilterChangeMutation=ql,e.MarkDirtyRowAutoHeightOperation=Xl,Object.defineProperty(e,"MergeCellController",{enumerable:!0,get:function(){return Ji}}),e.MoveColsCommand=qr,e.MoveColsMutation=De,e.MoveColsMutationUndoFactory=Ee,e.MoveRangeCommand=tr,e.MoveRangeMutation=Ce,e.MoveRowsCommand=Gr,e.MoveRowsMutation=Te,e.MoveRowsMutationUndoFactory=we,Object.defineProperty(e,"NumfmtService",{enumerable:!0,get:function(){return Du}}),e.OperatorType=Zr,e.PermissionPointsDefinitions=Pu,e.REF_SELECTIONS_ENABLED=Fn,e.RangeMergeUtil=an,Object.defineProperty(e,"RangeProtectionCache",{enumerable:!0,get:function(){return gu}}),e.RangeProtectionPermissionDeleteProtectionPoint=Dc,e.RangeProtectionPermissionEditPoint=Y,e.RangeProtectionPermissionManageCollaPoint=Oc,e.RangeProtectionPermissionViewPoint=kc,Object.defineProperty(e,"RangeProtectionRefRangeService",{enumerable:!0,get:function(){return Au}}),Object.defineProperty(e,"RangeProtectionRenderModel",{enumerable:!0,get:function(){return hu}}),e.RangeProtectionRuleModel=H,Object.defineProperty(e,"RangeProtectionService",{enumerable:!0,get:function(){return ju}}),e.RangeThemeStyle=ne,Object.defineProperty(e,"RefRangeService",{enumerable:!0,get:function(){return zi}}),Object.defineProperty(e,"RefSelectionsService",{enumerable:!0,get:function(){return Zn}}),e.RefillCommand=gs,e.RegisterWorksheetRangeThemeStyleCommand=ys,e.RegisterWorksheetRangeThemeStyleMutation=_s,e.RemoveColByRangeCommand=Rr,e.RemoveColCommand=zr,e.RemoveColMutation=L,e.RemoveDefinedNameCommand=bs,e.RemoveMergeUndoMutationFactory=R,e.RemoveNumfmtMutation=Rl,e.RemoveRangeThemeMutation=Jl,e.RemoveRowByRangeCommand=Fr,e.RemoveRowCommand=Ir,e.RemoveRowMutation=I,e.RemoveSheetCommand=xs,e.RemoveSheetMutation=Vr,e.RemoveSheetUndoMutationFactory=Br,e.RemoveWorksheetMergeCommand=$i,e.RemoveWorksheetMergeMutation=z,e.ReorderRangeCommand=Xr,e.ReorderRangeMutation=je,e.ReorderRangeUndoMutationFactory=Ae,e.ResetBackgroundColorCommand=Oa,e.ResetTextColorCommand=Ea,e.SCOPE_WORKBOOK_VALUE_DEFINED_NAME=`AllDefaultWorkbook`,e.SELECTIONS_ENABLED=`SELECTIONS_ENABLED`,e.SELECTION_CONTROL_BORDER_BUFFER_COLOR=`rgba(255, 255, 255, 0.01)`,e.SELECTION_CONTROL_BORDER_BUFFER_WIDTH=1.5,e.SHEETS_PLUGIN_CONFIG_KEY=Qo,e.ScrollToCellOperation=Ql,e.SelectRangeCommand=$n,e.SelectionMoveType=Nn,e.SetBackgroundColorCommand=Da,e.SetBoldCommand=va,e.SetBorderBasicCommand=Fs,e.SetBorderColorCommand=Ps,e.SetBorderCommand=js,e.SetBorderPositionCommand=Ms,e.SetBorderStyleCommand=Ns,e.SetColDataCommand=Is,e.SetColDataMutation=Fe,e.SetColDataMutationFactory=Pe,e.SetColHiddenCommand=zs,e.SetColHiddenMutation=Le,e.SetColVisibleMutation=ze,e.SetColWidthCommand=pc,e.SetDefinedNameCommand=Us,e.SetFontFamilyCommand=Ca,e.SetFontSizeCommand=wa,e.SetFrozenCommand=Ks,e.SetFrozenMutation=Gs,e.SetFrozenMutationFactory=Ws,e.SetGridlinesColorCommand=Js,e.SetGridlinesColorMutation=Be,e.SetHorizontalTextAlignCommand=Aa,e.SetItalicCommand=ya,e.SetNumfmtMutation=Ll,e.SetOverlineCommand=Sa,e.SetProtectionCommand=Zs,e.SetRangeCustomMetadataCommand=Qs,e.SetRangeProtectionMutation=J,e.SetRangeThemeMutation=Yl,e.SetRangeValuesCommand=or,e.SetRangeValuesMutation=V,e.SetRangeValuesUndoMutationFactory=B,e.SetRowDataCommand=$s,e.SetRowDataMutation=ht,e.SetRowDataMutationFactory=mt,e.SetRowHeightCommand=jl,e.SetRowHiddenCommand=nc,e.SetRowHiddenMutation=yt,e.SetRowVisibleMutation=_t,e.SetSelectedColsVisibleCommand=Rs,e.SetSelectedRowsVisibleCommand=tc,e.SetSelectionsOperation=G,e.SetSpecificColsVisibleCommand=Ls,e.SetSpecificRowsVisibleCommand=ec,e.SetStrikeThroughCommand=xa,e.SetStyleCommand=q,e.SetTabColorCommand=cc,e.SetTabColorMutation=sc,e.SetTextColorCommand=Ta,e.SetTextRotationCommand=Ma,e.SetTextWrapCommand=ja,e.SetUnderlineCommand=ba,e.SetVerticalTextAlignCommand=ka,e.SetWorkbookNameCommand=uc,e.SetWorkbookNameMutation=lc,e.SetWorksheetActivateCommand=dc,e.SetWorksheetActiveOperation=Ft,e.SetWorksheetColWidthMutation=xt,e.SetWorksheetColWidthMutationFactory=bt,e.SetWorksheetColumnCountCommand=hc,e.SetWorksheetColumnCountMutation=Ct,e.SetWorksheetColumnCountUndoMutationFactory=St,e.SetWorksheetDefaultStyleCommand=gc,e.SetWorksheetDefaultStyleMutation=wt,e.SetWorksheetDefaultStyleMutationFactory=Tt,e.SetWorksheetHideCommand=yc,e.SetWorksheetHideMutation=vc,e.SetWorksheetNameCommand=Sc,e.SetWorksheetNameMutation=xc,e.SetWorksheetOrderCommand=Tc,e.SetWorksheetOrderMutation=wc,e.SetWorksheetPermissionPointsCommand=wl,e.SetWorksheetPermissionPointsMutation=Cl,e.SetWorksheetProtectionCommand=Tl,e.SetWorksheetProtectionMutation=Xs,e.SetWorksheetRangeThemeStyleCommand=ha,e.SetWorksheetRangeThemeStyleMutation=_e,e.SetWorksheetRangeThemeStyleMutationFactory=ve,e.SetWorksheetRightToLeftCommand=Ol,e.SetWorksheetRightToLeftMutation=Dl,e.SetWorksheetRowAutoHeightMutation=Nt,e.SetWorksheetRowAutoHeightMutationFactory=At,e.SetWorksheetRowCountCommand=kl,e.SetWorksheetRowCountMutation=Dt,e.SetWorksheetRowCountUndoMutationFactory=Et,e.SetWorksheetRowHeightMutation=jt,e.SetWorksheetRowHeightMutationFactory=Ot,e.SetWorksheetRowIsAutoHeightCommand=Ml,e.SetWorksheetRowIsAutoHeightMutation=Mt,e.SetWorksheetRowIsAutoHeightMutationFactory=kt,e.SetWorksheetShowCommand=Nl,e.SheetCopyDownCommand=Jo,e.SheetCopyRightCommand=Yo,Object.defineProperty(e,"SheetInterceptorService",{enumerable:!0,get:function(){return A}}),Object.defineProperty(e,"SheetLazyExecuteScheduleService",{enumerable:!0,get:function(){return ts}}),Object.defineProperty(e,"SheetPermissionCheckController",{enumerable:!0,get:function(){return du}}),Object.defineProperty(e,"SheetPermissionInitController",{enumerable:!0,get:function(){return pu}}),Object.defineProperty(e,"SheetRangeThemeModel",{enumerable:!0,get:function(){return N}}),Object.defineProperty(e,"SheetRangeThemeService",{enumerable:!0,get:function(){return Mu}}),e.SheetSkeletonChangeType=It,Object.defineProperty(e,"SheetSkeletonService",{enumerable:!0,get:function(){return In}}),e.SheetValueChangeType=Lt,Object.defineProperty(e,"SheetsFreezeSyncController",{enumerable:!0,get:function(){return uu}}),Object.defineProperty(e,"SheetsSelectionsService",{enumerable:!0,get:function(){return U}}),e.SplitDelimiterEnum=cn,e.SplitTextToColumnsCommand=Pl,e.TextToNumberCommand=Vl,e.ToggleCellCheckboxCommand=Hl,e.ToggleGridlinesCommand=Ul,e.ToggleGridlinesMutation=Pt,Object.defineProperty(e,"UnitAction",{enumerable:!0,get:function(){return a.UnitAction}}),Object.defineProperty(e,"UnitObject",{enumerable:!0,get:function(){return a.UnitObject}}),Object.defineProperty(e,"UniverSheetsPlugin",{enumerable:!0,get:function(){return Nu}}),e.UnregisterWorksheetRangeThemeStyleCommand=Wl,e.UnregisterWorksheetRangeThemeStyleMutation=vs,e.VALIDATE_CELL=k,e.ViewStateEnum=En,e.WorkbookCommentPermission=Mc,e.WorkbookCopyPermission=Nc,e.WorkbookCopySheetPermission=Pc,e.WorkbookCreateProtectPermission=Fc,e.WorkbookCreateSheetPermission=Ic,e.WorkbookDeleteColumnPermission=Lc,e.WorkbookDeleteRowPermission=Rc,e.WorkbookDeleteSheetPermission=zc,e.WorkbookDuplicatePermission=Bc,e.WorkbookEditablePermission=Z,e.WorkbookExportPermission=Vc,e.WorkbookHideSheetPermission=Hc,e.WorkbookInsertColumnPermission=Uc,e.WorkbookInsertRowPermission=Wc,e.WorkbookManageCollaboratorPermission=Gc,e.WorkbookMoveSheetPermission=Kc,Object.defineProperty(e,"WorkbookPermissionService",{enumerable:!0,get:function(){return fu}}),e.WorkbookPrintPermission=qc,e.WorkbookRecoverHistoryPermission=Jc,e.WorkbookRenameSheetPermission=Yc,e.WorkbookSelectionModel=Pn,e.WorkbookSharePermission=Xc,e.WorkbookViewHistoryPermission=Qc,e.WorkbookViewPermission=Zc,e.WorksheetCopyPermission=$c,e.WorksheetDeleteColumnPermission=el,e.WorksheetDeleteProtectionPermission=tl,e.WorksheetDeleteRowPermission=nl,e.WorksheetEditExtraObjectPermission=rl,e.WorksheetEditPermission=Q,e.WorksheetFilterPermission=il,e.WorksheetInsertColumnPermission=al,e.WorksheetInsertHyperlinkPermission=ol,e.WorksheetInsertRowPermission=sl,e.WorksheetManageCollaboratorPermission=cl,Object.defineProperty(e,"WorksheetPermissionService",{enumerable:!0,get:function(){return Sl}}),e.WorksheetPivotTablePermission=ll,e.WorksheetProtectionPointModel=Ec,e.WorksheetProtectionRuleModel=da,e.WorksheetSelectProtectedCellsPermission=ul,e.WorksheetSelectUnProtectedCellsPermission=dl,e.WorksheetSetCellStylePermission=fl,e.WorksheetSetCellValuePermission=pl,e.WorksheetSetColumnStylePermission=ml,e.WorksheetSetRowStylePermission=hl,e.WorksheetSortPermission=gl,e.WorksheetViewPermission=_l,Object.defineProperty(e,"ZebraCrossingCacheController",{enumerable:!0,get:function(){return mu}}),e.addMergeCellsUtil=la,e.adjustRangeOnMutation=Mi,e.alignToMergedCellsBorders=Hn,e.attachPrimaryWithCoord=Gu,e.attachRangeWithCoord=Uu,e.attachSelectionWithCoord=Wu,e.baseProtectionActions=Ac,e.checkCellValueType=d,e.checkRangesEditablePermission=Fu,e.convertPositionCellToSheetOverGrid=qu,e.convertPositionSheetOverGridToAbsolute=Ku,e.convertPrimaryWithCoordToPrimary=sn,e.convertSelectionDataToRange=on,e.copyRangeStyles=Yn,e.countCells=zn,e.createTopMatrixFromMatrix=$t,e.createTopMatrixFromRanges=Qt,e.defaultLargeSheetOperationConfig=$o,e.defaultWorkbookPermissionPoints=yl,e.defaultWorksheetPermissionPoint=xl,e.deserializeListOptions=Tn,e.discreteRangeToRange=xn,e.expandToContinuousRange=Zt,e.factoryRemoveNumfmtUndoMutation=zl,e.factorySetNumfmtUndoMutation=Il,e.findAllRectangle=nn,e.findFirstNonEmptyCell=_n,e.followSelectionOperation=Gn,e.generateNullCell=vn,e.generateNullCellValue=yn,e.getAddMergeMutationRangeByType=Ki,e.getAllRangePermissionPoint=X,e.getAllWorkbookPermissionPoint=vl,e.getAllWorksheetPermissionPoint=$,e.getAllWorksheetPermissionPointByPointPanel=bl,e.getCellAtRowCol=Un,e.getClearContentMutationParamForRange=ia,e.getClearContentMutationParamsForRanges=ra,e.getDefaultRangePermission=jc,e.getInsertRangeMutations=sr,e.getMoveRangeCommandMutations=rr,e.getMoveRangeUndoRedoMutations=ir,e.getNextPrimaryCell=Hu,e.getPrimaryForRange=W,e.getRemoveRangeMutations=cr,e.getSelectionsService=Qn,e.getSeparateEffectedRangesOnCommand=Fi,e.getSheetCommandTarget=p,e.getSheetCommandTargetWorkbook=f,e.getSheetMutationTarget=m,e.getSkeletonChangedEffectedRange=Vt,e.getValueChangedEffectedRange=Bt,e.getVisibleRanges=Cn,e.handleBaseInsertRange=fi,e.handleBaseMoveRowsCols=ei,e.handleBaseRemoveRange=ci,e.handleCommonDefaultRangeChangeWithEffectRefCommands=Ai,e.handleCommonRangeChangeWithEffectRefCommandsSkipNoInterests=ji,e.handleDefaultRangeChangeWithEffectRefCommands=Oi,e.handleDefaultRangeChangeWithEffectRefCommandsSkipNoInterests=ki,e.handleDeleteRangeMoveLeft=bi,e.handleDeleteRangeMoveUp=Si,e.handleDeleteRangeMutation=ur,e.handleIRemoveCol=li,e.handleIRemoveRow=ui,e.handleInsertCol=hi,e.handleInsertRangeMoveDown=gi,e.handleInsertRangeMoveRight=vi,e.handleInsertRangeMutation=lr,e.handleInsertRow=mi,e.handleMoveCols=ii,e.handleMoveRange=oi,e.handleMoveRows=ti,e.isSingleCellSelection=Kn,e.rangeMerge=rn,e.rangeToDiscreteRange=Sn,e.rotateRange=$r,e.runRefRangeMutations=Di,e.serializeListOptions=wn,e.setEndForRange=Wn,e.splitRangeText=pn,e.transformCellsToRange=Bl,e.validateDefinedName=Ht});
10
-
11
- // @univerjs/sheets/facade
12
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/sheets"),require("@univerjs/engine-formula"),require("@univerjs/protocol")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/core/facade`,`@univerjs/sheets`,`@univerjs/engine-formula`,`@univerjs/protocol`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsFacade={},e.UniverCore,e.UniverCoreFacade,e.UniverSheets,e.UniverEngineFormula,e.UniverProtocol))})(this,function(e,t,n,r,i,a){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function o(e){"@babel/helpers - typeof";return o=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},o(e)}function s(e,t){if(o(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(o(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function c(e){var t=s(e,`string`);return o(t)==`symbol`?t:t+``}function l(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e,t){return function(n,r){t(n,r,e)}}function d(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}function f(e,t,n){let r=n.getDefinedNameMap(e);if(r==null)return t.t(`sheets.definedName.defaultName`)+1;let i=Array.from(Object.values(r)).length+1,a=t.t(`sheets.definedName.defaultName`)+i;if(n.getValueByName(e,a)==null)return a;let o=i+1;for(;;){let r=t.t(`sheets.definedName.defaultName`)+o;if(n.getValueByName(e,r)==null)return r;o++}}let p=class{constructor(e,n){this.unitId=e,this._injector=n,l(this,`_definedNameParam`,void 0),this._definedNameParam={id:(0,t.generateRandomId)(10),unitId:e,name:``,formulaOrRefString:``,localSheetId:r.SCOPE_WORKBOOK_VALUE_DEFINED_NAME}}setName(e){return this._definedNameParam.name=e,this}setFormula(e){return this._definedNameParam.formulaOrRefString=`=${e}`,this}setRef(e){return this._definedNameParam.formulaOrRefString=e,this}setRefByRange(e,t,n,r){return this._definedNameParam.formulaOrRefString=(0,i.serializeRange)({startRow:e,endRow:e+(n==null?1:n)-1,startColumn:t,endColumn:t+(r==null?1:r)-1}),this}setComment(e){return this._definedNameParam.comment=e,this}setScopeToWorksheet(e){return this._definedNameParam.localSheetId=e.getSheetId(),this}setScopeToWorkbook(){return this._definedNameParam.localSheetId=r.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this}setHidden(e){return this._definedNameParam.hidden=e,this}build(){let{unitId:e,name:n,formulaOrRefString:a,id:o}=this._definedNameParam,s=(0,r.validateDefinedName)(n,{unitId:e,formulaOrRefString:a,univerInstanceService:this._injector.get(t.IUniverInstanceService),definedNamesService:this._injector.get(i.IDefinedNamesService),superTableService:this._injector.get(i.ISuperTableService),functionService:this._injector.get(i.IFunctionService),id:o});if(typeof s==`string`)throw TypeError(this._injector.get(t.LocaleService).t(s));return this._definedNameParam}load(e){return this._definedNameParam={...this._definedNameParam,...e},this}};p=d([u(1,(0,t.Inject)(t.Injector))],p);let m=class extends n.FBase{constructor(e,t,n,r,i,a,o,s,c,l){super(),this._definedNameParam=e,this._injector=t,this._commandService=n,this._permissionService=r,this._worksheetProtectionRuleModel=i,this._rangeProtectionRuleModel=a,this._worksheetProtectionPointRuleModel=o,this._authzIoService=s,this._localeService=c,this._definedNamesService=l}_apply(){this._definedNameParam.name===``&&(this._definedNameParam.name=f(this._definedNameParam.unitId,this._localeService,this._definedNamesService)),this._commandService.syncExecuteCommand(r.SetDefinedNameCommand.id,this._definedNameParam)}getName(){return this._definedNameParam.name}setName(e){this._definedNameParam.name=e,this._apply()}setFormula(e){this._definedNameParam.formulaOrRefString=`=${e}`,this._apply()}setRef(e){this._definedNameParam.formulaOrRefString=e,this._apply()}getFormulaOrRefString(){return this._definedNameParam.formulaOrRefString}setRefByRange(e,t,n,r){this._definedNameParam.formulaOrRefString=(0,i.serializeRange)({startRow:e,endRow:e+(n==null?1:n)-1,startColumn:t,endColumn:t+(r==null?1:r)-1}),this._apply()}getComment(){return this._definedNameParam.comment}setComment(e){this._definedNameParam.comment=e,this._apply()}setScopeToWorksheet(e){this._definedNameParam.localSheetId=e.getSheetId(),this._apply()}setScopeToWorkbook(){this._definedNameParam.localSheetId=r.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this._apply()}setHidden(e){this._definedNameParam.hidden=e,this._apply()}delete(){this._commandService.syncExecuteCommand(r.RemoveDefinedNameCommand.id,this._definedNameParam)}getLocalSheetId(){return this._definedNameParam.localSheetId}isWorkbookScope(){return this._definedNameParam.localSheetId===r.SCOPE_WORKBOOK_VALUE_DEFINED_NAME}toBuilder(){if(!this._definedNameParam.unitId)throw Error(`unitId is required to convert to FDefinedNameBuilder`);let e=this._injector.createInstance(p);return e.load(this._definedNameParam),e}};m=d([u(1,(0,t.Inject)(t.Injector)),u(2,t.ICommandService),u(3,t.IPermissionService),u(4,(0,t.Inject)(r.WorksheetProtectionRuleModel)),u(5,(0,t.Inject)(r.RangeProtectionRuleModel)),u(6,(0,t.Inject)(r.WorksheetProtectionPointModel)),u(7,(0,t.Inject)(t.IAuthzIoService)),u(8,(0,t.Inject)(t.LocaleService)),u(9,i.IDefinedNamesService)],m);var h;let g=h=class{constructor(e,t,n,r){this._workbook=e,this._worksheet=t,this._selections=n,this._injector=r}getActiveRange(){let e=this._selections.find(e=>!!e.primary);return e?this._injector.createInstance(H,this._workbook,this._worksheet,e.range):null}getActiveRangeList(){return this._selections.map(e=>this._injector.createInstance(H,this._workbook,this._worksheet,e.range))}getCurrentCell(){let e=this._selections.find(e=>!!e.primary);return e?e.primary:null}getActiveSheet(){let e=this._injector.createInstance(W,this._workbook);return this._injector.createInstance(R,e,this._workbook,this._worksheet)}updatePrimaryCell(e){let n=this._injector.get(t.ICommandService),i=[],a=!1;for(let{range:n,style:o}of this._selections)t.Rectangle.contains(n,e.getRange())?(i.push({range:n,primary:(0,r.getPrimaryForRange)(e.getRange(),this._worksheet),style:o}),a=!0):i.push({range:n,primary:null,style:o});a||(i=[{range:e.getRange(),primary:(0,r.getPrimaryForRange)(e.getRange(),this._worksheet)}]);let o={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),selections:i};return n.syncExecuteCommand(r.SetSelectionsOperation.id,o),new h(this._workbook,this._worksheet,i,this._injector)}getNextDataRange(e){if(!this._selections.find(e=>!!e.primary))return null;let t=(0,r.getNextPrimaryCell)(this._selections.concat(),e,this._worksheet);return t?this._injector.createInstance(H,this._workbook,this._worksheet,t):null}};g=h=d([u(3,(0,t.Inject)(t.Injector))],g);let _=function(e){return e[e.Reader=0]=`Reader`,e[e.Editor=1]=`Editor`,e[e.Owner=2]=`Owner`,e}({}),v=function(e){return e.Edit=`WorkbookEdit`,e.View=`WorkbookView`,e.Print=`WorkbookPrint`,e.Export=`WorkbookExport`,e.Share=`WorkbookShare`,e.CopyContent=`WorkbookCopy`,e.DuplicateFile=`WorkbookDuplicate`,e.Comment=`WorkbookComment`,e.ManageCollaborator=`WorkbookManageCollaborator`,e.CreateSheet=`WorkbookCreateSheet`,e.DeleteSheet=`WorkbookDeleteSheet`,e.RenameSheet=`WorkbookRenameSheet`,e.MoveSheet=`WorkbookMoveSheet`,e.HideSheet=`WorkbookHideSheet`,e.ViewHistory=`WorkbookViewHistory`,e.RecoverHistory=`WorkbookRecoverHistory`,e.CreateProtection=`WorkbookCreateProtect`,e.InsertRow=`WorkbookInsertRow`,e.InsertColumn=`WorkbookInsertColumn`,e.DeleteRow=`WorkbookDeleteRow`,e.DeleteColumn=`WorkbookDeleteColumn`,e.CopySheet=`WorkbookCopySheet`,e}({}),y=function(e){return e.Edit=`WorksheetEdit`,e.View=`WorksheetView`,e.Copy=`WorksheetCopy`,e.SetCellValue=`WorksheetSetCellValue`,e.SetCellStyle=`WorksheetSetCellStyle`,e.SetRowStyle=`WorksheetSetRowStyle`,e.SetColumnStyle=`WorksheetSetColumnStyle`,e.InsertRow=`WorksheetInsertRow`,e.InsertColumn=`WorksheetInsertColumn`,e.DeleteRow=`WorksheetDeleteRow`,e.DeleteColumn=`WorksheetDeleteColumn`,e.Sort=`WorksheetSort`,e.Filter=`WorksheetFilter`,e.PivotTable=`WorksheetPivotTable`,e.InsertHyperlink=`WorksheetInsertHyperlink`,e.EditExtraObject=`WorksheetEditExtraObject`,e.ManageCollaborator=`WorksheetManageCollaborator`,e.DeleteProtection=`WorksheetDeleteProtection`,e.SelectProtectedCells=`WorksheetSelectProtectedCells`,e.SelectUnProtectedCells=`WorksheetSelectUnProtectedCells`,e}({}),b=function(e){return e.Edit=`RangeEdit`,e.View=`RangeView`,e.ManageCollaborator=`RangeManageCollaborator`,e.Delete=`RangeDeleteProtection`,e}({}),x={WorkbookEdit:r.WorkbookEditablePermission,WorkbookView:r.WorkbookViewPermission,WorkbookPrint:r.WorkbookPrintPermission,WorkbookExport:r.WorkbookExportPermission,WorkbookShare:r.WorkbookSharePermission,WorkbookCopy:r.WorkbookCopyPermission,WorkbookDuplicate:r.WorkbookDuplicatePermission,WorkbookComment:r.WorkbookCommentPermission,WorkbookManageCollaborator:r.WorkbookManageCollaboratorPermission,WorkbookCreateSheet:r.WorkbookCreateSheetPermission,WorkbookDeleteSheet:r.WorkbookDeleteSheetPermission,WorkbookRenameSheet:r.WorkbookRenameSheetPermission,WorkbookMoveSheet:r.WorkbookMoveSheetPermission,WorkbookHideSheet:r.WorkbookHideSheetPermission,WorkbookViewHistory:r.WorkbookViewHistoryPermission,WorkbookRecoverHistory:r.WorkbookRecoverHistoryPermission,WorkbookCreateProtect:r.WorkbookCreateProtectPermission,WorkbookInsertRow:r.WorkbookInsertRowPermission,WorkbookInsertColumn:r.WorkbookInsertColumnPermission,WorkbookDeleteRow:r.WorkbookDeleteRowPermission,WorkbookDeleteColumn:r.WorkbookDeleteColumnPermission,WorkbookCopySheet:r.WorkbookCopySheetPermission},S={WorksheetEdit:r.WorksheetEditPermission,WorksheetView:r.WorksheetViewPermission,WorksheetCopy:r.WorksheetCopyPermission,WorksheetSetCellValue:r.WorksheetSetCellValuePermission,WorksheetSetCellStyle:r.WorksheetSetCellStylePermission,WorksheetSetRowStyle:r.WorksheetSetRowStylePermission,WorksheetSetColumnStyle:r.WorksheetSetColumnStylePermission,WorksheetInsertRow:r.WorksheetInsertRowPermission,WorksheetInsertColumn:r.WorksheetInsertColumnPermission,WorksheetDeleteRow:r.WorksheetDeleteRowPermission,WorksheetDeleteColumn:r.WorksheetDeleteColumnPermission,WorksheetSort:r.WorksheetSortPermission,WorksheetFilter:r.WorksheetFilterPermission,WorksheetPivotTable:r.WorksheetPivotTablePermission,WorksheetInsertHyperlink:r.WorksheetInsertHyperlinkPermission,WorksheetEditExtraObject:r.WorksheetEditExtraObjectPermission,WorksheetManageCollaborator:r.WorksheetManageCollaboratorPermission,WorksheetDeleteProtection:r.WorksheetDeleteProtectionPermission,WorksheetSelectProtectedCells:r.WorksheetSelectProtectedCellsPermission,WorksheetSelectUnProtectedCells:r.WorksheetSelectUnProtectedCellsPermission},C={RangeEdit:r.RangeProtectionPermissionEditPoint,RangeView:r.RangeProtectionPermissionViewPoint,RangeManageCollaborator:r.RangeProtectionPermissionManageCollaPoint,RangeDeleteProtection:r.RangeProtectionPermissionDeleteProtectionPoint};function w(e){return e===!1?r.ViewStateEnum.NoOneElseCanView:r.ViewStateEnum.OthersCanView}function T(e){return e!=null&&e.length?r.EditStateEnum.DesignedUserCanEdit:r.EditStateEnum.OnlyMe}function E(e,t){return{edit:e===r.EditStateEnum.DesignedUserCanEdit?a.ObjectScope.SomeCollaborator:a.ObjectScope.OneSelf,read:t===r.ViewStateEnum.OthersCanView?a.ObjectScope.AllCollaborator:a.ObjectScope.SomeCollaborator}}function D(e,n,i){let a=e.get(r.RangeProtectionRuleModel),o=e.get(r.WorksheetProtectionPointModel),s=e.get(t.IPermissionService);a.getSubunitRuleList(n,i).length>0||(o.deleteRule(n,i),[...(0,r.getAllWorksheetPermissionPointByPointPanel)()].forEach(e=>{let t=new e(n,i);s.updatePermissionPoint(t.id,t.value)}))}async function O(e,n,i,a){let o=e.get(r.RangeProtectionRuleModel),s=e.get(t.IAuthzIoService),{worksheet:c,specificRange:l,ignoreCollaborators:u=!1}=a,d=o.getSubunitRuleList(n,i);return l&&(d=d.filter(e=>e.ranges.some(e=>t.Rectangle.intersects(e,l.getRange())))),(await Promise.all(d.map(async e=>{let t=e.ranges.map(e=>c.getRange(e)),i={name:e.description||``,allowViewByOthers:e.viewState!==r.ViewStateEnum.NoOneElseCanView};if(e.editState===r.EditStateEnum.DesignedUserCanEdit&&(i.allowedUsers=[],!u))try{i.allowedUsers=(await s.listCollaborators({objectID:e.permissionId,unitID:n})).map(e=>{var t;return((t=e.subject)==null?void 0:t.userID)||e.id})}catch(t){console.warn(`Failed to fetch collaborators for rule ${e.id}:`,t)}return{id:e.id,permissionId:e.permissionId,ranges:t,options:i}}))).map(({id:t,permissionId:r,ranges:a,options:o})=>e.createInstance(k,n,i,t,r,a,o))}let k=class{constructor(e,t,n,r,i,a,o,s,c,l,u){this._unitId=e,this._subUnitId=t,this._ruleId=n,this._permissionId=r,this._ranges=i,this._options=a,this._injector=o,this._permissionService=s,this._authzIoService=c,this._commandService=l,this._rangeProtectionRuleModel=u}get id(){return this._ruleId}get permissionId(){return this._permissionId}get ranges(){return this._ranges}get options(){return{...this._options}}async updateRanges(e){if(!e||e.length===0)throw Error(`Ranges cannot be empty`);let n=this._rangeProtectionRuleModel.getRule(this._unitId,this._subUnitId,this._ruleId);if(!n)throw Error(`Rule ${this._ruleId} not found`);if(this._rangeProtectionRuleModel.getSubunitRuleList(this._unitId,this._subUnitId).filter(e=>e.id!==this._ruleId).some(n=>n.ranges.some(n=>e.some(e=>t.Rectangle.intersects(n,e.getRange())))))throw Error(`Range protection cannot intersect with other protection rules`);let i=await this._commandService.executeCommand(r.SetRangeProtectionMutation.id,{unitId:this._unitId,subUnitId:this._subUnitId,ruleId:this._ruleId,rule:{...n,ranges:e.map(e=>e.getRange())}});return i&&(this._ranges.length=0,this._ranges.push(...e)),i}async remove(){let e=await this._commandService.executeCommand(r.DeleteRangeProtectionMutation.id,{unitId:this._unitId,subUnitId:this._subUnitId,ruleIds:[this._ruleId]});return e&&D(this._injector,this._unitId,this._subUnitId),e}async setPoint(e,t){let n=C[e];if(!n)throw Error(`Unknown range permission point: ${e}`);let i=new n(this._unitId,this._subUnitId,this._permissionId),o=this._permissionService.getPermissionPoint(i.id);o&&o.value===t||(o||this._permissionService.addPermissionPoint(i),await this._authzIoService.update({objectType:r.UnitObject.SelectRange,objectID:this._permissionId,unitID:this._unitId,share:void 0,name:this._options.name||``,strategies:[{action:i.subType,role:t?a.UnitRole.Editor:a.UnitRole.Owner}],scope:void 0,collaborators:void 0}),this._permissionService.updatePermissionPoint(i.id,t))}getPoint(e){let t=C[e];if(!t)return console.warn(`Unknown permission point: ${e}`),!1;let n=new t(this._unitId,this._subUnitId,this._permissionId),r=this._permissionService.getPermissionPoint(n.id);return r?r.value:!0}canEdit(){return this.getPoint(`RangeEdit`)}canView(){return this.getPoint(`RangeView`)}canManageCollaborator(){return this.getPoint(`RangeManageCollaborator`)}canDelete(){return this.getPoint(`RangeDeleteProtection`)}getSnapshot(){let e={};return Object.values(b).forEach(t=>{e[t]=this.getPoint(t)}),e}};k=d([u(6,(0,t.Inject)(t.Injector)),u(7,t.IPermissionService),u(8,t.IAuthzIoService),u(9,t.ICommandService),u(10,(0,t.Inject)(r.RangeProtectionRuleModel))],k);let A=class extends n.FBase{constructor(e,t,n,r,i,a,o,s){super(),this._worksheet=e,this._injector=t,this._permissionService=n,this._authzIoService=r,this._commandService=i,this._rangeProtectionRuleModel=a,this._worksheetProtectionPointModel=o,this._worksheetProtectionRuleModel=s,l(this,`_unitId`,void 0),l(this,`_subUnitId`,void 0),this._unitId=this._worksheet.getWorkbook().getUnitId(),this._subUnitId=this._worksheet.getSheetId()}isProtected(){return!!this._worksheetProtectionRuleModel.getRule(this._unitId,this._subUnitId)}async protect(e){if(this.isProtected())throw Error(`Worksheet is already protected. Call unprotect() first.`);let t=T(e==null?void 0:e.allowedUsers),n=w(e==null?void 0:e.allowViewByOthers),i=E(t,n),o=[];if(t===r.EditStateEnum.DesignedUserCanEdit){let t=await this._authzIoService.listCollaborators({objectID:this._unitId,unitID:this._unitId});e.allowedUsers.forEach(e=>{let n=t.find(t=>{var n;return((n=t.subject)==null?void 0:n.userID)===e||t.id===e});if(!n){console.error(`User ${e} not found in existing collaborators`);return}o.push({id:n.id,role:a.UnitRole.Editor,subject:n.subject})})}let s=await this._authzIoService.create({objectType:r.UnitObject.Worksheet,worksheetObject:{collaborators:o,unitID:this._unitId,strategies:[{role:a.UnitRole.Editor,action:a.UnitAction.Edit},{role:a.UnitRole.Reader,action:a.UnitAction.View}],name:(e==null?void 0:e.name)||``,scope:i}});if(!this._commandService.syncExecuteCommand(r.AddWorksheetProtectionMutation.id,{unitId:this._unitId,subUnitId:this._subUnitId,rule:{permissionId:s,description:e==null?void 0:e.name,unitType:r.UnitObject.Worksheet,unitId:this._unitId,subUnitId:this._subUnitId,viewState:n,editState:t}}))throw Error(`Failed to create worksheet protection`);return s}async unprotect(){if(!this.isProtected())return!0;let e=this._commandService.syncExecuteCommand(r.DeleteWorksheetProtectionMutation.id,{unitId:this._unitId,subUnitId:this._subUnitId});return[...(0,r.getAllWorksheetPermissionPoint)(),...(0,r.getAllWorksheetPermissionPointByPointPanel)()].forEach(e=>{let t=new e(this._unitId,this._subUnitId);this._permissionService.updatePermissionPoint(t.id,!0)}),this._worksheetProtectionPointModel.deleteRule(this._unitId,this._subUnitId),e}async setMode(e){let t=this._getModePermissions(e);await Promise.all(Object.entries(t).map(([e,t])=>this.setPoint(e,t)))}_getModePermissions(e){let t={};switch(Object.values(y).forEach(e=>{t[e]=!1}),e){case`editable`:Object.values(y).forEach(e=>{t[e]=!0});break;case`readOnly`:t.WorksheetView=!0;break;case`filterOnly`:t.WorksheetView=!0,t.WorksheetSort=!0,t.WorksheetFilter=!0;break}return t}async setReadOnly(){await this.setMode(`readOnly`)}async setEditable(){await this.setMode(`editable`)}async setPoint(e,t){let n=S[e];if(!n)throw Error(`Unknown worksheet permission point: ${e}`);let i=this._worksheetProtectionRuleModel.getRule(this._unitId,this._subUnitId);if(!i)throw Error(`Cannot set ${e} permission point because worksheet protection does not exist. Call protect() first.`);let o=new n(this._unitId,this._subUnitId),s=this._permissionService.getPermissionPoint(o.id);s&&s.value===t||(s||this._permissionService.addPermissionPoint(o),await this._authzIoService.update({objectType:r.UnitObject.Worksheet,objectID:i.permissionId,unitID:this._unitId,share:void 0,name:i.description||``,strategies:[{action:o.subType,role:t?a.UnitRole.Editor:a.UnitRole.Owner}],scope:void 0,collaborators:void 0}),this._permissionService.updatePermissionPoint(o.id,t))}canEdit(){return this.getPoint(`WorksheetEdit`)}canEditCell(e,t){if(!this.canEdit())return!1;let n=this._rangeProtectionRuleModel.getSubunitRuleList(this._unitId,this._subUnitId);for(let a of n)for(let n of a.ranges)if(e>=n.startRow&&e<=n.endRow&&t>=n.startColumn&&t<=n.endColumn){var i;let e=new r.RangeProtectionPermissionEditPoint(this._unitId,this._subUnitId,a.permissionId),t=this._permissionService.getPermissionPoint(e.id);return(i=t==null?void 0:t.value)==null?!1:i}return!0}canView(){return this.getPoint(`WorksheetView`)}canViewCell(e,t){if(!this.canView())return!1;let n=this._rangeProtectionRuleModel.getSubunitRuleList(this._unitId,this._subUnitId);for(let a of n)for(let n of a.ranges)if(e>=n.startRow&&e<=n.endRow&&t>=n.startColumn&&t<=n.endColumn){var i;let e=new r.RangeProtectionPermissionViewPoint(this._unitId,this._subUnitId,a.permissionId),t=this._permissionService.getPermissionPoint(e.id);return(i=t==null?void 0:t.value)==null?!1:i}return!0}getPoint(e){var t;let n=S[e];if(!n)throw Error(`Unknown worksheet permission point: ${e}`);let r=new n(this._unitId,this._subUnitId),i=this._permissionService.getPermissionPoint(r.id);return(t=i==null?void 0:i.value)==null?!0:t}getSnapshot(){let e={};for(let t in y){let n=y[t];e[n]=this.getPoint(n)}return e}async applyConfig(e){if(e.mode&&await this.setMode(e.mode),e.points)for(let[t,n]of Object.entries(e.points))typeof n==`boolean`&&await this.setPoint(t,n);if(e.rangeProtections&&e.rangeProtections.length>0){let t=e.rangeProtections.map(e=>({ranges:e.rangeRefs.map(e=>this._worksheet.getRange(e)),options:e.options}));await this.protectRanges(t)}}async protectRanges(e){if(!e||e.length===0)throw Error(`Configs cannot be empty`);let n=this._rangeProtectionRuleModel.getSubunitRuleList(this._unitId,this._subUnitId),i=[],o=!1,s=[];for(let c=0;c<e.length;c++){let{ranges:l,options:u}=e[c];if(l.some(e=>n.some(n=>n.ranges.some(n=>t.Rectangle.intersects(n,e.getRange())))))throw Error(`The specified ranges overlap with existing protected ranges: ${l.map(e=>e.getA1Notation()).join(`, `)}`);let d=T(u==null?void 0:u.allowedUsers),f=w(u==null?void 0:u.allowViewByOthers),p=E(d,f),m=[];d===r.EditStateEnum.DesignedUserCanEdit&&(o||(i=await this._authzIoService.listCollaborators({objectID:this._unitId,unitID:this._unitId}),o=!0),u.allowedUsers.forEach(e=>{let t=i.find(t=>{var n;return((n=t.subject)==null?void 0:n.userID)===e||t.id===e});if(!t){console.error(`User ${e} not found in existing collaborators`);return}m.push({id:t.id,role:a.UnitRole.Editor,subject:t.subject})}));let h=await this._authzIoService.create({objectType:r.UnitObject.SelectRange,selectRangeObject:{collaborators:m,unitID:this._unitId,name:(u==null?void 0:u.name)||``,scope:p}}),g=`ruleId_${(0,t.generateRandomId)(6)}`;s.push({ranges:l.map(e=>e.getRange()),permissionId:h,id:g,description:u==null?void 0:u.name,unitType:r.UnitObject.SelectRange,unitId:this._unitId,subUnitId:this._subUnitId,viewState:f,editState:d})}if(!this._commandService.syncExecuteCommand(r.AddRangeProtectionMutation.id,{unitId:this._unitId,subUnitId:this._subUnitId,rules:s}))throw Error(`Failed to create range protection rules`);return s.map((t,n)=>this._injector.createInstance(k,this._unitId,this._subUnitId,t.id,t.permissionId,e[n].ranges,e[n].options||{}))}async unprotectRules(e){if(!e||e.length===0)return!0;let t=await this._commandService.executeCommand(r.DeleteRangeProtectionMutation.id,{unitId:this._unitId,subUnitId:this._subUnitId,ruleIds:e});return t&&D(this._injector,this._unitId,this._subUnitId),t}async listRangeProtectionRules(e){return O(this._injector,this._unitId,this._subUnitId,{worksheet:this._worksheet,ignoreCollaborators:e==null?void 0:e.ignoreCollaborators})}async debugCellPermission(e,n){let i=this._rangeProtectionRuleModel.getSubunitRuleList(this._unitId,this._subUnitId),a=(0,t.cellToRange)(e,n),o=i.find(e=>e.ranges.some(e=>t.Rectangle.intersects(a,e)));if(!o)return;let s=o.ranges.map(e=>this._worksheet.getRange(e)),c={name:o.description||``,allowViewByOthers:o.viewState!==r.ViewStateEnum.NoOneElseCanView};if(o.editState===r.EditStateEnum.DesignedUserCanEdit){c.allowedUsers=[];try{c.allowedUsers=(await this._authzIoService.listCollaborators({objectID:o.permissionId,unitID:this._unitId})).map(e=>{var t;return((t=e.subject)==null?void 0:t.userID)||e.id})}catch(e){console.error(`Failed to fetch collaborators for rule ${o.id}:`,e)}}return this._injector.createInstance(k,this._unitId,this._subUnitId,o.id,o.permissionId,s,c)}};A=d([u(1,(0,t.Inject)(t.Injector)),u(2,t.IPermissionService),u(3,t.IAuthzIoService),u(4,t.ICommandService),u(5,(0,t.Inject)(r.RangeProtectionRuleModel)),u(6,(0,t.Inject)(r.WorksheetProtectionPointModel)),u(7,(0,t.Inject)(r.WorksheetProtectionRuleModel))],A);function j(e){switch(e){case`left`:return t.HorizontalAlign.LEFT;case`center`:return t.HorizontalAlign.CENTER;case`normal`:return t.HorizontalAlign.RIGHT;default:throw Error(`Invalid horizontal alignment: ${e}`)}}function M(e){switch(e){case t.HorizontalAlign.LEFT:return`left`;case t.HorizontalAlign.CENTER:return`center`;case t.HorizontalAlign.RIGHT:return`normal`;default:return`general`}}function N(e){switch(e){case`top`:return t.VerticalAlign.TOP;case`middle`:return t.VerticalAlign.MIDDLE;case`bottom`:return t.VerticalAlign.BOTTOM;default:throw Error(`Invalid vertical alignment: ${e}`)}}function P(e){switch(e){case t.VerticalAlign.TOP:return`top`;case t.VerticalAlign.MIDDLE:return`middle`;case t.VerticalAlign.BOTTOM:return`bottom`;default:return`general`}}function F(e,n){return{startRow:e.startRow,endRow:e.endRow,startColumn:0,endColumn:n.getColumnCount()-1,rangeType:t.RANGE_TYPE.ROW}}function I(e,n){return{startRow:0,endRow:n.getRowCount()-1,startColumn:e.startColumn,endColumn:e.endColumn,rangeType:t.RANGE_TYPE.COLUMN}}var L;let R=L=class extends n.FBaseInitialable{constructor(e,t,n,r,i,a,o){super(r),this._fWorkbook=e,this._workbook=t,this._worksheet=n,this._injector=r,this._selectionManagerService=i,this._logService=a,this._commandService=o,l(this,`setActiveSelection`,this.setActiveRange)}dispose(){super.dispose(),delete this._fWorkbook,delete this._workbook,delete this._worksheet}getSheet(){return this._worksheet}getInject(){return this._injector}getWorkbook(){return this._workbook}getSheetId(){return this._worksheet.getSheetId()}getSheetName(){return this._worksheet.getName()}getSelection(){let e=this._selectionManagerService.getCurrentSelections();return e?this._injector.createInstance(g,this._workbook,this._worksheet,e):null}getDefaultStyle(){return this._worksheet.getDefaultCellStyle()}getRowDefaultStyle(e,t=!1){return t?this._worksheet.getRowStyle(e,t):this._worksheet.getRowStyle(e)}getColumnDefaultStyle(e,t=!1){return t?this._worksheet.getColumnStyle(e,t):this._worksheet.getColumnStyle(e)}setDefaultStyle(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return this._commandService.syncExecuteCommand(r.SetWorksheetDefaultStyleMutation.id,{unitId:t,subUnitId:n,defaultStyle:e}),this._worksheet.setDefaultCellStyle(e),this}setColumnDefaultStyle(e,t){let n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),columnData:{[e]:{s:t}}};return this._commandService.syncExecuteCommand(r.SetColDataCommand.id,n),this}setRowDefaultStyle(e,t){let n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),rowData:{[e]:{s:t}}};return this._commandService.syncExecuteCommand(r.SetRowDataCommand.id,n),this}getRange(e,n,r,a){let o,s;if(typeof e==`object`)o=e,s=this._worksheet;else if(typeof e==`string`){let{range:n,sheetName:r}=(0,i.deserializeRangeWithSheet)(e),a=r?this._workbook.getSheetBySheetName(r):this._worksheet;if(!a)throw Error(`Range not found`);s=a,o={...n,unitId:this._workbook.getUnitId(),sheetId:s.getSheetId(),rangeType:t.RANGE_TYPE.NORMAL,startRow:n.rangeType===t.RANGE_TYPE.COLUMN?0:n.startRow,endRow:n.rangeType===t.RANGE_TYPE.COLUMN?s.getMaxRows()-1:n.endRow,startColumn:n.rangeType===t.RANGE_TYPE.ROW?0:n.startColumn,endColumn:n.rangeType===t.RANGE_TYPE.ROW?s.getMaxColumns()-1:n.endColumn}}else if(typeof e==`number`&&n!==void 0)s=this._worksheet,o={startRow:e,endRow:e+(r==null?1:r)-1,startColumn:n,endColumn:n+(a==null?1:a)-1,unitId:this._workbook.getUnitId(),sheetId:this._worksheet.getSheetId()};else throw Error(`Invalid range specification`);return this._injector.createInstance(H,this._workbook,s,o)}getMaxColumns(){return this._worksheet.getMaxColumns()}getMaxRows(){return this._worksheet.getMaxRows()}insertRowAfter(e){return this.insertRowsAfter(e,1)}insertRowBefore(e){return this.insertRowsBefore(e,1)}insertRows(e,t=1){return this.insertRowsBefore(e,t)}insertRowsAfter(e,n){let i=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),o=t.Direction.DOWN,s=e+1,c=e+n,l=this._worksheet.getColumnCount()-1,u=(0,r.copyRangeStyles)(this._worksheet,s,c,0,l,!0,e);return this._commandService.syncExecuteCommand(r.InsertRowByRangeCommand.id,{unitId:i,subUnitId:a,direction:o,range:{startRow:s,endRow:c,startColumn:0,endColumn:l},cellValue:u}),this}insertRowsBefore(e,n){let i=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),o=t.Direction.UP,s=e,c=e+n-1,l=this._worksheet.getColumnCount()-1,u=(0,r.copyRangeStyles)(this._worksheet,s,c,0,l,!0,e-1);return this._commandService.syncExecuteCommand(r.InsertRowByRangeCommand.id,{unitId:i,subUnitId:a,direction:o,range:{startRow:s,endRow:c,startColumn:0,endColumn:l},cellValue:u}),this}deleteRow(e){return this.deleteRows(e,1)}deleteRows(e,t){let n={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return this._commandService.syncExecuteCommand(r.RemoveRowByRangeCommand.id,{range:n,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}deleteRowsByPoints(e){return(0,t.generateIntervalsByPoints)(e).reverse().forEach(e=>{this.deleteRows(e[0],e[1]-e[0]+1)}),this}moveRows(e,t){let n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),a=F(e.getRange(),this._worksheet),o=a,s={startRow:t,endRow:t,startColumn:a.startColumn,endColumn:a.endColumn};return this._commandService.syncExecuteCommand(r.MoveRowsCommand.id,{unitId:n,subUnitId:i,range:a,fromRange:o,toRange:s}),this}hideRow(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=F(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(r.SetRowHiddenCommand.id,{unitId:t,subUnitId:n,ranges:[i]}),this}hideRows(e,n=1){let i=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),o={startRow:e,endRow:e+n-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:t.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(r.SetRowHiddenCommand.id,{unitId:i,subUnitId:a,ranges:[o]}),this}unhideRow(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=F(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(r.SetSpecificRowsVisibleCommand.id,{unitId:t,subUnitId:n,ranges:[i]}),this}showRows(e,n=1){let i=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),o={startRow:e,endRow:e+n-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:t.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(r.SetSpecificRowsVisibleCommand.id,{unitId:i,subUnitId:a,ranges:[o]}),this}setRowHeight(e,t){return this.setRowHeights(e,1,t)}autoFitRow(e,n=t.BooleanNumber.TRUE){let i=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),o=[{startRow:e,endRow:e,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(r.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:o[0],value:t.WrapStrategy.WRAP}),this._commandService.syncExecuteCommand(r.SetWorksheetRowIsAutoHeightMutation.id,{unitId:i,subUnitId:a,ranges:o,autoHeightInfo:n}),this}setRowHeights(e,t,n){let i=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),o=this._worksheet.getRowManager(),s=[],c=[];for(let r=e;r<e+t;r++){var l;let e=((l=o.getRow(r))==null?void 0:l.ah)||this._worksheet.getConfig().defaultRowHeight,t={startRow:r,endRow:r,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};n<=e?s.push(t):c.push(t)}return c.length>0&&this._commandService.syncExecuteCommand(r.SetRowHeightCommand.id,{unitId:i,subUnitId:a,ranges:c,value:n}),s.length>0&&this._commandService.syncExecuteCommand(r.SetWorksheetRowIsAutoHeightCommand.id,{unitId:i,subUnitId:a,ranges:s}),this}getRowHeight(e){return this._worksheet.getRowHeight(e)}setRowAutoHeight(e,t){let n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),a=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(r.SetWorksheetRowIsAutoHeightCommand.id,{unitId:n,subUnitId:i,ranges:a}),this}setRangesAutoHeight(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return this._commandService.syncExecuteCommand(r.SetWorksheetRowIsAutoHeightCommand.id,{unitId:t,subUnitId:n,ranges:e}),this}setRowHeightsForced(e,t,n){let i=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),o=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(r.SetRowHeightCommand.id,{unitId:i,subUnitId:a,ranges:o,value:n}),this}setRowCustom(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i={};for(let[t,n]of Object.entries(e))i[Number(t)]={custom:n};let a={unitId:t,subUnitId:n,rowData:i};return this._commandService.syncExecuteCommand(r.SetRowDataCommand.id,a),this}insertColumnAfter(e){return this.insertColumnsAfter(e,1)}insertColumnBefore(e){return this.insertColumnsBefore(e,1)}insertColumns(e,t=1){return this.insertColumnsBefore(e,t)}insertColumnsAfter(e,n){let i=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),o=t.Direction.RIGHT,s=this._worksheet.getRowCount()-1,c=e+1,l=e+n,u=(0,r.copyRangeStyles)(this._worksheet,0,s,c,l,!1,e);return this._commandService.syncExecuteCommand(r.InsertColByRangeCommand.id,{unitId:i,subUnitId:a,direction:o,range:{startRow:0,endRow:s,startColumn:c,endColumn:l},cellValue:u}),this}insertColumnsBefore(e,n){let i=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),o=t.Direction.LEFT,s=this._worksheet.getRowCount()-1,c=e,l=e+n-1,u=(0,r.copyRangeStyles)(this._worksheet,0,s,c,l,!1,e-1);return this._commandService.syncExecuteCommand(r.InsertColByRangeCommand.id,{unitId:i,subUnitId:a,direction:o,range:{startRow:0,endRow:s,startColumn:c,endColumn:l},cellValue:u}),this}deleteColumn(e){return this.deleteColumns(e,1)}deleteColumns(e,t){let n={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1};return this._commandService.syncExecuteCommand(r.RemoveColByRangeCommand.id,{range:n,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}deleteColumnsByPoints(e){return(0,t.generateIntervalsByPoints)(e).reverse().forEach(e=>{this.deleteColumns(e[0],e[1]-e[0]+1)}),this}moveColumns(e,t){let n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),a=I(e.getRange(),this._worksheet),o=a,s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:t,endColumn:t};return this._commandService.syncExecuteCommand(r.MoveColsCommand.id,{unitId:n,subUnitId:i,range:a,fromRange:o,toRange:s}),this}hideColumn(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=I(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(r.SetColHiddenCommand.id,{unitId:t,subUnitId:n,ranges:[i]}),this}hideColumns(e,n=1){let i=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+n-1,rangeType:t.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(r.SetColHiddenCommand.id,{unitId:i,subUnitId:a,ranges:[o]}),this}unhideColumn(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=I(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(r.SetSpecificColsVisibleCommand.id,{unitId:t,subUnitId:n,ranges:[i]}),this}showColumns(e,n=1){let i=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+n-1,rangeType:t.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(r.SetSpecificColsVisibleCommand.id,{unitId:i,subUnitId:a,ranges:[o]}),this}setColumnWidth(e,t){return this.setColumnWidths(e,1,t)}setColumnWidths(e,t,n){let i=this._workbook.getUnitId(),a=this._worksheet.getSheetId(),o=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(r.SetColWidthCommand.id,{unitId:i,subUnitId:a,ranges:o,value:n}),this}getColumnWidth(e){return this._worksheet.getColumnWidth(e)}setColumnCustom(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i={};for(let[t,n]of Object.entries(e))i[Number(t)]={custom:n};let a={unitId:t,subUnitId:n,columnData:i};return this._commandService.syncExecuteCommand(r.SetColDataCommand.id,a),this}getMergeData(){return this._worksheet.getMergeData().map(e=>this._injector.createInstance(H,this._workbook,this._worksheet,e))}getMergedRanges(){return this._worksheet.getSnapshot().mergeData.map(e=>this._injector.createInstance(H,this._workbook,this._worksheet,e))}getCellMergeData(e,t){let n=this._worksheet.getMergedCell(e,t);if(n)return this._injector.createInstance(H,this._workbook,this._worksheet,n)}getActiveRange(){return this._fWorkbook.getActiveRange()}setActiveRange(e){let{unitId:t,sheetId:n}=e.getRange();if(t!==this._workbook.getUnitId()||n!==this._worksheet.getSheetId())throw Error(`Specified range must be part of the sheet.`);return this._fWorkbook.setActiveRange(e),this}getActiveCell(){return this._fWorkbook.getActiveCell()}setFreeze(e){return this._commandService.syncExecuteCommand(r.SetFrozenCommand.id,{...e,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}cancelFreeze(){return this._commandService.syncExecuteCommand(r.CancelFrozenCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}getFreeze(){return this._worksheet.getFreeze()}setFrozenColumns(...e){let t=this.getFreeze();if(arguments.length===1){let n=e[0];this.setFreeze({...t,startColumn:n>0?n:-1,xSplit:n})}else if(arguments.length===2){let[n=0,i=0]=e;n>i&&([n,i]=[i,n]),this._commandService.syncExecuteCommand(r.SetFrozenCommand.id,{startColumn:i+1,xSplit:i-n+1,startRow:t.startRow,ySplit:t.ySplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}return this}setFrozenRows(...e){let t=this.getFreeze();if(arguments.length===1){let n=e[0];this.setFreeze({...t,startRow:n>0?n:-1,ySplit:n})}else if(arguments.length===2){let[n=0,i=0]=e;n>i&&([n,i]=[i,n]),this._commandService.syncExecuteCommand(r.SetFrozenCommand.id,{startRow:i+1,ySplit:i-n+1,startColumn:t.startColumn,xSplit:t.xSplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}return this}getFrozenColumns(){let e=this.getFreeze();return e.startColumn===-1?0:e.startColumn}getFrozenRows(){let e=this.getFreeze();return e.startRow===-1?0:e.startRow}getFrozenRowRange(){let e=this._worksheet.getFreeze();return{startRow:e.startRow-e.ySplit,endRow:e.startRow-1}}getFrozenColumnRange(){let e=this._worksheet.getFreeze();return{startColumn:e.startColumn-e.xSplit,endColumn:e.startColumn-1}}hasHiddenGridLines(){return this._worksheet.getConfig().showGridlines===t.BooleanNumber.FALSE}setHiddenGridlines(e){return this._commandService.syncExecuteCommand(r.ToggleGridlinesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),showGridlines:e?t.BooleanNumber.FALSE:t.BooleanNumber.TRUE}),this}setGridLinesColor(e){return this._commandService.syncExecuteCommand(r.SetGridlinesColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color:e}),this}getGridLinesColor(){return this._worksheet.getGridlinesColor()}setTabColor(e){return this._commandService.syncExecuteCommand(r.SetTabColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),value:e}),this}getTabColor(){return this._worksheet.getTabColor()}hideSheet(){let e=this._injector.get(t.ICommandService);if(this._workbook.getSheets().filter(e=>e.isSheetHidden()!==t.BooleanNumber.TRUE).length<=1)throw Error(`Cannot hide the only visible sheet`);return e.syncExecuteCommand(r.SetWorksheetHideCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}showSheet(){return this._injector.get(t.ICommandService).syncExecuteCommand(r.SetWorksheetShowCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}isSheetHidden(){return this._worksheet.isSheetHidden()===t.BooleanNumber.TRUE}setName(e){return this._commandService.syncExecuteCommand(r.SetWorksheetNameCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),name:e}),this}activate(){return this._fWorkbook.setActiveSheet(this),this}getIndex(){return this._workbook.getSheetIndex(this._worksheet)}clear(e){if(e&&e.contentsOnly&&!e.formatOnly)return this.clearContents();if(e&&e.formatOnly&&!e.contentsOnly)return this.clearFormats();let n=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),a=this._injector.get(t.ICommandService),o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return a.syncExecuteCommand(r.ClearSelectionAllCommand.id,{unitId:n,subUnitId:i,ranges:[o],options:e}),this}clearContents(){let e=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=this._injector.get(t.ICommandService),a={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return i.syncExecuteCommand(r.ClearSelectionContentCommand.id,{unitId:e,subUnitId:n,ranges:[a]}),this}clearFormats(){let e=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),i=this._injector.get(t.ICommandService),a={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return i.syncExecuteCommand(r.ClearSelectionFormatCommand.id,{unitId:e,subUnitId:n,ranges:[a]}),this}getDataRange(){let{startRow:e,endRow:t,startColumn:n,endColumn:r}=this._worksheet.getDataRealRange();return this.getRange(e,n,t-e+1,r-n+1)}getLastColumn(){return this._worksheet.getLastColumnWithContent()}getLastRow(){return this._worksheet.getLastRowWithContent()}equalTo(e){return e instanceof L?this._worksheet.getSheetId()===e.getSheetId()&&this._workbook.getUnitId()===e.getWorkbook().getUnitId():!1}insertDefinedName(e,t){let n=this._injector.createInstance(p,this._fWorkbook.getId()).setName(e).setRef(t).setScopeToWorksheet(this).build();this._fWorkbook.insertDefinedNameBuilder(n)}getDefinedNames(){return this._fWorkbook.getDefinedNames().filter(e=>e.getLocalSheetId()===this.getSheetId())}setCustomMetadata(e){return this._worksheet.setCustomMetadata(e),this}getCustomMetadata(){return this._worksheet.getCustomMetadata()}setRowCustomMetadata(e,t){return this._worksheet.getRowManager().setCustomMetadata(e,t),this}setColumnCustomMetadata(e,t){return this._worksheet.getColumnManager().setCustomMetadata(e,t),this}getRowCustomMetadata(e){return this._worksheet.getRowManager().getCustomMetadata(e)}getColumnCustomMetadata(e){return this._worksheet.getColumnManager().getCustomMetadata(e)}appendRow(e){let n=this._worksheet.getCellMatrix().hasValue(),i=this._worksheet.getLastRowWithContent(),a=this._worksheet.getRowCount(),o=this._worksheet.getColumnCount(),s=n?i+1:i,c=new t.ObjectMatrix;for(let n=0;n<e.length;n++)c.setValue(s,n,(0,t.covertCellValue)(e[n]));return this._commandService.syncExecuteCommand(r.AppendRowCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),cellValue:c.getMatrix(),insertRowNums:+(s>a-1),insertColumnNums:e.length>o?e.length-o:0,maxRows:a,maxColumns:o}),this}setRowCount(e){return this._commandService.syncExecuteCommand(r.SetWorksheetRowCountCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),rowCount:e}),this}setColumnCount(e){return this._commandService.syncExecuteCommand(r.SetWorksheetColumnCountCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),columnCount:e}),this}getWorksheetPermission(){return this._injector.createInstance(A,this)}};R=L=d([u(3,(0,t.Inject)(t.Injector)),u(4,(0,t.Inject)(r.SheetsSelectionsService)),u(5,(0,t.Inject)(t.ILogService)),u(6,t.ICommandService)],R);let z=class extends n.FBase{constructor(e,t,n,r,i,a,o,s){super(),this._unitId=e,this._subUnitId=t,this._range=n,this._worksheet=r,this._injector=i,this._authzIoService=a,this._commandService=o,this._rangeProtectionRuleModel=s}isProtected(){return this._rangeProtectionRuleModel.getSubunitRuleList(this._unitId,this._subUnitId).filter(e=>e.ranges.some(e=>t.Rectangle.intersects(e,this._range.getRange()))).length>0}async protect(e){if(this.isProtected())throw Error(`Range is already protected`);let n=T(e==null?void 0:e.allowedUsers),i=w(e==null?void 0:e.allowViewByOthers),o=E(n,i),s=[];if(n===r.EditStateEnum.DesignedUserCanEdit){let t=await this._authzIoService.listCollaborators({objectID:this._unitId,unitID:this._unitId});e.allowedUsers.forEach(e=>{let n=t.find(t=>{var n;return((n=t.subject)==null?void 0:n.userID)===e||t.id===e});if(!n){console.error(`User ${e} not found in existing collaborators`);return}s.push({id:n.id,role:a.UnitRole.Editor,subject:n.subject})})}let c=await this._authzIoService.create({objectType:a.UnitObject.SelectRange,selectRangeObject:{collaborators:s,unitID:this._unitId,name:(e==null?void 0:e.name)||``,scope:o}}),l=`ruleId_${(0,t.generateRandomId)(6)}`;if(!this._commandService.syncExecuteCommand(r.AddRangeProtectionMutation.id,{unitId:this._unitId,subUnitId:this._subUnitId,rules:[{ranges:[this._range.getRange()],permissionId:c,id:l,description:e==null?void 0:e.name,unitType:a.UnitObject.SelectRange,unitId:this._unitId,subUnitId:this._subUnitId,viewState:i,editState:n}]}))throw Error(`Failed to add range protection`);return this._injector.createInstance(k,this._unitId,this._subUnitId,l,c,[this._range],e||{})}async unprotect(){let e=await this.listRules({ignoreCollaborators:!0});if(e.length===0)return!0;let t=await Promise.all(e.map(e=>e.remove()));for(let e of t)if(!e)return console.error(`Failed to remove some range protection rules`),!1;return!0}async listRules(e){return O(this._injector,this._unitId,this._subUnitId,{worksheet:this._worksheet,specificRange:this._range,ignoreCollaborators:e==null?void 0:e.ignoreCollaborators})}};z=d([u(4,(0,t.Inject)(t.Injector)),u(5,(0,t.Inject)(t.IAuthzIoService)),u(6,(0,t.Inject)(t.ICommandService)),u(7,(0,t.Inject)(r.RangeProtectionRuleModel))],z);var B,V;let H=B=class extends n.FBaseInitialable{constructor(e,t,n,r,i,a){super(r),this._workbook=e,this._worksheet=t,this._range=n,this._injector=r,this._commandService=i,this._formulaDataModel=a;let o=this._worksheet.getRowCount(),s=this._worksheet.getColumnCount();if(this._range.startRow<0||this._range.startColumn<0||this._range.endRow>=o||this._range.endColumn>=s)throw Error(`Range is out of bounds. Max rows: ${o}, Max columns: ${s}, Given range: ${JSON.stringify(this._range)}`);this._runInitializers(this._injector,this._workbook,this._worksheet,this._range,this._commandService,this._formulaDataModel)}getUnitId(){return this._workbook.getUnitId()}getSheetName(){return this._worksheet.getName()}getSheetId(){return this._worksheet.getSheetId()}getRange(){return this._range}getRow(){return this._range.startRow}getLastRow(){return this._range.endRow}getColumn(){return this._range.startColumn}getLastColumn(){return this._range.endColumn}getWidth(){return this._range.endColumn-this._range.startColumn+1}getHeight(){return this._range.endRow-this._range.startRow+1}isMerged(){let{startColumn:e,startRow:n,endColumn:r,endRow:i}=this._range;return this._worksheet.getMergedCellRange(n,e,i,r).some(e=>t.Rectangle.equals(e,this._range))}getCellStyleData(e=`row`){return e===`cell`?this._worksheet.getCellStyle(this._range.startRow,this._range.startColumn):this._worksheet.getComposedCellStyle(this._range.startRow,this._range.startColumn,e===`row`)}getFontFamily(e=`row`){var t,n;return(t=(n=this.getCellStyleData(e))==null?void 0:n.ff)==null?null:t}getFontSize(e=`row`){var t,n;return(t=(n=this.getCellStyleData(e))==null?void 0:n.fs)==null?null:t}getCellStyle(e=`row`){let n=this.getCellStyleData(e);return n?t.TextStyleValue.create(n):null}getCellStyles(e=`row`){return this.getCellDatas().map((n,r)=>n.map((n,i)=>{if(!n)return null;let a=e===`cell`?this._worksheet.getCellStyle(r+this._range.startRow,i+this._range.startColumn):this._worksheet.getComposedCellStyle(r+this._range.startRow,i+this._range.startColumn,e===`row`);return a?t.TextStyleValue.create(a):null}))}getValue(e){var t,n;return e?this.getValueAndRichTextValue():(t=(n=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:n.v)==null?null:t}getRawValue(){var e,t;let n=this._worksheet.getCellMatrix().getValue(this._range.startRow,this._range.startColumn);return n!=null&&n.p&&(e=n.p.body)!=null&&e.dataStream?n.p.body.dataStream:(t=n==null?void 0:n.v)==null?null:t}getDisplayValue(){var e,t,n;let r=this._worksheet.getCell(this._range.startRow,this._range.startColumn);return r!=null&&r.p&&(e=r.p.body)!=null&&e.dataStream?r.p.body.dataStream:(t=r==null||(n=r.v)==null?void 0:n.toString())==null?``:t}getValues(e){if(e)return this.getValueAndRichTextValues();let{startRow:t,endRow:n,startColumn:r,endColumn:i}=this._range,a=[];for(let e=t;e<=n;e++){let t=[];for(let n=r;n<=i;n++){var o,s;t.push((o=(s=this._worksheet.getCell(e,n))==null?void 0:s.v)==null?null:o)}a.push(t)}return a}getRawValues(){let e=this._worksheet.getCellMatrix(),{startRow:t,endRow:n,startColumn:r,endColumn:i}=this._range,a=[];for(let c=t;c<=n;c++){let t=[];for(let n=r;n<=i;n++){var o;let r=e.getValue(c,n);if(r!=null&&r.p&&(o=r.p.body)!=null&&o.dataStream)t.push(r.p.body.dataStream);else{var s;t.push((s=r==null?void 0:r.v)==null?null:s)}}a.push(t)}return a}getDisplayValues(){let{startRow:e,endRow:t,startColumn:n,endColumn:r}=this._range,i=[];for(let c=e;c<=t;c++){let e=[];for(let t=n;t<=r;t++){var a;let n=this._worksheet.getCell(c,t);if(n!=null&&n.p&&(a=n.p.body)!=null&&a.dataStream)e.push(n.p.body.dataStream);else{var o,s;e.push((o=n==null||(s=n.v)==null?void 0:s.toString())==null?``:o)}}i.push(e)}return i}getCellData(){var e;return(e=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?null:e}getCellDatas(){return this.getCellDataGrid()}getCellDataGrid(){let{startRow:e,endRow:t,startColumn:n,endColumn:r}=this._range,i=[];for(let a=e;a<=t;a++){let e=[];for(let t=n;t<=r;t++)e.push(this._worksheet.getCellRaw(a,t));i.push(e)}return i}getRichTextValue(){let e=this.getCellData();return e!=null&&e.p?new t.RichTextValue(e.p):null}getRichTextValues(){return this.getCellDataGrid().map(e=>e.map(e=>e!=null&&e.p?new t.RichTextValue(e.p):null))}getValueAndRichTextValue(){let e=this.getCellData();return e!=null&&e.p?new t.RichTextValue(e.p):e==null?void 0:e.v}getValueAndRichTextValues(){return this.getCellDatas().map(e=>e.map(e=>e!=null&&e.p?new t.RichTextValue(e.p):e==null?void 0:e.v))}getFormula(){var e;return(e=this._formulaDataModel.getFormulaStringByCell(this._range.startRow,this._range.startColumn,this._worksheet.getSheetId(),this._workbook.getUnitId()))==null?``:e}getFormulas(){let e=[],{startRow:t,endRow:n,startColumn:r,endColumn:i}=this._range,a=this._worksheet.getSheetId(),o=this._workbook.getUnitId();for(let s=t;s<=n;s++){let t=[];for(let e=r;e<=i;e++){let n=this._formulaDataModel.getFormulaStringByCell(s,e,a,o);t.push(n||``)}e.push(t)}return e}getWrap(){return this._worksheet.getRange(this._range).getWrap()===t.BooleanNumber.TRUE}getWraps(){let e=this.getCellDatas(),n=this._workbook.getStyles();return e.map(e=>e.map(e=>{var r;return((r=n.getStyleByCell(e))==null?void 0:r.tb)===t.WrapStrategy.WRAP}))}getWrapStrategy(){return this._worksheet.getRange(this._range).getWrapStrategy()}getHorizontalAlignment(){return M(this._worksheet.getRange(this._range).getHorizontalAlignment())}getHorizontalAlignments(){return this._worksheet.getRange(this._range).getHorizontalAlignments().map(e=>e.map(e=>M(e)))}getVerticalAlignment(){return P(this._worksheet.getRange(this._range).getVerticalAlignment())}getVerticalAlignments(){return this._worksheet.getRange(this._range).getVerticalAlignments().map(e=>e.map(e=>P(e)))}setCustomMetaData(e){let t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,customMetadata:{custom:e}};return this._commandService.syncExecuteCommand(r.SetRangeCustomMetadataCommand.id,t),this}setCustomMetaDatas(e){let t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,customMetadata:e.map(e=>e.map(e=>({custom:e})))};return this._commandService.syncExecuteCommand(r.SetRangeCustomMetadataCommand.id,t),this}getCustomMetaData(){var e;let t=this.getCellData();return(e=t==null?void 0:t.custom)==null?null:e}getCustomMetaDatas(){return this.getCellDataGrid().map(e=>e.map(e=>{var t;return(t=e==null?void 0:e.custom)==null?null:t}))}setBorder(e,t,n){return this._commandService.syncExecuteCommand(r.SetBorderBasicCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range],value:{type:e,style:t,color:n}}),this}getBackground(){var e,n;let r=this.getCellStyle();return(e=r==null||(n=r.background)==null?void 0:n.rgb)==null?t.DEFAULT_STYLES.bg.rgb:e}getBackgrounds(){return this.getCellStyles().map(e=>e.map(e=>{var n,r;return(n=e==null||(r=e.background)==null?void 0:r.rgb)==null?t.DEFAULT_STYLES.bg.rgb:n}))}setBackgroundColor(e){return this._commandService.syncExecuteCommand(r.SetStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:{type:`bg`,value:{rgb:e}}}),this}setBackground(e){return this.setBackgroundColor(e),this}setTextRotation(e){return this._commandService.syncExecuteCommand(r.SetTextRotationCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setValue(e){let n=(0,t.covertCellValue)(e);if(!n)throw Error(`Invalid value`);return this._commandService.syncExecuteCommand(r.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:n}),this}setValueForCell(e){let n=(0,t.covertCellValue)(e);if(!n)throw Error(`Invalid value`);return this._commandService.syncExecuteCommand(r.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:{startColumn:this._range.startColumn,startRow:this._range.startRow,endColumn:this._range.startColumn,endRow:this._range.startRow},value:n}),this}setRichTextValueForCell(e){let n=e instanceof t.RichTextValue?e.getData():e,i={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:{startColumn:this._range.startColumn,startRow:this._range.startRow,endColumn:this._range.startColumn,endRow:this._range.startRow},value:{p:n}};return this._commandService.syncExecuteCommand(r.SetRangeValuesCommand.id,i),this}setRichTextValues(e){let n=(0,t.covertCellValues)(e.map(e=>e.map(e=>e&&{p:e instanceof t.RichTextValue?e.getData():e})),this._range),i={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:n};return this._commandService.syncExecuteCommand(r.SetRangeValuesCommand.id,i),this}setWrap(e){return this._commandService.syncExecuteCommand(r.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e?t.WrapStrategy.WRAP:t.WrapStrategy.UNSPECIFIED}),this}setWrapStrategy(e){return this._commandService.syncExecuteCommand(r.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setVerticalAlignment(e){return this._commandService.syncExecuteCommand(r.SetVerticalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:N(e)}),this}setHorizontalAlignment(e){return this._commandService.syncExecuteCommand(r.SetHorizontalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:j(e)}),this}setValues(e){let n=(0,t.covertCellValues)(e,this._range);return this._commandService.syncExecuteCommand(r.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:n}),this}setFontWeight(e){let n;if(e===`bold`)n=t.BooleanNumber.TRUE;else if(e===`normal`)n=t.BooleanNumber.FALSE;else if(e===null)n=null;else throw Error(`Invalid fontWeight`);let i={type:`bl`,value:n},a={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:i};return this._commandService.syncExecuteCommand(r.SetStyleCommand.id,a),this}setFontStyle(e){let n;if(e===`italic`)n=t.BooleanNumber.TRUE;else if(e===`normal`)n=t.BooleanNumber.FALSE;else if(e===null)n=null;else throw Error(`Invalid fontStyle`);let i={type:`it`,value:n},a={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:i};return this._commandService.syncExecuteCommand(r.SetStyleCommand.id,a),this}setFontLine(e){if(e===`underline`)this._setFontUnderline({s:t.BooleanNumber.TRUE});else if(e===`line-through`)this._setFontStrikethrough({s:t.BooleanNumber.TRUE});else if(e===`none`)this._setFontUnderline({s:t.BooleanNumber.FALSE}),this._setFontStrikethrough({s:t.BooleanNumber.FALSE});else if(e===null)this._setFontUnderline(null),this._setFontStrikethrough(null);else throw Error(`Invalid fontLine`);return this}_setFontUnderline(e){let t={type:`ul`,value:e},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};this._commandService.syncExecuteCommand(r.SetStyleCommand.id,n)}_setFontStrikethrough(e){let t={type:`st`,value:e},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};this._commandService.syncExecuteCommand(r.SetStyleCommand.id,n)}setFontFamily(e){let t={type:`ff`,value:e},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.syncExecuteCommand(r.SetStyleCommand.id,n),this}setFontSize(e){let t={type:`fs`,value:e},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.syncExecuteCommand(r.SetStyleCommand.id,n),this}setFontColor(e){let t={type:`cl`,value:e===null?null:{rgb:e}},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.syncExecuteCommand(r.SetStyleCommand.id,n),this}merge(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return(0,r.addMergeCellsUtil)(this._injector,t,n,[this._range],e),this}mergeAcross(e){let n=(0,r.getAddMergeMutationRangeByType)([this._range],t.Dimension.ROWS),i=this._workbook.getUnitId(),a=this._worksheet.getSheetId();return(0,r.addMergeCellsUtil)(this._injector,i,a,n,e),this}mergeVertically(e){let n=(0,r.getAddMergeMutationRangeByType)([this._range],t.Dimension.COLUMNS),i=this._workbook.getUnitId(),a=this._worksheet.getSheetId();return(0,r.addMergeCellsUtil)(this._injector,i,a,n,e),this}isPartOfMerge(){let{startRow:e,startColumn:t,endRow:n,endColumn:r}=this._range;return this._worksheet.getMergedCellRange(e,t,n,r).length>0}breakApart(){return this._commandService.syncExecuteCommand(r.RemoveWorksheetMergeCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range]}),this}forEach(e){let{startColumn:t,startRow:n,endColumn:r,endRow:i}=this._range;this._worksheet.getMatrixWithMergedCells(n,t,i,r).forValue((t,n,r)=>{e(t,n,r)})}getA1Notation(e,t,n){let r={...this._range,startAbsoluteRefType:t,endAbsoluteRefType:n};return e?(0,i.serializeRangeWithSheet)(this._worksheet.getName(),r):(0,i.serializeRange)(r)}activate(){return this._injector.createInstance(W,this._workbook).setActiveRange(this),this}activateAsCurrentCell(){let e=this._worksheet.getMergedCell(this._range.startRow,this._range.startColumn);if(e&&t.Rectangle.equals(e,this._range)||!e&&this._range.startRow===this._range.endRow&&this._range.startColumn===this._range.endColumn){let e=this._injector.createInstance(W,this._workbook).getActiveRange();if(!e||e.getUnitId()!==this.getUnitId()||e.getSheetId()!==this.getSheetId())return this.activate();if(t.Rectangle.contains(e.getRange(),this._range)){let t={unitId:this.getUnitId(),subUnitId:this.getSheetId(),selections:[{range:e.getRange(),primary:(0,r.getPrimaryForRange)(this.getRange(),this._worksheet),style:null}]};return this._commandService.syncExecuteCommand(r.SetSelectionsOperation.id,t),this}return this.activate()}else throw Error(`The range is not a single cell`)}splitTextToColumns(e,t,n){this._commandService.syncExecuteCommand(r.SplitTextToColumnsCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,delimiter:t,customDelimiter:n,treatMultipleDelimitersAsOne:e})}useThemeStyle(e){if(e==null){let e=this.getUsedThemeStyle();e&&this.removeThemeStyle(e)}else this._commandService.syncExecuteCommand(r.SetWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:e})}removeThemeStyle(e){this._commandService.syncExecuteCommand(r.DeleteWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:e})}getUsedThemeStyle(){return this._injector.get(r.SheetRangeThemeService).getAppliedRangeThemeStyle({unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range})}clear(e){return e&&e.contentsOnly&&!e.formatOnly?this.clearContent():e&&e.formatOnly&&!e.contentsOnly?this.clearFormat():(this._commandService.syncExecuteCommand(r.ClearSelectionAllCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range],options:e}),this)}clearContent(){return this._commandService.syncExecuteCommand(r.ClearSelectionContentCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range]}),this}clearFormat(){return this._commandService.syncExecuteCommand(r.ClearSelectionFormatCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range]}),this}insertCells(e){e===t.Dimension.ROWS?this._commandService.executeCommand(r.InsertRangeMoveDownCommand.id,{range:this._range}):this._commandService.executeCommand(r.InsertRangeMoveRightCommand.id,{range:this._range})}deleteCells(e){e===t.Dimension.ROWS?this._commandService.executeCommand(r.DeleteRangeMoveUpCommand.id,{range:this._range}):this._commandService.executeCommand(r.DeleteRangeMoveLeftCommand.id,{range:this._range})}getDataRegion(e){let{startRow:n,startColumn:r,endRow:i,endColumn:a}=this._range,o=this._worksheet.getMaxRows(),s=this._worksheet.getMaxColumns(),c=this._worksheet.getCellMatrix(),l=n,u=r,d=i,f=a;if(e!==t.Dimension.COLUMNS){let e=!1,s=!1;for(let l=r;l<=a&&(n>0&&!(0,t.isNullCell)(c.getValue(n-1,l))&&(e=!0),i<o-1&&!(0,t.isNullCell)(c.getValue(i+1,l))&&(s=!0),!(e&&s));l++);e&&(l=n-1),s&&(d=i+1)}if(e!==t.Dimension.ROWS){let e=!1,o=!1;for(let l=n;l<=i&&(r>0&&!(0,t.isNullCell)(c.getValue(l,r-1))&&(e=!0),a<s-1&&!(0,t.isNullCell)(c.getValue(l,a+1))&&(o=!0),!(e&&o));l++);e&&(u=r-1),o&&(f=a+1)}return this._injector.createInstance(B,this._workbook,this._worksheet,{startRow:l,startColumn:u,endRow:d,endColumn:f})}isBlank(){let e=this._worksheet.getCellMatrix(),{startRow:n,startColumn:r,endRow:i,endColumn:a}=this._range,o=!0;for(let s=n;s<=i;s++){for(let n=r;n<=a;n++)if(!(0,t.isNullCell)(e.getValue(s,n))){o=!1;break}if(!o)break}return o}offset(e,t,n,r){let{startRow:i,startColumn:a,endRow:o,endColumn:s}=this._range,c=i+e,l=a+t,u=n?c+n-1:o+e,d=r?l+r-1:s+t;if(c<0||l<0||u<0||d<0)throw Error(`The row or column index is out of range`);return this._injector.createInstance(B,this._workbook,this._worksheet,{startRow:c,startColumn:l,endRow:u,endColumn:d})}setFormula(e){return this.setValue({f:e})}setFormulas(e){return this.setValues(e.map(e=>e.map(e=>({f:e}))))}getRangePermission(){let e=this._injector.createInstance(R,this._injector.createInstance(W,this._workbook),this._workbook,this._worksheet);return this._injector.createInstance(z,this._workbook.getUnitId(),this._worksheet.getSheetId(),this,e)}autoFill(e,n){let i=this.getRange(),a=e.getRange();if(!t.Rectangle.contains(a,i))throw Error(`AutoFill target range must contain source range`);let{startRow:o,startColumn:s,endRow:c,endColumn:l}=i,{startRow:u,startColumn:d,endRow:f,endColumn:p}=a;if(c-o!==f-u&&l-s!==p-d||c-o===f-u&&s!==d&&l!==p||l-s===p-d&&o!==u&&c!==f)throw Error(`AutoFill can only fill in one direction`);return this._commandService.executeCommand(r.AutoFillCommand.id,{sourceRange:i,targetRange:a,unitId:this.getUnitId(),subUnitId:this.getSheetId(),applyType:n})}};V=H,V._enableManualInit(),H=B=d([u(3,(0,t.Inject)(t.Injector)),u(4,t.ICommandService),u(5,(0,t.Inject)(i.FormulaDataModel))],H);let U=class extends n.FBase{constructor(e,t,n,r){super(),this._unitId=e,this._injector=t,this._permissionService=n,this._authzIoService=r}async setMode(e){let t=this._getModePermissions(e);await Promise.all(Object.entries(t).map(([e,t])=>this.setPoint(e,t)))}_getModePermissions(e){let t={};switch(Object.values(v).forEach(e=>{t[e]=!1}),e){case`owner`:Object.values(v).forEach(e=>{t[e]=!0});break;case`editor`:t.WorkbookEdit=!0,t.WorkbookView=!0,t.WorkbookPrint=!0,t.WorkbookExport=!0,t.WorkbookCopy=!0,t.WorkbookComment=!0,t.WorkbookCreateSheet=!0,t.WorkbookDeleteSheet=!0,t.WorkbookRenameSheet=!0,t.WorkbookMoveSheet=!0,t.WorkbookHideSheet=!0,t.WorkbookInsertRow=!0,t.WorkbookInsertColumn=!0,t.WorkbookDeleteRow=!0,t.WorkbookDeleteColumn=!0,t.WorkbookCopySheet=!0,t.WorkbookCreateProtect=!0;break;case`viewer`:t.WorkbookView=!0,t.WorkbookPrint=!0;break;case`commenter`:t.WorkbookView=!0,t.WorkbookComment=!0,t.WorkbookPrint=!0;break}return t}async setReadOnly(){await this.setMode(`viewer`)}async setEditable(){await this.setMode(`editor`)}async setPoint(e,t){let n=x[e];if(!n)throw Error(`Unknown workbook permission point: ${e}`);let r=new n(this._unitId),i=this._permissionService.getPermissionPoint(r.id);i&&i.value===t||(i||this._permissionService.addPermissionPoint(r),await this._authzIoService.update({objectType:a.UnitObject.Workbook,objectID:this._unitId,unitID:this._unitId,share:void 0,name:``,strategies:[{action:r.subType,role:t?1:2}],scope:void 0,collaborators:void 0}),this._permissionService.updatePermissionPoint(r.id,t))}canEdit(){return this.getPoint(`WorkbookEdit`)}getPoint(e){var t;let n=x[e];if(!n)throw Error(`Unknown workbook permission point: ${e}`);let r=new n(this._unitId),i=this._permissionService.getPermissionPoint(r.id);return(t=i==null?void 0:i.value)==null?!0:t}getSnapshot(){let e={};for(let t in v){let n=v[t];e[n]=this.getPoint(n)}return e}async setCollaborators(e){let t=e.map(e=>({id:e.user.userID,subject:e.user,role:e.role}));await this._authzIoService.putCollaborators({objectID:this._unitId,unitID:this._unitId,collaborators:t})}async addCollaborator(e,t){await this._authzIoService.createCollaborator({objectID:this._unitId,unitID:this._unitId,collaborators:[{id:e.userID,subject:e,role:t}]})}async updateCollaborator(e,t){await this._authzIoService.updateCollaborator({objectID:this._unitId,unitID:this._unitId,collaborator:{id:e.userID,subject:e,role:t}})}async removeCollaborator(e){await this._authzIoService.deleteCollaborator({objectID:this._unitId,unitID:this._unitId,collaboratorID:e})}async removeCollaborators(e){await Promise.all(e.map(e=>this.removeCollaborator(e)))}async listCollaborators(){return(await this._authzIoService.listCollaborators({objectID:this._unitId,unitID:this._unitId})).map(e=>{var t,n,r;return{user:{userID:((t=e.subject)==null?void 0:t.userID)||e.id,name:((n=e.subject)==null?void 0:n.name)||``,avatar:((r=e.subject)==null?void 0:r.avatar)||``},role:e.role}})}};U=d([u(1,(0,t.Inject)(t.Injector)),u(2,t.IPermissionService),u(3,t.IAuthzIoService)],U);let W=class extends n.FBaseInitialable{constructor(e,t,n,r,i,a,o,s,c,u){super(t),this._workbook=e,this._injector=t,this._resourceLoaderService=n,this._selectionManagerService=r,this._univerInstanceService=i,this._commandService=a,this._permissionService=o,this._logService=s,this._localeService=c,this._definedNamesService=u,l(this,`id`,void 0),this.id=this._workbook.getUnitId()}getWorkbook(){return this._workbook}dispose(){super.dispose(),this._workbook=null}getId(){return this.id}getName(){return this._workbook.name}setName(e){return this._commandService.syncExecuteCommand(r.SetWorkbookNameCommand.id,{unitId:this._workbook.getUnitId(),name:e}),this}save(){return this._resourceLoaderService.saveUnit(this._workbook.getUnitId())}getSnapshot(){return this._logService.warn(`use 'save' instead of 'getSnapshot'`),this.save()}getActiveSheet(){let e=this._workbook.getActiveSheet();return this._injector.createInstance(R,this,this._workbook,e)}getSheets(){return this._workbook.getSheets().map(e=>this._injector.createInstance(R,this,this._workbook,e))}create(e,n,i,a){var o,s,c;let l=(0,t.mergeWorksheetSnapshotWithDefault)(t.Tools.deepClone((o=a==null?void 0:a.sheet)==null?{}:o));l.name=e,l.rowCount=n,l.columnCount=i,l.id=a==null||(s=a.sheet)==null?void 0:s.id;let u=(c=a==null?void 0:a.index)==null?this._workbook.getSheets().length:c;this._commandService.syncExecuteCommand(r.InsertSheetCommand.id,{unitId:this.id,index:u,sheet:l}),this._commandService.syncExecuteCommand(r.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:this._workbook.getSheets()[u].getSheetId()});let d=this._workbook.getActiveSheet();if(!d)throw Error(`No active sheet found`);return this._injector.createInstance(R,this,this._workbook,d)}getSheetBySheetId(e){let t=this._workbook.getSheetBySheetId(e);return t?this._injector.createInstance(R,this,this._workbook,t):null}getSheetByName(e){let t=this._workbook.getSheetBySheetName(e);return t?this._injector.createInstance(R,this,this._workbook,t):null}setActiveSheet(e){return this._commandService.syncExecuteCommand(r.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:typeof e==`string`?e:e.getSheetId()}),typeof e==`string`?this.getSheetBySheetId(e):e}insertSheet(e,n){var i,a,o;let s=(0,t.mergeWorksheetSnapshotWithDefault)(t.Tools.deepClone((i=n==null?void 0:n.sheet)==null?{}:i));e===void 0?delete s.name:s.name=e,s.id=n==null||(a=n.sheet)==null?void 0:a.id;let c=(o=n==null?void 0:n.index)==null?this._workbook.getSheets().length:o;this._commandService.syncExecuteCommand(r.InsertSheetCommand.id,{unitId:this.id,index:c,sheet:s}),this._commandService.syncExecuteCommand(r.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:this._workbook.getSheets()[c].getSheetId()});let l=this._workbook.getActiveSheet();if(!l)throw Error(`No active sheet found`);return this._injector.createInstance(R,this,this._workbook,l)}deleteSheet(e){let t=this.id,n=typeof e==`string`?e:e.getSheetId();return this._commandService.syncExecuteCommand(r.RemoveSheetCommand.id,{unitId:t,subUnitId:n})}undo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(t.UndoCommand.id),this}redo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(t.RedoCommand.id),this}onBeforeCommandExecute(e){return this._commandService.beforeCommandExecuted(t=>{var n;((n=t.params)==null?void 0:n.unitId)===this.id&&e(t)})}onCommandExecuted(e){return this._commandService.onCommandExecuted(t=>{var n;((n=t.params)==null?void 0:n.unitId)===this.id&&e(t)})}onSelectionChange(e){return(0,t.toDisposable)(this._selectionManagerService.selectionMoveEnd$.subscribe(n=>{this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET).getUnitId()===this.id&&(n!=null&&n.length?e(n.map(e=>e.range)):e([]))}))}setEditable(e){let t=new r.WorkbookEditablePermission(this._workbook.getUnitId());return this._permissionService.getPermissionPoint(t.id)||this._permissionService.addPermissionPoint(t),this._permissionService.updatePermissionPoint(t.id,e),this}setActiveRange(e){let t=this.getActiveSheet(),n=e.getRange().sheetId||t.getSheetId(),i=n?this._workbook.getSheetBySheetId(n):this._workbook.getActiveSheet(!0);if(!i)throw Error(`No active sheet found`);i.getSheetId()!==t.getSheetId()&&this.setActiveSheet(this._injector.createInstance(R,this,this._workbook,i));let a={unitId:this.getId(),subUnitId:n,selections:[e].map(e=>({range:e.getRange(),primary:(0,r.getPrimaryForRange)(e.getRange(),i),style:null}))};return this._commandService.syncExecuteCommand(r.SetSelectionsOperation.id,a),this}getActiveRange(){let e=this._workbook.getActiveSheet(),t=this._selectionManagerService.getCurrentSelections().find(e=>!!e.primary);return t?this._injector.createInstance(H,this._workbook,e,t.range):null}getActiveCell(){let e=this._workbook.getActiveSheet(),n=this._selectionManagerService.getCurrentSelections().find(e=>!!e.primary);if(!n)return null;let r={...n.primary,rangeType:t.RANGE_TYPE.NORMAL};return this._injector.createInstance(H,this._workbook,e,r)}deleteActiveSheet(){let e=this.getActiveSheet();return this.deleteSheet(e)}duplicateSheet(e){return this._commandService.syncExecuteCommand(r.CopySheetCommand.id,{unitId:e.getWorkbook().getUnitId(),subUnitId:e.getSheetId()}),this._injector.createInstance(R,this,this._workbook,this._workbook.getActiveSheet())}duplicateActiveSheet(){let e=this.getActiveSheet();return this.duplicateSheet(e)}getNumSheets(){return this._workbook.getSheets().length}getLocale(){return this._localeService.getCurrentLocale()}setLocale(e){this._localeService.setLocale(e)}setSpreadsheetLocale(e){return this._localeService.setLocale(e),this}getUrl(){return location.href}moveSheet(e,t){let n=t;return n<0?n=0:n>this._workbook.getSheets().length-1&&(n=this._workbook.getSheets().length-1),this._commandService.syncExecuteCommand(r.SetWorksheetOrderCommand.id,{unitId:e.getWorkbook().getUnitId(),order:n,subUnitId:e.getSheetId()}),this}moveActiveSheet(e){let t=this.getActiveSheet();return this.moveSheet(t,e)}getWorkbookPermission(){return this._injector.createInstance(U,this._workbook.getUnitId())}getDefinedName(e){let t=this._definedNamesService.getValueByName(this.id,e);return t?this._injector.createInstance(m,{...t,unitId:this.id}):null}getDefinedNames(){let e=this._definedNamesService.getDefinedNameMap(this.id);return e?Object.values(e).map(e=>this._injector.createInstance(m,{...e,unitId:this.id})):[]}newDefinedNameBuilder(){return this._injector.createInstance(p,this.id)}insertDefinedNameBuilder(e){this._commandService.syncExecuteCommand(r.SetDefinedNameCommand.id,e)}updateDefinedNameBuilder(e){this._commandService.syncExecuteCommand(r.SetDefinedNameCommand.id,e)}insertDefinedName(e,t){let n=this.newDefinedNameBuilder().setName(e).setRef(t).setScopeToWorkbook().build();return this.insertDefinedNameBuilder(n),this}deleteDefinedName(e){let t=this.getDefinedName(e);return t?(t.delete(),!0):!1}getRegisteredRangeThemes(){return this._injector.get(r.SheetRangeThemeService).getRegisteredRangeThemes()}registerRangeTheme(e){this._commandService.syncExecuteCommand(r.RegisterWorksheetRangeThemeStyleCommand.id,{unitId:this.getId(),rangeThemeStyle:e})}unregisterRangeTheme(e){this._commandService.syncExecuteCommand(r.UnregisterWorksheetRangeThemeStyleCommand.id,{unitId:this.getId(),themeName:e})}createRangeThemeStyle(e,t){return new r.RangeThemeStyle(e,t)}setCustomMetadata(e){return this._workbook.setCustomMetadata(e),this}getCustomMetadata(){return this._workbook.getCustomMetadata()}addStyles(e){this._workbook.addStyles(e)}removeStyles(e){this._workbook.removeStyles(e)}};W=d([u(1,(0,t.Inject)(t.Injector)),u(2,(0,t.Inject)(t.IResourceLoaderService)),u(3,(0,t.Inject)(r.SheetsSelectionsService)),u(4,t.IUniverInstanceService),u(5,t.ICommandService),u(6,t.IPermissionService),u(7,t.ILogService),u(8,(0,t.Inject)(t.LocaleService)),u(9,i.IDefinedNamesService)],W);var G=class extends n.FUniver{getCommandSheetTarget(e){var t;let n=e.params;if(!n)return this.getActiveSheet();let r=n.unitId?this.getUniverSheet(n.unitId):(t=this.getActiveWorkbook)==null?void 0:t.call(this);if(!r)return;let i=r.getSheetBySheetId(n.subUnitId||n.sheetId)||r.getActiveSheet();if(i)return{workbook:r,worksheet:i}}getSheetTarget(e,t){let n=this.getUniverSheet(e);if(!n)return;let r=n.getSheetBySheetId(t);if(r)return{workbook:n,worksheet:r}}_initWorkbookEvent(e){let n=e.get(t.IUniverInstanceService);this.disposeWithMe(this.registerEventHandler(this.Event.WorkbookDisposed,()=>n.unitDisposed$.subscribe(e=>{if(e.type===t.UniverInstanceType.UNIVER_SHEET){let t={unitId:e.getUnitId(),unitType:e.type,snapshot:e.getSnapshot()};this.fireEvent(this.Event.WorkbookDisposed,t)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.WorkbookCreated,()=>n.unitAdded$.subscribe(n=>{let{unit:r}=n;if(r.type===t.UniverInstanceType.UNIVER_SHEET){let t=r,n=e.createInstance(W,t),i={unitId:r.getUnitId(),type:r.type,workbook:n,unit:n};this.fireEvent(this.Event.WorkbookCreated,i)}})))}_initialize(e){let n=e.get(t.IUniverInstanceService),i=e.get(t.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetCreate,()=>i.beforeCommandExecuted(e=>{if(e.id===r.InsertSheetCommand.id){var n;let{unitId:r,index:i,sheet:a}=e.params||{},o=r?this.getUniverSheet(r):(n=this.getActiveWorkbook)==null?void 0:n.call(this);if(!o)return;let s={workbook:o,index:i,sheet:a};if(this.fireEvent(this.Event.BeforeSheetCreate,s),s.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeActiveSheetChange,()=>i.beforeCommandExecuted(e=>{if(e.id===r.SetWorksheetActiveOperation.id){var n;let{subUnitId:r,unitId:i}=e.params,a=i?this.getUniverSheet(i):(n=this.getActiveWorkbook)==null?void 0:n.call(this);if(!a||!r)return;let o=a.getSheetBySheetId(r),s=a.getActiveSheet();if(!o||!s)return;let c={workbook:a,activeSheet:o,oldActiveSheet:s};if(this.fireEvent(this.Event.BeforeActiveSheetChange,c),c.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDelete,()=>i.beforeCommandExecuted(e=>{if(e.id===r.RemoveSheetCommand.id){let n=this.getCommandSheetTarget(e);if(!n)return;let{workbook:r,worksheet:i}=n,a={workbook:r,worksheet:i};if(this.fireEvent(this.Event.BeforeSheetDelete,a),a.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetMove,()=>i.beforeCommandExecuted(e=>{if(e.id===r.SetWorksheetOrderMutation.id){let{fromOrder:n,toOrder:r}=e.params,i=this.getCommandSheetTarget(e);if(!i)return;let a={workbook:i.workbook,worksheet:i.worksheet,newIndex:r,oldIndex:n};if(this.fireEvent(this.Event.BeforeSheetMove,a),a.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetNameChange,()=>i.beforeCommandExecuted(e=>{if(e.id===r.SetWorksheetNameCommand.id){let{name:n}=e.params,r=this.getCommandSheetTarget(e);if(!r)return;let i={workbook:r.workbook,worksheet:r.worksheet,newName:n,oldName:r.worksheet.getSheetName()};if(this.fireEvent(this.Event.BeforeSheetNameChange,i),i.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetTabColorChange,()=>i.beforeCommandExecuted(e=>{if(e.id===r.SetTabColorMutation.id){let{color:n}=e.params,r=this.getCommandSheetTarget(e);if(!r)return;let i={workbook:r.workbook,worksheet:r.worksheet,newColor:n,oldColor:r.worksheet.getTabColor()};if(this.fireEvent(this.Event.BeforeSheetTabColorChange,i),i.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetHideChange,()=>i.beforeCommandExecuted(e=>{if(e.id===r.SetWorksheetHideMutation.id){let{hidden:n}=e.params,r=this.getCommandSheetTarget(e);if(!r)return;let i={workbook:r.workbook,worksheet:r.worksheet,hidden:!!n};if(this.fireEvent(this.Event.BeforeSheetHideChange,i),i.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeGridlineColorChange,()=>i.beforeCommandExecuted(e=>{if(e.id===r.SetGridlinesColorCommand.id){var n;let r=this.getCommandSheetTarget(e);if(!r)return;let i={...r,color:(n=e.params)==null?void 0:n.color};if(this.fireEvent(this.Event.BeforeGridlineColorChange,i),i.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeGridlineEnableChange,()=>i.beforeCommandExecuted(e=>{if(e.id===r.ToggleGridlinesCommand.id){var n,i;let r=this.getCommandSheetTarget(e);if(!r)return;let a=(n=(i=e.params)==null?void 0:i.showGridlines)==null?!r.worksheet.hasHiddenGridLines():n,o={...r,enabled:!!a};if(this.fireEvent(this.Event.BeforeGridlineEnableChange,o),o.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetValueChanged,()=>i.onCommandExecuted(e=>{if(r.COMMAND_LISTENER_VALUE_CHANGE.indexOf(e.id)>-1){if(!this.getActiveSheet())return;let t=(0,r.getValueChangedEffectedRange)(n,e).map(e=>{var t;return(t=this.getWorkbook(e.unitId))==null||(t=t.getSheetBySheetId(e.subUnitId))==null?void 0:t.getRange(e.range)}).filter(Boolean);if(!t.length)return;let i={payload:e,effectedRanges:t};this.fireEvent(this.Event.SheetValueChanged,i)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetCreated,()=>i.onCommandExecuted(e=>{if(e.id===r.InsertSheetCommand.id){var t;let{unitId:n}=e.params||{},r=n?this.getUniverSheet(n):(t=this.getActiveWorkbook)==null?void 0:t.call(this);if(!r)return;let i=r.getActiveSheet();if(!i)return;let a={workbook:r,worksheet:i};this.fireEvent(this.Event.SheetCreated,a)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ActiveSheetChanged,()=>i.onCommandExecuted(e=>{if(e.id===r.SetWorksheetActiveOperation.id){let e=this.getActiveSheet();if(!e)return;let{workbook:t,worksheet:n}=e,r={workbook:t,activeSheet:n};this.fireEvent(this.Event.ActiveSheetChanged,r)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetDeleted,()=>i.onCommandExecuted(e=>{if(e.id===r.RemoveSheetCommand.id){var t;let{subUnitId:n,unitId:r}=e.params,i=r?this.getUniverSheet(r):(t=this.getActiveWorkbook)==null?void 0:t.call(this);if(!i||!n)return;let a={workbook:i,sheetId:n};this.fireEvent(this.Event.SheetDeleted,a)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetMoved,()=>i.onCommandExecuted(e=>{if(e.id===r.SetWorksheetOrderMutation.id){let{toOrder:t}=e.params,n=this.getCommandSheetTarget(e);if(!n)return;let{workbook:r,worksheet:i}=n,a={workbook:r,worksheet:i,newIndex:t};this.fireEvent(this.Event.SheetMoved,a)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetNameChanged,()=>i.onCommandExecuted(e=>{if(e.id===r.SetWorksheetNameCommand.id){let{name:t}=e.params,n=this.getCommandSheetTarget(e);if(!n)return;let{workbook:r,worksheet:i}=n,a={workbook:r,worksheet:i,newName:t};this.fireEvent(this.Event.SheetNameChanged,a)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetTabColorChanged,()=>i.onCommandExecuted(e=>{if(e.id===r.SetTabColorMutation.id){let{color:t}=e.params,n=this.getCommandSheetTarget(e);if(!n)return;let{workbook:r,worksheet:i}=n,a={workbook:r,worksheet:i,newColor:t};this.fireEvent(this.Event.SheetTabColorChanged,a)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetHideChanged,()=>i.onCommandExecuted(e=>{if(e.id===r.SetWorksheetHideMutation.id){let{hidden:t}=e.params,n=this.getCommandSheetTarget(e);if(!n)return;let{workbook:r,worksheet:i}=n,a={workbook:r,worksheet:i,hidden:!!t};this.fireEvent(this.Event.SheetHideChanged,a)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.GridlineChanged,()=>i.onCommandExecuted(e=>{if(e.id===r.SetGridlinesColorCommand.id||e.id===r.ToggleGridlinesCommand.id){let t=this.getCommandSheetTarget(e);if(!t)return;let n={...t,enabled:!t.worksheet.hasHiddenGridLines(),color:t.worksheet.getGridLinesColor()};this.fireEvent(this.Event.GridlineChanged,n)}}))),this._initWorkbookEvent(e)}createUniverSheet(e,n){let r=this._injector.get(t.IUniverInstanceService).createUnit(t.UniverInstanceType.UNIVER_SHEET,e,n);return this._injector.createInstance(W,r)}createWorkbook(e,t){return this.createUniverSheet(e,t)}getActiveWorkbook(){let e=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);return e?this._injector.createInstance(W,e):null}getActiveUniverSheet(){return this.getActiveWorkbook()}getUniverSheet(e){let n=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET);return n?this._injector.createInstance(W,n):null}getWorkbook(e){return this.getUniverSheet(e)}onUniverSheetCreated(e){return(0,t.toDisposable)(this._univerInstanceService.getTypeOfUnitAdded$(t.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{e(this._injector.createInstance(W,t.unit))}))}getActiveSheet(){let e=this.getActiveWorkbook();if(!e)return null;let t=e.getActiveSheet();return t?{workbook:e,worksheet:t}:null}setFreezeSync(e){this._injector.get(r.SheetsFreezeSyncController).setEnabled(e)}};n.FUniver.extend(G);var K=class extends n.FEnum{get SheetValueChangeType(){return r.SheetValueChangeType}get SheetSkeletonChangeType(){return r.SheetSkeletonChangeType}get SplitDelimiterType(){return r.SplitDelimiterEnum}get UnitRole(){return _}get WorkbookPermissionPoint(){return v}get WorksheetPermissionPoint(){return y}get RangePermissionPoint(){return b}};n.FEnum.extend(K);var q=class extends n.FEventName{get SheetCreated(){return`SheetCreated`}get BeforeSheetCreate(){return`BeforeSheetCreate`}get WorkbookCreated(){return`WorkbookCreated`}get WorkbookDisposed(){return`WorkbookDisposed`}get GridlineChanged(){return`GridlineChanged`}get BeforeGridlineEnableChange(){return`BeforeGridlineEnableChange`}get BeforeGridlineColorChange(){return`BeforeGridlineColorChange`}get BeforeActiveSheetChange(){return`BeforeActiveSheetChange`}get ActiveSheetChanged(){return`ActiveSheetChanged`}get SheetDeleted(){return`SheetDeleted`}get BeforeSheetDelete(){return`BeforeSheetDelete`}get SheetMoved(){return`SheetMoved`}get BeforeSheetMove(){return`BeforeSheetMove`}get SheetNameChanged(){return`SheetNameChanged`}get BeforeSheetNameChange(){return`BeforeSheetNameChange`}get SheetTabColorChanged(){return`SheetTabColorChanged`}get BeforeSheetTabColorChange(){return`BeforeSheetTabColorChange`}get SheetHideChanged(){return`SheetHideChanged`}get BeforeSheetHideChange(){return`BeforeSheetHideChange`}get SheetValueChanged(){return`SheetValueChanged`}};n.FEventName.extend(q);let J=class extends n.FBase{constructor(e){super(),this._injector=e}};J=d([u(0,(0,t.Inject)(t.Injector))],J),Object.defineProperty(e,"FRange",{enumerable:!0,get:function(){return H}}),Object.defineProperty(e,"FSelection",{enumerable:!0,get:function(){return g}}),Object.defineProperty(e,"FSheetHooks",{enumerable:!0,get:function(){return J}}),e.FSheetsEnumMixin=K,e.FSheetsEventNameMixin=q,Object.defineProperty(e,"FWorkbook",{enumerable:!0,get:function(){return W}}),Object.defineProperty(e,"FWorkbookPermission",{enumerable:!0,get:function(){return U}}),Object.defineProperty(e,"FWorksheet",{enumerable:!0,get:function(){return R}})});
13
-
14
- // @univerjs/sheets-numfmt/index
15
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("rxjs"),require("@univerjs/engine-formula")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets`,`rxjs`,`@univerjs/engine-formula`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsNumfmt={},e.UniverCore,e.UniverSheets,e.rxjs,e.UniverEngineFormula))})(this,function(e,t,n,r,i){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let a=new Map([[t.LocaleType.EN_US,`$`],[t.LocaleType.RU_RU,`₽`],[t.LocaleType.VI_VN,`₫`],[t.LocaleType.ZH_CN,`¥`],[t.LocaleType.ZH_TW,`NT$`],[t.LocaleType.ZH_HK,`HK$`],[t.LocaleType.FR_FR,`€`],[t.LocaleType.FA_IR,`﷼`],[t.LocaleType.KO_KR,`₩`],[t.LocaleType.ES_ES,`€`],[t.LocaleType.CA_ES,`€`],[t.LocaleType.SK_SK,`€`],[t.LocaleType.JA_JP,`¥`],[t.LocaleType.PT_BR,`R$`],[t.LocaleType.DE_DE,`€`],[t.LocaleType.IT_IT,`€`],[t.LocaleType.ID_ID,`Rp`],[t.LocaleType.PL_PL,`zł`],[t.LocaleType.AR_SA,`﷼`]]);function o(e){switch(e){case t.LocaleType.CA_ES:case t.LocaleType.DE_DE:case t.LocaleType.ES_ES:case t.LocaleType.FR_FR:case t.LocaleType.IT_IT:case t.LocaleType.SK_SK:return{icon:`EuroIcon`,symbol:a.get(e)||`€`,locale:e};case t.LocaleType.RU_RU:return{icon:`RoubleIcon`,symbol:a.get(e)||`₽`,locale:e};case t.LocaleType.JA_JP:case t.LocaleType.ZH_CN:return{icon:`RmbIcon`,symbol:a.get(e)||`¥`,locale:e};case t.LocaleType.AR_SA:case t.LocaleType.EN_US:case t.LocaleType.FA_IR:case t.LocaleType.ID_ID:case t.LocaleType.KO_KR:case t.LocaleType.PL_PL:case t.LocaleType.PT_BR:case t.LocaleType.VI_VN:case t.LocaleType.ZH_HK:case t.LocaleType.ZH_TW:default:return{icon:`DollarIcon`,symbol:a.get(e)||`$`,locale:e}}}function s(e){return a.get(e)||`$`}function c(e,t=2){let n=t;t>127&&(n=127);let r=``;return n>0&&(r=`.${`0`.repeat(n)}`),`"${s(e)}"#,##0${r}_);[Red]("${s(e)}"#,##0${r})`}let l=[{label:`1930-08-05`,suffix:`yyyy-MM-dd`},{label:`1930/08/05`,suffix:`yyyy/MM/dd`},{label:`1930年08月05日`,suffix:`yyyy"年"MM"月"dd"日"`},{label:`08-05`,suffix:`MM-dd`},{label:`8月5日`,suffix:`M"月"d"日"`},{label:`13:30:30`,suffix:`h:mm:ss`},{label:`13:30`,suffix:`h:mm`},{label:`下午01:30`,suffix:`A/P hh:mm`},{label:`下午1:30`,suffix:`A/P h:mm`},{label:`下午1:30:30`,suffix:`A/P h:mm:ss`},{label:`08-05 下午 01:30`,suffix:`MM-dd A/P hh:mm`}],u=[{label:`(1,235)`,suffix:`#,##0_);(#,##0)`},{label:`(1,235) `,suffix:`#,##0_);[Red](#,##0)`,color:`red`},{label:`1,234.56`,suffix:`#,##0.00_);#,##0.00`},{label:`1,234.56`,suffix:`#,##0.00_);[Red]#,##0.00`,color:`red`},{label:`-1,234.56`,suffix:`#,##0.00_);-#,##0.00`},{label:`-1,234.56`,suffix:`#,##0.00_);[Red]-#,##0.00`,color:`red`}],d=[{label:e=>`${e}1,235`,suffix:e=>`"${e}"#,##0.00_);"${e}"#,##0.00`},{label:e=>`${e}1,235`,suffix:e=>`"${e}"#,##0.00_);[Red]"${e}"#,##0.00`,color:`red`},{label:e=>`(${e}1,235)`,suffix:e=>`"${e}"#,##0.00_);("${e}"#,##0.00)`},{label:e=>`(${e}1,235)`,suffix:e=>`"${e}"#,##0.00_);[Red]("${e}"#,##0.00)`,color:`red`},{label:e=>`-${e}1,235`,suffix:e=>`"${e}"#,##0.00_);-"${e}"#,##0.00`},{label:e=>`-${e}1,235`,suffix:e=>`"${e}"#,##0.00_);[Red]-"${e}"#,##0.00`,color:`red`}],f=(e,n=0)=>{var r;return e?(r=t.numfmt.getFormatInfo(e).maxDecimals)==null?n:r:n},p=e=>Array(Math.min(Math.max(0,Number(e)),30)).fill(0).join(``),m=(e,t)=>e.split(`;`).map(e=>/\.0?/.test(e)?e.replace(/\.0*/g,`${t>0?`.`:``}${p(Number(t||0))}`):/0([^0]?)|0$/.test(e)?e.replace(/0([^0]+)|0$/,`0${t>0?`.`:``}${p(Number(t||0))}$1`):e).join(`;`),h=e=>/\.0?/.test(e)||/0([^0]?)|0$/.test(e),g={id:`sheet.command.numfmt.set.numfmt`,type:t.CommandType.COMMAND,handler:(e,r)=>{if(!r)return!1;let i=e.get(t.ICommandService),a=e.get(t.IUniverInstanceService),o=e.get(t.IUndoRedoService),s=(0,n.getSheetCommandTarget)(a,r);if(!s)return!1;let{unitId:c,subUnitId:l,worksheet:u}=s,d=r.values.filter(e=>!!e.pattern),f=r.values.filter(e=>!e.pattern),p=(0,n.transformCellsToRange)(c,l,d),m={unitId:c,subUnitId:l,ranges:f.map(e=>({startColumn:e.col,startRow:e.row,endColumn:e.col,endRow:e.row}))},h=[],g=[];if(d.length){let r=d.reduce((e,r)=>{(0,t.isTextFormat)(r.pattern)&&e.setValue(r.row,r.col,{t:t.CellValueType.STRING});let i=u.getCellRaw(r.row,r.col);if(i){let t=(0,n.checkCellValueType)(i.v);t!==i.t&&e.setValue(r.row,r.col,{t})}return e},new t.ObjectMatrix).getMatrix(),i=new t.ObjectMatrix;new t.ObjectMatrix(r).forValue((e,t)=>{let n=u.getCellRaw(e,t);n?i.setValue(e,t,{t:n.t}):i.setValue(e,t,{t:void 0})}),Object.keys(p.values).forEach(e=>{let t=p.values[e];t.ranges=(0,n.rangeMerge)(t.ranges)}),h.push({id:n.SetNumfmtMutation.id,params:p});let a=(0,n.factorySetNumfmtUndoMutation)(e,p);g.push(...a)}if(f.length){m.ranges=(0,n.rangeMerge)(m.ranges);let r=f.reduce((e,t)=>{let r=u.getCellRaw(t.row,t.col);if(r){let i=(0,n.checkCellValueType)(r.v);i!==r.t&&e.setValue(t.row,t.col,{t:i})}return e},new t.ObjectMatrix).getMatrix(),i=new t.ObjectMatrix;new t.ObjectMatrix(r).forValue((e,t)=>{let n=u.getCellRaw(e,t);n?i.setValue(e,t,{t:n.t}):i.setValue(e,t,{t:void 0})}),h.push({id:n.RemoveNumfmtMutation.id,params:m},{id:n.SetRangeValuesMutation.id,params:{unitId:c,subUnitId:l,cellValue:r}});let a=(0,n.factoryRemoveNumfmtUndoMutation)(e,m);g.push({id:n.SetRangeValuesMutation.id,params:{unitId:c,subUnitId:l,cellValue:i.getMatrix()}},...a)}let _=(0,t.sequenceExecute)(h,i).result;return _&&o.pushUndoRedo({unitID:c,undoMutations:g,redoMutations:h}),_}},_={id:`sheet.command.numfmt.add.decimal.command`,type:t.CommandType.COMMAND,handler:async e=>{let r=e.get(t.ICommandService),i=e.get(n.SheetsSelectionsService),a=e.get(n.INumfmtService),o=e.get(t.IUniverInstanceService),s=i.getCurrentSelections();if(!s||!s.length)return!1;let c=(0,n.getSheetCommandTarget)(o);if(!c)return!1;let{unitId:l,subUnitId:u}=c,d=0;s.forEach(e=>{t.Range.foreach(e.range,(e,n)=>{let r=a.getValue(l,u,e,n);if(!r){let r=c.worksheet.getCellRaw(e,n);if(!d&&r&&r.t===t.CellValueType.NUMBER&&r.v){let e=/\.(\d*)$/.exec(String(r.v));if(e){let t=e[1].length;if(!t)return;d=Math.max(d,t)}}return}let i=f(r.pattern);d=i>d?i:d})});let p=d+1,h=m(`0${p>0?`.0`:``}`,p),_=[];return s.forEach(e=>{t.Range.foreach(e.range,(e,n)=>{let r=a.getValue(l,u,e,n);if((0,t.isDefaultFormat)(r==null?void 0:r.pattern))_.push({row:e,col:n,pattern:h});else{let t=f(r.pattern),i=m(r.pattern,t+1);i!==r.pattern&&_.push({row:e,col:n,pattern:i})}})}),_.length?await r.executeCommand(g.id,{values:_}):!1}},v={id:`sheet.command.numfmt.set.currency`,type:t.CommandType.COMMAND,handler:async e=>{let r=e.get(t.ICommandService),i=e.get(n.SheetsSelectionsService),a=e.get(t.LocaleService),s=i.getCurrentSelections();if(!s||!s.length)return!1;let l=[],u=c(o(a.getCurrentLocale()).locale);return s.forEach(e=>{t.Range.foreach(e.range,(e,t)=>{l.push({row:e,col:t,pattern:u,type:`currency`})})}),await r.executeCommand(g.id,{values:l})}},y={id:`sheet.command.numfmt.set.percent`,type:t.CommandType.COMMAND,handler:async e=>{let r=e.get(t.ICommandService),i=e.get(n.SheetsSelectionsService).getCurrentSelections();if(!i||!i.length)return!1;let a=[];return i.forEach(e=>{t.Range.foreach(e.range,(e,t)=>{a.push({row:e,col:t,pattern:`0%`,type:`percent`})})}),await r.executeCommand(g.id,{values:a})}},b={id:`sheet.command.numfmt.subtract.decimal.command`,type:t.CommandType.COMMAND,handler:async e=>{let r=e.get(t.ICommandService),i=e.get(n.SheetsSelectionsService),a=e.get(n.INumfmtService),o=e.get(t.IUniverInstanceService),s=i.getCurrentSelections();if(!s||!s.length)return!1;let c=(0,n.getSheetCommandTarget)(o);if(!c)return!1;let{unitId:l,subUnitId:u}=c,d=0;s.forEach(e=>{t.Range.foreach(e.range,(e,n)=>{let r=a.getValue(l,u,e,n);if(!r){let r=c.worksheet.getCellRaw(e,n);if(!d&&r&&r.t===t.CellValueType.NUMBER&&r.v){let e=/\.(\d*)$/.exec(String(r.v));if(e){let t=e[1].length;if(!t)return;d=Math.max(d,t)}}return}let i=f(r.pattern);d=i>d?i:d})});let p=d-1,h=m(`0${p>0?`.0`:`.`}`,p),_=[];return s.forEach(e=>{t.Range.foreach(e.range,(e,n)=>{let r=a.getValue(l,u,e,n);if((0,t.isDefaultFormat)(r==null?void 0:r.pattern))_.push({row:e,col:n,pattern:h});else{let t=f(r.pattern);_.push({row:e,col:n,pattern:m(r.pattern,t-1)})}})}),await r.executeCommand(g.id,{values:_})}},x=`sheets-numfmt.config`,S={},C=e=>t.numfmt.getFormatInfo(e).type||`unknown`,w=(e,n,r=`en`)=>{try{let i=t.numfmt.formatColor(e,n),a=i?String(i):void 0,o=t.numfmt.format(e,n,{locale:r,throws:!1});return n<0?{result:o,color:a}:{result:o}}catch(t){console.warn(`getPatternPreview error:`,e,t)}return{result:String(n)}},T=(e,n,r)=>e===t.DEFAULT_NUMBER_FORMAT?{result:String((0,i.stripErrorMargin)(n))}:w(e,n,r);function E(e){"@babel/helpers - typeof";return E=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},E(e)}function D(e,t){if(E(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(E(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function O(e){var t=D(e,`string`);return E(t)==`symbol`?t:t+``}function k(e,t,n){return(t=O(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function A(e,t){return function(n,r){t(n,r,e)}}function j(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 M={tl:{size:6,color:`#409f11`}},N=class extends t.Disposable{constructor(e,t,n,i,a,o,s){super(),this._instanceService=e,this._sheetInterceptorService=t,this._themeService=n,this._commandService=i,this._numfmtService=a,this._localeService=o,this._configService=s,k(this,`_locale$`,new r.BehaviorSubject(`en`)),k(this,`locale$`,this._locale$.asObservable()),this._initInterceptorCellContent()}get locale(){let e=this._locale$.getValue();if(e)return e;switch(this._localeService.getCurrentLocale()){case t.LocaleType.FR_FR:return`fr`;case t.LocaleType.RU_RU:return`ru`;case t.LocaleType.VI_VN:return`vi`;case t.LocaleType.ZH_CN:return`zh-CN`;case t.LocaleType.KO_KR:return`ko`;case t.LocaleType.ZH_TW:return`zh-TW`;case t.LocaleType.ZH_HK:return`zh-HK`;case t.LocaleType.ES_ES:case t.LocaleType.CA_ES:return`es`;case t.LocaleType.SK_SK:return`sk`;case t.LocaleType.JA_JP:return`ja`;case t.LocaleType.PT_BR:return`pt`;case t.LocaleType.DE_DE:return`de`;case t.LocaleType.IT_IT:return`it`;case t.LocaleType.ID_ID:return`id`;case t.LocaleType.PL_PL:return`pl`;case t.LocaleType.AR_SA:return`ar`;case t.LocaleType.EN_US:case t.LocaleType.FA_IR:default:return`en`}}_initInterceptorCellContent(){let e=new t.ObjectMatrix;this.disposeWithMe((0,r.merge)(this._locale$,this._localeService.currentLocale$).subscribe(()=>{e.reset()})),this.disposeWithMe(this._sheetInterceptorService.intercept(n.INTERCEPTOR_POINT.CELL_CONTENT,{effect:t.InterceptorEffectEnum.Value|t.InterceptorEffectEnum.Style,handler:(r,i,a)=>{if(!r||r.v===void 0||r.v===null||r.t===t.CellValueType.BOOLEAN||r.t===t.CellValueType.FORCE_STRING)return a(r);let o=i.unitId,s=i.subUnitId,c;if(r!=null&&r.s){let e=i.workbook.getStyles().get(r.s);e!=null&&e.n&&(c=e.n)}if(c||(c=this._numfmtService.getValue(o,s,i.row,i.col)),(0,t.isDefaultFormat)(c==null?void 0:c.pattern)||r.t!==t.CellValueType.NUMBER&&(0,n.checkCellValueType)(r.v,r.t)!==t.CellValueType.NUMBER)return a(r);let l=r;if((!r||r===i.rawData)&&(r={...i.rawData}),(0,t.isTextFormat)(c==null?void 0:c.pattern)){var u;return(u=this._configService.getConfig(`sheets-numfmt.config`))!=null&&u.disableTextFormatMark?(r.t=t.CellValueType.STRING,a(r)):(r.t=t.CellValueType.STRING,r.markers={...r==null?void 0:r.markers,...M},a(r))}let d=``,f=e.getValue(i.row,i.col);if(f&&f.parameters===`${l.v}_${c==null?void 0:c.pattern}`)return a({...r,...f.result});let p=T(c==null?void 0:c.pattern,Number(l.v),this.locale);if(d=p.result,!d)return a(r);let m={v:d,t:t.CellValueType.NUMBER};if(p.color){var h;let e=(h=this._themeService.getColorFromTheme(`${p.color}.500`))==null?p.color:h;e&&(m.interceptorStyle={cl:{rgb:e}})}return e.setValue(i.row,i.col,{result:m,parameters:`${l.v}_${c==null?void 0:c.pattern}`}),Object.assign(r,m),a(r)},priority:n.InterceptCellContentPriority.NUMFMT})),this.disposeWithMe(this._commandService.onCommandExecuted(r=>{if(r.id===n.SetNumfmtMutation.id){let n=r.params;Object.keys(n.values).forEach(r=>{n.values[r].ranges.forEach(n=>{t.Range.foreach(n,(t,n)=>{e.realDeleteValue(t,n)})})})}else if(r.id===n.SetRangeValuesMutation.id){let n=r.params;new t.ObjectMatrix(n.cellValue).forValue((t,n)=>{e.realDeleteValue(t,n)})}})),this.disposeWithMe(this._instanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).pipe((0,r.switchMap)(e=>{var t;return(t=e==null?void 0:e.activeSheet$)==null?(0,r.of)(null):t}),(0,r.skip)(1)).subscribe(()=>e.reset()))}setNumfmtLocal(e){this._locale$.next(e)}};N=j([A(0,t.IUniverInstanceService),A(1,(0,t.Inject)(n.SheetInterceptorService)),A(2,(0,t.Inject)(t.ThemeService)),A(3,(0,t.Inject)(t.ICommandService)),A(4,(0,t.Inject)(n.INumfmtService)),A(5,(0,t.Inject)(t.LocaleService)),A(6,t.IConfigService)],N);var P=`@univerjs/sheets-numfmt`,F=`0.25.0`;let I=class extends t.Plugin{constructor(e=S,n,r,i){super(),this._config=e,this._injector=n,this._configService=r,this._commandService=i;let{...a}=(0,t.merge)({},S,this._config);this._configService.setConfig(x,a)}onStarting(){(0,t.registerDependencies)(this._injector,[[N]]),(0,t.touchDependencies)(this._injector,[[N]]),[_,b,v,y,g].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}};k(I,`pluginName`,`SHEET_NUMFMT_PLUGIN`),k(I,`packageName`,P),k(I,`version`,F),k(I,`type`,t.UniverInstanceType.UNIVER_SHEET),I=j([(0,t.DependentOn)(n.UniverSheetsPlugin),A(1,(0,t.Inject)(t.Injector)),A(2,t.IConfigService),A(3,t.ICommandService)],I),e.AddDecimalCommand=_,e.CURRENCYFORMAT=d,e.DATEFMTLISG=l,e.NUMBERFORMAT=u,e.SHEETS_NUMFMT_PLUGIN_CONFIG_KEY=x,e.SetCurrencyCommand=v,e.SetNumfmtCommand=g,e.SetPercentCommand=y,Object.defineProperty(e,"SheetsNumfmtCellContentController",{enumerable:!0,get:function(){return N}}),e.SubtractDecimalCommand=b,Object.defineProperty(e,"UniverSheetsNumfmtPlugin",{enumerable:!0,get:function(){return I}}),e.getCurrencyFormat=c,e.getCurrencyFormatOptions=e=>d.map(t=>({label:t.label(e),value:t.suffix(e),color:t.color})),e.getCurrencyOptions=()=>t.currencySymbols.map(e=>({label:e,value:e})),e.getCurrencySymbolByLocale=s,e.getCurrencySymbolIconByLocale=o,e.getCurrencyType=e=>t.currencySymbols.find(t=>e.includes(t)),e.getDateFormatOptions=()=>l.map(e=>({label:e.label,value:e.suffix})),e.getDecimalFromPattern=f,e.getDecimalString=p,e.getNumberFormatOptions=()=>u.map(e=>({label:e.label,value:e.suffix,color:e.color})),e.getPatternPreview=w,e.getPatternPreviewIgnoreGeneral=T,e.getPatternType=C,e.isPatternHasDecimal=h,e.localeCurrencySymbolMap=a,e.setPatternDecimal=m});
16
-
17
- // @univerjs/sheets-numfmt/facade
18
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(require("@univerjs/sheets-numfmt"),require("@univerjs/sheets/facade")):typeof define==`function`&&define.amd?define([`@univerjs/sheets-numfmt`,`@univerjs/sheets/facade`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsNumfmt,e.UniverSheetsFacade))})(this,function(e,t){var n=class extends t.FRange{setNumberFormat(t){let n=[],{startColumn:r,startRow:i,endColumn:a,endRow:o}=this._range;for(let e=i;e<=o;e++)for(let i=r;i<=a;i++)n.push({row:e,col:i,pattern:t});return this._commandService.syncExecuteCommand(e.SetNumfmtCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),values:n}),this}setNumberFormats(t){let n=[],{startColumn:r,startRow:i,endColumn:a,endRow:o}=this._range;for(let e=i;e<=o;e++)for(let o=r;o<=a;o++){var s;let a=(s=t[e-i])==null?void 0:s[o-r];n.push({row:e,col:o,pattern:a})}return this._commandService.syncExecuteCommand(e.SetNumfmtCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),values:n}),this}getNumberFormat(){var e,t;let n=this.getCellStyle();return(e=n==null||(t=n.numberFormat)==null?void 0:t.pattern)==null?``:e}getNumberFormats(){return this.getCellStyles().map(e=>e.map(e=>{var t,n;return(t=e==null||(n=e.numberFormat)==null?void 0:n.pattern)==null?``:t}))}};t.FRange.extend(n);var r=class extends t.FWorkbook{setNumfmtLocal(t){return this._injector.get(e.SheetsNumfmtCellContentController).setNumfmtLocal(t),this}};t.FWorkbook.extend(r)});
19
-
20
- // @univerjs/sheets-data-validation/index
21
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/data-validation"),require("@univerjs/engine-formula"),require("@univerjs/sheets"),require("rxjs"),require("@univerjs/protocol"),require("@univerjs/sheets-formula")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/data-validation`,`@univerjs/engine-formula`,`@univerjs/sheets`,`rxjs`,`@univerjs/protocol`,`@univerjs/sheets-formula`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsDataValidation={},e.UniverCore,e.UniverDataValidation,e.UniverEngineFormula,e.UniverSheets,e.rxjs,e.UniverProtocol,e.UniverSheetsFormula))})(this,function(e,t,n,r,i,a,o,s){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function c(e){"@babel/helpers - typeof";return c=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},c(e)}function l(e,t){if(c(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(c(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function u(e){var t=l(e,`string`);return c(t)==`symbol`?t:t+``}function d(e,t,n){return(t=u(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e,t){return function(n,r){t(n,r,e)}}function p(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 m=class extends t.Disposable{constructor(e,t,n){super(),this._commandService=e,this._univerInstanceService=t,this._sheetDataValidationModel=n,d(this,`_cacheMatrix`,new Map),d(this,`_dirtyRanges$`,new a.Subject),d(this,`dirtyRanges$`,this._dirtyRanges$.asObservable()),this._initDirtyRanges(),this._initSheetRemove()}_initDirtyRanges(){this.disposeWithMe(this._commandService.onCommandExecuted((e,n)=>{if(e.id===i.SetRangeValuesMutation.id&&!(n!=null&&n.onlyLocal)){let{cellValue:n,unitId:r,subUnitId:i}=e.params;if(n){let e=new t.ObjectMatrix(n).getDataRange();if(e.endRow===-1)return;let a=this._sheetDataValidationModel.getRules(r,i),o=[];for(let e of a)o.push(...e.ranges);let s=[];for(let n of o){let r=(0,t.getIntersectRange)(n,e);r&&s.push(r)}s.length&&this.markRangeDirty(r,i,s,!0)}}}))}_initSheetRemove(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===i.RemoveSheetMutation.id){var t;let{unitId:n,subUnitId:r}=e.params;(t=this._cacheMatrix.get(n))==null||t.delete(r)}})),this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(e=>{e.type===t.UniverInstanceType.UNIVER_SHEET&&this._cacheMatrix.delete(e.getUnitId())}))}_ensureCache(e,n){let r=this._cacheMatrix.get(e);r||(r=new Map,this._cacheMatrix.set(e,r));let i=r.get(n);return i||(i=new t.ObjectMatrix,r.set(n,i)),i}ensureCache(e,t){return this._ensureCache(e,t)}addRule(e,t,n){this.markRangeDirty(e,t,n.ranges)}removeRule(e,t,n){this._deleteRange(e,t,n.ranges)}markRangeDirty(e,n,r,i){let a=this._ensureCache(e,n);r.forEach(e=>{t.Range.foreach(e,(e,t)=>{a.getValue(e,t)!==void 0&&a.setValue(e,t,void 0)})}),this._dirtyRanges$.next({unitId:e,subUnitId:n,ranges:r,isSetRange:i})}_deleteRange(e,n,r){let i=this._ensureCache(e,n);r.forEach(e=>{t.Range.foreach(e,(e,t)=>{i.realDeleteValue(e,t)})}),this._dirtyRanges$.next({unitId:e,subUnitId:n,ranges:r})}getValue(e,t,n,r){return this._ensureCache(e,t).getValue(n,r)}};m=p([f(0,(0,t.Inject)(t.ICommandService)),f(1,(0,t.Inject)(t.IUniverInstanceService)),f(2,(0,t.Inject)(n.DataValidationModel))],m);function h(e){var t;return e==null||(t=e[0])==null||(t=t[0])==null?void 0:t.v}function g(e){var t;return e==null||(t=e[0])==null?void 0:t[0]}function _(e){return!r.ERROR_TYPE_SET.has(e)}function v(e,t){var n;let r=t.getValidatorItem(e);return(n=r==null?void 0:r.offsetFormulaByRange)==null?!1:n}let y=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._instanceSrv=e,this._registerOtherFormulaService=t,this._dataValidationModel=n,this._dataValidationCacheService=r,this._validatorRegistryService=i,d(this,`_ruleFormulaMap`,new Map),d(this,`_ruleFormulaMap2`,new Map),this._initFormulaResultHandler(),this._initDirtyRanges()}dispose(){super.dispose(),this._ruleFormulaMap.clear(),this._ruleFormulaMap2.clear()}_initFormulaResultHandler(){this.disposeWithMe(this._registerOtherFormulaService.formulaResult$.subscribe(e=>{for(let n in e){let r=e[n];if(this._instanceSrv.getUnitType(n)===t.UniverInstanceType.UNIVER_SHEET)for(let e in r){let t=r[e],{ruleFormulaMap:i}=this._ensureMaps(n,e);t.forEach(t=>{var r,a;let o=i.get((r=t.extra)==null?void 0:r.ruleId),s=this._dataValidationModel.getRuleById(n,e,(a=t.extra)==null?void 0:a.ruleId);s&&o&&this._dataValidationCacheService.markRangeDirty(n,e,s.ranges)})}}}))}_ensureMaps(e,t){let n=this._ruleFormulaMap.get(e),r=this._ruleFormulaMap2.get(e);n||(n=new Map,this._ruleFormulaMap.set(e,n)),r||(r=new Map,this._ruleFormulaMap2.set(e,r));let i=n.get(t);i||(i=new Map,n.set(t,i));let a=r.get(t);return a||(a=new Map,r.set(t,a)),{ruleFormulaMap:i,ruleFormulaMap2:a}}_registerFormula(e,t,n,i,a){return this._registerOtherFormulaService.registerFormulaWithRange(e,t,i,a,{ruleId:n},r.OtherFormulaBizType.DATA_VALIDATION_CUSTOM,n)}_handleDirtyRanges(e,n,r){this._dataValidationModel.getRules(e,n).forEach(i=>{let a=i.ranges;t.Rectangle.doAnyRangesIntersect(a,r)&&this.makeRuleDirty(e,n,i.uid)})}_initDirtyRanges(){this.disposeWithMe(this._dataValidationCacheService.dirtyRanges$.subscribe(e=>{e.isSetRange&&this._handleDirtyRanges(e.unitId,e.subUnitId,e.ranges)}))}deleteByRuleId(e,t,n){let{ruleFormulaMap:r,ruleFormulaMap2:i}=this._ensureMaps(e,t),a=this._dataValidationModel.getRuleById(e,t,n),o=r.get(n);if(!a||!o)return;let s=r.get(n);s&&(r.delete(n),this._registerOtherFormulaService.deleteFormula(e,t,[s.formulaId]));let c=i.get(n);c&&(i.delete(n),this._registerOtherFormulaService.deleteFormula(e,t,[c.formulaId]))}_addFormulaByRange(e,n,r,i,a,o){let{ruleFormulaMap:s,ruleFormulaMap2:c}=this._ensureMaps(e,n),l=o[0].startRow,u=o[0].startColumn;if(i&&(0,t.isFormulaString)(i)){let t=this._registerFormula(e,n,r,i,o);s.set(r,{formula:i,originCol:u,originRow:l,formulaId:t})}if(a&&(0,t.isFormulaString)(a)){let t=this._registerFormula(e,n,r,a,o);c.set(r,{formula:a,originCol:u,originRow:l,formulaId:t})}}addRule(e,t,n){if(v(n.type,this._validatorRegistryService)){let{ranges:r,formula1:i,formula2:a,uid:o}=n;this._addFormulaByRange(e,t,o,i,a,r)}}async getCellFormulaValue(e,t,n,r,i){var a;let{ruleFormulaMap:o}=this._ensureMaps(e,t),s=o.get(n);if(!s)return Promise.resolve(void 0);let c=await this._registerOtherFormulaService.getFormulaValue(e,t,s.formulaId),{originRow:l,originCol:u}=s,d=r-l,f=i-u;return g(c==null||(a=c.result)==null||(a=a[d])==null?void 0:a[f])}async getCellFormula2Value(e,t,n,r,i){var a;let{ruleFormulaMap2:o}=this._ensureMaps(e,t),s=o.get(n);if(!s)return Promise.resolve(void 0);let c=await this._registerOtherFormulaService.getFormulaValue(e,t,s.formulaId),{originRow:l,originCol:u}=s,d=r-l,f=i-u;return g(c==null||(a=c.result)==null||(a=a[d])==null?void 0:a[f])}getCellFormulaValueSync(e,t,n,r,i){var a;let{ruleFormulaMap:o}=this._ensureMaps(e,t),s=o.get(n);if(!s)return;let c=this._registerOtherFormulaService.getFormulaValueSync(e,t,s.formulaId),{originRow:l,originCol:u}=s,d=r-l,f=i-u;return g(c==null||(a=c.result)==null||(a=a[d])==null?void 0:a[f])}getCellFormula2ValueSync(e,t,n,r,i){var a;let{ruleFormulaMap2:o}=this._ensureMaps(e,t),s=o.get(n);if(!s)return;let c=this._registerOtherFormulaService.getFormulaValueSync(e,t,s.formulaId),{originRow:l,originCol:u}=s,d=r-l,f=i-u;return g(c==null||(a=c.result)==null||(a=a[d])==null?void 0:a[f])}getRuleFormulaInfo(e,t,n){let{ruleFormulaMap:r}=this._ensureMaps(e,t);return r.get(n)}makeRuleDirty(e,t,n){var r,i;let a=(r=this._ruleFormulaMap.get(e))==null||(r=r.get(t))==null?void 0:r.get(n),o=(i=this._ruleFormulaMap2.get(e))==null||(i=i.get(t))==null?void 0:i.get(n);a&&this._registerOtherFormulaService.markFormulaDirty(e,t,a.formulaId),o&&this._registerOtherFormulaService.markFormulaDirty(e,t,o.formulaId)}};y=p([f(0,t.IUniverInstanceService),f(1,(0,t.Inject)(r.RegisterOtherFormulaService)),f(2,(0,t.Inject)(n.DataValidationModel)),f(3,(0,t.Inject)(m)),f(4,(0,t.Inject)(n.DataValidatorRegistryService))],y);function b(e){return(0,t.getOriginCellValue)(e)}function ee(e){var t;return String((t=b(e))==null?``:t)}let x=class extends t.Disposable{constructor(e,t){super(),this._injector=e,this._dataValidationModel=t,d(this,`_cache`,new Map),this._initRuleChangeListener()}_initRuleChangeListener(){this.disposeWithMe(this._dataValidationModel.ruleChange$.subscribe(e=>{(e.type===`remove`||e.type===`update`)&&this.markRuleDirty(e.unitId,e.subUnitId,e.rule.uid)}))}getOrCompute(e,t,n){let r=this.getCache(e,t,n.uid);if(r)return r;let i=this._injector.get(S).getRuleFormulaResultSync(e,t,n.uid);return this.computeAndCache(e,t,n,i)}_ensureCache(e,t){let n=this._cache.get(e);n||(n=new Map,this._cache.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}getCache(e,t,n){var r;return(r=this._cache.get(e))==null||(r=r.get(t))==null?void 0:r.get(n)}setCache(e,t,n,r){this._ensureCache(e,t).set(n,r)}markRuleDirty(e,t,n){var r;(r=this._cache.get(e))==null||(r=r.get(t))==null||r.delete(n)}clear(){this._cache.clear()}computeAndCache(e,n,r,a){var o;let{formula1:s=``,formula2:c=``}=r,l=(0,t.isFormulaString)(s)?this._getRuleFormulaResultSet(a==null||(o=a[0])==null||(o=o.result)==null||(o=o[0])==null?void 0:o[0]):(0,i.deserializeListOptions)(s),u=c.split(`,`),d=l.map((e,t)=>({label:e,color:u[t]||``})),f={};for(let e of d)e.color&&(f[e.label]=e.color);let p={list:l,listWithColor:d,colorMap:f,set:new Set(l)};return this.setCache(e,n,r.uid,p),p}_getRuleFormulaResultSet(e){if(!e)return[];let n=new Set;for(let i=0,a=e.length;i<a;i++){let a=e[i];if(a)for(let e=0,i=a.length;e<i;e++){let i=a[e],o=b(i);if(o!=null){var r;if(typeof o!=`string`&&typeof(i==null?void 0:i.s)==`object`&&!((r=i.s)==null||(r=r.n)==null)&&r.pattern){n.add(t.numfmt.format(i.s.n.pattern,o,{throws:!1}));continue}let e=typeof o==`string`?o:String(o);_(e)&&n.add(e)}}}return[...n]}};x=p([f(0,(0,t.Inject)(t.Injector)),f(1,(0,t.Inject)(n.DataValidationModel))],x);let S=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._instanceService=e,this._registerOtherFormulaService=t,this._dataValidationCacheService=n,this._dataValidationModel=r,this._validatorRegistryService=i,this._listCacheService=a,d(this,`_formulaRuleMap`,new Map),this._initFormulaResultHandler()}_initFormulaResultHandler(){this.disposeWithMe(this._registerOtherFormulaService.formulaResult$.subscribe(e=>{for(let n in e){let r=e[n];if(this._instanceService.getUnitType(n)===t.UniverInstanceType.UNIVER_SHEET)for(let e in r){let t=r[e],i=this._ensureRuleFormulaMap(n,e);t.forEach(t=>{var r;let a=(r=t.extra)==null?void 0:r.ruleId;if(a&&i.get(a)){let t=this._dataValidationModel.getRuleById(n,e,a);t&&(this._listCacheService.markRuleDirty(n,e,a),this._dataValidationCacheService.markRangeDirty(n,e,t.ranges))}})}}}))}_ensureRuleFormulaMap(e,t){let n=this._formulaRuleMap.get(e);n||(n=new Map,this._formulaRuleMap.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}_registerSingleFormula(e,t,n,i){return this._registerOtherFormulaService.registerFormulaWithRange(e,t,n,[{startColumn:0,endColumn:0,startRow:0,endRow:0}],{ruleId:i},r.OtherFormulaBizType.DATA_VALIDATION,i)}addRule(e,n,r){if(!v(r.type,this._validatorRegistryService)&&r.type!==t.DataValidationType.CHECKBOX){let{formula1:i,formula2:a,uid:o}=r,s=(0,t.isFormulaString)(i),c=(0,t.isFormulaString)(a);if(!s&&!c)return;let l=this._ensureRuleFormulaMap(e,n),u=[void 0,void 0];s&&(u[0]={id:this._registerSingleFormula(e,n,i,o),text:i}),c&&(u[1]={id:this._registerSingleFormula(e,n,a,o),text:a}),l.set(o,u)}}removeRule(e,t,n){let r=this._ensureRuleFormulaMap(e,t).get(n);if(!r)return;let[i,a]=r,o=[i==null?void 0:i.id,a==null?void 0:a.id].filter(Boolean);o.length&&this._registerOtherFormulaService.deleteFormula(e,t,o)}getRuleFormulaResult(e,t,n){let r=this._ensureRuleFormulaMap(e,t).get(n);if(!r)return Promise.resolve(null);let i=async n=>n&&this._registerOtherFormulaService.getFormulaValue(e,t,n.id);return Promise.all([i(r[0]),i(r[1])])}getRuleFormulaResultSync(e,t,n){let r=this._ensureRuleFormulaMap(e,t).get(n);if(r)return r.map(n=>{if(n)return this._registerOtherFormulaService.getFormulaValueSync(e,t,n.id)})}getRuleFormulaInfo(e,t,n){return this._ensureRuleFormulaMap(e,t).get(n)}};S=p([f(0,t.IUniverInstanceService),f(1,(0,t.Inject)(r.RegisterOtherFormulaService)),f(2,(0,t.Inject)(m)),f(3,(0,t.Inject)(n.DataValidationModel)),f(4,(0,t.Inject)(n.DataValidatorRegistryService)),f(5,(0,t.Inject)(x))],S);var te=class e{constructor(e,n,r,i,a=!1){this._unitId=n,this._subUnitId=r,this._univerInstanceService=i,this._disableTree=a,d(this,`_map`,void 0),d(this,`_tree`,new t.RBush),d(this,`_dirty`,!0),d(this,`_buildTree`,()=>{if(!this._dirty||this._disableTree)return;this._tree.clear();let e=[];this._map.forEach((t,n)=>{t.forEach(t=>{e.push({minX:t.startRow,maxX:t.endRow,minY:t.startColumn,maxY:t.endColumn,ruleId:n})})}),this._tree.load(e),this._dirty=!1}),d(this,`_debonceBuildTree`,(0,t.debounce)(this._buildTree,0)),this._map=e,this._buildTree()}get _worksheet(){var e;return(e=this._univerInstanceService.getUnit(this._unitId,t.UniverInstanceType.UNIVER_SHEET))==null?void 0:e.getSheetBySheetId(this._subUnitId)}_addRule(e,n){if(!this._worksheet)return;let r=t.Rectangle.mergeRanges(n.map(e=>t.Range.transformRange(e,this._worksheet)));this._map.forEach((e,n)=>{let i=t.Rectangle.subtractMulti(e,r);i.length===0?this._map.delete(n):this._map.set(n,i)}),this._dirty=!0,this._map.set(e,r),this._debonceBuildTree()}addRule(e){this._addRule(e.uid,e.ranges)}removeRange(e){if(!this._worksheet)return;let n=e.map(e=>t.Range.transformRange(e,this._worksheet));this._map.forEach((e,r)=>{let i=t.Rectangle.subtractMulti(e,n);i.length===0?this._map.delete(r):this._map.set(r,i)}),this._dirty=!0,this._debonceBuildTree()}_removeRule(e){this._map.delete(e),this._dirty=!0,this._debonceBuildTree()}removeRule(e){this._removeRule(e.uid)}updateRange(e,t){this._removeRule(e),this._addRule(e,t)}addRangeRules(e){e.forEach(({id:e,ranges:n})=>{if(!n.length)return;let r=this._map.get(e);r?(this._map.set(e,t.Rectangle.mergeRanges([...r,...n])),r=this._map.get(e)):(r=n,this._map.set(e,r)),this._map.forEach((r,i)=>{if(i===e)return;let a=t.Rectangle.subtractMulti(r,n);a.length===0?this._map.delete(i):this._map.set(i,a)})}),this._dirty=!0,this._debonceBuildTree()}diff(e){let n=[],r=0;return e.forEach((e,i)=>{var a;let o=(a=this._map.get(e.uid))==null?[]:a,s=e.ranges;o.length!==0&&(o.length!==s.length||o.some((e,n)=>!t.Rectangle.equals(e,s[n])))&&n.push({type:`update`,ruleId:e.uid,oldRanges:s,newRanges:t.Rectangle.sort(o),rule:e}),o.length===0&&(n.push({type:`delete`,rule:e,index:i-r}),r++)}),n}diffWithAddition(e,n){let r=[],i=0;return e.forEach((e,n)=>{var a;let o=(a=this._map.get(e.uid))==null?[]:a,s=e.ranges;o.length!==0&&(o.length!==s.length||o.some((e,n)=>!t.Rectangle.equals(e,s[n])))&&r.push({type:`update`,ruleId:e.uid,oldRanges:s,newRanges:t.Rectangle.sort(o),rule:e}),o.length===0&&(r.push({type:`delete`,rule:e,index:n-i}),i++)}),Array.from(n).forEach(e=>{var n;let i=(n=this._map.get(e.uid))==null?[]:n;r.push({type:`add`,rule:{...e,ranges:t.Rectangle.sort(i)}})}),r}clone(){return new e(new Map(t.Tools.deepClone(Array.from(this._map.entries()))),this._unitId,this._subUnitId,this._univerInstanceService,!0)}getValue(e,t){this._dirty&&this._buildTree();let n=this._tree.search({minX:e,maxX:e,minY:t,maxY:t});return n.length>0?n[0].ruleId:void 0}};let C=class extends t.Disposable{constructor(e,t,n,r,i,o,s){super(),this._dataValidationModel=e,this._univerInstanceService=t,this._dataValidatorRegistryService=n,this._dataValidationCacheService=r,this._dataValidationFormulaService=i,this._dataValidationCustomFormulaService=o,this._commandService=s,d(this,`_ruleMatrixMap`,new Map),d(this,`_validStatusChange$`,new a.Subject),d(this,`_ruleChange$`,new a.Subject),d(this,`ruleChange$`,this._ruleChange$.asObservable()),d(this,`validStatusChange$`,this._validStatusChange$.asObservable()),this._initRuleUpdateListener(),this.disposeWithMe(()=>{this._ruleChange$.complete(),this._validStatusChange$.complete()}),this._initUniverInstanceListener()}_initUniverInstanceListener(){this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(e=>{this._ruleMatrixMap.delete(e.getUnitId())})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===i.RemoveSheetMutation.id){let{unitId:t,subUnitId:n}=e.params,r=this._ruleMatrixMap.get(t);r&&r.delete(n)}}))}_initRuleUpdateListener(){let e=this._dataValidationModel.getAll();for(let[t,n]of e)for(let[e,r]of n)for(let n of r)this._addRule(t,e,n),this._ruleChange$.next({type:`add`,unitId:t,subUnitId:e,rule:n,source:`patched`});this.disposeWithMe(this._dataValidationModel.ruleChange$.subscribe(e=>{switch(e.type){case`add`:this._addRule(e.unitId,e.subUnitId,e.rule);break;case`update`:this._updateRule(e.unitId,e.subUnitId,e.rule.uid,e.oldRule,e.updatePayload);break;case`remove`:this._removeRule(e.unitId,e.subUnitId,e.rule);break}this._ruleChange$.next(e)}))}_ensureRuleMatrix(e,t){let n=this._ruleMatrixMap.get(e);n||(n=new Map,this._ruleMatrixMap.set(e,n));let r=n.get(t);return r||(r=new te(new Map,e,t,this._univerInstanceService),n.set(t,r)),r}_addRuleSideEffect(e,t,n){this._ensureRuleMatrix(e,t).addRule(n),this._dataValidationCacheService.addRule(e,t,n),this._dataValidationFormulaService.addRule(e,t,n),this._dataValidationCustomFormulaService.addRule(e,t,n)}_addRule(e,t,n){(Array.isArray(n)?n:[n]).forEach(n=>{this._addRuleSideEffect(e,t,n)})}_updateRule(e,t,r,i,a){let o=this._ensureRuleMatrix(e,t),s={...i,...a.payload};a.type===n.UpdateRuleType.RANGE?o.updateRange(r,a.payload):a.type===n.UpdateRuleType.ALL&&o.updateRange(r,a.payload.ranges),this._dataValidationCacheService.removeRule(e,t,i),this._dataValidationCacheService.addRule(e,t,s),this._dataValidationFormulaService.removeRule(e,t,i.uid),this._dataValidationFormulaService.addRule(e,t,s),this._dataValidationCustomFormulaService.deleteByRuleId(e,t,r),this._dataValidationCustomFormulaService.addRule(e,t,s)}_removeRule(e,t,n){this._ensureRuleMatrix(e,t).removeRule(n),this._dataValidationCacheService.removeRule(e,t,n),this._dataValidationCustomFormulaService.deleteByRuleId(e,t,n.uid)}getValidator(e){return this._dataValidatorRegistryService.getValidatorItem(e)}getRuleIdByLocation(e,t,n,r){return this._ensureRuleMatrix(e,t).getValue(n,r)}getRuleByLocation(e,t,n,r){let i=this.getRuleIdByLocation(e,t,n,r);if(i)return this._dataValidationModel.getRuleById(e,t,i)}validator(e,n,r){let{col:i,row:a,unitId:o,subUnitId:s,worksheet:c}=n,l=(t,n)=>{r&&r(t,n),n&&this._validStatusChange$.next({unitId:o,subUnitId:s,ruleId:e.uid,status:t,row:a,col:i})},u=c.getCellValueOnly(a,i),d=this.getValidator(e.type),f=c.getCellRaw(a,i),p=b(f);if(d){let r=this._dataValidationCacheService.ensureCache(o,s),c=r.getValue(a,i);return c==null?(r.setValue(a,i,t.DataValidationStatus.VALIDATING),d.validator({value:p,unitId:o,subUnitId:s,row:a,column:i,worksheet:n.worksheet,workbook:n.workbook,interceptValue:b(u),t:f==null?void 0:f.t},e).then(e=>{let n=e?t.DataValidationStatus.VALID:t.DataValidationStatus.INVALID,o=r.getValue(a,i);n===t.DataValidationStatus.VALID?r.realDeleteValue(a,i):r.setValue(a,i,n),l(n,c!==o)}),t.DataValidationStatus.VALIDATING):(l(c==null?t.DataValidationStatus.VALID:c,!1),c==null?t.DataValidationStatus.VALID:c)}else return l(t.DataValidationStatus.VALID,!1),t.DataValidationStatus.VALID}getRuleObjectMatrix(e,t){return this._ensureRuleMatrix(e,t)}getRuleById(e,t,n){return this._dataValidationModel.getRuleById(e,t,n)}getRuleIndex(e,t,n){return this._dataValidationModel.getRuleIndex(e,t,n)}getRules(e,t){return[...this._dataValidationModel.getRules(e,t)]}getUnitRules(e){return this._dataValidationModel.getUnitRules(e)}deleteUnitRules(e){return this._dataValidationModel.deleteUnitRules(e)}getSubUnitIds(e){return this._dataValidationModel.getSubUnitIds(e)}getAll(){return this._dataValidationModel.getAll()}};C=p([f(0,(0,t.Inject)(n.DataValidationModel)),f(1,t.IUniverInstanceService),f(2,(0,t.Inject)(n.DataValidatorRegistryService)),f(3,(0,t.Inject)(m)),f(4,(0,t.Inject)(S)),f(5,(0,t.Inject)(y)),f(6,t.ICommandService)],C);let ne={[t.DataValidationOperator.BETWEEN]:`sheets-data-validation.operators.between`,[t.DataValidationOperator.EQUAL]:`sheets-data-validation.operators.equal`,[t.DataValidationOperator.GREATER_THAN]:`sheets-data-validation.operators.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`sheets-data-validation.operators.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`sheets-data-validation.operators.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`sheets-data-validation.operators.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`sheets-data-validation.operators.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`sheets-data-validation.operators.notEqual`},w={[t.DataValidationOperator.BETWEEN]:`sheets-data-validation.ruleName.between`,[t.DataValidationOperator.EQUAL]:`sheets-data-validation.ruleName.equal`,[t.DataValidationOperator.GREATER_THAN]:`sheets-data-validation.ruleName.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`sheets-data-validation.ruleName.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`sheets-data-validation.ruleName.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`sheets-data-validation.ruleName.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`sheets-data-validation.ruleName.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`sheets-data-validation.ruleName.notEqual`,NONE:`sheets-data-validation.ruleName.legal`},T={[t.DataValidationOperator.BETWEEN]:`sheets-data-validation.errorMsg.between`,[t.DataValidationOperator.EQUAL]:`sheets-data-validation.errorMsg.equal`,[t.DataValidationOperator.GREATER_THAN]:`sheets-data-validation.errorMsg.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`sheets-data-validation.errorMsg.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`sheets-data-validation.errorMsg.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`sheets-data-validation.errorMsg.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`sheets-data-validation.errorMsg.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`sheets-data-validation.errorMsg.notEqual`,NONE:`sheets-data-validation.errorMsg.legal`},re={[t.DataValidationOperator.BETWEEN]:`sheets-data-validation.textLength.errorMsg.between`,[t.DataValidationOperator.EQUAL]:`sheets-data-validation.textLength.errorMsg.equal`,[t.DataValidationOperator.GREATER_THAN]:`sheets-data-validation.textLength.errorMsg.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`sheets-data-validation.textLength.errorMsg.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`sheets-data-validation.textLength.errorMsg.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`sheets-data-validation.textLength.errorMsg.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`sheets-data-validation.textLength.errorMsg.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`sheets-data-validation.textLength.errorMsg.notEqual`},E=`{FORMULA1}`,ie=`{FORMULA2}`,D=`{TYPE}`;var O=class extends n.BaseDataValidator{get operatorNames(){return this.operators.map(e=>this.localeService.t(ne[e]))}generateRuleName(e){var t,n;if(!e.operator)return this.localeService.t(w.NONE).replace(D,this.titleStr);let r=this.localeService.t(w[e.operator]).replace(E,(t=e.formula1)==null?``:t).replace(ie,(n=e.formula2)==null?``:n);return`${this.titleStr} ${r}`}generateRuleErrorMessage(e,t){var n,r;return e.operator?`${this.localeService.t(T[e.operator]).replace(E,(n=e.formula1)==null?``:n).replace(ie,(r=e.formula2)==null?``:r)}`:this.localeService.t(T.NONE).replace(D,this.titleStr)}};function ae(e,n){return t.Tools.isBlank(e)?n.t(`sheets-data-validation.validFail.value`):(0,t.isFormulaString)(e)?n.t(`sheets-data-validation.validFail.primitive`):``}let k=e=>t.Tools.isDefine(e)&&String(e).toLowerCase()===`true`?`1`:String(e).toLowerCase()===`false`?`0`:e;var oe=class extends O{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.CHECKBOX),d(this,`title`,`sheets-data-validation.checkbox.title`),d(this,`operators`,[]),d(this,`scopes`,[`sheet`]),d(this,`order`,41),d(this,`offsetFormulaByRange`,!1),d(this,`_formulaService`,this.injector.get(S)),d(this,`skipDefaultFontRender`,(e,t,n)=>{let{unitId:r,subUnitId:i}=n,{formula1:a,formula2:o}=this.parseFormulaSync(e,r,i),s=`${t==null?``:t}`;return!s||s===`${a}`||s===`${o}`})}validatorFormula(e,n,r){let{formula1:i,formula2:a}=e,o=i===a;if(t.Tools.isBlank(i)&&t.Tools.isBlank(a))return{success:!0};if(o)return{success:!1,formula1:this.localeService.t(`sheets-data-validation.validFail.checkboxEqual`),formula2:this.localeService.t(`sheets-data-validation.validFail.checkboxEqual`)};let s=ae(i,this.localeService),c=ae(a,this.localeService);return{success:!s&&!c,formula1:s,formula2:c}}async parseFormula(e,n,r){var i,a;let{formula1:o=1,formula2:s=0}=e,c=await this._formulaService.getRuleFormulaResult(n,r,e.uid),l=(0,t.isFormulaString)(o)?h(c==null||(i=c[0])==null||(i=i.result)==null?void 0:i[0][0]):o,u=(0,t.isFormulaString)(s)?h(c==null||(a=c[1])==null||(a=a.result)==null?void 0:a[0][0]):s,d=_(String(l))&&_(String(u));return{formula1:k(l),formula2:k(u),originFormula1:l,originFormula2:u,isFormulaValid:d}}getExtraStyle(e,n){return{tb:t.WrapStrategy.CLIP}}parseFormulaSync(e,n,r){var i,a;let{formula1:o=1,formula2:s=0}=e,c=this._formulaService.getRuleFormulaResultSync(n,r,e.uid),l=(0,t.isFormulaString)(o)?h(c==null||(i=c[0])==null||(i=i.result)==null?void 0:i[0][0]):o,u=(0,t.isFormulaString)(s)?h(c==null||(a=c[1])==null||(a=a.result)==null?void 0:a[0][0]):s,d=_(String(l))&&_(String(u));return{formula1:k(l),formula2:k(u),originFormula1:l,originFormula2:u,isFormulaValid:d}}async isValidType(e,n,r){let{value:i,unitId:a,subUnitId:o}=e,{formula1:s,formula2:c,originFormula1:l,originFormula2:u}=await this.parseFormula(r,a,o);return!t.Tools.isDefine(s)||!t.Tools.isDefine(c)?!0:t.Tools.isDefine(i)&&(String(i)===String(s)||String(i)===String(c)||String(i)===String(l==null?``:l)||String(i)===String(u==null?``:u))}generateRuleErrorMessage(e){return this.localeService.t(`sheets-data-validation.checkbox.error`)}generateRuleName(e){return this.titleStr}};let se={[t.DataValidationOperator.BETWEEN]:`sheets-data-validation.date.operators.between`,[t.DataValidationOperator.EQUAL]:`sheets-data-validation.date.operators.equal`,[t.DataValidationOperator.GREATER_THAN]:`sheets-data-validation.date.operators.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`sheets-data-validation.date.operators.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`sheets-data-validation.date.operators.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`sheets-data-validation.date.operators.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`sheets-data-validation.date.operators.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`sheets-data-validation.date.operators.notEqual`};t.DataValidationOperator.BETWEEN,t.DataValidationOperator.EQUAL,t.DataValidationOperator.GREATER_THAN,t.DataValidationOperator.GREATER_THAN_OR_EQUAL,t.DataValidationOperator.LESS_THAN,t.DataValidationOperator.LESS_THAN_OR_EQUAL,t.DataValidationOperator.NOT_BETWEEN,t.DataValidationOperator.NOT_EQUAL;let ce={[t.DataValidationOperator.BETWEEN]:`sheets-data-validation.date.ruleName.between`,[t.DataValidationOperator.EQUAL]:`sheets-data-validation.date.ruleName.equal`,[t.DataValidationOperator.GREATER_THAN]:`sheets-data-validation.date.ruleName.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`sheets-data-validation.date.ruleName.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`sheets-data-validation.date.ruleName.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`sheets-data-validation.date.ruleName.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`sheets-data-validation.date.ruleName.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`sheets-data-validation.date.ruleName.notEqual`,NONE:`sheets-data-validation.date.ruleName.legal`},le={[t.DataValidationOperator.BETWEEN]:`sheets-data-validation.date.errorMsg.between`,[t.DataValidationOperator.EQUAL]:`sheets-data-validation.date.errorMsg.equal`,[t.DataValidationOperator.GREATER_THAN]:`sheets-data-validation.date.errorMsg.greaterThan`,[t.DataValidationOperator.GREATER_THAN_OR_EQUAL]:`sheets-data-validation.date.errorMsg.greaterThanOrEqual`,[t.DataValidationOperator.LESS_THAN]:`sheets-data-validation.date.errorMsg.lessThan`,[t.DataValidationOperator.LESS_THAN_OR_EQUAL]:`sheets-data-validation.date.errorMsg.lessThanOrEqual`,[t.DataValidationOperator.NOT_BETWEEN]:`sheets-data-validation.date.errorMsg.notBetween`,[t.DataValidationOperator.NOT_EQUAL]:`sheets-data-validation.date.errorMsg.notEqual`,NONE:`sheets-data-validation.date.errorMsg.legal`},A=[t.DataValidationOperator.BETWEEN,t.DataValidationOperator.NOT_BETWEEN],j=`{FORMULA1}`,M=`{FORMULA2}`;function ue(e){let t=b(e);return t==null?``:t.toString()}function N(e,n,r){let{formula1:i,formula2:a}=n,o=n.ranges[0].startRow,s=n.ranges[0].startColumn,c=r.row-o,l=r.col-s;return{transformedFormula1:(0,t.isFormulaString)(i)?e.moveFormulaRefOffset(i,l,c,!0):i,transformedFormula2:(0,t.isFormulaString)(a)?e.moveFormulaRefOffset(a,l,c,!0):a}}let P=e=>{var n,r;if(e==null||typeof e==`boolean`)return;if(typeof e==`number`||!Number.isNaN(+e))return+e;let i=(n=t.numfmt.parseDate(e))==null?void 0:n.v;return t.Tools.isDefine(i)?i:(r=t.numfmt.parseDate((0,t.dateKit)(e).format(`YYYY-MM-DD HH:mm:ss`)))==null?void 0:r.v};var de=class extends O{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.DATE),d(this,`title`,`sheets-data-validation.date.title`),d(this,`order`,40),d(this,`operators`,[t.DataValidationOperator.BETWEEN,t.DataValidationOperator.EQUAL,t.DataValidationOperator.GREATER_THAN,t.DataValidationOperator.GREATER_THAN_OR_EQUAL,t.DataValidationOperator.LESS_THAN,t.DataValidationOperator.LESS_THAN_OR_EQUAL,t.DataValidationOperator.NOT_BETWEEN,t.DataValidationOperator.NOT_EQUAL]),d(this,`scopes`,[`sheet`]),d(this,`_customFormulaService`,this.injector.get(y)),d(this,`_lexerTreeBuilder`,this.injector.get(r.LexerTreeBuilder))}async parseFormula(e,n,r,i,a){let o=await this._customFormulaService.getCellFormulaValue(n,r,e.uid,i,a),s=await this._customFormulaService.getCellFormula2Value(n,r,e.uid,i,a),{formula1:c,formula2:l}=e,u=_(String(o==null?void 0:o.v))&&_(String(s==null?void 0:s.v));return{formula1:P((0,t.isFormulaString)(c)?o==null?void 0:o.v:c),formula2:P((0,t.isFormulaString)(l)?s==null?void 0:s.v:l),isFormulaValid:u}}async isValidType(e){let{interceptValue:n,value:r}=e;return typeof r==`number`&&typeof n==`string`||typeof n==`string`?!!t.numfmt.parseDate(n):!1}_validatorSingleFormula(e){return!t.Tools.isBlank(e)&&((0,t.isFormulaString)(e)||!Number.isNaN(+e)||!!(e&&t.numfmt.parseDate(e)))}validatorFormula(e,t,n){let r=e.operator;if(!r)return{success:!0};let i=this._validatorSingleFormula(e.formula1),a=this.localeService.t(`sheets-data-validation.validFail.date`);if(A.includes(r)){let t=this._validatorSingleFormula(e.formula2);return{success:i&&t,formula1:i?void 0:a,formula2:t?void 0:a}}return{success:i,formula1:i?void 0:a}}normalizeFormula(e,n,r){let{formula1:i,formula2:a,bizInfo:o}=e,s=e=>{if(!e)return e;let n;if(!Number.isNaN(+e))n=t.numfmt.dateFromSerial(+e);else{var r;let i=(r=t.numfmt.parseDate(e))==null?void 0:r.v;if(i==null)return``;n=t.numfmt.dateFromSerial(i)}return(0,t.dateKit)(`${n[0]}/${n[1]}/${n[2]} ${n[3]}:${n[4]}:${n[5]}`).format(o!=null&&o.showTime?`YYYY-MM-DD HH:mm:ss`:`YYYY-MM-DD`)};return{formula1:(0,t.isFormulaString)(i)?i:s(`${i}`),formula2:(0,t.isFormulaString)(a)?a:s(`${a}`)}}transform(e,t,n){let{value:r}=e;return{...e,value:P(r)}}get operatorNames(){return this.operators.map(e=>this.localeService.t(se[e]))}generateRuleName(e){var t,n;if(!e.operator)return this.localeService.t(ce.NONE);let r=this.localeService.t(ce[e.operator]).replace(j,(t=e.formula1)==null?``:t).replace(M,(n=e.formula2)==null?``:n);return`${this.titleStr} ${r}`}generateRuleErrorMessage(e,t){if(!e.operator)return this.titleStr;let{transformedFormula1:n,transformedFormula2:r}=N(this._lexerTreeBuilder,e,t);return`${this.localeService.t(le[e.operator]).replace(j,n==null?``:n).replace(M,r==null?``:r)}`}};function F(e){return+e}var fe=class extends O{constructor(...e){super(...e),d(this,`_customFormulaService`,this.injector.get(y)),d(this,`id`,t.DataValidationType.DECIMAL),d(this,`_lexerTreeBuilder`,this.injector.get(r.LexerTreeBuilder)),d(this,`title`,`sheets-data-validation.decimal.title`),d(this,`order`,20),d(this,`operators`,[t.DataValidationOperator.BETWEEN,t.DataValidationOperator.EQUAL,t.DataValidationOperator.GREATER_THAN,t.DataValidationOperator.GREATER_THAN_OR_EQUAL,t.DataValidationOperator.LESS_THAN,t.DataValidationOperator.LESS_THAN_OR_EQUAL,t.DataValidationOperator.NOT_BETWEEN,t.DataValidationOperator.NOT_EQUAL]),d(this,`scopes`,[`sheet`])}_isFormulaOrNumber(e){return!t.Tools.isBlank(e)&&((0,t.isFormulaString)(e)||!Number.isNaN(+e))}async isValidType(e,t,n){let{value:r}=e;return!Number.isNaN(F(r))}transform(e,t,n){let{value:r}=e;return{...e,value:F(r)}}_parseNumber(e){return e==null?NaN:+e}async parseFormula(e,n,r,i,a){let o=await this._customFormulaService.getCellFormulaValue(n,r,e.uid,i,a),s=await this._customFormulaService.getCellFormula2Value(n,r,e.uid,i,a),{formula1:c,formula2:l}=e,u=_(String(o==null?void 0:o.v))&&_(String(s==null?void 0:s.v));return{formula1:this._parseNumber((0,t.isFormulaString)(c)?o==null?void 0:o.v:c),formula2:this._parseNumber((0,t.isFormulaString)(l)?s==null?void 0:s.v:l),isFormulaValid:u}}validatorFormula(e,n,r){let i=e.operator;if(!i)return{success:!0};let a=t.Tools.isDefine(e.formula1)&&this._isFormulaOrNumber(e.formula1),o=t.Tools.isDefine(e.formula2)&&this._isFormulaOrNumber(e.formula2),s=A.includes(i),c=this.localeService.t(`sheets-data-validation.validFail.number`);return s?{success:a&&o,formula1:a?void 0:c,formula2:o?void 0:c}:{success:a,formula1:a?``:c}}generateRuleErrorMessage(e,t){if(!e.operator)return this.localeService.t(T.NONE).replace(`{TYPE}`,this.titleStr);let{transformedFormula1:n,transformedFormula2:r}=N(this._lexerTreeBuilder,e,t);return`${this.localeService.t(T[e.operator]).replace(j,n==null?``:n).replace(M,r==null?``:r)}`}};function pe(e){if(!e)return[];let n=new Set;for(let i=0,a=e.length;i<a;i++){let a=e[i];if(a)for(let e=0,i=a.length;e<i;e++){let i=a[e],o=b(i);if(o!=null){var r;if(typeof o!=`string`&&typeof(i==null?void 0:i.s)==`object`&&!((r=i.s)==null||(r=r.n)==null)&&r.pattern){n.add(t.numfmt.format(i.s.n.pattern,o,{throws:!1}));continue}let e=typeof o==`string`?o:String(o);_(e)&&n.add(e)}}}return[...n]}let me=[`if`,`indirect`,`choose`,`offset`];function he(e,n){if(!(0,t.isFormulaString)(e)||(0,r.isReferenceString)(e.slice(1)))return!0;let i=n.sequenceNodesBuilder(e);return i&&i.some(e=>typeof e==`object`&&e.nodeType===r.sequenceNodeType.FUNCTION&&me.indexOf(e.token.toLowerCase())>-1)}function ge(e,n){let{formula1:i=``,ranges:a}=e;if((0,r.isReferenceString)(i.slice(1))){let e=(0,r.deserializeRangeWithSheet)(i.slice(1));if((!e.sheetName||e.sheetName===n)&&a.some(n=>t.Rectangle.intersects(n,e.range)))return!0}return!1}var I=class extends O{constructor(...e){super(...e),d(this,`formulaService`,this.injector.get(S)),d(this,`_lexer`,this.injector.get(r.LexerTreeBuilder)),d(this,`_univerInstanceService`,this.injector.get(t.IUniverInstanceService)),d(this,`_listCacheService`,this.injector.get(x)),d(this,`order`,50),d(this,`offsetFormulaByRange`,!1),d(this,`id`,t.DataValidationType.LIST),d(this,`title`,`sheets-data-validation.list.title`),d(this,`operators`,[]),d(this,`scopes`,[`sheet`]),d(this,`skipDefaultFontRender`,e=>e.renderMode!==t.DataValidationRenderMode.TEXT)}validatorFormula(e,n,r){var i,a;let o=!t.Tools.isBlank(e.formula1),s=he((i=e.formula1)==null?``:i,this._lexer),c=(a=this._univerInstanceService.getUnit(n,t.UniverInstanceType.UNIVER_SHEET))==null||(a=a.getSheetBySheetId(r))==null?void 0:a.getName(),l=ge(e,c==null?``:c);return{success:!!(o&&s&&!l),formula1:o?s?l?this.localeService.t(`sheets-data-validation.validFail.listIntersects`):void 0:this.localeService.t(`sheets-data-validation.validFail.listInvalid`):this.localeService.t(`sheets-data-validation.validFail.list`)}}getExtraStyle(e,n,{style:r}){var i;let a=(i=r.tb===t.WrapStrategy.OVERFLOW?t.WrapStrategy.CLIP:r.tb)==null?t.WrapStrategy.WRAP:i;if(e.type===t.DataValidationType.LIST&&(e.renderMode===t.DataValidationRenderMode.ARROW||e.renderMode===t.DataValidationRenderMode.TEXT)){let t=this.getListWithColorMap(e)[`${n==null?``:n}`];if(t)return{bg:{rgb:t},tb:a}}return{tb:a}}parseCellValue(e){return(0,i.deserializeListOptions)(e.toString())}async parseFormula(e,t,n){var r;let i=await this.formulaService.getRuleFormulaResult(t,n,e.uid),a=h(i==null||(r=i[0])==null||(r=r.result)==null?void 0:r[0][0]);return{formula1:void 0,formula2:void 0,isFormulaValid:_(String(a))}}async isValidType(e,n,r){let{value:a,unitId:o,subUnitId:s}=e,{formula1:c=``}=r,l=(0,t.isFormulaString)(c)?this._listCacheService.getOrCompute(o,s,r).list:(0,i.deserializeListOptions)(c);return(r.type===t.DataValidationType.LIST?a==null||a===``?[]:[`${a}`]:this.parseCellValue(a)).every(e=>l.includes(e))}generateRuleName(){return this.localeService.t(`sheets-data-validation.list.name`)}generateRuleErrorMessage(){return this.localeService.t(`sheets-data-validation.list.error`)}_getUnitAndSubUnit(e,n){var r,i;let a=(r=e?this._univerInstanceService.getUniverSheetInstance(e):void 0)==null?this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET):r;if(!a)return null;let o=(i=n?a.getSheetBySheetId(n):void 0)==null?a.getActiveSheet():i;return o?{unitId:a.getUnitId(),subUnitId:o.getSheetId()}:null}getList(e,t,n){let r=this._getUnitAndSubUnit(t,n);if(!r)return[];let{unitId:i,subUnitId:a}=r;return this._listCacheService.getOrCompute(i,a,e).list}async getListAsync(e,n,r){var a;let{formula1:o=``}=e,s=this._getUnitAndSubUnit(n,r);if(!s)return[];let{unitId:c,subUnitId:l}=s,u=await this.formulaService.getRuleFormulaResult(c,l,e.uid);return(0,t.isFormulaString)(o)?pe(u==null||(a=u[0])==null||(a=a.result)==null?void 0:a[0][0]):(0,i.deserializeListOptions)(o)}getListWithColor(e,t,n){let r=this._getUnitAndSubUnit(t,n);if(!r)return[];let{unitId:i,subUnitId:a}=r;return this._listCacheService.getOrCompute(i,a,e).listWithColor}getListWithColorMap(e,t,n){let r=this._getUnitAndSubUnit(t,n);if(!r)return{};let{unitId:i,subUnitId:a}=r;return this._listCacheService.getOrCompute(i,a,e).colorMap}},_e=class extends O{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.TEXT_LENGTH),d(this,`title`,`sheets-data-validation.textLength.title`),d(this,`_lexerTreeBuilder`,this.injector.get(r.LexerTreeBuilder)),d(this,`order`,30),d(this,`operators`,[t.DataValidationOperator.BETWEEN,t.DataValidationOperator.EQUAL,t.DataValidationOperator.GREATER_THAN,t.DataValidationOperator.GREATER_THAN_OR_EQUAL,t.DataValidationOperator.LESS_THAN,t.DataValidationOperator.LESS_THAN_OR_EQUAL,t.DataValidationOperator.NOT_BETWEEN,t.DataValidationOperator.NOT_EQUAL]),d(this,`scopes`,[`sheet`]),d(this,`_customFormulaService`,this.injector.get(y))}_isFormulaOrInt(e){return!t.Tools.isBlank(e)&&((0,t.isFormulaString)(e)||!Number.isNaN(+e)&&Number.isInteger(+e))}validatorFormula(e,n,r){let i=e.operator;if(!i)return{success:!1};let a=t.Tools.isDefine(e.formula1)&&this._isFormulaOrInt(e.formula1),o=t.Tools.isDefine(e.formula2)&&this._isFormulaOrInt(e.formula2),s=A.includes(i),c=this.localeService.t(`sheets-data-validation.validFail.number`);return s?{success:a&&o,formula1:a?void 0:c,formula2:o?void 0:c}:{success:a,formula1:c}}_parseNumber(e){return e==null?NaN:+e}async parseFormula(e,n,r,i,a){let o=await this._customFormulaService.getCellFormulaValue(n,r,e.uid,i,a),s=await this._customFormulaService.getCellFormula2Value(n,r,e.uid,i,a),{formula1:c,formula2:l}=e,u=_(String(o==null?void 0:o.v))&&_(String(s==null?void 0:s.v));return{formula1:this._parseNumber((0,t.isFormulaString)(c)?o==null?void 0:o.v:c),formula2:this._parseNumber((0,t.isFormulaString)(l)?s==null?void 0:s.v:l),isFormulaValid:u}}transform(e,t,n){return{...e,value:e.value.toString().length}}async isValidType(e,t,n){let{value:r}=e;return typeof r==`string`||typeof r==`number`}generateRuleErrorMessage(e,t){if(!e.operator)return this.titleStr;let{transformedFormula1:n,transformedFormula2:r}=N(this._lexerTreeBuilder,e,t);return`${this.localeService.t(re[e.operator]).replace(j,n==null?``:n).replace(M,r==null?``:r)}`}};function L(e){var n,r;return e?e.p?!((n=(r=e.p.body)==null?void 0:r.dataStream)==null?``:n).slice(0,-2).trim():t.Tools.isBlank(e.v):!0}function R(e,a,o,s,c=`command`,l=!0){let u=s.get(r.LexerTreeBuilder),d=s.get(n.DataValidatorRegistryService),f=[],p=[],m=s.get(C),h=(0,i.getSheetCommandTarget)(s.get(t.IUniverInstanceService),{unitId:e,subUnitId:a});if(!h)return{redoMutations:f,undoMutations:p};let{worksheet:g}=h,_=new t.ObjectMatrix,y=!1;function b(e,n){l&&e.forEach(e=>{t.Range.foreach(e,(e,t)=>{let r=g.getCellRaw(e,t),i=ee(r);(L(r)||i===n)&&!(r!=null&&r.p)&&(y=!0,_.setValue(e,t,{v:n,p:null}))})})}if(o.forEach(r=>{switch(r.type){case`delete`:f.push({id:n.RemoveDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.rule.uid,source:c}}),p.unshift({id:n.AddDataValidationMutation.id,params:{unitId:e,subUnitId:a,rule:r.rule,index:r.index,source:c}});break;case`update`:{if(v(r.rule.type,d)){let i=r.oldRanges[0].startRow,o=r.oldRanges[0].startColumn,s=r.newRanges[0].startRow,l=r.newRanges[0].startColumn,d=s-i,m=l-o,h=(0,t.isFormulaString)(r.rule.formula1)?u.moveFormulaRefOffset(r.rule.formula1,m,d):r.rule.formula1,g=(0,t.isFormulaString)(r.rule.formula2)?u.moveFormulaRefOffset(r.rule.formula2,m,d):r.rule.formula2;h!==r.rule.formula1||g!==r.rule.formula2||!(0,t.isRangesEqual)(r.newRanges,r.oldRanges)?(f.push({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.ALL,payload:{formula1:h,formula2:g,ranges:r.newRanges}}}}),p.unshift({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.ALL,payload:{formula1:r.rule.formula1,formula2:r.rule.formula2,ranges:r.oldRanges}}}})):(f.push({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.RANGE,payload:r.newRanges},source:c}}),p.unshift({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.RANGE,payload:r.oldRanges},source:c}}))}else f.push({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.RANGE,payload:r.newRanges},source:c}}),p.unshift({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.ruleId,payload:{type:n.UpdateRuleType.RANGE,payload:r.oldRanges},source:c}});let i=m.getRuleById(e,a,r.ruleId);if(i&&i.type===t.DataValidationType.CHECKBOX){let n=m.getValidator(t.DataValidationType.CHECKBOX).parseFormulaSync(i,e,a);b(r.newRanges,n.formula2)}break}case`add`:if(f.push({id:n.AddDataValidationMutation.id,params:{unitId:e,subUnitId:a,rule:r.rule,source:c}}),p.unshift({id:n.RemoveDataValidationMutation.id,params:{unitId:e,subUnitId:a,ruleId:r.rule.uid,source:c}}),r.rule.type===t.DataValidationType.CHECKBOX){let n=m.getValidator(t.DataValidationType.CHECKBOX).parseFormulaSync(r.rule,e,a);b(r.rule.ranges,n.originFormula2)}break;default:break}}),y){let t={id:i.SetRangeValuesMutation.id,params:{unitId:e,subUnitId:a,cellValue:_.getData()}},n={id:i.SetRangeValuesMutation.id,params:(0,i.SetRangeValuesUndoMutationFactory)(s,t.params)};f.push(t),p.push(n)}return{redoMutations:f,undoMutations:p}}let z={type:t.CommandType.COMMAND,id:`sheet.command.updateDataValidationRuleRange`,handler(e,n){if(!n)return!1;let{unitId:r,subUnitId:i,ranges:a,ruleId:o}=n,s=e.get(C),c=e.get(t.ICommandService),l=e.get(t.IUndoRedoService);if(!s.getRuleById(r,i,o))return!1;let u=s.getRuleObjectMatrix(r,i).clone();u.updateRange(o,a);let{redoMutations:d,undoMutations:f}=R(r,i,u.diff(s.getRules(r,i)),e);return l.pushUndoRedo({undoMutations:f,redoMutations:d,unitID:r}),(0,t.sequenceExecute)(d,c),!0}},B={type:t.CommandType.COMMAND,id:`sheet.command.addDataValidation`,handler(e,r){if(!r)return!1;let{unitId:i,subUnitId:a,rule:o}=r,s=e.get(C),c=e.get(t.ICommandService),l=e.get(t.IUndoRedoService),u=s.getRuleObjectMatrix(i,a).clone();u.addRule(o);let d=u.diff(s.getRules(i,a)),f=s.getValidator(o.type),p={unitId:i,subUnitId:a,rule:{...o,...f==null?void 0:f.normalizeFormula(o,i,a)}},{redoMutations:m,undoMutations:h}=R(i,a,d,e);return m.push({id:n.AddDataValidationMutation.id,params:p}),h.unshift({id:n.RemoveDataValidationMutation.id,params:{unitId:i,subUnitId:a,ruleId:o.uid}}),l.pushUndoRedo({unitID:i,redoMutations:m,undoMutations:h}),(0,t.sequenceExecute)(m,c),!0}},V={type:t.CommandType.COMMAND,id:`sheets.command.update-data-validation-setting`,handler(e,r){if(!r)return!1;let a=e.get(t.ICommandService),o=e.get(t.IUndoRedoService),s=e.get(C),c=e.get(n.DataValidatorRegistryService),{unitId:l,subUnitId:u,ruleId:d,setting:f}=r,p=c.getValidatorItem(f.type);if(!p)return!1;let m=s.getRuleById(l,u,d);if(!m)return!1;let h={...m,...f};if(!p.validatorFormula(h,l,u).success)return!1;let g={unitId:l,subUnitId:u,ruleId:d,payload:{type:n.UpdateRuleType.SETTING,payload:{...f,...p.normalizeFormula(h,l,u)}}},_=[{id:n.UpdateDataValidationMutation.id,params:g}],v={unitId:l,subUnitId:u,ruleId:d,payload:{type:n.UpdateRuleType.SETTING,payload:(0,n.getRuleSetting)(m)}},y=[{id:n.UpdateDataValidationMutation.id,params:v}];if(f.type===t.DataValidationType.CHECKBOX){let n=m.ranges,r=(0,i.getSheetCommandTarget)(e.get(t.IUniverInstanceService),{unitId:l,subUnitId:u});if(r){let a=new t.ObjectMatrix,{worksheet:o}=r,{formula2:s=0,formula1:c=1}=m,{formula2:d=0,formula1:p=1}=f,h=!1;if(n.forEach(e=>{t.Range.foreach(e,(e,t)=>{let n=o.getCellRaw(e,t),r=ee(n);(L(n)||r===String(s))&&!(n!=null&&n.p)?(a.setValue(e,t,{v:d,p:null}),h=!0):r===String(c)&&!(n!=null&&n.p)&&(a.setValue(e,t,{v:p,p:null}),h=!0)})}),h){let t={id:i.SetRangeValuesMutation.id,params:{unitId:l,subUnitId:u,cellValue:a.getData()}},n={id:i.SetRangeValuesMutation.id,params:(0,i.SetRangeValuesUndoMutationFactory)(e,t.params)};_.push(t),y.push(n)}}}return(0,t.sequenceExecute)(_,a).result?(o.pushUndoRedo({unitID:l,redoMutations:_,undoMutations:y}),!0):!1}},H={type:t.CommandType.COMMAND,id:`sheets.command.update-data-validation-options`,handler(e,r){if(!r)return!1;let i=e.get(t.ICommandService),a=e.get(t.IUndoRedoService),o=e.get(C),{unitId:s,subUnitId:c,ruleId:l,options:u}=r,d=o.getRuleById(s,c,l);if(!d)return!1;let f={unitId:s,subUnitId:c,ruleId:l,payload:{type:n.UpdateRuleType.OPTIONS,payload:u}},p=[{id:n.UpdateDataValidationMutation.id,params:f}],m={unitId:s,subUnitId:c,ruleId:l,payload:{type:n.UpdateRuleType.OPTIONS,payload:(0,n.getRuleOptions)(d)}},h=[{id:n.UpdateDataValidationMutation.id,params:m}];return a.pushUndoRedo({unitID:s,redoMutations:p,undoMutations:h}),i.executeCommand(n.UpdateDataValidationMutation.id,f),!0}},U={type:t.CommandType.COMMAND,id:`sheets.command.clear-range-data-validation`,handler(e,n){if(!n)return!1;let{unitId:r,subUnitId:a,ranges:o}=n,s=e.get(t.ICommandService),c=(0,i.getSheetCommandTarget)(e.get(t.IUniverInstanceService),{unitId:r,subUnitId:a}),l=e.get(C);if(!c)return!1;let u=e.get(t.IUndoRedoService),d=l.getRuleObjectMatrix(r,a).clone();d.removeRange(o);let{redoMutations:f,undoMutations:p}=R(r,a,d.diff(l.getRules(r,a)),e);return u.pushUndoRedo({unitID:r,redoMutations:f,undoMutations:p}),(0,t.sequenceExecute)(f,s).result}},W={type:t.CommandType.COMMAND,id:`sheet.command.remove-all-data-validation`,handler(e,r){if(!r)return!1;let{unitId:i,subUnitId:a}=r,o=e.get(t.ICommandService),s=e.get(C),c=e.get(t.IUndoRedoService),l=[...s.getRules(i,a)],u={unitId:i,subUnitId:a,ruleId:l.map(e=>e.uid)},d=[{id:n.RemoveDataValidationMutation.id,params:u}],f=[{id:n.AddDataValidationMutation.id,params:{unitId:i,subUnitId:a,rule:l}}];return c.pushUndoRedo({redoMutations:d,undoMutations:f,unitID:i}),o.executeCommand(n.RemoveDataValidationMutation.id,u),!0}},ve=(e,t)=>{let r=e.get(C),{unitId:i,subUnitId:a,ruleId:o,source:s}=t;if(Array.isArray(o)){let e=o.map(e=>r.getRuleById(i,a,e)).filter(Boolean);return[{id:n.AddDataValidationMutation.id,params:{unitId:i,subUnitId:a,rule:e,source:s}}]}return[{id:n.AddDataValidationMutation.id,params:{unitId:i,subUnitId:a,rule:{...r.getRuleById(i,a,o)},index:r.getRuleIndex(i,a,o)}}]},G={type:t.CommandType.COMMAND,id:`sheet.command.remove-data-validation-rule`,handler(e,r){if(!r)return!1;let{unitId:i,subUnitId:a,ruleId:o}=r,s=e.get(t.ICommandService),c=e.get(t.IUndoRedoService),l=e.get(C),u=[{id:n.RemoveDataValidationMutation.id,params:r}],d=[{id:n.AddDataValidationMutation.id,params:{unitId:i,subUnitId:a,rule:{...l.getRuleById(i,a,o)},index:l.getRuleIndex(i,a,o)}}];return c.pushUndoRedo({undoMutations:d,redoMutations:u,unitID:r.unitId}),s.executeCommand(n.RemoveDataValidationMutation.id,r),!0}},K=`SHEET_DATA_VALIDATION_PLUGIN`,q=class extends t.Disposable{constructor(e,t,n){super(),this._univerInstanceService=e,this._permissionService=t,this._lexerTreeBuilder=n}getFormulaRefCheck(e){let n=this._lexerTreeBuilder.sequenceNodesBuilder(e);if(!n)return!0;for(let e=0;e<n.length;e++){let s=n[e];if(typeof s==`string`)continue;let{token:c}=s,l=(0,r.deserializeRangeWithSheetWithCache)(c),u=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),d=u.getActiveSheet(),f=u.getUnitId();if(l.sheetName){if(d=u.getSheetBySheetName(l.sheetName),!d)return!1;let e=d==null?void 0:d.getSheetId();if(!this._permissionService.getPermissionPoint(new i.WorksheetViewPermission(f,e).id))return!1}if(!d)return!1;let{startRow:p,endRow:m,startColumn:h,endColumn:g}=l.range;for(let e=p;e<=m;e++)for(let t=h;t<=g;t++){var a;let n=(a=d.getCell(e,t))==null||(a=a.selectionProtection)==null?void 0:a[0];if((n==null?void 0:n[o.UnitAction.View])===!1)return!1}}return!0}};q=p([f(0,t.IUniverInstanceService),f(1,t.IPermissionService),f(2,(0,t.Inject)(r.LexerTreeBuilder))],q);var ye=`@univerjs/sheets-data-validation`,be=`0.25.0`;let xe={},J=class extends t.Disposable{constructor(e,t,n){super(),this._dataValidationModel=e,this._formulaRefRangeService=t,this._validatorRegistryService=n,d(this,`_disposableMap`,new Map),d(this,`registerRule`,(e,t,n)=>{v(n.type,this._validatorRegistryService)&&this.register(e,t,n)}),this._initRefRange()}_getIdWithUnitId(e,t,n){return`${e}_${t}_${n}`}register(e,r,i){let a=i.ranges,o=i.formula1,s=i.formula2,c=this._formulaRefRangeService.registerRangeFormula(e,r,a,[o==null?``:o,s==null?``:s],c=>{if(c.length===0)return{undos:[{id:n.AddDataValidationMutation.id,params:{unitId:e,subUnitId:r,rule:i,source:`patched`}}],redos:[{id:n.RemoveDataValidationMutation.id,params:{unitId:e,subUnitId:r,ruleId:i.uid,source:`patched`}}]};let l=[],u=[],d=c[0];l.push({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:r,ruleId:i.uid,payload:{type:n.UpdateRuleType.ALL,payload:{ranges:d.ranges,formula1:d.formulas[0],formula2:d.formulas[1]}},source:`patched`}}),u.push({id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:r,ruleId:i.uid,payload:{type:n.UpdateRuleType.ALL,payload:{ranges:a,formula1:o,formula2:s}},source:`patched`}});for(let a=1;a<c.length;a++){let o=c[a],s=(0,t.generateRandomId)();l.push({id:n.AddDataValidationMutation.id,params:{unitId:e,subUnitId:r,rule:{...i,uid:s,formula1:o.formulas[0],formula2:o.formulas[1],ranges:o.ranges},source:`patched`}}),u.push({id:n.RemoveDataValidationMutation.id,params:{unitId:e,subUnitId:r,ruleId:s,source:`patched`}})}return{undos:u,redos:l}}),l=this._getIdWithUnitId(e,r,i.uid);this._disposableMap.set(l,c)}_initRefRange(){let e=this._dataValidationModel.getAll();for(let[t,n]of e)for(let[e,r]of n)for(let n of r)this.registerRule(t,e,n);this.disposeWithMe(this._dataValidationModel.ruleChange$.subscribe(e=>{let{unitId:t,subUnitId:n,rule:r}=e;switch(e.type){case`add`:{let t=e.rule;this.registerRule(e.unitId,e.subUnitId,t);break}case`remove`:{let e=this._disposableMap.get(this._getIdWithUnitId(t,n,r.uid));e&&e.dispose();break}case`update`:{let r=e.rule,i=this._disposableMap.get(this._getIdWithUnitId(t,n,r.uid));i&&i.dispose(),this.registerRule(e.unitId,e.subUnitId,r);break}}})),this.disposeWithMe((0,t.toDisposable)(()=>{this._disposableMap.forEach(e=>{e.dispose()}),this._disposableMap.clear()}))}};J=p([f(0,(0,t.Inject)(C)),f(1,(0,t.Inject)(s.FormulaRefRangeService)),f(2,(0,t.Inject)(n.DataValidatorRegistryService))],J);let Y=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._dataValidationModel=e,this._injector=t,this._refRangeService=n,this._dataValidationFormulaService=r,this._formulaRefRangeService=i,this._validatorRegistryService=a,d(this,`_disposableMap`,new Map),d(this,`registerRule`,(e,t,n)=>{v(n.type,this._validatorRegistryService)||(this.register(e,t,n),this.registerFormula(e,t,n))}),this._initRefRange()}_getIdWithUnitId(e,t,n){return`${e}_${t}_${n}`}registerFormula(e,t,r){var i;let a=r.uid,o=this._getIdWithUnitId(e,t,a),s=(i=this._disposableMap.get(o))==null?new Set:i,c=(i,o)=>{let s=this._dataValidationModel.getRuleById(e,t,a);if(!s)return{redos:[],undos:[]};let c=s[i];if(!c||c===o)return{redos:[],undos:[]};let l={unitId:e,subUnitId:t,ruleId:r.uid,payload:{type:n.UpdateRuleType.SETTING,payload:{type:s.type,formula1:s.formula1,formula2:s.formula2,[i]:o}},source:`patched`},u={unitId:e,subUnitId:t,ruleId:r.uid,payload:{type:n.UpdateRuleType.SETTING,payload:{type:s.type,formula1:s.formula1,formula2:s.formula2}},source:`patched`};return{redos:[{id:n.UpdateDataValidationMutation.id,params:l}],undos:[{id:n.UpdateDataValidationMutation.id,params:u}]}},l=this._dataValidationFormulaService.getRuleFormulaInfo(e,t,a);if(l){let[n,r]=l;if(n){let r=this._formulaRefRangeService.registerFormula(e,t,n.text,e=>c(`formula1`,e));s.add(()=>r.dispose())}if(r){let n=this._formulaRefRangeService.registerFormula(e,t,r.text,e=>c(`formula2`,e));s.add(()=>n.dispose())}}}register(e,r,a){var o;let s=o=>{let s=[...a.ranges],c=s.map(e=>(0,i.handleCommonDefaultRangeChangeWithEffectRefCommands)(e,o)).filter(e=>!!e).flat();if((0,t.isRangesEqual)(c,s))return{redos:[],undos:[]};if(c.length){let t={unitId:e,subUnitId:r,ruleId:a.uid,payload:{type:n.UpdateRuleType.RANGE,payload:c},source:`patched`};return{redos:[{id:n.UpdateDataValidationMutation.id,params:t}],undos:[{id:n.UpdateDataValidationMutation.id,params:{unitId:e,subUnitId:r,ruleId:a.uid,payload:{type:n.UpdateRuleType.RANGE,payload:s},source:`patched`}}]}}else{let t={unitId:e,subUnitId:r,ruleId:a.uid};return{redos:[{id:n.RemoveDataValidationMutation.id,params:t}],undos:ve(this._injector,t)}}},c=[];a.ranges.forEach(t=>{let n=this._refRangeService.registerRefRange(t,s,e,r);c.push(()=>n.dispose())});let l=this._getIdWithUnitId(e,r,a.uid),u=(o=this._disposableMap.get(l))==null?new Set:o;u.add(()=>c.forEach(e=>e())),this._disposableMap.set(l,u)}_initRefRange(){let e=this._dataValidationModel.getAll();for(let[t,n]of e)for(let[e,r]of n)for(let n of r)this.registerRule(t,e,n);this.disposeWithMe(this._dataValidationModel.ruleChange$.subscribe(e=>{let{unitId:t,subUnitId:n,rule:r}=e;switch(e.type){case`add`:{let t=e.rule;this.registerRule(e.unitId,e.subUnitId,t);break}case`remove`:{let e=this._disposableMap.get(this._getIdWithUnitId(t,n,r.uid));e&&e.forEach(e=>e());break}case`update`:{let r=e.rule,i=this._disposableMap.get(this._getIdWithUnitId(t,n,r.uid));i&&i.forEach(e=>e()),this.registerRule(e.unitId,e.subUnitId,r);break}}})),this.disposeWithMe((0,t.toDisposable)(()=>{this._disposableMap.forEach(e=>{e.forEach(e=>e())}),this._disposableMap.clear()}))}};Y=p([f(0,(0,t.Inject)(C)),f(1,(0,t.Inject)(t.Injector)),f(2,(0,t.Inject)(i.RefRangeService)),f(3,(0,t.Inject)(S)),f(4,(0,t.Inject)(s.FormulaRefRangeService)),f(5,(0,t.Inject)(n.DataValidatorRegistryService))],Y);let X=class extends t.Disposable{constructor(e,t,n){super(),this._sheetInterceptorService=e,this._univerInstanceService=t,this._sheetDataValidationModel=n,this._initSheetChange()}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===i.RemoveSheetCommand.id){var r;let i=e.params,a=i.unitId||this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET).getUnitId(),o=this._univerInstanceService.getUniverSheetInstance(a);if(!o)return{redos:[],undos:[]};let s=i.subUnitId||((r=o.getActiveSheet())==null?void 0:r.getSheetId());if(!s)return{redos:[],undos:[]};let c=this._sheetDataValidationModel.getRules(a,s);if(c.length===0)return{redos:[],undos:[]};let l={unitId:a,subUnitId:s,ruleId:c.map(e=>e.uid),source:`patched`},u={unitId:a,subUnitId:s,rule:[...c],source:`patched`};return{redos:[{id:n.RemoveDataValidationMutation.id,params:l}],undos:[{id:n.AddDataValidationMutation.id,params:u}]}}else if(e.id===i.CopySheetCommand.id){let{unitId:r,subUnitId:i,targetSubUnitId:a}=e.params;if(!r||!i||!a)return{redos:[],undos:[]};let o=this._sheetDataValidationModel.getRules(r,i);if(o.length===0)return{redos:[],undos:[]};let s=o.map(e=>({...e,uid:(0,t.generateRandomId)(6)}));return{redos:[{id:n.AddDataValidationMutation.id,params:{unitId:r,subUnitId:a,rule:s,source:`patched`}}],undos:[{id:n.RemoveDataValidationMutation.id,params:{unitId:r,subUnitId:a,ruleId:s.map(e=>e.uid),source:`patched`}}]}}return{redos:[],undos:[]}}}))}};X=p([f(0,(0,t.Inject)(i.SheetInterceptorService)),f(1,(0,t.Inject)(t.IUniverInstanceService)),f(2,(0,t.Inject)(C))],X);var Se=class extends O{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.ANY),d(this,`title`,`sheets-data-validation.any.title`),d(this,`operators`,[]),d(this,`scopes`,[`sheet`]),d(this,`order`,0),d(this,`offsetFormulaByRange`,!1)}async parseFormula(e,t,n){return{formula1:e.formula1,formula2:e.formula2,isFormulaValid:!0}}validatorFormula(e,t,n){return{success:!0}}async isValidType(e,t,n){return!0}generateRuleErrorMessage(e){return this.localeService.t(`sheets-data-validation.any.error`)}},Ce=class extends O{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.CUSTOM),d(this,`title`,`sheets-data-validation.custom.title`),d(this,`operators`,[]),d(this,`scopes`,[`sheet`]),d(this,`order`,60),d(this,`_customFormulaService`,this.injector.get(y)),d(this,`_lexerTreeBuilder`,this.injector.get(r.LexerTreeBuilder))}validatorFormula(e,n,i){var a;let o=(0,t.isFormulaString)(e.formula1),s=(a=e.formula1)==null?``:a,c=this._lexerTreeBuilder.checkIfAddBracket(s)===0&&s.startsWith(r.operatorToken.EQUALS);return{success:o&&c,formula1:o&&c?``:this.localeService.t(`sheets-data-validation.validFail.formula`)}}async parseFormula(e,t,n){return{formula1:void 0,formula2:void 0,isFormulaValid:!0}}async isValidType(e,n,r){let{column:i,row:a,unitId:o,subUnitId:s}=e,c=await this._customFormulaService.getCellFormulaValue(o,s,r.uid,a,i),l=c==null?void 0:c.v;return _(String(l))&&t.Tools.isDefine(l)&&l!==``?c.t===t.CellValueType.BOOLEAN?!!l:typeof l==`boolean`?l:typeof l==`number`?!!l:typeof l==`string`?_(l):!!l:!1}generateRuleErrorMessage(e){return this.localeService.t(`sheets-data-validation.custom.error`)}generateRuleName(e){var t;return this.localeService.t(`sheets-data-validation.custom.ruleName`).replace(`{FORMULA1}`,(t=e.formula1)==null?``:t)}},we=class extends I{constructor(...e){super(...e),d(this,`id`,t.DataValidationType.LIST_MULTIPLE),d(this,`title`,`sheets-data-validation.listMultiple.title`),d(this,`offsetFormulaByRange`,!1),d(this,`skipDefaultFontRender`,()=>!0)}},Te=class extends O{constructor(...e){super(...e),d(this,`_customFormulaService`,this.injector.get(y)),d(this,`_lexerTreeBuilder`,this.injector.get(r.LexerTreeBuilder)),d(this,`id`,t.DataValidationType.WHOLE),d(this,`title`,`sheets-data-validation.whole.title`),d(this,`order`,10),d(this,`operators`,[t.DataValidationOperator.BETWEEN,t.DataValidationOperator.EQUAL,t.DataValidationOperator.GREATER_THAN,t.DataValidationOperator.GREATER_THAN_OR_EQUAL,t.DataValidationOperator.LESS_THAN,t.DataValidationOperator.LESS_THAN_OR_EQUAL,t.DataValidationOperator.NOT_BETWEEN,t.DataValidationOperator.NOT_EQUAL]),d(this,`scopes`,[`sheet`])}_isFormulaOrInt(e){return!t.Tools.isBlank(e)&&((0,t.isFormulaString)(e)||!Number.isNaN(+e)&&Number.isInteger(+e))}async isValidType(e,t,n){let{value:r}=e,i=F(r);return!Number.isNaN(i)&&Number.isInteger(i)}transform(e,t,n){let{value:r}=e;return{...e,value:F(r)}}_parseNumber(e){return e==null?NaN:+e}async parseFormula(e,n,r,i,a){let o=await this._customFormulaService.getCellFormulaValue(n,r,e.uid,i,a),s=await this._customFormulaService.getCellFormula2Value(n,r,e.uid,i,a),{formula1:c,formula2:l}=e,u=(0,t.isFormulaString)(c)?o==null?void 0:o.v:c,d=(0,t.isFormulaString)(l)?s==null?void 0:s.v:l,f=_(`${u}`)&&_(`${d}`);return{formula1:this._parseNumber(u),formula2:this._parseNumber(d),isFormulaValid:f}}validatorFormula(e,n,r){let i=e.operator;if(!i)return{success:!0};let a=t.Tools.isDefine(e.formula1)&&this._isFormulaOrInt(e.formula1),o=t.Tools.isDefine(e.formula2)&&this._isFormulaOrInt(e.formula2),s=A.includes(i),c=this.localeService.t(`sheets-data-validation.validFail.number`);return s?{success:a&&o,formula1:a?void 0:c,formula2:o?void 0:c}:{success:a,formula1:c}}generateRuleErrorMessage(e,t){if(!e.operator)return this.localeService.t(T.NONE).replace(`{TYPE}`,this.titleStr);let{transformedFormula1:n,transformedFormula2:r}=N(this._lexerTreeBuilder,e,t);return`${this.localeService.t(T[e.operator]).replace(j,n==null?``:n).replace(M,r==null?``:r)}`}};let Z=class extends t.RxDisposable{constructor(e,t,n,r,i,a){super(),this._univerInstanceService=e,this._dataValidatorRegistryService=t,this._injector=n,this._selectionManagerService=r,this._sheetInterceptorService=i,this._sheetDataValidationModel=a,this._init()}_init(){this._registerValidators(),this._initCommandInterceptor()}_registerValidators(){[Se,fe,Te,_e,de,oe,I,we,Ce].forEach(e=>{let n=this._injector.createInstance(e);this.disposeWithMe(this._dataValidatorRegistryService.register(n)),this.disposeWithMe((0,t.toDisposable)(()=>this._injector.delete(e)))})}_initCommandInterceptor(){this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===i.ClearSelectionAllCommand.id){var n;let e=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),r=e.getUnitId(),i=e.getActiveSheet();if(!i)throw Error(`No active sheet found`);let a=i.getSheetId(),o=(n=this._selectionManagerService.getCurrentSelections())==null?void 0:n.map(e=>e.range),s=this._sheetDataValidationModel.getRuleObjectMatrix(r,a).clone();o&&s.removeRange(o);let{redoMutations:c,undoMutations:l}=R(r,a,s.diff(this._sheetDataValidationModel.getRules(r,a)),this._injector,`patched`);return{undos:l,redos:c}}return{undos:[],redos:[]}}})}};Z=p([f(0,t.IUniverInstanceService),f(1,(0,t.Inject)(n.DataValidatorRegistryService)),f(2,(0,t.Inject)(t.Injector)),f(3,(0,t.Inject)(i.SheetsSelectionsService)),f(4,(0,t.Inject)(i.SheetInterceptorService)),f(5,(0,t.Inject)(C))],Z);let Q=class extends t.Disposable{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._sheetDataValidationModel=t,this._dataValidationCacheService=n,this._lifecycleService=r,this._initRecalculate()}_initRecalculate(){let e=e=>{if(e.length===0)return;let n=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),r=n==null?void 0:n.getActiveSheet(),i={};e.flat().forEach(e=>{i[e.unitId]||(i[e.unitId]={}),i[e.unitId][e.subUnitId]||(i[e.unitId][e.subUnitId]=[]);let n=this._univerInstanceService.getUnit(e.unitId,t.UniverInstanceType.UNIVER_SHEET),r=n==null?void 0:n.getSheetBySheetId(e.subUnitId);r&&i[e.unitId][e.subUnitId].push(...e.ranges.map(e=>t.Range.transformRange(e,r)))}),Object.entries(i).forEach(([e,t])=>{Object.entries(t).forEach(([t,i])=>{(n==null?void 0:n.getUnitId())===e&&(r==null?void 0:r.getSheetId())===t?this.validatorRanges(e,t,i):requestIdleCallback(()=>{this.validatorRanges(e,t,i)})})})};this.disposeWithMe(this._dataValidationCacheService.dirtyRanges$.pipe((0,a.bufferWhen)(()=>this._lifecycleService.lifecycle$.pipe((0,a.skip)(1),(0,a.filter)(e=>e===t.LifecycleStages.Rendered)))).subscribe(e)),this.disposeWithMe(this._dataValidationCacheService.dirtyRanges$.pipe((0,a.filter)(()=>this._lifecycleService.stage>=t.LifecycleStages.Rendered),(0,t.bufferDebounceTime)(20)).subscribe(e))}async _validatorByCell(e,n,r,i){let a=e.getUnitId(),o=n.getSheetId();if(!t.Tools.isDefine(r)||!t.Tools.isDefine(i))throw Error(`row or col is not defined, row: ${r}, col: ${i}`);let s=r,c=i,l=n.getMergedCell(r,i);l&&(s=l.startRow,c=l.startColumn);let u=this._sheetDataValidationModel.getRuleByLocation(a,o,s,c);return u?new Promise(t=>{this._sheetDataValidationModel.validator(u,{unitId:a,subUnitId:o,row:s,col:c,worksheet:n,workbook:e},e=>{t(e)})}):t.DataValidationStatus.VALID}async validatorCell(e,n,r,i){let a=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET);if(!a)throw Error(`cannot find current workbook, unitId: ${e}`);let o=a.getSheetBySheetId(n);if(!o)throw Error(`cannot find current worksheet, sheetId: ${n}`);return this._validatorByCell(a,o,r,i)}async validatorRanges(e,n,r){if(!r.length)return Promise.resolve([]);let i=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET);if(!i)throw Error(`cannot find current workbook, unitId: ${e}`);let a=i.getSheetBySheetId(n);if(!a)throw Error(`cannot find current worksheet, sheetId: ${n}`);let o=this._sheetDataValidationModel.getRules(e,n),s=[];for(let e of o)s.push(...e.ranges);let c=[];for(let e of r)for(let n of s){let r=(0,t.getIntersectRange)(e,n);r&&c.push(r)}let l=[],u=await Promise.all(c.map((e,t)=>{let n=[];for(let r=e.startRow;r<=e.endRow;r++)for(let o=e.startColumn;o<=e.endColumn;o++){n.push(this._validatorByCell(i,a,r,o));let e=a.getMergedCell(r,o);e&&l.push({resultRowIndex:t,resultColIndex:n.length-1,row:e.startRow,col:e.startColumn})}return Promise.all(n)}));return l.length&&l.forEach(({resultRowIndex:r,resultColIndex:i,row:a,col:o})=>{if(u[r][i]===t.DataValidationStatus.VALIDATING){var s;u[r][i]=(s=this._dataValidationCacheService.getValue(e,n,a,o))==null?t.DataValidationStatus.VALID:s}}),u}async validatorWorksheet(e,n){let r=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET);if(!r)throw Error(`cannot find current workbook, unitId: ${e}`);let i=r.getSheetBySheetId(n);if(!i)throw Error(`cannot find current worksheet, sheetId: ${n}`);let a=this._sheetDataValidationModel.getRules(e,n);return await Promise.all(a.map(e=>Promise.all(e.ranges.map(e=>{let n=[];return t.Range.foreach(e,(e,t)=>{n.push(this._validatorByCell(r,i,e,t))}),Promise.all(n)})))),this._dataValidationCacheService.ensureCache(e,n)}async validatorWorkbook(e){let t=this._sheetDataValidationModel.getSubUnitIds(e),n=await Promise.all(t.map(t=>this.validatorWorksheet(e,t))),r={};return n.forEach((e,n)=>{r[t[n]]=e}),r}getDataValidations(e,n,r){let i=this._sheetDataValidationModel.getRuleObjectMatrix(e,n),a=new Set;r.forEach(e=>{t.Range.foreach(e,(e,t)=>{let n=i.getValue(e,t);n&&a.add(n)})});let o=[];for(let t of a){let r=this._sheetDataValidationModel.getRuleById(e,n,t);r&&o.push(r)}return o}getDataValidation(e,t,n){return this.getDataValidations(e,t,n)[0]}};Q=p([f(0,t.IUniverInstanceService),f(1,(0,t.Inject)(C)),f(2,(0,t.Inject)(m)),f(3,(0,t.Inject)(t.LifecycleService))],Q);let $=class extends t.Plugin{constructor(e=xe,n,r,i){super(),this._config=e,this._injector=n,this._commandService=r,this._configService=i;let{...a}=(0,t.merge)({},xe,this._config);this._configService.setConfig(`sheets-data-validation.config`,a)}onStarting(){[[m],[x],[S],[y],[Q],[C],[Z],[q],[X],[Y],[J]].forEach(e=>{this._injector.add(e)}),[B,z,V,H,G,W,U].forEach(e=>{this._commandService.registerCommand(e)}),this._injector.get(m),this._injector.get(Q),this._injector.get(Z),this._injector.get(J),this._injector.get(Y)}onReady(){this._injector.get(X)}onRendered(){this._injector.get(q)}};d($,`pluginName`,K),d($,`packageName`,ye),d($,`version`,be),d($,`type`,t.UniverInstanceType.UNIVER_SHEET),$=p([(0,t.DependentOn)(s.UniverSheetsFormulaPlugin,n.UniverDataValidationPlugin),f(1,(0,t.Inject)(t.Injector)),f(2,t.ICommandService),f(3,t.IConfigService)],$);function Ee(e){let n=e.get(i.SheetsSelectionsService).getCurrentSelections().map(e=>e.range);return{uid:(0,t.generateRandomId)(6),type:t.DataValidationType.DECIMAL,operator:t.DataValidationOperator.EQUAL,formula1:`100`,ranges:n==null?[{startColumn:0,endColumn:0,startRow:0,endRow:0}]:n}}e.AddSheetDataValidationCommand=B,e.BASE_FORMULA_INPUT_NAME=`sheets-data-validation.formula-input`,e.CHECKBOX_FORMULA_1=1,e.CHECKBOX_FORMULA_2=0,e.CHECKBOX_FORMULA_INPUT_NAME=`sheets-data-validation.checkbox-formula-input`,e.CUSTOM_FORMULA_INPUT_NAME=`sheets-data-validation.custom-formula-input`,e.CheckboxValidator=oe,e.ClearRangeDataValidationCommand=U,e.DATA_VALIDATION_PLUGIN_NAME=K,Object.defineProperty(e,"DataValidationCacheService",{enumerable:!0,get:function(){return m}}),Object.defineProperty(e,"DataValidationCustomFormulaService",{enumerable:!0,get:function(){return y}}),Object.defineProperty(e,"DataValidationFormulaController",{enumerable:!0,get:function(){return q}}),Object.defineProperty(e,"DataValidationFormulaService",{enumerable:!0,get:function(){return S}}),Object.defineProperty(e,"DataValidationListCacheService",{enumerable:!0,get:function(){return x}}),e.DateValidator=de,e.LIST_FORMULA_INPUT_NAME=`sheets-data-validation.list-formula-input`,e.ListMultipleValidator=we,e.ListValidator=I,e.RemoveSheetAllDataValidationCommand=W,e.RemoveSheetDataValidationCommand=G,Object.defineProperty(e,"SheetDataValidationModel",{enumerable:!0,get:function(){return C}}),Object.defineProperty(e,"SheetsDataValidationValidatorService",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(e,"UniverSheetsDataValidationPlugin",{enumerable:!0,get:function(){return $}}),e.UpdateSheetDataValidationOptionsCommand=H,e.UpdateSheetDataValidationRangeCommand=z,e.UpdateSheetDataValidationSettingCommand=V,e.createDefaultNewRule=Ee,e.getCellValueNumber=F,e.getCellValueOrigin=b,e.getDataValidationCellValue=ue,e.getDataValidationDiffMutations=R,e.getFormulaCellData=g,e.getFormulaResult=h,e.getTransformedFormula=N,e.isLegalFormulaResult=_,e.transformCheckboxValue=k});
22
-
23
- // @univerjs/sheets-data-validation/facade
24
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/sheets-data-validation"),require("@univerjs/sheets/facade"),require("@univerjs/data-validation"),require("@univerjs/engine-formula"),require("@univerjs/sheets"),require("@univerjs/core/facade")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets-data-validation`,`@univerjs/sheets/facade`,`@univerjs/data-validation`,`@univerjs/engine-formula`,`@univerjs/sheets`,`@univerjs/core/facade`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsDataValidationFacade={},e.UniverCore,e.UniverSheetsDataValidation,e.UniverSheetsFacade,e.UniverDataValidation,e.UniverEngineFormula,e.UniverSheets,e.UniverCoreFacade))})(this,function(e,t,n,r,i,a,o,s){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function c(e){"@babel/helpers - typeof";return c=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},c(e)}function l(e,t){if(c(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(c(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function u(e){var t=l(e,`string`);return c(t)==`symbol`?t:t+``}function d(e,t,n){return(t=u(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var f=class e{constructor(e){d(this,`_rule`,void 0),this._rule=e==null?{uid:(0,t.generateRandomId)(),ranges:void 0,type:t.DataValidationType.CUSTOM}:e}build(){return new p(this._rule)}copy(){return new e({...this._rule,uid:(0,t.generateRandomId)()})}getAllowInvalid(){return this._rule.errorStyle!==t.DataValidationErrorStyle.STOP}getCriteriaType(){return this._rule.type}getCriteriaValues(){return[this._rule.operator,this._rule.formula1,this._rule.formula2]}getHelpText(){return this._rule.error}requireCheckbox(e,n){return this._rule.type=t.DataValidationType.CHECKBOX,this._rule.formula1=e,this._rule.formula2=n,this}requireDateAfter(e){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.operator=t.DataValidationOperator.GREATER_THAN,this}requireDateBefore(e){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.LESS_THAN,this}requireDateBetween(e,n){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=n.toLocaleDateString(),this._rule.operator=t.DataValidationOperator.BETWEEN,this}requireDateEqualTo(e){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.EQUAL,this}requireDateNotBetween(e,n){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=n.toLocaleDateString(),this._rule.operator=t.DataValidationOperator.NOT_BETWEEN,this}requireDateOnOrAfter(e){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.GREATER_THAN_OR_EQUAL,this}requireDateOnOrBefore(e){return this._rule.type=t.DataValidationType.DATE,this._rule.formula1=e.toLocaleDateString(),this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.LESS_THAN_OR_EQUAL,this}requireFormulaSatisfied(e){return this._rule.type=t.DataValidationType.CUSTOM,this._rule.formula1=e,this._rule.formula2=void 0,this}requireNumberBetween(e,n,r){return this._rule.formula1=`${e}`,this._rule.formula2=`${n}`,this._rule.operator=t.DataValidationOperator.BETWEEN,this._rule.type=r?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberEqualTo(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.EQUAL,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberGreaterThan(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.GREATER_THAN,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberGreaterThanOrEqualTo(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.GREATER_THAN_OR_EQUAL,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberLessThan(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.LESS_THAN,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberLessThanOrEqualTo(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.LESS_THAN_OR_EQUAL,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberNotBetween(e,n,r){return this._rule.formula1=`${e}`,this._rule.formula2=`${n}`,this._rule.operator=t.DataValidationOperator.NOT_BETWEEN,this._rule.type=r?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireNumberNotEqualTo(e,n){return this._rule.formula1=`${e}`,this._rule.formula2=void 0,this._rule.operator=t.DataValidationOperator.NOT_EQUAL,this._rule.type=n?t.DataValidationType.WHOLE:t.DataValidationType.DECIMAL,this}requireValueInList(e,n,r){return this._rule.type=n?t.DataValidationType.LIST_MULTIPLE:t.DataValidationType.LIST,this._rule.formula1=(0,o.serializeListOptions)(e),this._rule.formula2=void 0,this._rule.showDropDown=r==null?!0:r,this}requireValueInRange(e,n,r){return this._rule.type=n?t.DataValidationType.LIST_MULTIPLE:t.DataValidationType.LIST,this._rule.formula1=`=${(0,a.serializeRangeToRefString)({unitId:e.getUnitId(),sheetName:e.getSheetName(),range:e.getRange()})}`,this._rule.formula2=void 0,this._rule.showDropDown=r==null?!0:r,this}setAllowInvalid(e){return this._rule.errorStyle=e?t.DataValidationErrorStyle.WARNING:t.DataValidationErrorStyle.STOP,this}setAllowBlank(e){return this._rule.allowBlank=e,this}setOptions(e){return Object.assign(this._rule,e),this}},p=class{constructor(e,t,n){d(this,`rule`,void 0),d(this,`_worksheet`,void 0),d(this,`_injector`,void 0),this._injector=n,this.rule=e,this._worksheet=t}getAllowInvalid(){return this.rule.errorStyle!==t.DataValidationErrorStyle.STOP}getCriteriaType(){return this.rule.type}getCriteriaValues(){return[this.rule.operator,this.rule.formula1,this.rule.formula2]}getHelpText(){return this.rule.error}copy(){return new f(this.rule)}getApplied(){if(!this._worksheet)return!1;let e=this._injector.get(i.DataValidationModel).getRuleById(this._worksheet.getUnitId(),this._worksheet.getSheetId(),this.rule.uid);return!!(e&&e.ranges.length)}getRanges(){if(!this.getApplied())return[];let e=this._injector.get(t.IUniverInstanceService).getUnit(this._worksheet.getUnitId());return this.rule.ranges.map(t=>this._injector.createInstance(r.FRange,e,this._worksheet,t))}getUnitId(){var e;return(e=this._worksheet)==null?void 0:e.getUnitId()}getSheetId(){var e;return(e=this._worksheet)==null?void 0:e.getSheetId()}setCriteria(e,r,i=!0){if(this.getApplied()&&!this._injector.get(t.ICommandService).syncExecuteCommand(n.UpdateSheetDataValidationSettingCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,setting:{operator:r[0],formula1:r[1],formula2:r[2],type:this.rule.type,allowBlank:i}}))throw Error(`setCriteria failed`);return this.rule.operator=r[0],this.rule.formula1=r[1],this.rule.formula2=r[2],this.rule.type=e,this.rule.allowBlank=i,this}setOptions(e){if(this.getApplied()&&!this._injector.get(t.ICommandService).syncExecuteCommand(n.UpdateSheetDataValidationOptionsCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,options:{...(0,i.getRuleOptions)(this.rule),...e}}))throw Error(`setOptions failed`);return Object.assign(this.rule,e),this}setRanges(e){if(this.getApplied()&&!this._injector.get(t.ICommandService).syncExecuteCommand(n.UpdateSheetDataValidationRangeCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid,ranges:e.map(e=>e.getRange())}))throw Error(`setRanges failed`);return this.rule.ranges=e.map(e=>e.getRange()),this}delete(){return this.getApplied()?this._injector.get(t.ICommandService).syncExecuteCommand(n.RemoveSheetDataValidationCommand.id,{unitId:this.getUnitId(),subUnitId:this.getSheetId(),ruleId:this.rule.uid}):!1}},m=class extends r.FRange{setDataValidation(e){if(!e)return this._commandService.syncExecuteCommand(n.ClearRangeDataValidationCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),ranges:[this._range]}),this;let t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),rule:{...e.rule,ranges:[this._range]}};return this._commandService.syncExecuteCommand(n.AddSheetDataValidationCommand.id,t),this}getDataValidation(){let e=this._injector.get(n.SheetsDataValidationValidatorService).getDataValidation(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range]);return e&&new p(e,this._worksheet,this._injector)}getDataValidations(){return this._injector.get(n.SheetsDataValidationValidatorService).getDataValidations(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range]).map(e=>new p(e,this._worksheet,this._injector))}async getValidatorStatus(){return this._injector.get(n.SheetsDataValidationValidatorService).validatorRanges(this._workbook.getUnitId(),this._worksheet.getSheetId(),[this._range])}async getDataValidationErrorAsync(){let e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._collectValidationErrorsForRange(e,t,[this._range])}async _collectValidationErrorsForRange(e,r,i){if(!i.length)return[];let a=this._injector.get(n.SheetsDataValidationValidatorService),o=this._worksheet,s=o.getName(),c=[];for(let l of i){let i=[];for(let u=l.startRow;u<=l.endRow;u++)for(let d=l.startColumn;d<=l.endColumn;d++)i.push((async()=>{try{if(await a.validatorCell(e,r,u,d)!==t.DataValidationStatus.VALID){let t=this._injector.get(n.SheetDataValidationModel).getRuleByLocation(e,r,u,d);if(t){var i;let e=((i=o.getCell(u,d))==null?void 0:i.v)||null,n=this._createDataValidationError(s,u,d,t,e);c.push(n)}}}catch(e){console.warn(`Failed to validate cell [${u}, ${d}]:`,e)}})());await Promise.all(i)}return c}_createDataValidationError(e,t,n,r,i){return{sheetName:e,row:t,column:n,ruleId:r.uid,inputValue:i,rule:r}}};r.FRange.extend(m);var h=class extends s.FUniver{static newDataValidation(){return new f}newDataValidation(){return new f}_initialize(e){let r=e.get(t.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.SheetDataValidationChanged,()=>e.has(n.SheetDataValidationModel)?e.get(n.SheetDataValidationModel).ruleChange$.subscribe(e=>{let{unitId:t,subUnitId:n,rule:r,oldRule:i,type:a}=e,o=this.getSheetTarget(t,n);if(!o)return;let{workbook:s,worksheet:c}=o,l={origin:e,worksheet:c,workbook:s,changeType:a,oldRule:i,rule:new p(r,c.getSheet(),this._injector)};this.fireEvent(this.Event.SheetDataValidationChanged,l)}):{dispose:()=>{}})),this.disposeWithMe(this.registerEventHandler(this.Event.SheetDataValidatorStatusChanged,()=>e.has(n.SheetDataValidationModel)?e.get(n.SheetDataValidationModel).validStatusChange$.subscribe(e=>{let{unitId:t,subUnitId:n,ruleId:r,status:i,row:a,col:o}=e,s=this.getSheetTarget(t,n);if(!s)return;let{workbook:c,worksheet:l}=s,u=l.getDataValidation(r);if(!u)return;let d={workbook:c,worksheet:l,row:a,column:o,rule:u,status:i};this.fireEvent(this.Event.SheetDataValidatorStatusChanged,d)}):{dispose:()=>{}})),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationAdd,()=>r.beforeCommandExecuted(e=>{if(e.id===n.AddSheetDataValidationCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o={worksheet:a,workbook:i,rule:n.rule};if(this.fireEvent(this.Event.BeforeSheetDataValidationAdd,o),o.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationCriteriaUpdate,()=>r.beforeCommandExecuted(e=>{if(e.id===n.UpdateSheetDataValidationSettingCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o=a.getDataValidation(n.ruleId);if(!o)return;let s={worksheet:a,workbook:i,rule:o,ruleId:n.ruleId,newCriteria:n.setting};if(this.fireEvent(this.Event.BeforeSheetDataValidationCriteriaUpdate,s),s.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationRangeUpdate,()=>r.beforeCommandExecuted(e=>{if(e.id===n.UpdateSheetDataValidationRangeCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o=a.getDataValidation(n.ruleId);if(!o)return;let s={worksheet:a,workbook:i,rule:o,ruleId:n.ruleId,newRanges:n.ranges};if(this.fireEvent(this.Event.BeforeSheetDataValidationRangeUpdate,s),s.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationOptionsUpdate,()=>r.beforeCommandExecuted(e=>{if(e.id===n.UpdateSheetDataValidationOptionsCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o=a.getDataValidation(n.ruleId);if(!o)return;let s={worksheet:a,workbook:i,rule:o,ruleId:n.ruleId,newOptions:n.options};if(this.fireEvent(this.Event.BeforeSheetDataValidationOptionsUpdate,s),s.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationDelete,()=>r.beforeCommandExecuted(e=>{if(e.id===n.RemoveSheetDataValidationCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o=a.getDataValidation(n.ruleId);if(!o)return;let s={worksheet:a,workbook:i,rule:o,ruleId:n.ruleId};if(this.fireEvent(this.Event.BeforeSheetDataValidationDelete,s),s.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetDataValidationDeleteAll,()=>r.beforeCommandExecuted(e=>{if(e.id===n.RemoveSheetAllDataValidationCommand.id){let n=e.params,r=this.getSheetTarget(n.unitId,n.subUnitId);if(!r)return;let{workbook:i,worksheet:a}=r,o={worksheet:a,workbook:i,rules:a.getDataValidations()};if(this.fireEvent(this.Event.BeforeSheetDataValidationDeleteAll,o),o.cancel)throw new t.CanceledError}})))}};s.FUniver.extend(h);var g=class extends r.FWorkbook{_initialize(){Object.defineProperty(this,"_dataValidationModel",{get(){return this._injector.get(n.SheetDataValidationModel)}})}getValidatorStatus(){return this._injector.get(n.SheetsDataValidationValidatorService).validatorWorkbook(this._workbook.getUnitId())}async getAllDataValidationErrorAsync(){let e=this._workbook.getUnitId(),t=this._dataValidationModel.getSubUnitIds(e),n=[];for(let r of t){let t=await this._collectValidationErrorsForSheet(e,r);n.push(...t)}return n}async _collectValidationErrorsForSheet(e,t){let n=this._dataValidationModel.getRules(e,t);if(!n.length)return[];let r=n.flatMap(e=>e.ranges);return this._collectValidationErrorsForRange(e,t,r)}async _collectValidationErrorsForRange(e,r,i){if(!i.length)return[];let a=this._injector.get(n.SheetsDataValidationValidatorService),o=this._workbook.getSheetBySheetId(r);if(!o)throw Error(`Cannot find worksheet with sheetId: ${r}`);let s=o.getName(),c=[];for(let n of i){let i=[];for(let l=n.startRow;l<=n.endRow;l++)for(let u=n.startColumn;u<=n.endColumn;u++)i.push((async()=>{try{if(await a.validatorCell(e,r,l,u)!==t.DataValidationStatus.VALID){let t=this._dataValidationModel.getRuleByLocation(e,r,l,u);if(t){var n;let e=((n=o.getCell(l,u))==null?void 0:n.v)||null,r=this._createDataValidationError(s,l,u,t,e);c.push(r)}}}catch(e){console.warn(`Failed to validate cell [${l}, ${u}]:`,e)}})());await Promise.all(i)}return c}_createDataValidationError(e,t,n,r,i){return{sheetName:e,row:t,column:n,ruleId:r.uid,inputValue:i,rule:r}}};r.FWorkbook.extend(g);var _=class extends r.FWorksheet{getDataValidations(){return this._injector.get(i.DataValidationModel).getRules(this._workbook.getUnitId(),this._worksheet.getSheetId()).map(e=>new p(e,this._worksheet,this._injector))}getValidatorStatusAsync(){return this._injector.get(n.SheetsDataValidationValidatorService).validatorWorksheet(this._workbook.getUnitId(),this._worksheet.getSheetId())}getDataValidation(e){let t=this._injector.get(i.DataValidationModel).getRuleById(this._workbook.getUnitId(),this._worksheet.getSheetId(),e);return t?new p(t,this._worksheet,this._injector):null}async getAllDataValidationErrorAsync(){let e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._collectValidationErrorsForSheet(e,t)}async _collectValidationErrorsForSheet(e,t){let n=this._injector.get(i.DataValidationModel).getRules(e,t);if(!n.length)return[];let r=n.flatMap(e=>e.ranges);return this._collectValidationErrorsForRange(e,t,r)}async _collectValidationErrorsForRange(e,r,i){if(!i.length)return[];let a=this._injector.get(n.SheetsDataValidationValidatorService),o=this._worksheet,s=o.getName(),c=[];for(let l of i){let i=[];for(let u=l.startRow;u<=l.endRow;u++)for(let d=l.startColumn;d<=l.endColumn;d++)i.push((async()=>{try{if(await a.validatorCell(e,r,u,d)!==t.DataValidationStatus.VALID){let t=this._injector.get(n.SheetDataValidationModel).getRuleByLocation(e,r,u,d);if(t){var i;let e=((i=o.getCell(u,d))==null?void 0:i.v)||null,n=this._createDataValidationError(s,u,d,t,e);c.push(n)}}}catch(e){console.warn(`Failed to validate cell [${u}, ${d}]:`,e)}})());await Promise.all(i)}return c}_createDataValidationError(e,t,n,r,i){return{sheetName:e,row:t,column:n,ruleId:r.uid,inputValue:i,rule:r}}};r.FWorksheet.extend(_);var v=class extends s.FEventName{get SheetDataValidationChanged(){return`SheetDataValidationChanged`}get SheetDataValidatorStatusChanged(){return`SheetDataValidatorStatusChanged`}get BeforeSheetDataValidationAdd(){return`BeforeSheetDataValidationAdd`}get BeforeSheetDataValidationDelete(){return`BeforeSheetDataValidationDelete`}get BeforeSheetDataValidationDeleteAll(){return`BeforeSheetDataValidationDeleteAll`}get BeforeSheetDataValidationCriteriaUpdate(){return`BeforeSheetDataValidationCriteriaUpdate`}get BeforeSheetDataValidationRangeUpdate(){return`BeforeSheetDataValidationRangeUpdate`}get BeforeSheetDataValidationOptionsUpdate(){return`BeforeSheetDataValidationOptionsUpdate`}};s.FEventName.extend(v),e.FDataValidation=p,e.FDataValidationBuilder=f});
25
-
26
- // @univerjs/sheets-drawing/index
27
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/sheets"),require("@univerjs/core"),require("@univerjs/drawing"),require("@univerjs/engine-render")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/sheets`,`@univerjs/core`,`@univerjs/drawing`,`@univerjs/engine-render`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsDrawing={},e.UniverSheets,e.UniverCore,e.UniverDrawing,e.UniverEngineRender))})(this,function(e,t,n,r,i){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function a(e,n){if(!n)return;let{unitId:r,sheetId:i,skeleton:a}=n,{from:o,to:s,flipY:c=!1,flipX:l=!1,angle:u=0,skewX:d=0,skewY:f=0}=e,{left:p,top:m,width:h,height:g}=(0,t.convertPositionSheetOverGridToAbsolute)(r,i,{from:o,to:s},a),_=a.rowHeaderWidth+a.columnTotalWidth,v=a.columnHeaderHeight+a.rowTotalHeight;return p+h>_&&(p=_-h),m+g>v&&(m=v-g),{flipY:c,flipX:l,angle:u,skewX:d,skewY:f,left:p,top:m,width:h,height:g}}function o(e,t){let{left:n=0,top:r=0,width:i=0,height:a=0,flipY:o=!1,flipX:s=!1,angle:c=0,skewX:l=0,skewY:u=0}=e;return{flipY:o,flipX:s,angle:c,skewX:l,skewY:u,from:t.getCellIndexAndOffsetByPosition(n,r),to:t.getCellIndexAndOffsetByPosition(n+i,r+a)}}function s(e,t){let{left:n=0,top:r=0,width:i=0,height:a=0,angle:s=0}=e,c=(s%360+360)%360;return o(c>=45&&c<135||c>=225&&c<315?{...e,left:n+i/2-a/2,top:r+a/2-i/2,width:a,height:i}:e,t)}let c=function(e){return e.Position=`0`,e.Both=`1`,e.None=`2`,e}({});var l=class extends r.UnitDrawingService{};let u=(0,n.createIdentifier)(`sheets-drawing.sheet-drawing.service`),d=function(e){return e[e.INSERT=0]=`INSERT`,e[e.REMOVE=1]=`REMOVE`,e[e.UPDATE=2]=`UPDATE`,e[e.ARRANGE=3]=`ARRANGE`,e[e.GROUP=4]=`GROUP`,e[e.UNGROUP=5]=`UNGROUP`,e}({}),f={id:`sheet.mutation.set-drawing-apply`,type:n.CommandType.MUTATION,handler:(e,t)=>{let n=e.get(r.IDrawingManagerService),i=e.get(u),{op:a,unitId:o,subUnitId:s,type:c,objects:l}=t;switch(n.applyJson1(o,s,a),i.applyJson1(o,s,a),c){case 0:n.addNotification(l),i.addNotification(l);break;case 1:n.removeNotification(l),i.removeNotification(l);break;case 2:n.updateNotification(l),i.updateNotification(l);break;case 3:n.orderNotification(l),i.orderNotification(l);break;case 4:n.groupUpdateNotification(l),i.groupUpdateNotification(l);break;case 5:n.ungroupUpdateNotification(l),i.ungroupUpdateNotification(l);break}return!0}},p={id:`sheet.operation.clear-drawing-transformer`,type:n.CommandType.MUTATION,handler:(e,t)=>{let n=e.get(i.IRenderManagerService);return t.forEach(e=>{var t;(t=n.getRenderById(e))==null||(t=t.scene.getTransformer())==null||t.debounceRefreshControls()}),!0}},m={id:`sheet.command.insert-sheet-image`,type:n.CommandType.COMMAND,handler:(e,r)=>{var i,a;if(!r)return!1;let o=e.get(n.ICommandService),s=e.get(n.IUndoRedoService),c=e.get(u),l=e.get(t.SheetInterceptorService),d=r.drawings,{unitId:h,subUnitId:g,undo:_,redo:v,objects:y}=c.getBatchAddOp(d),b=l.onCommandExecute({id:m.id,params:r}),x=[...(i=b.preRedos)==null?[]:i,{id:f.id,params:{unitId:h,subUnitId:g,op:v,objects:y,type:0}},{id:p.id,params:[h]},...b.redos],S=[...(a=b.preUndos)==null?[]:a,{id:f.id,params:{unitId:h,subUnitId:g,op:_,objects:y,type:1}},{id:p.id,params:[h]},...b.undos];return(0,n.sequenceExecute)(x,o).result?(s.pushUndoRedo({unitID:h,undoMutations:S,redoMutations:x}),!0):!1}},h={id:`sheet.command.remove-sheet-image`,type:n.CommandType.COMMAND,handler:(e,r)=>{var i,a;if(!r)return!1;let o=e.get(n.ICommandService),s=e.get(n.IUndoRedoService),c=e.get(t.SheetInterceptorService),l=e.get(u),{drawings:d}=r,{unitId:m,subUnitId:g,undo:_,redo:v,objects:y}=l.getBatchRemoveOp(d),b=c.onCommandExecute({id:h.id,params:r}),x=[...(i=b.preRedos)==null?[]:i,{id:f.id,params:{unitId:m,subUnitId:g,op:v,objects:y,type:1}},{id:p.id,params:[m]},...b.redos],S=[...(a=b.preUndos)==null?[]:a,{id:f.id,params:{unitId:m,subUnitId:g,op:_,objects:y,type:0}},{id:p.id,params:[m]},...b.undos];return(0,n.sequenceExecute)(x,o).result?(s.pushUndoRedo({unitID:m,undoMutations:S,redoMutations:x}),!0):!1}},g={id:`sheet.command.set-drawing-arrange`,type:n.CommandType.COMMAND,handler:(e,t)=>{let r=e.get(n.ICommandService),i=e.get(n.IUndoRedoService);if(!t)return!1;let a=e.get(u),{unitId:o,subUnitId:s,drawingIds:c,arrangeType:l}=t,d={unitId:o,subUnitId:s,drawingIds:c},p;if(l===n.ArrangeTypeEnum.forward?p=a.getForwardDrawingsOp(d):l===n.ArrangeTypeEnum.backward?p=a.getBackwardDrawingOp(d):l===n.ArrangeTypeEnum.front?p=a.getFrontDrawingsOp(d):l===n.ArrangeTypeEnum.back&&(p=a.getBackDrawingsOp(d)),p==null)return!1;let{objects:m,redo:h,undo:g}=p;return r.syncExecuteCommand(f.id,{op:h,unitId:o,subUnitId:s,objects:m,type:3})?(i.pushUndoRedo({unitID:o,undoMutations:[{id:f.id,params:{op:g,unitId:o,subUnitId:s,objects:m,type:3}}],redoMutations:[{id:f.id,params:{op:h,unitId:o,subUnitId:s,objects:m,type:3}}]}),!0):!1}},_={id:`sheet.command.set-sheet-image`,type:n.CommandType.COMMAND,handler:(e,r)=>{var i,a;if(!r)return!1;let o=e.get(n.ICommandService),s=e.get(n.IUndoRedoService),c=e.get(u),l=e.get(t.SheetInterceptorService),{drawings:d}=r,{unitId:m,subUnitId:h,undo:g,redo:v,objects:y}=c.getBatchUpdateOp(d),b=l.onCommandExecute({id:_.id,params:r}),x=[...(i=b.preRedos)==null?[]:i,{id:f.id,params:{unitId:m,subUnitId:h,op:v,objects:y,type:2}},{id:p.id,params:[m]},...b.redos],S=[...(a=b.preUndos)==null?[]:a,{id:f.id,params:{unitId:m,subUnitId:h,op:g,objects:y,type:2}},{id:p.id,params:[m]},...b.undos];return(0,n.sequenceExecute)(x,o).result?(s.pushUndoRedo({unitID:m,undoMutations:S,redoMutations:x}),!0):!1}};function v(e,t){return function(n,r){t(n,r,e)}}function y(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 b=`SHEET_DRAWING_PLUGIN`,x=class extends n.Disposable{constructor(e,t,n,r,i,a){super(),this._sheetInterceptorService=e,this._univerInstanceService=t,this._commandService=n,this._sheetDrawingService=r,this._drawingManagerService=i,this._resourceManagerService=a,this._initCommands(),this._initSnapshot(),this._initSheetChange(),this.disposeWithMe(this._commandService.registerCommand(f))}_initCommands(){[_,m,h,g,p].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initSnapshot(){let e=(e,t)=>{let n=t||this._sheetDrawingService.getDrawingDataForUnit(e);return n?JSON.stringify(n):``},t=e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}};this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:b,businesses:[n.UniverInstanceType.UNIVER_SHEET],toJson:(t,n)=>e(t,n),parseJson:e=>t(e),onUnLoad:e=>{this._sheetDrawingService.removeDrawingDataForUnit(e),this._drawingManagerService.removeDrawingDataForUnit(e)},onLoad:(e,t)=>{this._sheetDrawingService.registerDrawingData(e,t),this._drawingManagerService.registerDrawingData(e,t)}}))}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===t.RemoveSheetCommand.id){var r;let t=e.params,i=t.unitId||this._univerInstanceService.getCurrentUnitOfType(n.UniverInstanceType.UNIVER_SHEET).getUnitId(),a=t.subUnitId||((r=this._univerInstanceService.getCurrentUnitOfType(n.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:r.getSheetId());if(!i||!a)return{redos:[],undos:[]};let o=this._sheetDrawingService.getDrawingData(i,a),s=Object.values(o).filter(e=>e.drawingType!==n.DrawingTypeEnum.DRAWING_CHART);if(s.length===0)return{redos:[],undos:[]};let{unitId:c,subUnitId:l,undo:u,redo:d,objects:p}=this._sheetDrawingService.getBatchRemoveOp(s);return{redos:[{id:f.id,params:{op:d,unitId:c,subUnitId:l,objects:p,type:1}}],undos:[{id:f.id,params:{op:u,unitId:c,subUnitId:l,objects:p,type:0}}]}}else if(e.id===t.CopySheetCommand.id){let{unitId:t,subUnitId:r,targetSubUnitId:i}=e.params;if(!t||!r||!i)return{redos:[],undos:[]};let a=this._sheetDrawingService.getDrawingData(t,r),o=Object.values(a).filter(e=>e.drawingType!==n.DrawingTypeEnum.DRAWING_CHART).map(e=>({...e,subUnitId:i,drawingId:(0,n.generateRandomId)(6)}));if(o.length===0)return{redos:[],undos:[]};let{unitId:s,subUnitId:c,undo:l,redo:u,objects:d}=this._sheetDrawingService.getBatchAddOp(o);return{redos:[{id:f.id,params:{op:u,unitId:s,subUnitId:c,objects:d,type:0}}],undos:[{id:f.id,params:{op:l,unitId:s,subUnitId:c,objects:d,type:1}}]}}return{redos:[],undos:[]}}}))}};x=y([v(0,(0,n.Inject)(t.SheetInterceptorService)),v(1,(0,n.Inject)(n.IUniverInstanceService)),v(2,n.ICommandService),v(3,u),v(4,r.IDrawingManagerService),v(5,n.IResourceManagerService)],x);var S=`@univerjs/sheets-drawing`,C=`0.25.0`;let w={};function T(e){"@babel/helpers - typeof";return T=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},T(e)}function E(e,t){if(T(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(T(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function D(e){var t=E(e,`string`);return T(t)==`symbol`?t:t+``}function O(e,t,n){return(t=D(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let k=class extends n.Plugin{constructor(e=w,t,r){super(),this._config=e,this._injector=t,this._configService=r;let{...i}=(0,n.merge)({},w,this._config);this._configService.setConfig(`sheets-drawing.config`,i)}onStarting(){[[x],[u,{useClass:l}]].forEach(e=>this._injector.add(e)),this._injector.get(x)}};O(k,`pluginName`,b),O(k,`packageName`,S),O(k,`version`,C),O(k,`type`,n.UniverInstanceType.UNIVER_SHEET),k=y([(0,n.DependentOn)(r.UniverDrawingPlugin),v(1,(0,n.Inject)(n.Injector)),v(2,n.IConfigService)],k),e.ClearSheetDrawingTransformerOperation=p,e.DrawingApplyType=d,e.ISheetDrawingService=u,e.InsertSheetDrawingCommand=m,e.RemoveSheetDrawingCommand=h,e.SHEET_DRAWING_PLUGIN=b,e.SetDrawingApplyMutation=f,e.SetDrawingArrangeCommand=g,e.SetSheetDrawingCommand=_,e.SheetDrawingAnchorType=c,Object.defineProperty(e,"UniverSheetsDrawingPlugin",{enumerable:!0,get:function(){return k}}),e.drawingPositionToTransform=a,e.transformToAxisAlignPosition=s,e.transformToDrawingPosition=o});
28
-
29
- // @univerjs/sheets-drawing/facade
30
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/drawing"),require("@univerjs/sheets"),require("@univerjs/sheets-drawing"),require("@univerjs/sheets/facade")):typeof define==`function`&&define.amd?define([`@univerjs/core`,`@univerjs/core/facade`,`@univerjs/drawing`,`@univerjs/sheets`,`@univerjs/sheets-drawing`,`@univerjs/sheets/facade`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverCore,e.UniverCoreFacade,e.UniverDrawing,e.UniverSheets,e.UniverSheetsDrawing,e.UniverSheetsFacade))})(this,function(e,t,n,r,i,a){function o(e){"@babel/helpers - typeof";return o=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},o(e)}function s(e,t){if(o(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(o(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function c(e){var t=s(e,`string`);return o(t)==`symbol`?t:t+``}function l(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e,t){return function(n,r){t(n,r,e)}}function d(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}function f(e,t){let{from:n,to:i,flipY:a=!1,flipX:o=!1,angle:s=0,skewX:c=0,skewY:l=0}=e.sheetTransform,{column:u,columnOffset:d,row:f,rowOffset:p}=n,{width:m,height:h}=(0,r.convertPositionSheetOverGridToAbsolute)(e.unitId,e.subUnitId,{from:n,to:i},t);return{...e,column:u,columnOffset:d,row:f,rowOffset:p,width:m,height:h,flipY:a,flipX:o,angle:s,skewX:c,skewY:l}}function p(e,t){let n=t.ensureSkeleton(e.unitId,e.subUnitId);if(!n)throw Error(`Skeleton for unitId ${e.unitId} and subUnitId ${e.subUnitId} not found`);let{column:a,columnOffset:o,row:s,rowOffset:c,flipY:l=!1,flipX:u=!1,angle:d=0,skewX:f=0,skewY:p=0,width:m,height:h}=e,{sheetTransform:g,transform:_}=(0,r.convertPositionCellToSheetOverGrid)(e.unitId,e.subUnitId,{column:a,columnOffset:o,row:s,rowOffset:c},m,h,n);return{...e,sheetTransform:{...g,flipY:l,flipX:u,angle:d,skewX:f,skewY:p},transform:{..._,flipY:l,flipX:u,angle:d,skewX:f,skewY:p},axisAlignSheetTransform:(0,i.transformToAxisAlignPosition)(_,n)}}let m=class{constructor(t,n,r){this._injector=r,l(this,`_image`,void 0),this._image={drawingId:(0,e.generateRandomId)(6),drawingType:e.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:e.ImageSourceType.BASE64,source:``,unitId:t,subUnitId:n,column:0,columnOffset:0,row:0,rowOffset:0,width:0,height:0,axisAlignSheetTransform:{from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}}}setImage(e){let{unitId:t,subUnitId:n}=e,i=this._injector.get(r.SheetSkeletonService).getSkeleton(t,n);if(!i)throw Error(`Skeleton for unitId ${t} and subUnitId ${n} not found`);return e.sheetTransform==null&&(e.sheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),e.axisAlignSheetTransform==null&&(e.axisAlignSheetTransform={from:{column:0,columnOffset:0,row:0,rowOffset:0},to:{column:0,columnOffset:0,row:0,rowOffset:0}}),this._image=f(e,i),this}setSource(t,n){let r=n==null?e.ImageSourceType.URL:n;return this._image.source=t,this._image.imageSourceType=r,this}getSource(){return this._image.source}getSourceType(){return this._image.imageSourceType}setColumn(e){return this._image.column=e,this}setRow(e){return this._image.row=e,this}setColumnOffset(e){return this._image.columnOffset=e,this}setRowOffset(e){return this._image.rowOffset=e,this}setWidth(e){return this._image.width=e,this}setHeight(e){return this._image.height=e,this}setAnchorType(e){return this._image.anchorType=e,this}setCropTop(e){return this._initializeSrcRect(),this._image.srcRect.top=e,this}setCropLeft(e){return this._initializeSrcRect(),this._image.srcRect.left=e,this}setCropBottom(e){return this._initializeSrcRect(),this._image.srcRect.bottom=e,this}setCropRight(e){return this._initializeSrcRect(),this._image.srcRect.right=e,this}_initializeSrcRect(){this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0})}setRotate(e){return this._image.angle=e,this}setUnitId(e){return this._image.unitId=e,this}setSubUnitId(e){return this._image.subUnitId=e,this}async buildAsync(){let e=this._injector.get(r.SheetSkeletonService);if(this._image.width===0||this._image.height===0){let e=await(0,n.getImageSize)(this._image.source),t=e.width,r=e.height;this._image.width===0&&(this._image.width=t),this._image.height===0&&(this._image.height=r)}return p(this._image,e)}};m=d([u(2,(0,e.Inject)(e.Injector))],m);let h=class extends t.FBase{constructor(e,t,n){super(),this._image=e,this._commandService=t,this._injector=n}getId(){return this._image.drawingId}getType(){return this._image.drawingType}remove(){return this._commandService.syncExecuteCommand(i.RemoveSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}toBuilder(){let e=this._injector.createInstance(m,this._image.unitId,this._image.subUnitId);return e.setImage(this._image),e}setSource(t,n){let r=n==null?e.ImageSourceType.URL:n;return this._image.source=t,this._image.imageSourceType=r,this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}async setPositionAsync(e,t,n,r){let a=this.toBuilder();a.setColumn(t),a.setRow(e),n!=null&&a.setRowOffset(n),r!=null&&a.setColumnOffset(r);let o=await a.buildAsync();return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[o]})}async setSizeAsync(e,t){let n=this.toBuilder();n.setWidth(e),n.setHeight(t);let r=await n.buildAsync();return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[r]})}setCrop(e,t,n,r){return this._image.srcRect==null&&(this._image.srcRect={top:0,left:0,bottom:0,right:0}),e!=null&&(this._image.srcRect.top=e),t!=null&&(this._image.srcRect.left=t),n!=null&&(this._image.srcRect.bottom=n),r!=null&&(this._image.srcRect.right=r),this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setRotate(e){if(this._image.sheetTransform.angle=e,this._image.transform&&(this._image.transform.angle=e),this._image.transform){let e=this._injector.get(r.SheetSkeletonService).getSkeleton(this._image.unitId,this._image.subUnitId);if(!e)throw Error(`Skeleton for unitId ${this._image.unitId} and subUnitId ${this._image.subUnitId} not found`);this._image.axisAlignSheetTransform&&(this._image.axisAlignSheetTransform=(0,i.transformToAxisAlignPosition)(this._image.transform,e))}return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._image.unitId,drawings:[this._image]})}setForward(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.forward})}setBackward(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.backward})}setBack(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.back})}setFront(){return this._commandService.syncExecuteCommand(i.SetDrawingArrangeCommand.id,{unitId:this._image.unitId,subUnitId:this._image.subUnitId,drawingIds:[this._image.drawingId],arrangeType:e.ArrangeTypeEnum.front})}};h=d([u(1,e.ICommandService),u(2,(0,e.Inject)(e.Injector))],h);var g=class extends a.FWorksheet{async insertImage(t,n,r,a,o){let s=this.newOverGridImage();if(typeof t==`string`)s.setSource(t);else{let n=await t.getBlob().getDataAsString();s.setSource(n,e.ImageSourceType.BASE64)}n===void 0?s.setColumn(0):s.setColumn(n),r===void 0?s.setRow(0):s.setRow(r),a===void 0?s.setColumnOffset(0):s.setColumnOffset(a),o===void 0?s.setRowOffset(0):s.setRowOffset(o);let c=await s.buildAsync();return this._commandService.syncExecuteCommand(i.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:[c]})}insertImages(e){let t=e.map(e=>(e.unitId=this._fWorkbook.getId(),e.subUnitId=this.getSheetId(),e));return this._commandService.syncExecuteCommand(i.InsertSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}deleteImages(e){let t=e.map(e=>({unitId:this._fWorkbook.getId(),drawingId:e.getId(),subUnitId:this.getSheetId(),drawingType:e.getType()}));return this._commandService.syncExecuteCommand(i.RemoveSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:t}),this}getImages(){let t=this._injector.get(i.ISheetDrawingService).getDrawingData(this._fWorkbook.getId(),this.getSheetId()),n=[];for(let r in t){let i=t[r];i.drawingType===e.DrawingTypeEnum.DRAWING_IMAGE&&n.push(this._injector.createInstance(h,i))}return n}getImageById(t){let n=this._injector.get(i.ISheetDrawingService).getDrawingByParam({unitId:this._fWorkbook.getId(),subUnitId:this.getSheetId(),drawingId:t});return n&&n.drawingType===e.DrawingTypeEnum.DRAWING_IMAGE?this._injector.createInstance(h,n):null}getActiveImages(){let e=this._injector.get(i.ISheetDrawingService).getFocusDrawings(),t=[];for(let n in e){let r=e[n];t.push(this._injector.createInstance(h,r))}return t}updateImages(e){return this._commandService.syncExecuteCommand(i.SetSheetDrawingCommand.id,{unitId:this._fWorkbook.getId(),drawings:e}),this}newOverGridImage(){let e=this._fWorkbook.getId(),t=this.getSheetId();return this._injector.createInstance(m,e,t)}};a.FWorksheet.extend(g);var _=class extends t.FEnum{get DrawingType(){return e.DrawingTypeEnum}get ImageSourceType(){return e.ImageSourceType}get SheetDrawingAnchorType(){return i.SheetDrawingAnchorType}};t.FEnum.extend(_);var v=class extends t.FEventName{get BeforeFloatDomAdd(){return`BeforeFloatDomAdd`}get FloatDomAdded(){return`FloatDomAdded`}get BeforeFloatDomUpdate(){return`BeforeFloatDomUpdate`}get FloatDomUpdated(){return`FloatDomUpdated`}get BeforeFloatDomDelete(){return`BeforeFloatDomDelete`}get FloatDomDeleted(){return`FloatDomDeleted`}get BeforeOverGridImageChange(){return`BeforeOverGridImageChange`}get OverGridImageChanged(){return`OverGridImageChanged`}get BeforeOverGridImageInsert(){return`BeforeOverGridImageInsert`}get OverGridImageInserted(){return`OverGridImageInserted`}get BeforeOverGridImageRemove(){return`BeforeOverGridImageRemove`}get OverGridImageRemoved(){return`OverGridImageRemoved`}get BeforeOverGridImageSelect(){return`BeforeOverGridImageSelect`}get OverGridImageSelected(){return`OverGridImageSelected`}};t.FEventName.extend(v);var y=class extends t.FUniver{_initialize(t){let r=t.get(e.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageInsert,()=>r.beforeCommandExecuted(t=>{if(t.id!==i.InsertSheetDrawingCommand.id)return;let n=t.params,r=this.getActiveWorkbook();if(r==null||n==null)return;let{drawings:a}=n,o={workbook:r,insertImageParams:a};if(this.fireEvent(this.Event.BeforeOverGridImageInsert,o),o.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageRemove,()=>r.beforeCommandExecuted(r=>{if(r.id!==i.RemoveSheetDrawingCommand.id)return;let a=r.params,o=this.getActiveWorkbook();if(o==null||a==null)return;let s=t.get(n.IDrawingManagerService),{drawings:c}=a,l=c.map(e=>s.getDrawingByParam(e)),u={workbook:o,images:this._createFOverGridImage(l)};if(this.fireEvent(this.Event.BeforeOverGridImageRemove,u),u.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageChange,()=>r.beforeCommandExecuted(r=>{if(r.id!==i.SetSheetDrawingCommand.id)return;let a=r.params,o=this.getActiveWorkbook();if(o==null||a==null)return;let{drawings:s}=a,c=t.get(n.IDrawingManagerService),l=[];s.forEach(e=>{let t=c.getDrawingByParam(e);t!=null&&l.push({changeParam:e,image:this._injector.createInstance(h,t)})});let u={workbook:o,images:l};if(this.fireEvent(this.Event.BeforeOverGridImageChange,u),u.cancel)throw c.updateNotification(s),new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeOverGridImageSelect,()=>r.beforeCommandExecuted(r=>{if(r.id!==n.SetDrawingSelectedOperation.id)return;let i=r.params,a=this.getActiveWorkbook();if(a==null)return;let o=t.get(n.IDrawingManagerService),s=o.getFocusDrawings(),c=i.map(e=>o.getDrawingByParam(e)),l={workbook:a,selectedImages:this._createFOverGridImage(c),oldSelectedImages:this._createFOverGridImage(s)};if(this.fireEvent(this.Event.BeforeOverGridImageSelect,l),l.cancel)throw new e.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageInserted,()=>r.onCommandExecuted(e=>{if(e.id!==i.InsertSheetDrawingCommand.id)return;let t=e.params,n=this.getActiveWorkbook();if(n==null||t==null)return;let{drawings:r}=t,a={workbook:n,images:this._createFOverGridImage(r)};this.fireEvent(this.Event.OverGridImageInserted,a)}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageRemoved,()=>r.onCommandExecuted(e=>{if(e.id!==i.RemoveSheetDrawingCommand.id)return;let t=e.params,n=this.getActiveWorkbook();if(n==null||t==null)return;let{drawings:r}=t,a={workbook:n,removeImageParams:r};this.fireEvent(this.Event.OverGridImageRemoved,a)}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageChanged,()=>r.onCommandExecuted(e=>{if(e.id!==i.SetSheetDrawingCommand.id)return;let r=e.params,a=this.getActiveWorkbook();if(a==null||r==null)return;let{drawings:o}=r,s=t.get(n.IDrawingManagerService),c={workbook:a,images:o.map(e=>this._injector.createInstance(h,s.getDrawingByParam(e)))};this.fireEvent(this.Event.OverGridImageChanged,c)}))),this.disposeWithMe(this.registerEventHandler(this.Event.OverGridImageSelected,()=>r.onCommandExecuted(e=>{if(e.id!==n.SetDrawingSelectedOperation.id)return;let r=e.params,i=this.getActiveWorkbook();if(i==null)return;let a=t.get(n.IDrawingManagerService),o=r.map(e=>a.getDrawingByParam(e)),s={workbook:i,selectedImages:this._createFOverGridImage(o)};this.fireEvent(this.Event.OverGridImageSelected,s)})))}_createFOverGridImage(e){return e.map(e=>this._injector.createInstance(h,e))}};t.FUniver.extend(y)});
31
-
32
- // @univerjs/sheets-filter/index
33
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("rxjs"),require("@univerjs/engine-render"),require("@univerjs/rpc"),require("@univerjs/engine-formula")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets`,`rxjs`,`@univerjs/engine-render`,`@univerjs/rpc`,`@univerjs/engine-formula`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsFilter={},e.UniverCore,e.UniverSheets,e.rxjs,e.UniverEngineRender,e.UniverRpc,e.UniverEngineFormula))})(this,function(e,t,n,r,i,a,o){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let s=`sheet.mutation.set-filter-range`,c=`sheet.mutation.set-filter-criteria`,l=`sheet.mutation.remove-filter`,u=`sheet.mutation.re-calc-filter`,d=new Set([s,c,l,u]),f=function(e){return e[e.VALUES=0]=`VALUES`,e[e.COLORS=1]=`COLORS`,e[e.CONDITIONS=2]=`CONDITIONS`,e}({}),p=function(e){return e.EQUAL=`equal`,e.GREATER_THAN=`greaterThan`,e.GREATER_THAN_OR_EQUAL=`greaterThanOrEqual`,e.LESS_THAN=`lessThan`,e.LESS_THAN_OR_EQUAL=`lessThanOrEqual`,e.NOT_EQUALS=`notEqual`,e}({}),m={operator:`greaterThan`,fn:(e,t)=>C(e)?e>t:!1},h={operator:`greaterThanOrEqual`,fn:(e,t)=>C(e)?e>=t:!1},g={operator:`lessThan`,fn:(e,t)=>C(e)?e<t:!1},_={operator:`lessThanOrEqual`,fn:(e,t)=>C(e)?e<=t:!1},v={operator:`equal`,fn:(e,t)=>C(e)?e===t:!1},y={operator:`notEqual`,fn:(e,n)=>{if(typeof n==`string`){if(n===` `)return e!=null;let r=T(e);return r&&te(n)?!(0,t.createREGEXFromWildChar)(n).test(r):r!==n}return C(e)?e!==n:!0}},b=new Map([]);[m,h,g,_,v,y].forEach(e=>{b.set(e.operator,e)});function ee(e){return!!e}let x={fn:(e,n)=>{let r=T(e);return r===null?n===``:(0,t.createREGEXFromWildChar)(n).test(r)}};function S(e){return e?b.get(e):x}function C(e){return typeof e==`number`}function w(e){return!!(typeof e==`number`||typeof e==`string`&&(0,t.isNumeric)(e))}function T(e){return typeof e==`boolean`||e==null?null:typeof e==`string`?e:e.toString()}function te(e){return typeof e==`number`?!1:e.indexOf(`*`)!==-1||e.indexOf(`?`)!==-1}function E(e){"@babel/helpers - typeof";return E=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},E(e)}function ne(e,t){if(E(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(E(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function D(e){var t=ne(e,`string`);return E(t)==`symbol`?t:t+``}function O(e,t,n){return(t=D(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let k=()=>new Set;var A=class e extends t.Disposable{get filteredOutRows(){return this._filteredOutRows$.getValue()}set filteredOutRows(e){this._alreadyFilteredOutRows=e,this._filteredOutRows$.next(e)}constructor(e,t,n){super(),this.unitId=e,this.subUnitId=t,this._worksheet=n,O(this,`_filteredOutRows$`,new r.BehaviorSubject(k())),O(this,`filteredOutRows$`,this._filteredOutRows$.asObservable()),O(this,`_hasCriteria$`,new r.BehaviorSubject(!1)),O(this,`hasCriteria$`,this._hasCriteria$.asObservable()),O(this,`_filterColumnByIndex`,new Map),O(this,`_alreadyFilteredOutRows`,k()),O(this,`_range`,void 0)}dispose(){super.dispose(),this._filteredOutRows$.complete(),this._hasCriteria$.complete(),this._worksheet=null}serialize(){let e={ref:t.Rectangle.clone(this._range),filterColumns:this._getAllFilterColumns(!0).sort(([e],[t])=>e-t).map(([e,t])=>t.serialize())};return this._alreadyFilteredOutRows&&(e.cachedFilteredOut=Array.from(this._alreadyFilteredOutRows).sort()),e}static deserialize(t,n,r,i){let a=new e(t,n,r);return a._dump(i),a}_dump(e){var t;this.setRange(e.ref),(t=e.filterColumns)==null||t.filter(e=>!(!e.filters&&!e.colorFilters&&!e.customFilters)).forEach(e=>this._setCriteriaWithoutReCalc(e.colId,e)),e.cachedFilteredOut?(this._alreadyFilteredOutRows=new Set(e.cachedFilteredOut),this._emit()):e.filterColumns&&e.filterColumns.length>0&&(this._reCalcAllColumns(),this._emit()),this._emitHasCriteria()}isRowFiltered(e){return this._alreadyFilteredOutRows.has(e)}getRange(){if(!this._range)throw Error(`[FilterModel] could not get range before a range is set!`);return this._range}getFilteredOutRowsExceptCol(e){return this._getAllFilterColumns(!0).filter(([t])=>t!==e).reduce((e,[,n])=>{let r=n.calc({getAlreadyFilteredOutRows:()=>e});return r?(0,t.mergeSets)(e,r):e},new Set)}setRange(e){this._range=e,this._getAllFilterColumns(!0).forEach(([t,n])=>{n.setRangeAndColumn({startRow:e.startRow,endRow:e.endRow,startColumn:t,endColumn:t},t)})}setCriteria(e,t,n=!1){if(!this._range)throw Error(`[FilterModel] could not set criteria before a range is set!`);if(!t){this._removeCriteria(e),this._rebuildAlreadyFilteredOutRowsWithCache(),n&&this._reCalcAllColumns(),this._emit(),this._emitHasCriteria();return}this._setCriteriaWithoutReCalc(e,t),n&&(this._rebuildAlreadyFilteredOutRowsWithCache(),this._getAllFilterColumns().forEach(e=>e.__clearCache()),this._reCalcWithNoCacheColumns(),this._emit(),this._emitHasCriteria())}getAllFilterColumns(){return this._getAllFilterColumns(!0)}getFilterColumn(e){var t;return(t=this._filterColumnByIndex.get(e))==null?null:t}reCalc(){this._reCalcAllColumns(),this._emit()}_getAllFilterColumns(e=!1){let t=Array.from(this._filterColumnByIndex.entries());return e?t:t.map(([e,t])=>t)}_reCalcAllColumns(){this._alreadyFilteredOutRows=k(),this._getAllFilterColumns().forEach(e=>e.__clearCache()),this._reCalcWithNoCacheColumns()}_setCriteriaWithoutReCalc(e,t){let n=this._range;if(!n)throw Error(`[FilterModel] could not set criteria before a range is set!`);let{startColumn:r,endColumn:i}=n;if(e>i||e<r)throw Error(`[FilterModel] could not set criteria on column ${e} which is out of range!`);let a;this._filterColumnByIndex.has(e)?a=this._filterColumnByIndex.get(e):(a=new j(this.unitId,this.subUnitId,this._worksheet,t,{getAlreadyFilteredOutRows:()=>this._alreadyFilteredOutRows}),a.setRangeAndColumn(n,e),this._filterColumnByIndex.set(e,a)),a.setCriteria(t)}_removeCriteria(e){let t=this._filterColumnByIndex.get(e);t&&(t.dispose(),this._filterColumnByIndex.delete(e))}_emit(){this._filteredOutRows$.next(this._alreadyFilteredOutRows)}_emitHasCriteria(){this._hasCriteria$.next(this._filterColumnByIndex.size>0)}_rebuildAlreadyFilteredOutRowsWithCache(){let e=this._getAllFilterColumns().filter(e=>e.hasCache()).reduce((e,n)=>(0,t.mergeSets)(e,n.filteredOutRows),new Set);this._alreadyFilteredOutRows=e}_reCalcWithNoCacheColumns(){let e=this._getAllFilterColumns().filter(e=>!e.hasCache());for(let n of e){let e=n.reCalc();e&&(this._alreadyFilteredOutRows=(0,t.mergeSets)(this._alreadyFilteredOutRows,e))}}},j=class extends t.Disposable{get filteredOutRows(){return this._filteredOutRows}get filterBy(){return this._filterBy}constructor(e,t,n,r,i){super(),this.unitId=e,this.subUnitId=t,this._worksheet=n,this._criteria=r,this._filterColumnContext=i,O(this,`_filteredOutRows`,null),O(this,`_filterFn`,null),O(this,`_range`,null),O(this,`_column`,0),O(this,`_filterBy`,0)}dispose(){super.dispose(),this._filteredOutRows=null}__clearCache(){this._filteredOutRows=null}serialize(){if(!this._criteria)throw Error(`[FilterColumn]: could not serialize without a filter column!`);return t.Tools.deepClone({...this._criteria,colId:this._column})}hasCache(){return this._filteredOutRows!==null}setRangeAndColumn(e,t){this._range=e,this._column=t}setCriteria(e){this._criteria=e,this._generateFilterFn(),this._filteredOutRows=null}getColumnData(){return t.Tools.deepClone(this._criteria)}reCalc(){return this._filteredOutRows=this.calc(this._filterColumnContext),this._filteredOutRows}calc(e){if(!this._filterFn)throw Error(`[FilterColumn] cannot calculate without a filter fn!`);if(!this._range)throw Error(`[FilterColumn] cannot calculate without a range!`);if(typeof this._column!=`number`)throw TypeError(`[FilterColumn] cannot calculate without a column offset!`);let n=this._column,r={startColumn:n,endColumn:n,startRow:this._range.startRow+1,endRow:this._range.endRow},i=new Set,a=e.getAlreadyFilteredOutRows();for(let e of this._worksheet.iterateByColumn(r,!1,!1)){let{row:n,rowSpan:r,col:o}=e;if(!(a.has(n)&&(!r||r===1))&&!(this._filterBy===0?this._filterFn((0,t.extractPureTextFromCell)(this._worksheet.getCell(n,o))):this._filterBy===1?this._filterFn(this._worksheet.getComposedCellStyle(n,o)):this._filterFn(de(this._worksheet,n,o)))&&(i.add(n),r))for(let e=1;e<r;e++)i.add(n+e)}return i}_generateFilterFn(){this._criteria&&(this._filterFn=re(this._criteria),this._filterBy=this._criteria.filters?0:this._criteria.colorFilters?1:2)}};function re(e){if(e.filters)return ie(e.filters);if(e.colorFilters)return ae(e.colorFilters);if(e.customFilters)return oe(e.customFilters);throw Error(`[FilterModel]: other types of filters are not supported yet.`)}function ie(e){let t=!!e.blank,n=new Set(e.filters);return e=>e===void 0||e===``?t:n.has(typeof e==`string`?e:`${e}`)}function ae(e){if(e.cellFillColors){let n=new Set(e.cellFillColors);return e=>{var r;if(!e||!((r=e.bg)!=null&&r.rgb))return!!n.has(null);let i=new t.ColorKit(e.bg.rgb).toRgbString();return n.has(i)}}if(e.cellTextColors){let n=new Set(e.cellTextColors);return e=>{var r;if(!e||!((r=e.cl)!=null&&r.rgb))return!!n.has(i.COLOR_BLACK_RGB);let a=new t.ColorKit(e.cl.rgb).toRgbString();return n.has(a)}}throw Error(`[FilterModel]: color filters are not supported yet.`)}function oe(e){let t=e.customFilters.map(e=>ue(e));return le(t)?e.and?se(t):ce(t):t[0]}function se(e){let[t,n]=e;return e=>t(e)&&n(e)}function ce(e){let[t,n]=e;return e=>t(e)||n(e)}function le(e){return e.length===2}function ue(e){let t=e.val;if(e.operator===`notEqual`&&!w(t))return e=>y.fn(e,t);if(ee(e.operator)){if(!w(t))return()=>!1;let n=S(e.operator),r=Number(t);return e=>n.fn(e,r)}let n=S(e.operator);return e=>n.fn(e,t)}function de(e,n,r){let i=e.getCell(n,r);if(!i)return null;let a=e.getCellRaw(n,r);return i&&!a?M(i):a?i.t===t.CellValueType.NUMBER&&typeof i.v==`string`?a.v:i.t===t.CellValueType.NUMBER?Number(a.v):M(a):null}function M(e){var n;let r=(n=e.p)==null||(n=n.body)==null?void 0:n.dataStream;if(r)return r.trimEnd();let i=e.v;return typeof i==`string`?e.t===t.CellValueType.BOOLEAN?i.toUpperCase():i:typeof i==`number`?e.t===t.CellValueType.BOOLEAN?i?`TRUE`:`FALSE`:i:typeof i==`boolean`?i?`TRUE`:`FALSE`:``}function N(e,t){return function(n,r){t(n,r,e)}}function P(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 F=`SHEET_FILTER_PLUGIN`,I=class extends t.Disposable{get activeFilterModel(){return this._activeFilterModel$.getValue()}constructor(e,t,n){super(),this._resourcesManagerService=e,this._univerInstanceService=t,this._commandService=n,O(this,`_filterModels`,new Map),O(this,`_loadedUnitId$`,new r.BehaviorSubject(null)),O(this,`loadedUnitId$`,this._loadedUnitId$.asObservable()),O(this,`_errorMsg$`,new r.BehaviorSubject(null)),O(this,`errorMsg$`,this._errorMsg$.asObservable()),O(this,`_activeFilterModel$`,new r.BehaviorSubject(null)),O(this,`activeFilterModel$`,this._activeFilterModel$.asObservable()),this._initModel(),this._initActiveFilterModel()}ensureFilterModel(e,t){let n=this.getFilterModel(e,t);if(n)return n;let r=this._univerInstanceService.getUniverSheetInstance(e);if(!r)throw Error(`[SheetsFilterService]: could not create "FilterModel" on a non-existing workbook ${e}!`);let i=r.getSheetBySheetId(t);if(!i)throw Error(`[SheetsFilterService]: could not create "FilterModel" on a non-existing worksheet ${t}!`);let a=new A(e,t,i);return this._cacheFilterModel(e,t,a),a}getFilterModel(e,t){var n,r;return(n=(r=this._filterModels.get(e))==null?void 0:r.get(t))==null?null:n}removeFilterModel(e,t){let n=this.getFilterModel(e,t);return n?(n.dispose(),this._filterModels.get(e).delete(t),!0):!1}setFilterErrorMsg(e){this._errorMsg$.next(e)}_updateActiveFilterModel(){let e;try{if(e=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),!e){this._activeFilterModel$.next(null);return}}catch(e){console.error(`[SheetsFilterService]: could not get active workbook!`,e);return}let n=e.getActiveSheet(!0);if(!n){this._activeFilterModel$.next(null);return}let r=n.getUnitId(),i=n.getSheetId(),a=this.getFilterModel(r,i);this._activeFilterModel$.next(a)}_initActiveFilterModel(){this.disposeWithMe((0,r.merge)((0,t.fromCallback)(this._commandService.onCommandExecuted.bind(this._commandService)).pipe((0,r.filter)(([e])=>e.type===t.CommandType.MUTATION&&d.has(e.id))),this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).pipe((0,r.switchMap)(e=>{var t;return(t=e==null?void 0:e.activeSheet$)==null?(0,r.of)(null):t}))).subscribe(()=>this._updateActiveFilterModel()))}_serializeAutoFiltersForUnit(e){let t=this._filterModels.get(e);if(!t)return`{}`;let n={};return t.forEach((e,t)=>{n[t]=e.serialize()}),JSON.stringify(n)}_deserializeAutoFiltersForUnit(e,t){let n=this._univerInstanceService.getUniverSheetInstance(e);Object.keys(t).forEach(r=>{let i=t[r],a=A.deserialize(e,r,n.getSheetBySheetId(r),i);this._cacheFilterModel(e,r,a)})}dispose(){super.dispose(),this._loadedUnitId$.complete(),this._errorMsg$.complete(),this._activeFilterModel$.complete(),this._filterModels.forEach(e=>{e.forEach(e=>e.dispose()),e.clear()}),this._filterModels.clear()}_initModel(){this._resourcesManagerService.registerPluginResource({pluginName:F,businesses:[t.UniverInstanceType.UNIVER_SHEET],toJson:e=>this._serializeAutoFiltersForUnit(e),parseJson:e=>JSON.parse(e),onLoad:(e,t)=>{this._deserializeAutoFiltersForUnit(e,t),this._loadedUnitId$.next(e),this._updateActiveFilterModel()},onUnLoad:e=>{let t=this._filterModels.get(e);t&&(t.forEach(e=>e.dispose()),this._filterModels.delete(e))}})}_cacheFilterModel(e,t,n){this._filterModels.has(e)||this._filterModels.set(e,new Map),this._filterModels.get(e).set(t,n)}};I=P([N(0,t.IResourceManagerService),N(1,t.IUniverInstanceService),N(2,t.ICommandService)],I);let L={id:s,type:t.CommandType.MUTATION,handler:(e,t)=>{let{subUnitId:n,unitId:r,range:i}=t;return e.get(I).ensureFilterModel(r,n).setRange(i),!0}},R={id:c,type:t.CommandType.MUTATION,handler:(e,t)=>{let{subUnitId:n,unitId:r,criteria:i,col:a,reCalc:o=!0}=t,s=e.get(I).getFilterModel(r,n);return s?(s.setCriteria(a,i,o),!0):!1}},z={id:l,type:t.CommandType.MUTATION,handler:(e,t)=>{let{unitId:n,subUnitId:r}=t;return e.get(I).removeFilterModel(n,r)}},B={id:u,type:t.CommandType.MUTATION,handler:(e,t)=>{let{unitId:n,subUnitId:r}=t,i=e.get(I).getFilterModel(n,r);return i?(i.reCalc(),!0):!1}},V={id:`sheet.command.set-filter-range`,type:t.CommandType.COMMAND,handler:(e,r)=>{let i=e.get(I),a=e.get(t.ICommandService),o=e.get(t.IUndoRedoService),s=e.get(t.IUniverInstanceService),{unitId:c,subUnitId:l,range:u}=r;if(!(0,n.getSheetCommandTarget)(s,r)||i.getFilterModel(c,l))return!1;if(u.endRow===u.startRow){let n=e.get(t.ErrorService),r=e.get(t.LocaleService);return n.emit(r.t(`sheets-filter.command.not-valid-filter-range`)),!1}let d={id:L.id,params:{unitId:c,subUnitId:l,range:u}},f=a.syncExecuteCommand(d.id,d.params);return f&&o.pushUndoRedo({unitID:c,undoMutations:[{id:z.id,params:{unitId:c,subUnitId:l}}],redoMutations:[d]}),f}},H={id:`sheet.command.remove-sheet-filter`,type:t.CommandType.COMMAND,handler:(e,r)=>{let i=(0,n.getSheetCommandTarget)(e.get(t.IUniverInstanceService),r);if(!i)return!1;let a=e.get(I),{unitId:o,subUnitId:s}=i,c=a.getFilterModel(o,s);if(!c)return!1;let l=c.getRange();if(!l)return!1;let u=e.get(t.ICommandService),d=e.get(t.IUndoRedoService),f=pe(o,s,c.serialize()),p=u.syncExecuteCommand(z.id,{unitId:o,subUnitId:s});return p&&(d.pushUndoRedo({unitID:o,undoMutations:f,redoMutations:[{id:z.id,params:{unitId:o,subUnitId:s}}]}),u.executeCommand(n.MarkDirtyFilterChangeMutation.id,{unitId:o,subUnitId:s,filterRange:l})),p}},fe={id:`sheet.command.smart-toggle-filter`,type:t.CommandType.COMMAND,handler:async e=>{let r=e.get(t.IUniverInstanceService),i=e.get(I),a=e.get(t.ICommandService),o=r.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),s=o==null?void 0:o.getActiveSheet();if(!s||!o)return!1;let c=o.getUnitId(),l=s.getSheetId();if(i.getFilterModel(c,l))return a.executeCommand(H.id,{unitId:c,subUnitId:l});let u=e.get(n.SheetsSelectionsService).getCurrentLastSelection();if(!u)return!1;let d=u.range,f=(0,n.isSingleCellSelection)(u)?(0,n.expandToContinuousRange)(d,{left:!0,right:!0,up:!0,down:!0},s):d.startRow===d.endRow?(0,n.expandToContinuousRange)(d,{down:!0},s):d;return a.executeCommand(V.id,{unitId:c,subUnitId:l,range:f})}},U={id:`sheet.command.set-filter-criteria`,type:t.CommandType.COMMAND,handler:(e,r)=>{let i=(0,n.getSheetCommandTarget)(e.get(t.IUniverInstanceService),r);if(!i)return!1;let a=e.get(I),{unitId:o,subUnitId:s}=i,c=a.getFilterModel(o,s);if(!c)return!1;let{col:l,criteria:u}=r,d=c.getRange();if(!d||l<d.startColumn||l>d.endColumn)return!1;let f=e.get(t.ICommandService),p=e.get(t.IUndoRedoService),m=he(o,s,l,c.getFilterColumn(l)),h={id:R.id,params:{unitId:o,subUnitId:s,col:l,criteria:u}},g=f.syncExecuteCommand(h.id,h.params);return g&&(p.pushUndoRedo({unitID:o,undoMutations:[m],redoMutations:[h]}),f.executeCommand(n.MarkDirtyFilterChangeMutation.id,{unitId:o,subUnitId:s,filterRange:d})),g}},W={id:`sheet.command.clear-filter-criteria`,type:t.CommandType.COMMAND,handler:(e,r)=>{let i=(0,n.getSheetCommandTarget)(e.get(t.IUniverInstanceService),r);if(!i)return!1;let a=e.get(I),{unitId:o,subUnitId:s}=i,c=a.getFilterModel(o,s);if(!c)return!1;let l=c.getRange();if(!l)return!1;let u=e.get(t.IUndoRedoService),d=e.get(t.ICommandService),f=c.serialize(),p=K(o,s,f),m=me(o,s,f);return(0,t.sequenceExecute)(m,d).result?(u.pushUndoRedo({unitID:o,undoMutations:p,redoMutations:m}),d.executeCommand(n.MarkDirtyFilterChangeMutation.id,{unitId:o,subUnitId:s,filterRange:l}),!0):!1}},G={id:`sheet.command.re-calc-filter`,type:t.CommandType.COMMAND,handler:(e,r)=>{let i=e.get(I),a=e.get(t.ICommandService),o=(0,n.getSheetCommandTarget)(e.get(t.IUniverInstanceService),r);if(!o)return!1;let{unitId:s,subUnitId:c}=o;return i.getFilterModel(o.unitId,o.subUnitId)?a.executeCommand(B.id,{unitId:s,subUnitId:c}):!1}};function pe(e,t,n){let r=[],i={id:L.id,params:{unitId:e,subUnitId:t,range:n.ref}};return r.push(i),K(e,t,n).forEach(e=>r.push(e)),r}function K(e,t,n){var r;let i=[];return(r=n.filterColumns)==null||r.forEach(n=>{let r={id:R.id,params:{unitId:e,subUnitId:t,col:n.colId,criteria:n}};i.push(r)}),i}function me(e,t,n){var r;let i=[];return(r=n.filterColumns)==null||r.forEach(n=>{let r={id:R.id,params:{unitId:e,subUnitId:t,col:n.colId,criteria:null}};i.push(r)}),i}function he(e,t,n,r){if(!r)return{id:R.id,params:{unitId:e,subUnitId:t,col:n,criteria:null}};let i=r.serialize();return{id:R.id,params:{unitId:e,subUnitId:t,col:n,criteria:i}}}let q=`sheets-filter.config`,J={};function ge(e,t){for(let n=0;n<e.length;n++){let r=n;if(e[n])for(let i=n+1;i<e.length;i++)e[r]&&e[i]&&t(e[r],e[i])&&(e[r]=null,r=i)}return e.filter(e=>e!==null)}function Y(e){return ge(e,(e,t)=>e.id===R.id&&t.id===R.id&&e.params.unitId===t.params.unitId&&e.params.subUnitId===t.params.subUnitId&&e.params.col===t.params.col)}let X=class extends t.Disposable{constructor(e,n,r,i,a,o,s){super(),this._commandService=e,this._sheetInterceptorService=n,this._sheetsFilterService=r,this._univerInstanceService=i,this._refRangeService=a,this._dataSyncPrimaryController=o,this._zebraCrossingCacheController=s,O(this,`_disposableCollection`,new t.DisposableCollection),this._initCommands(),this._initRowFilteredInterceptor(),this._initInterceptors(),this._commandExecutedListener(),this._initErrorHandling(),this._initZebraCrossingCacheListener()}_initZebraCrossingCacheListener(){this.disposeWithMe(this._sheetsFilterService.activeFilterModel$.subscribe(e=>{e&&this.disposeWithMe(e.filteredOutRows$.subscribe(()=>{this._zebraCrossingCacheController.updateZebraCrossingCache(e.unitId,e.subUnitId)}))}))}_initCommands(){[V,H,U,W,G].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))}),[R,L,B,z].forEach(e=>{var t;this.disposeWithMe(this._commandService.registerCommand(e)),(t=this._dataSyncPrimaryController)==null||t.registerSyncingMutations(e)})}_initInterceptors(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>this._getUpdateFilter(e)})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===n.SetWorksheetActiveOperation.id){let t=e.params,n=t.subUnitId,r=t.unitId;if(!n||!r)return;this._registerRefRange(r,n)}if(e.id===L.id){let t=e.params,n=t.subUnitId,r=t.unitId;if(!n||!r)return;this._registerRefRange(t.unitId,t.subUnitId)}})),this.disposeWithMe(this._sheetsFilterService.loadedUnitId$.subscribe(e=>{if(e){let t=this._univerInstanceService.getUniverSheetInstance(e),n=t==null?void 0:t.getActiveSheet();n&&this._registerRefRange(e,n.getSheetId())}}))}_registerRefRange(e,t){var r;this._disposableCollection.dispose();let i=this._univerInstanceService.getUniverSheetInstance(e),a=i==null?void 0:i.getSheetBySheetId(t);if(!i||!a)return;let o=(r=this._sheetsFilterService.getFilterModel(e,t))==null?void 0:r.getRange();o&&this._disposableCollection.add(this._refRangeService.registerRefRange(o,r=>{switch(r.id){case n.InsertRowCommand.id:{let n=r.params,i=n.unitId||e,a=n.subUnitId||t;return this._handleInsertRowCommand(n,i,a)}case n.InsertColCommand.id:{let n=r.params,i=n.unitId||e,a=n.subUnitId||t;return this.handleInsertColCommand(n.range,i,a)}case n.RemoveColCommand.id:{let n=r.params;return this.handleRemoveColCommand(n.range,e,t)}case n.RemoveRowCommand.id:{let n=r.params;return this._handleRemoveRowCommand(n,e,t)}case n.EffectRefRangId.MoveColsCommandId:{let n=r.params;return this.handleMoveColsCommand({fromRange:n.fromRange,toRange:n.toRange},e,t)}case n.EffectRefRangId.MoveRowsCommandId:{let n=r.params;return this._handleMoveRowsCommand(n,e,t)}case n.MoveRangeCommand.id:{let n=r.params;return this._handleMoveRangeCommand(n,e,t)}}return{redos:[],undos:[]}},e,t))}_getUpdateFilter(e){let{id:t}=e;switch(t){case n.RemoveSheetCommand.id:{let t=e.params;return this._handleRemoveSheetCommand(t,t.unitId,t.subUnitId)}case n.CopySheetCommand.id:{let{targetSubUnitId:t,unitId:n,subUnitId:r}=e.params;return!n||!r||!t?this._handleNull():this._handleCopySheetCommand(n,r,t)}}return{redos:[],undos:[]}}handleInsertColCommand(e,t,n){var r;let i=this._sheetsFilterService.getFilterModel(t,n),a=(r=i==null?void 0:i.getRange())==null?null:r;if(!i||!a)return this._handleNull();let{startColumn:o,endColumn:s}=a,{startColumn:c,endColumn:l}=e,u=l-c+1;if(l>s)return this._handleNull();let d=[],f=[],p=c,m={unitId:t,subUnitId:n,range:{...a,startColumn:c<=o?o+u:o,endColumn:s+u}},h={unitId:t,subUnitId:n,range:a};d.push({id:L.id,params:m}),f.push({id:L.id,params:h});let g=i.getAllFilterColumns().filter(e=>e[0]>=p);if(g.length!==0){let{newRange:e,oldRange:r}=this._moveCriteria(t,n,g,u);d.push(...r.redos,...e.redos),f.push(...e.undos,...r.undos)}return{redos:Y(d),undos:Y(f)}}_handleInsertRowCommand(e,t,n){var r;let i=this._sheetsFilterService.getFilterModel(t,n),a=(r=i==null?void 0:i.getRange())==null?null:r;if(!i||!a)return this._handleNull();let{startRow:o,endRow:s}=a,{startRow:c,endRow:l}=e.range,u=l-c+1;if(l>s)return this._handleNull();let d=[],f=[],p={unitId:t,subUnitId:n,range:{...a,startRow:c<=o?o+u:o,endRow:s+u}},m={unitId:t,subUnitId:n,range:a};return d.push({id:L.id,params:p}),f.push({id:L.id,params:m}),{redos:Y(d),undos:Y(f)}}handleRemoveColCommand(e,t,n){var r;let i=this._sheetsFilterService.getFilterModel(t,n),a=(r=i==null?void 0:i.getRange())==null?null:r;if(!i||!a)return this._handleNull();let{startColumn:o,endColumn:s}=a,{startColumn:c,endColumn:l}=e;if(c>s)return this._handleNull();let u=[],d=[],f=l<o?0:Math.min(l,s)-Math.max(c,o)+1,p=l-c+1,m=i.getAllFilterColumns();m.forEach(e=>{let[r,i]=e;r<=l&&r>=c&&(u.push({id:R.id,params:{unitId:t,subUnitId:n,col:r,criteria:null}}),d.push({id:R.id,params:{unitId:t,subUnitId:n,col:r,criteria:{...i.serialize(),colId:r}}}))});let h=m.filter(e=>{let[t,n]=e;return t>l}),g={undos:[],redos:[]};if(h.length>0){let{oldRange:e,newRange:r}=this._moveCriteria(t,n,h,-p);g=r,u.push(...e.redos),d.unshift(...e.undos)}if(f===s-o+1){let e={unitId:t,subUnitId:n};u.push({id:z.id,params:e}),d.unshift({id:L.id,params:{range:a,unitId:t,subUnitId:n}})}else{let e=o<=c?o:f===0?o-p:c,r=o<=c?s-f:s-p,i={unitId:t,subUnitId:n,range:{...a,startColumn:e,endColumn:r}};u.push({id:L.id,params:i}),d.unshift({id:L.id,params:{range:a,unitId:t,subUnitId:n}}),u.push(...g.redos),d.unshift(...g.undos)}return{undos:d,redos:u}}_handleRemoveRowCommand(e,t,n){let r=this._sheetsFilterService.getFilterModel(t,n);if(!r)return this._handleNull();let i=r.getRange(),{startRow:a,endRow:o}=i,{startRow:s,endRow:c}=e.range;if(s>o)return this._handleNull();if(c<a)return{undos:[{id:L.id,params:{range:i,unitId:t,subUnitId:n}}],redos:[{id:L.id,params:{range:{...i,startRow:a-(c-s+1),endRow:o-(c-s+1)},unitId:t,subUnitId:n}}]};let l=[],u=[],d=r.getAllFilterColumns(),f=a<=c&&a>=s;u.push({id:L.id,params:{range:i,unitId:t,subUnitId:n}});let p=Math.min(c,o)-Math.max(s,a)+1;if(p===o-a+1||f){let e={unitId:t,subUnitId:n};l.push({id:z.id,params:e}),d.forEach(e=>{let[r,i]=e,a={unitId:t,subUnitId:n,col:r,criteria:{...i.serialize(),colId:r}};u.push({id:R.id,params:a})})}else{var m;let e=(m=this._univerInstanceService.getUniverSheetInstance(t))==null?void 0:m.getSheetBySheetId(n);if(!e)return this._handleNull();let r=this._getFilteredRowCount(e,s,c),u=Math.min(a,s),d=u+(o-a)-p+r,f={unitId:t,subUnitId:n,range:{...i,startRow:u,endRow:d}};l.push({id:L.id,params:f})}return{undos:Y(u),redos:Y(l)}}_getFilteredRowCount(e,t,n){let r=0;for(let i=t;i<=n;i++)e.getRowFiltered(i)&&r++;return r}handleMoveColsCommand({fromRange:e,toRange:n},r,i){var a;let o=this._sheetsFilterService.getFilterModel(r,i),s=(a=o==null?void 0:o.getRange())==null?null:a;if(!o||!s)return this._handleNull();let{startColumn:c,endColumn:l}=s;if(e.endColumn<c&&n.startColumn<=c||e.startColumn>l&&n.endColumn>l)return this._handleNull();let u=[],d=[],f={};for(let e=c;e<=l;e++)f[e]={colIndex:e,filter:o.getFilterColumn(e)};(0,t.moveMatrixArray)(e.startColumn,e.endColumn-e.startColumn+1,n.startColumn,f);let p=s.startColumn,m=s.endColumn;c>=e.startColumn&&c<=e.endColumn&&n.startColumn>e.startColumn&&e.endColumn<l&&(p=e.endColumn+1),l>=e.startColumn&&l<=e.endColumn&&n.startColumn<e.startColumn&&e.startColumn>c&&(m=e.startColumn-1);let h=Object.keys(f).map(e=>Number(e)),g=h.find(e=>f[e].colIndex===m),_=h.find(e=>f[e].colIndex===p);if(h.forEach(e=>{let{colIndex:t,filter:n}=f[e],a=e;if(n){var s;if(a>=_&&a<=g){var c;let e={unitId:r,subUnitId:i,col:a,criteria:{...n.serialize(),colId:a}},t={unitId:r,subUnitId:i,col:a,criteria:o.getFilterColumn(a)?{...(c=o.getFilterColumn(a))==null?void 0:c.serialize(),colId:a}:null};u.push({id:R.id,params:e}),d.push({id:R.id,params:t})}if(!((s=f[t])!=null&&s.filter)){let e={unitId:r,subUnitId:i,col:t,criteria:null};u.push({id:R.id,params:e}),d.push({id:R.id,params:{unitId:r,subUnitId:i,col:t,criteria:{...n.serialize(),colId:t}}})}}}),c!==_||l!==g){let e={unitId:r,subUnitId:i,range:{...s,startColumn:_,endColumn:g}};u.unshift({id:L.id,params:e}),d.unshift({id:L.id,params:{range:s,unitId:r,subUnitId:i}})}return{undos:d,redos:u}}_handleMoveRowsCommand(e,n,r){var i;let a=this._sheetsFilterService.getFilterModel(n,r),o=(i=a==null?void 0:a.getRange())==null?null:i;if(!a||!o)return this._handleNull();let{startRow:s,endRow:c}=o,{fromRange:l,toRange:u}=e;if(l.endRow<s&&u.startRow<=s||l.startRow>c&&u.endRow>c)return this._handleNull();let d=[],f=[],p={};for(let e=s;e<=c;e++)p[e]={oldIndex:e};let m=s,h=c;c>=l.startRow&&c<=l.endRow&&u.startRow<l.startRow&&l.startRow>s&&(h=l.startRow-1),(0,t.moveMatrixArray)(l.startRow,l.endRow-l.startRow+1,u.startRow,p);let g=Object.keys(p).map(e=>Number(e)),_=g.find(e=>p[e].oldIndex===h),v=g.find(e=>p[e].oldIndex===m);if(s!==v||c!==_){let e={unitId:n,subUnitId:r,range:{...o,startRow:v,endRow:_}};d.push({id:L.id,params:e},{id:B.id,params:{unitId:n,subUnitId:r}}),f.push({id:L.id,params:{range:o,unitId:n,subUnitId:r}},{id:B.id,params:{unitId:n,subUnitId:r}})}return{redos:d,undos:f}}_handleMoveRangeCommand(e,n,r){let{fromRange:i,toRange:a}=e,o=this._sheetsFilterService.getFilterModel(n,r);if(!o)return this._handleNull();let s=o.getRange();if(!s)return this._handleNull();let c=[],l=[];if(t.Rectangle.contains(i,s)){let e=s.startRow-i.startRow,t=s.startColumn-i.startColumn,u={startRow:a.startRow+e,startColumn:a.startColumn+t,endRow:a.startRow+e+(s.endRow-s.startRow),endColumn:a.startColumn+t+(s.endColumn-s.startColumn)},d={id:z.id,params:{unitId:n,subUnitId:r}},f={id:L.id,params:{unitId:n,subUnitId:r,range:u}},p={id:L.id,params:{unitId:n,subUnitId:r,range:s}};c.push(d,f),l.push(d,p);let m=o.getAllFilterColumns(),h=a.startColumn-i.startColumn;m.forEach(e=>{let[t,i]=e;i&&(c.push({id:R.id,params:{unitId:n,subUnitId:r,col:t+h,criteria:{...i.serialize(),colId:t+h}}}),l.push({id:R.id,params:{unitId:n,subUnitId:r,col:t,criteria:{...i.serialize(),colId:t}}}))})}else if(t.Rectangle.intersects(a,s)){let e={...s,endRow:Math.max(s.endRow,a.endRow)};c.push({id:L.id,params:{unitId:n,subUnitId:r,range:e}}),l.push({id:L.id,params:{unitId:n,subUnitId:r,range:s}})}return{redos:c,undos:l}}_handleRemoveSheetCommand(e,t,n){let r=this._sheetsFilterService.getFilterModel(t,n);if(!r)return this._handleNull();let i=r.getRange();if(!i)return this._handleNull();let a=[],o=[];return r.getAllFilterColumns().forEach(([e,r])=>{o.push({id:R.id,params:{unitId:t,subUnitId:n,col:e,criteria:{...r.serialize(),colId:e}}})}),a.push({id:z.id,params:{unitId:t,subUnitId:n,range:i}}),o.unshift({id:L.id,params:{range:i,unitId:t,subUnitId:n}}),{undos:o,redos:a}}_handleCopySheetCommand(e,t,n){let r=this._sheetsFilterService.getFilterModel(e,t);if(!r)return this._handleNull();let i=r.getRange();if(!i)return this._handleNull();let a=[],o=[],s=[];return r.getAllFilterColumns().forEach(([t,r])=>{a.push({id:R.id,params:{unitId:e,subUnitId:n,col:t,criteria:{...r.serialize(),colId:t}}}),s.push({id:R.id,params:{unitId:e,subUnitId:n,col:t,criteria:null}})}),s.push({id:z.id,params:{unitId:e,subUnitId:n,range:i}}),a.unshift({id:L.id,params:{range:i,unitId:e,subUnitId:n}}),{undos:o,redos:a,preUndos:s,preRedos:[]}}_handleNull(){return{redos:[],undos:[]}}_initRowFilteredInterceptor(){this.disposeWithMe(this._sheetInterceptorService.intercept(n.INTERCEPTOR_POINT.ROW_FILTERED,{handler:(e,t)=>{var n,r;return e?!0:(n=(r=this._sheetsFilterService.getFilterModel(t.unitId,t.subUnitId))==null?void 0:r.isRowFiltered(t.row))==null?!1:n}}))}_moveCriteria(e,t,n,r){let i={unitId:e,subUnitId:t,criteria:null,col:-1},a=[],o=[],s=[],c=[];return n.forEach(e=>{let[t,n]=e;o.push({id:R.id,params:{...i,col:t}}),a.push({id:R.id,params:{...i,col:t,criteria:{...n.serialize(),colId:t}}})}),n.forEach(e=>{let[t,n]=e;c.push({id:R.id,params:{...i,col:t+r,criteria:{...n.serialize(),colId:t+r}}}),s.push({id:R.id,params:{...i,col:t+r,criteria:null}})}),{newRange:{redos:c,undos:s},oldRange:{redos:o,undos:a}}}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{let{unitId:r,subUnitId:i}=e.params||{},a=this._sheetsFilterService.getFilterModel(r,i);if(!a)return;let o=Array.from(a.filteredOutRows).sort((e,t)=>e-t),s=[],c=!1;if(e.id===n.RemoveRowMutation.id){let{startRow:t,endRow:n}=e.params.range,r=o.filter(e=>e>=t&&e<=n);o.forEach(e=>{if(e<t)s.push(e);else if(c=!0,e<=n){let e=Math.max(t,s.length?s[s.length-1]+1:t);s.push(e)}else s.push(e-(n-t+1-r.length))})}if(e.id===n.InsertRowMutation.id){let{startRow:t,endRow:n}=e.params.range;o.forEach(e=>{e>=t?(c=!0,s.push(e+(n-t+1))):s.push(e)})}if(c&&(a.filteredOutRows=new Set(s)),e.id===n.SetRangeValuesMutation.id&&!(t!=null&&t.onlyLocal)){let t=this._getExtendRegion(r,i);if(t){let a=e.params.cellValue;if(a)for(let e=t.startColumn;e<=t.endColumn;e++){var l;let o=a==null||(l=a[t.startRow])==null?void 0:l[e];if(o&&this._cellHasValue(o)){var u;let e=(u=this._univerInstanceService.getUnit(r))==null?void 0:u.getSheetBySheetId(i);if(e){let a=(0,n.expandToContinuousRange)(t,{down:!0},e),o=this._sheetsFilterService.getFilterModel(r,i),s=o.getRange();o.setRange({...s,endRow:a.endRow}),this._registerRefRange(r,i)}}}}}}))}_getExtendRegion(e,t){var n;let r=this._sheetsFilterService.getFilterModel(e,t);if(!r)return null;let i=(n=this._univerInstanceService.getUnit(e))==null?void 0:n.getSheetBySheetId(t);if(!i)return null;let a=r.getRange();if(!a)return null;let o=i.getRowCount()-1,s=i.getRowManager();for(let e=a.endRow+1;e<=o;e++)if(s.getRowRawVisible(e))return{startRow:e,endRow:e,startColumn:a.startColumn,endColumn:a.endColumn};return null}_initErrorHandling(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{let t=e.params,r=(0,n.getSheetCommandTarget)(this._univerInstanceService,t);if(!r)return;let{subUnitId:i,unitId:a}=r,o=this._sheetsFilterService.getFilterModel(a,i);if(!o)return;let s=o.getRange();if(e.id===n.MoveRowsCommand.id&&t.fromRange.startRow<=s.startRow&&t.fromRange.endRow<s.endRow&&t.fromRange.endRow>=s.startRow)throw this._sheetsFilterService.setFilterErrorMsg(`sheets-filter.msg.filter-header-forbidden`),Error(`[SheetsFilterController]: Cannot move header row of filter`)}))}_cellHasValue(e){let t=Object.values(e);return!(t.length===0||t.every(e=>e==null))}};X=P([N(0,t.ICommandService),N(1,(0,t.Inject)(n.SheetInterceptorService)),N(2,(0,t.Inject)(I)),N(3,t.IUniverInstanceService),N(4,(0,t.Inject)(n.RefRangeService)),N(5,(0,t.Optional)(a.DataSyncPrimaryController)),N(6,(0,t.Inject)(n.ZebraCrossingCacheController))],X);let _e=[R.id,B.id],ve=[n.InsertColMutation.id,n.RemoveColMutation.id,n.MoveColsMutation.id],Z=class extends t.Disposable{get visible(){return this._visible$.getValue()}get enabled(){return this._enabled$.getValue()}constructor(e,n,i){super(),this._sheetsFilterController=e,this._commandService=n,this._configService=i,O(this,`_d`,new t.DisposableCollection),O(this,`_visible$`,new r.BehaviorSubject(!1)),O(this,`visible$`,this._visible$.asObservable()),O(this,`_enabled$`,new r.BehaviorSubject(!0)),O(this,`enabled$`,this._enabled$.asObservable());let a=this._configService.getConfig(q);if(a!=null&&a.enableSyncSwitch&&(this._visible$.next(!0),typeof a.enableSyncSwitch==`object`)){var o;this.setEnabled((o=a.enableSyncSwitch.defaultValue)==null?!0:o)}}setEnabled(e){this._enabled$.next(e),e?this._d.dispose():this._initOnlyLocalListener()}_initOnlyLocalListener(){this._d.add(this._commandService.beforeCommandExecuted((e,t)=>{_e.includes(e.id)&&(t||(t={}),t.onlyLocal=!0)})),this._d.add(this._commandService.onCommandExecuted((e,r)=>{if(ve.includes(e.id)&&r!=null&&r.fromCollab){if(e.id===n.InsertColMutation.id){let{range:n,unitId:i,subUnitId:a}=e.params,{redos:o}=this._sheetsFilterController.handleInsertColCommand(n,i,a);(0,t.sequenceExecute)(o,this._commandService,r)}else if(e.id===n.RemoveColMutation.id){let{range:n,unitId:i,subUnitId:a}=e.params,{redos:o}=this._sheetsFilterController.handleRemoveColCommand(n,i,a);(0,t.sequenceExecute)(o,this._commandService,r)}else if(e.id===n.MoveColsMutation.id){let{sourceRange:n,targetRange:i,unitId:a,subUnitId:o}=e.params,{redos:s}=this._sheetsFilterController.handleMoveColsCommand({fromRange:n,toRange:i},a,o);(0,t.sequenceExecute)(s,this._commandService,r)}}}))}};Z=P([N(0,(0,t.Inject)(X)),N(1,t.ICommandService),N(2,t.IConfigService)],Z);var ye=`@univerjs/sheets-filter`,be=`0.25.0`;let Q=class extends t.Disposable{constructor(e,t,n,r){super(),this._activeDirtyManagerService=e,this._sheetRowFilteredService=t,this._sheetsFilterService=n,this._univerInstanceService=r,this._initFormulaDirtyRange(),this._registerSheetRowFiltered()}_initFormulaDirtyRange(){d.forEach(e=>{this._activeDirtyManagerService.register(e,{commandId:e,getDirtyData:e=>{let{unitId:t,subUnitId:n}=e.params;return{dirtyRanges:this._getHideRowMutation(t,n),clearDependencyTreeCache:{[t]:{[n]:`1`}}}}})})}_getHideRowMutation(e,t){var n,r;let i=(n=this._sheetsFilterService.getFilterModel(e,t))==null?void 0:n.getRange(),a=(r=this._univerInstanceService.getUnit(e))==null?void 0:r.getSheetBySheetId(t);if(i==null||a==null)return[];let{startRow:o,endRow:s}=i;return[{unitId:e,sheetId:t,range:{startRow:o,startColumn:0,endRow:s,endColumn:a.getColumnCount()-1}}]}_registerSheetRowFiltered(){this._sheetRowFilteredService.register((e,t,n)=>{var r,i;return(r=(i=this._sheetsFilterService.getFilterModel(e,t))==null?void 0:i.isRowFiltered(n))==null?!1:r})}};Q=P([N(0,(0,t.Inject)(o.IActiveDirtyManagerService)),N(1,(0,t.Inject)(o.ISheetRowFilteredService)),N(2,(0,t.Inject)(I)),N(3,t.IUniverInstanceService)],Q);let $=class extends t.Plugin{constructor(e=J,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{...i}=(0,t.merge)({},J,this._config);this._configService.setConfig(q,i)}onStarting(){[[Q],[I],[X],[Z]].forEach(e=>this._injector.add(e))}onReady(){(0,t.touchDependencies)(this._injector,[[Q],[X],[Z]])}};O($,`type`,t.UniverInstanceType.UNIVER_SHEET),O($,`pluginName`,F),O($,`packageName`,ye),O($,`version`,be),$=P([N(1,(0,t.Inject)(t.Injector)),N(2,t.IConfigService)],$),e.ClearSheetsFilterCriteriaCommand=W,e.CustomFilterOperator=p,e.FILTER_MUTATIONS=d,e.FilterBy=f,e.FilterColumn=j,e.FilterModel=A,e.ReCalcSheetsFilterCommand=G,e.ReCalcSheetsFilterMutation=B,e.RemoveSheetFilterCommand=H,e.RemoveSheetsFilterMutation=z,e.SHEET_FILTER_SNAPSHOT_ID=F,e.SetSheetFilterRangeCommand=V,e.SetSheetsFilterCriteriaCommand=U,e.SetSheetsFilterCriteriaMutation=R,e.SetSheetsFilterRangeMutation=L,Object.defineProperty(e,"SheetsFilterService",{enumerable:!0,get:function(){return I}}),Object.defineProperty(e,"SheetsFilterSyncController",{enumerable:!0,get:function(){return Z}}),e.SmartToggleSheetsFilterCommand=fe,Object.defineProperty(e,"UniverSheetsFilterPlugin",{enumerable:!0,get:function(){return $}}),e.equals=v,e.getCustomFilterFn=S,e.greaterThan=m,e.greaterThanOrEqualTo=h,e.lessThan=g,e.lessThanOrEqualTo=_,e.notEquals=y});
34
-
35
- // @univerjs/sheets-filter/facade
36
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/sheets-filter"),require("@univerjs/sheets/facade")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/core/facade`,`@univerjs/sheets-filter`,`@univerjs/sheets/facade`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsFilterFacade={},e.UniverCore,e.UniverCoreFacade,e.UniverSheetsFilter,e.UniverSheetsFacade))})(this,function(e,t,n,r,i){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var a=class extends n.FUniver{_initialize(e){let n=e.get(t.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.SheetBeforeRangeFilter,()=>n.beforeCommandExecuted(e=>{e.id===r.SetSheetsFilterCriteriaCommand.id&&this._beforeRangeFilter(e)}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetBeforeRangeFilterClear,()=>n.beforeCommandExecuted(e=>{e.id===r.ClearSheetsFilterCriteriaCommand.id&&this._beforeRangeFilterClear()}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetRangeFiltered,()=>n.onCommandExecuted(e=>{e.id===r.SetSheetsFilterCriteriaCommand.id&&this._onRangeFiltered(e)}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetRangeFilterCleared,()=>n.onCommandExecuted(e=>{e.id===r.ClearSheetsFilterCriteriaCommand.id&&this._onRangeFilterCleared()})))}_beforeRangeFilter(e){let t=e.params,n=this.getUniverSheet(t.unitId),r={workbook:n,worksheet:n.getSheetBySheetId(t.subUnitId),col:t.col,criteria:t.criteria};if(this.fireEvent(this.Event.SheetBeforeRangeFilter,r),r.cancel)throw Error(`SetSheetsFilterCriteriaCommand canceled.`)}_onRangeFiltered(e){let t=e.params,n=this.getUniverSheet(t.unitId),r={workbook:n,worksheet:n.getSheetBySheetId(t.subUnitId),col:t.col,criteria:t.criteria};this.fireEvent(this.Event.SheetRangeFiltered,r)}_beforeRangeFilterClear(){let e=this.getActiveWorkbook();if(!e)return;let t={workbook:e,worksheet:e.getActiveSheet()};if(this.fireEvent(this.Event.SheetBeforeRangeFilterClear,t),t.cancel)throw Error(`SetSheetsFilterCriteriaCommand canceled.`)}_onRangeFilterCleared(){let e=this.getActiveWorkbook();if(!e)return;let t={workbook:e,worksheet:e.getActiveSheet()};this.fireEvent(this.Event.SheetRangeFilterCleared,t)}};n.FUniver.extend(a);function o(e,t){return function(n,r){t(n,r,e)}}function s(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let c=class{constructor(e,t,n,r,i){this._workbook=e,this._worksheet=t,this._filterModel=n,this._injector=r,this._commandSrv=i}getFilteredOutRows(){return Array.from(this._filterModel.filteredOutRows).sort()}getColumnFilterCriteria(e){var t;return(t=this._filterModel.getFilterColumn(e))==null?void 0:t.getColumnData()}removeColumnFilterCriteria(e){return this._commandSrv.syncExecuteCommand(r.SetSheetsFilterCriteriaCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),col:e,criteria:null}),this}setColumnFilterCriteria(e,t){return this._commandSrv.syncExecuteCommand(r.SetSheetsFilterCriteriaCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),col:e,criteria:t}),this}getRange(){let e=this._filterModel.getRange();return this._injector.createInstance(i.FRange,this._workbook,this._worksheet,e)}removeFilterCriteria(){return this._commandSrv.syncExecuteCommand(r.ClearSheetsFilterCriteriaCommand.id),this}remove(){return this._commandSrv.syncExecuteCommand(r.RemoveSheetFilterCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()})}};c=s([o(3,(0,t.Inject)(t.Injector)),o(4,t.ICommandService)],c);var l=class extends i.FRange{createFilter(){return this._getFilterModel()||!this._commandService.syncExecuteCommand(r.SetSheetFilterRangeCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range})?null:this.getFilter()}getFilter(){let e=this._getFilterModel();return e?this._injector.createInstance(c,this._workbook,this._worksheet,e):null}_getFilterModel(){return this._injector.get(r.SheetsFilterService).getFilterModel(this._workbook.getUnitId(),this._worksheet.getSheetId())}};i.FRange.extend(l);var u=class extends i.FWorksheet{getFilter(){let e=this._getFilterModel();return e?this._injector.createInstance(c,this._workbook,this._worksheet,e):null}_getFilterModel(){return this._injector.get(r.SheetsFilterService).getFilterModel(this._workbook.getUnitId(),this._worksheet.getSheetId())}};i.FWorksheet.extend(u);var d=class extends n.FEnum{get CustomFilterOperator(){return r.CustomFilterOperator}};n.FEnum.extend(d);var f=class extends n.FEventName{get SheetBeforeRangeFilter(){return`SheetBeforeRangeFilter`}get SheetRangeFiltered(){return`SheetRangeFiltered`}get SheetRangeFilterCleared(){return`SheetRangeFilterCleared`}get SheetBeforeRangeFilterClear(){return`SheetBeforeRangeFilterClear`}};n.FEventName.extend(f),Object.defineProperty(e,"FFilter",{enumerable:!0,get:function(){return c}})});
37
-
38
- // @univerjs/sheets-formula/index
39
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/engine-formula"),require("rxjs"),require("@univerjs/rpc")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets`,`@univerjs/engine-formula`,`rxjs`,`@univerjs/rpc`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsFormula={},e.UniverCore,e.UniverSheets,e.UniverEngineFormula,e.rxjs,e.UniverRpc))})(this,function(e,t,n,r,i,a){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let o={id:`formula.command.insert-function`,type:t.CommandType.COMMAND,handler:async(e,r)=>{let{list:i,listOfRangeHasNumber:a}=r,o=e.get(t.ICommandService),s=new t.ObjectMatrix;i.forEach(e=>{let{range:n,primary:r,formula:i}=e,{row:a,column:o}=r,c=(0,t.generateRandomId)(6);s.setValue(a,o,{f:i,si:c});let{startRow:l,startColumn:u,endRow:d,endColumn:f}=n;for(let e=l;e<=d;e++)for(let t=u;t<=f;t++)(e!==a||t!==o)&&s.setValue(e,t,{si:c})}),a&&a.length>0&&a.forEach(e=>{let{primary:t,formula:n}=e;s.setValue(t.row,t.column,{f:n})});let c={value:s.getData()};return o.executeCommand(n.SetRangeValuesCommand.id,c)}},s={id:`sheets-formula.command.quick-sum`,type:t.CommandType.COMMAND,handler:async e=>{let i=e.get(n.SheetsSelectionsService).getCurrentLastSelection();if(!i)return!1;let a=(0,n.getSheetCommandTarget)(e.get(t.IUniverInstanceService));if(!a)return!1;let o=i.range,{worksheet:s}=a,c=(0,n.findFirstNonEmptyCell)(o,s);if(!c)return!1;c=(0,n.alignToMergedCellsBorders)(c,s);let l=(0,n.expandToContinuousRange)({startRow:c.startRow,startColumn:c.startColumn,endRow:o.endRow,endColumn:o.endColumn},{left:!0,right:!0,up:!0,down:!0},s),u=new t.ObjectMatrix,d=(0,n.alignToMergedCellsBorders)({startRow:l.endRow,endRow:l.endRow,startColumn:l.startColumn,endColumn:l.endColumn},s);if(!t.Rectangle.equals(d,l))for(let e of s.iterateByColumn(d))(!e.value||!s.cellHasValue(e.value))&&u.setValue(e.row,e.col,{f:`=SUM(${(0,r.serializeRange)({startColumn:e.col,endColumn:e.col,startRow:l.startRow,endRow:e.row-1})})`});let f=(0,n.alignToMergedCellsBorders)({startRow:l.startRow,startColumn:l.endColumn,endRow:l.endRow,endColumn:l.endColumn},s);if(!t.Rectangle.equals(f,l))for(let e of s.iterateByRow(f))(!e.value||!s.cellHasValue(e.value))&&u.setValue(e.row,e.col,{f:`=SUM(${(0,r.serializeRange)({startColumn:l.startColumn,endColumn:e.col-1,startRow:e.row,endRow:e.row})})`});let p=e.get(t.ICommandService);return(await(0,t.sequenceExecuteAsync)([{id:n.SetRangeValuesCommand.id,params:{range:l,value:u.getMatrix()}},{id:n.SetSelectionsOperation.id,params:{unitId:a.unitId,subUnitId:a.subUnitId,selections:[{range:l,primary:t.Rectangle.contains(l,i.primary)?i.primary:{...c,actualRow:c.startRow,actualColumn:c.startColumn},style:null}]}}],p)).result}},c=`sheets-formula.base.config`,l=function(e){return e[e.FORCED=0]=`FORCED`,e[e.WHEN_EMPTY=1]=`WHEN_EMPTY`,e[e.NO_CALCULATION=2]=`NO_CALCULATION`,e}({}),u={},d={};function f(e,t){return function(n,r){t(n,r,e)}}function p(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 m=class extends t.Disposable{constructor(e,t){super(),this._autoFillService=e,this._lexerTreeBuilder=t,this._registerAutoFill()}_registerAutoFill(){let e={type:n.AUTO_FILL_DATA_TYPE.FORMULA,priority:1001,match:e=>(0,t.isFormulaString)(e==null?void 0:e.f)||(0,t.isFormulaId)(e==null?void 0:e.si),isContinue:(e,t)=>e.type===n.AUTO_FILL_DATA_TYPE.FORMULA,applyFunctions:{[n.AUTO_FILL_APPLY_TYPE.COPY]:(e,t,n,r,i)=>{let{data:a,index:o}=e;return this._fillCopyFormula(a,t,n,o,r,i)}}};this._autoFillService.registerRule(e)}_fillCopyFormula(e,n,r,i,a,o){let s=g(a),c=[],l=new Map;for(let a=1;a<=n;a++){let f=(a-1)%e.length,p=i[f],m=t.Tools.deepClone(e[f]);if(m){var u,d;let i=((u=e[f])==null?void 0:u.f)||``,a=((d=e[f])==null?void 0:d.si)||``,g=(0,t.isFormulaString)(i);if((0,t.isFormulaId)(a))m.si=a,m.f=null,m.v=null,m.p=null,m.t=null,c.push(m);else if(g){let e=l.get(f);if(e)m.si=e,m.f=null,m.v=null,m.p=null,m.t=null;else{e=(0,t.generateRandomId)(6),l.set(f,e);let{offsetX:a,offsetY:c}=h(s,n,r,o,p),u=this._lexerTreeBuilder.moveFormulaRefOffset(i,a,c);m.si=e,m.f=u,m.v=null,m.p=null,m.t=null}c.push(m)}}}return c}};m=p([f(0,n.IAutoFillService),f(1,(0,t.Inject)(r.LexerTreeBuilder))],m);function h(e,n,r,i,a){let{source:o,target:s}=i,{rows:c}=s,{rows:l}=o,u=0,d=0;switch(r){case t.Direction.UP:d=c[a]-l[a];break;case t.Direction.RIGHT:u=e;break;case t.Direction.DOWN:d=c[a]-l[a];break;case t.Direction.LEFT:u=-e*n;break}return{offsetX:u,offsetY:d}}function g(e){let t=0;for(let n in e)e[n].forEach(e=>{t+=e.data.length});return t}function _(e){"@babel/helpers - typeof";return _=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},_(e)}function v(e,t){if(_(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(_(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function y(e){var t=v(e,`string`);return _(t)==`symbol`?t:t+``}function b(e,t,n){return(t=y(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let x={id:0,initialized:!1,started:!1,progress:null,stopped:!1,completed:!1,resultEmitted:!1,resultApplied:!0};var S=class extends t.Disposable{constructor(...e){super(...e),b(this,`_state$`,new i.BehaviorSubject(x)),b(this,`_resultApplied$`,new i.Subject),b(this,`_currentResult`,null),b(this,`_hasEmittedCurrentResultApplied`,!1),b(this,`state$`,this._state$.asObservable()),b(this,`resultApplied$`,this._resultApplied$.asObservable())}get state(){return this._state$.getValue()}dispose(){super.dispose(),this._state$.complete(),this._resultApplied$.complete()}initialize(){this._emit({...this.state,initialized:!0})}start(){this._emit({id:this.state.id+1,initialized:this.state.initialized,started:!0,progress:null,stopped:!1,completed:!1,resultEmitted:!1,resultApplied:!1}),this._currentResult=null,this._hasEmittedCurrentResultApplied=!1}updateProgress(e){this.state.started||this.start();let t=(e.stage===r.FormulaExecuteStageType.START_CALCULATION||e.stage===r.FormulaExecuteStageType.START_CALCULATION_ARRAY_FORMULA)&&e.totalFormulasToCalculate+e.totalArrayFormulasToCalculate===0;this._emit({...this.state,progress:e,completed:this.state.completed||e.stage===r.FormulaExecuteStageType.CALCULATION_COMPLETED||t,resultApplied:this.state.resultApplied||t})}markStopped(){this._emit({...this.state,stopped:!0,completed:!0,resultApplied:!0})}markCompleted(e){let t=e===r.FormulaExecutedStateType.NOT_EXECUTED||e===r.FormulaExecutedStateType.INITIAL;this._emit({...this.state,stopped:e===r.FormulaExecutedStateType.STOP_EXECUTION,completed:e!==r.FormulaExecutedStateType.INITIAL,resultApplied:this.state.resultApplied||t||e===r.FormulaExecutedStateType.STOP_EXECUTION})}markResultEmitted(e,t){this._currentResult!==e&&(this._hasEmittedCurrentResultApplied=!1),this._currentResult=e;let n=this.state.resultApplied||!t;this._emit({...this.state,resultEmitted:!0,resultApplied:n}),n&&this._emitResultApplied()}markResultApplied(){this._emit({...this.state,resultApplied:!0}),this._emitResultApplied()}waitForLatestApplied(e,t=500){let n=this.state,r=n.id,i=!n.initialized,a=n.started&&!this._isAppliedTerminalState(n);return new Promise((n,o)=>{let s=!1,c=null,l=null,u=null,d=()=>{u!=null&&(clearTimeout(u),u=null),g(),l!=null&&(clearTimeout(l),l=null),v.unsubscribe()},f=()=>{s||(s=!0,d(),n())},p=e=>{s||(s=!0,d(),o(e))},m=e=>{if(!this._isAppliedTerminalState(e))return;let t=e.id;c=t;let n=()=>{s||c!==t||this.state.id!==t||!this._isAppliedTerminalState(this.state)||f()};if(e.stopped&&!e.resultEmitted){l!=null&&clearTimeout(l),l=setTimeout(n,0);return}Promise.resolve().then(n)};e!=null&&(u=setTimeout(()=>{p(Error(`Calculation end timeout`))},e));let h=null,g=()=>{h!=null&&(clearTimeout(h),h=null)},_=()=>{g(),h=setTimeout(()=>{this.state.id===r&&!a&&f()},t)};!a&&!i&&_();let v=this.state$.subscribe(e=>{if((e.id!==r||a)&&g(),i&&e.initialized&&e.id===r&&!e.started){_();return}e.id===r&&!a||(c!==e.id&&(c=null),l!=null&&c!==e.id&&(clearTimeout(l),l=null),m(e))});a&&m(this.state)})}_emit(e){this._state$.next(e)}_emitResultApplied(){this._currentResult==null||this._hasEmittedCurrentResultApplied||(this._hasEmittedCurrentResultApplied=!0,this._resultApplied$.next(this._currentResult))}_isAppliedTerminalState(e){return!e.started||!e.resultApplied?!1:e.stopped||e.completed||e.resultEmitted}};let C=class extends t.Disposable{constructor(e,t){super(),this._commandService=e,this._sessionService=t,this._sessionService.initialize(),this._initialize()}_initialize(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{if(e.id===r.SetFormulaCalculationStartMutation.id){this._sessionService.start();return}if(e.id===r.SetFormulaCalculationNotificationMutation.id){let t=e.params;t.stageInfo!=null&&this._sessionService.updateProgress(t.stageInfo),t.functionsExecutedState!==void 0&&this._sessionService.markCompleted(t.functionsExecutedState);return}if(e.id===r.SetFormulaCalculationResultMutation.id){let t=e.params;this._sessionService.markResultEmitted(t,this._hasFormulaResultToApply(t));return}e.id===n.SetRangeValuesMutation.id&&t!=null&&t.applyFormulaCalculationResult&&this._sessionService.markResultApplied()}))}_hasFormulaResultToApply(e){let{unitData:t}=e;return Object.values(t==null?{}:t).some(e=>e!=null&&Object.values(e).some(e=>e!=null))}};C=p([f(0,t.ICommandService),f(1,(0,t.Inject)(S))],C);let w=class extends t.Disposable{constructor(e,n,i){super(),this._commandService=e,this._sheetInterceptorService=n,this._formulaDataModel=i,b(this,`_errorValueCell`,{v:r.ErrorType.VALUE,t:t.CellValueType.STRING}),b(this,`_refreshRender`,void 0),this._initialize()}_initialize(){this._commandExecutedListener(),this._initInterceptorCellContent()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(async e=>{if(e.id===r.SetImageFormulaDataMutation.id){let n=e.params;if(!n)return;let{imageFormulaData:r}=n;if(!r||r.length===0)return;let i=await Promise.all(r.map(e=>this._getImageNatureSize(e))),a={};i.forEach(e=>{let{unitId:n,sheetId:r,row:i,column:o,...s}=e;a[n]||(a[n]={}),a[n][r]||(a[n][r]=new t.ObjectMatrix),a[n][r].setValue(i,o,s)}),this._formulaDataModel.mergeUnitImageFormulaData(a),this._refreshRender()}}))}_initInterceptorCellContent(){this.disposeWithMe(this._sheetInterceptorService.intercept(n.INTERCEPTOR_POINT.CELL_CONTENT,{priority:n.InterceptCellContentPriority.CELL_IMAGE,effect:t.InterceptorEffectEnum.Value|t.InterceptorEffectEnum.Style,handler:(e,n,r)=>{var i;let{unitId:a,subUnitId:o,row:s,col:c}=n,l=this._formulaDataModel.getUnitImageFormulaData(),u=l==null||(i=l[a])==null||(i=i[o])==null?void 0:i.getValue(s,c);if(!u)return r(e);let{source:d,height:f,width:p,isErrorImage:m,imageNaturalWidth:h,imageNaturalHeight:g}=u;if(m)return r(this._errorValueCell);let _=p||h,v=f||g,y=(0,t.createDocumentModelWithStyle)(``,{}),b={unitId:a,subUnitId:o,drawingId:(0,t.generateRandomId)(),drawingType:t.DrawingTypeEnum.DRAWING_IMAGE,imageSourceType:t.ImageSourceType.URL,source:d,transform:{left:0,top:0,width:_,height:v},docTransform:{size:{width:_,height:v},positionH:{relativeFrom:t.ObjectRelativeFromH.PAGE,posOffset:0},positionV:{relativeFrom:t.ObjectRelativeFromV.PARAGRAPH,posOffset:0},angle:0},behindDoc:t.BooleanNumber.FALSE,title:``,description:``,layoutType:t.PositionedObjectLayoutType.INLINE,wrapText:t.WrapTextType.BOTH_SIDES,distB:0,distL:0,distR:0,distT:0},x=t.BuildTextUtils.drawing.add({documentDataModel:y,drawings:[b],selection:{collapsed:!0,startOffset:0,endOffset:0}});return x?(y.apply(x),r({...e,p:y.getSnapshot()})):r(this._errorValueCell)}}))}async _getImageNatureSize(e){let t=await this._getImageSize(e.source);return t.image?{...e,isErrorImage:!1,imageNaturalHeight:t.height,imageNaturalWidth:t.width}:{...e,isErrorImage:!0}}async _getImageSize(e){return new Promise(t=>{let n=new Image;n.src=e,n.onload=()=>{t({width:n.width,height:n.height,image:n})},n.onerror=()=>{t({width:0,height:0,image:null})}})}registerRefreshRenderFunction(e){this._refreshRender=e}};w=p([f(0,t.ICommandService),f(1,(0,t.Inject)(n.SheetInterceptorService)),f(2,(0,t.Inject)(r.FormulaDataModel))],w);let T={done:0,count:0},E={onlyLocal:!0},D=class extends t.Disposable{_emitProgress(e){this._progress$.next({done:this._doneCalculationTaskCount,count:this._totalCalculationTaskCount,label:e})}_startProgress(){this._doneCalculationTaskCount=0,this._totalCalculationTaskCount=1;let e=this._localeService.t(`sheets-formula.progress.analyzing`);this._emitProgress(e)}_calculateProgress(e){if(this._executionInProgressParams){let{totalFormulasToCalculate:t,completedFormulasCount:n,totalArrayFormulasToCalculate:r,completedArrayFormulasCount:i}=this._executionInProgressParams;if(this._doneCalculationTaskCount=n+i,this._totalCalculationTaskCount=t+r,this._totalCalculationTaskCount===0)return;this._emitProgress(e)}}_completeProgress(){this._doneCalculationTaskCount=this._totalCalculationTaskCount=1;let e=this._localeService.t(`sheets-formula.progress.done`);this._emitProgress(e)}clearProgress(){this._doneCalculationTaskCount=0,this._totalCalculationTaskCount=0,this._emitProgress()}constructor(e,n,r,a,o,s,c,l){super(),this._commandService=e,this._univerInstanceService=n,this._activeDirtyManagerService=r,this._logService=a,this._configService=o,this._formulaDataModel=s,this._localeService=c,this._registerOtherFormulaService=l,b(this,`_waitingCommandQueue`,[]),b(this,`_executingDirtyData`,{forceCalculation:!1,dirtyRanges:[],dirtyNameMap:{},dirtyDefinedNameMap:{},dirtySuperTableMap:{},dirtyUnitFeatureMap:{},dirtyUnitOtherFormulaMap:{},clearDependencyTreeCache:{}}),b(this,`_setTimeoutKey`,-1),b(this,`_startExecutionTime`,0),b(this,`_totalCalculationTaskCount`,0),b(this,`_doneCalculationTaskCount`,0),b(this,`_executionInProgressParams`,null),b(this,`_restartCalculation`,!1),b(this,`_progress$`,new i.BehaviorSubject(T)),b(this,`progress$`,this._progress$.asObservable()),this._commandExecutedListener(),this._initialExecuteFormulaProcessListener(),this._initialExecuteFormula(),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitAdded$(t.UniverInstanceType.UNIVER_SHEET).subscribe(()=>{this._initialExecuteFormula()}))}dispose(){super.dispose(),this._progress$.next(T),this._progress$.complete(),clearTimeout(this._setTimeoutKey)}_getCalculationMode(){var e;let t=this._configService.getConfig(c);return(e=t==null?void 0:t.initialFormulaComputing)==null?1:e}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===r.SetFormulaCalculationStartMutation.id||e.id===r.SetFormulaStringBatchCalculationMutation.id){let t=e.params;e.id===r.SetFormulaCalculationStartMutation.id&&(t.isCalculateTreeModel=this._configService.getConfig(r.ENGINE_FORMULA_RETURN_DEPENDENCY_TREE)||!1),t.maxIteration=this._configService.getConfig(r.ENGINE_FORMULA_CYCLE_REFERENCE_COUNT),t.rowData=this._formulaDataModel.getHiddenRowsFiltered()}})),this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{if(this._activeDirtyManagerService.get(e.id)){if(e.id===n.SetRangeValuesMutation.id){let r=e.params;if(t&&t.onlyLocal===!0||r.trigger===n.SetStyleCommand.id||r.trigger===n.SetBorderCommand.id||r.trigger===n.ClearSelectionFormatCommand.id)return}this._waitingCommandQueue.push(e),clearTimeout(this._setTimeoutKey),this._setTimeoutKey=setTimeout(()=>{let e=this._generateDirty(this._waitingCommandQueue);this._executingDirtyData=this._mergeDirty(this._executingDirtyData,e),this._executionInProgressParams==null?this._commandService.executeCommand(r.SetFormulaCalculationStartMutation.id,{...this._executingDirtyData},E):(this._restartCalculation=!0,this._commandService.executeCommand(r.SetFormulaCalculationStopMutation.id,{})),this._waitingCommandQueue=[]},100)}}))}_generateDirty(e){let t=[],n={},r={},i={},a={},o={},s={},c=!1;for(let l of e){let e=this._activeDirtyManagerService.get(l.id);if(e==null)continue;let{dirtyRanges:u,dirtyNameMap:d,dirtyDefinedNameMap:f,dirtySuperTableMap:p,dirtyUnitFeatureMap:m,dirtyUnitOtherFormulaMap:h,clearDependencyTreeCache:g,forceCalculation:_=!1}=e.getDirtyData(l);u!=null&&this._mergeDirtyRanges(t,u),d!=null&&this._mergeDirtyUnitStringMap(n,d),f!=null&&this._mergeDirtyUnitStringMap(r,f),p!=null&&this._mergeDirtyUnitStringMap(i,p),m!=null&&this._mergeDirtyUnitFeatureOrOtherFormulaMap(a,m),h!=null&&this._mergeDirtyUnitFeatureOrOtherFormulaMap(o,h),g!=null&&this._mergeDirtyUnitStringMap(s,g),c=c||_}return{dirtyRanges:t,dirtyNameMap:n,dirtyDefinedNameMap:r,dirtySuperTableMap:i,dirtyUnitFeatureMap:a,dirtyUnitOtherFormulaMap:o,forceCalculation:c,clearDependencyTreeCache:s}}_mergeDirty(e,t){let n=[...e.dirtyRanges,...t.dirtyRanges],r={...e.dirtyNameMap},i={...e.dirtyDefinedNameMap},a={...e.dirtySuperTableMap},o={...e.dirtyUnitFeatureMap},s={...e.dirtyUnitOtherFormulaMap},c={...e.clearDependencyTreeCache};return this._mergeDirtyUnitStringMap(r,t.dirtyNameMap),this._mergeDirtyUnitStringMap(i,t.dirtyDefinedNameMap),this._mergeDirtyUnitStringMap(a,t.dirtySuperTableMap||{}),this._mergeDirtyUnitFeatureOrOtherFormulaMap(o,t.dirtyUnitFeatureMap),this._mergeDirtyUnitFeatureOrOtherFormulaMap(s,t.dirtyUnitOtherFormulaMap),this._mergeDirtyUnitStringMap(c,t.clearDependencyTreeCache),{dirtyRanges:n,dirtyNameMap:r,dirtyDefinedNameMap:i,dirtySuperTableMap:a,dirtyUnitFeatureMap:o,dirtyUnitOtherFormulaMap:s,forceCalculation:e.forceCalculation||t.forceCalculation,clearDependencyTreeCache:c}}_mergeDirtyRanges(e,t){for(let n of t){let t=!1;for(let r of e)if(n.unitId===r.unitId&&n.sheetId===r.sheetId){let{startRow:e,startColumn:i,endRow:a,endColumn:o}=n.range,{startRow:s,startColumn:c,endRow:l,endColumn:u}=r.range;if(e===s&&i===c&&a===l&&o===u){t=!0;break}}t||e.push(n)}}_mergeDirtyUnitStringMap(e,t){Object.keys(t).forEach(n=>{e[n]==null&&(e[n]={}),Object.keys(t[n]).forEach(r=>{var i;(i=t[n])!=null&&i[r]&&(e[n][r]=t[n][r])})})}_mergeDirtyUnitFeatureOrOtherFormulaMap(e,t){Object.keys(t).forEach(n=>{e[n]==null&&(e[n]={}),Object.keys(t[n]).forEach(r=>{e[n][r]==null&&(e[n][r]={}),Object.keys(t[n][r]).forEach(i=>{e[n][r][i]=t[n][r][i]||!1})})})}_initialExecuteFormulaProcessListener(){let e=null,t=0;this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===r.SetFormulaCalculationStopMutation.id&&this.clearProgress(),n.id!==r.SetFormulaCalculationNotificationMutation.id)return;let i=n.params;if(i.stageInfo!=null){let{stage:n}=i.stageInfo;if(n===r.FormulaExecuteStageType.START)t===0&&(this._startExecutionTime=performance.now()),t++,e!==null&&(clearTimeout(e),e=null),e=setTimeout(()=>{e=null,this._startProgress()},1e3);else if(n===r.FormulaExecuteStageType.CURRENTLY_CALCULATING){if(this._executionInProgressParams=i.stageInfo,e===null){let e=this._localeService.t(`sheets-formula.progress.calculating`);this._calculateProgress(e)}}else if(n===r.FormulaExecuteStageType.START_DEPENDENCY_ARRAY_FORMULA){if(this._executionInProgressParams=i.stageInfo,e===null){let e=this._localeService.t(`sheets-formula.progress.array-analysis`);this._calculateProgress(e)}}else if(n===r.FormulaExecuteStageType.CURRENTLY_CALCULATING_ARRAY_FORMULA&&(this._executionInProgressParams=i.stageInfo,e===null)){let e=this._localeService.t(`sheets-formula.progress.array-calculation`);this._calculateProgress(e)}}else{let n=i.functionsExecutedState,a=``;switch(t--,n){case r.FormulaExecutedStateType.NOT_EXECUTED:a=`No tasks are being executed anymore`,this._resetExecutingDirtyData();break;case r.FormulaExecutedStateType.STOP_EXECUTION:a=`The execution of the formula has been stopped`,t=0;break;case r.FormulaExecutedStateType.SUCCESS:a=`Formula calculation succeeded`,(t===0||t===-1)&&(a+=`. Total time consumed: ${performance.now()-this._startExecutionTime} ms`),this._resetExecutingDirtyData();break;case r.FormulaExecutedStateType.INITIAL:a=`Waiting for calculation`,this._resetExecutingDirtyData();break}(t===0||t===-1)&&(e?(clearTimeout(e),e=null,this.clearProgress()):this._completeProgress(),t=0,this._doneCalculationTaskCount=0,this._totalCalculationTaskCount=0),n===r.FormulaExecutedStateType.STOP_EXECUTION&&this._restartCalculation?(this._restartCalculation=!1,this._commandService.executeCommand(r.SetFormulaCalculationStartMutation.id,{...this._executingDirtyData},E)):this._executionInProgressParams=null,this._logService.debug(`[TriggerCalculationController]`,a)}}))}_resetExecutingDirtyData(){this._executingDirtyData={dirtyRanges:[],dirtyNameMap:{},dirtyDefinedNameMap:{},dirtySuperTableMap:{},dirtyUnitFeatureMap:{},dirtyUnitOtherFormulaMap:{},forceCalculation:!1,clearDependencyTreeCache:{}}}_initialExecuteFormula(){let e=this._getCalculationMode(),t=this._getDirtyDataByCalculationMode(e);this._commandService.executeCommand(r.SetTriggerFormulaCalculationStartMutation.id,t,E),this._registerOtherFormulaService.calculateStarted$.next(!0)}_getDirtyDataByCalculationMode(e){return{forceCalculation:e===0,dirtyRanges:e===1?this._formulaDataModel.getFormulaDirtyRanges():[],dirtyNameMap:{},dirtyDefinedNameMap:{},dirtySuperTableMap:{},dirtyUnitFeatureMap:{},dirtyUnitOtherFormulaMap:{},clearDependencyTreeCache:{}}}};D=p([f(0,t.ICommandService),f(1,t.IUniverInstanceService),f(2,r.IActiveDirtyManagerService),f(3,t.ILogService),f(4,t.IConfigService),f(5,(0,t.Inject)(r.FormulaDataModel)),f(6,(0,t.Inject)(t.LocaleService)),f(7,(0,t.Inject)(r.RegisterOtherFormulaService))],D);function O(e,t,n){var r;return e==null||e[t]==null||((r=e[t])==null?void 0:r[n])==null}function k(e,t,n){if(n){var r;if(e&&e[t]&&(r=e[t])!=null&&r[n])return delete e[t][n],{[t]:{[n]:null}}}else if(e&&e[t])return delete e[t],{[t]:null}}let A=[11,12,13,14,15,16];function j(e,t,n){let{type:r}=n;return A.includes(r)||r===17&&n.range==null?M(e,t):ee(e,t,n)}function M(e,r){let i=[],a=[];return Object.keys(r).forEach(o=>{let s=r[o],c=e[o];if(s==null||c==null)return!0;Object.keys(s).forEach(e=>{let r=new t.ObjectMatrix(s[e]||{}),l=new t.ObjectMatrix(c[e]||{}),u=new t.ObjectMatrix,d=new t.ObjectMatrix;if(r.forValue((e,t,n)=>{if(n==null)return!0;let r=N(n);r!==null&&(u.setValue(e,t,r),d.setValue(e,t,l.getValue(e,t)))}),u.getSizeOf()===0)return;let f={subUnitId:e,unitId:o,cellValue:u.getMatrix()},p={id:n.SetRangeValuesMutation.id,params:f};a.push(p);let m={subUnitId:e,unitId:o,cellValue:d.getMatrix()},h={id:n.SetRangeValuesMutation.id,params:m};i.push(h)})}),{undos:i,redos:a}}function ee(e,t,r){let{redoFormulaData:i,undoFormulaData:a}=te(e,t,r),o=[],s=[];return Object.keys(i).forEach(e=>{Object.keys(i[e]).forEach(t=>{if(Object.keys(i[e][t]).length!==0){let r={subUnitId:t,unitId:e,cellValue:i[e][t]},a={id:n.SetRangeValuesMutation.id,params:r};o.push(a)}})}),Object.keys(a).forEach(e=>{Object.keys(a[e]).forEach(t=>{if(Object.keys(a[e][t]).length!==0){let r={subUnitId:t,unitId:e,cellValue:a[e][t]},i={id:n.SetRangeValuesMutation.id,params:r};s.push(i)}})}),{undos:s,redos:o}}function te(e,n,r){var i,a;let o={},s={},{unitId:c,sheetId:l}=r,u=(i=r.targetUnitId)==null?c:i,d=(a=r.targetSheetId)==null?l:a,f=c!==u||l!==d;return new Set([...Object.keys(e),...Object.keys(n)]).forEach(i=>{O(e,i,l)||new Set([...Object.keys(e[i]||{}),...Object.keys(n[i]||{})]).forEach(a=>{var u,d;let p=(u=e[i])==null?void 0:u[a],m=(d=n[i])==null?void 0:d[a],h=new t.ObjectMatrix(p||{}),g=new t.ObjectMatrix(m||{}),_=[];_=f||i!==c||a!==l?re(g):ne(h,g,r);let v=_e(_,h,g),y=ve(_,h);o[i]||(o[i]={}),s[i]||(s[i]={}),o[i][a]={...o[i][a],...v},s[i][a]={...s[i][a],...y}})}),{redoFormulaData:o,undoFormulaData:s}}function ne(e,n,r){let{type:i,from:a,to:o,range:s}=r,c=[];return e.forValue((e,l,u)=>{if(u==null||!be(u))return!0;let d=(0,t.cellToRange)(e,l),f=null,p=!1;if([0,1,2].includes(i))f=ie(i,a,o,d);else if(s!=null){let e=ae(d,r);f=e.newCell,p=e.isReverse}if(t.Tools.diffValue(d,f)&&!n.getValue(e,l))return!0;p?c.unshift({oldCell:d,newCell:f}):c.push({oldCell:d,newCell:f})}),c}function re(e){let n=[];return e.forValue((e,r,i)=>{if(i==null||!be(i))return!0;let a=(0,t.cellToRange)(e,r);n.push({oldCell:a,newCell:a})}),n}function ie(e,t,n,r){if(t==null||n==null)return null;switch(e){case 0:return oe(t,n,r);case 1:return se(t,n,r);case 2:return ce(t,n,r);default:return null}}function ae(e,t){let{type:n,rangeFilteredRows:r}=t,i=t.range,a=null,o=!1;switch(n){case 3:a=le(i,e),o=!0;break;case 4:a=ue(i,e),o=!0;break;case 5:a=de(i,e,r);break;case 6:case 17:a=fe(i,e);break;case 7:a=pe(i,e);break;case 8:a=me(i,e);break;case 9:a=he(i,e),o=!0;break;case 10:a=ge(i,e),o=!0;break;default:break}return{newCell:a,isReverse:o}}function oe(e,t,r){return(0,n.runRefRangeMutations)((0,n.handleMoveRange)({id:n.EffectRefRangId.MoveRangeCommandId,params:{toRange:t,fromRange:e}},r),r)}function se(e,t,r){return(0,n.runRefRangeMutations)((0,n.handleMoveRows)({id:n.EffectRefRangId.MoveRowsCommandId,params:{toRange:t,fromRange:e}},r),r)}function ce(e,t,r){return(0,n.runRefRangeMutations)((0,n.handleMoveCols)({id:n.EffectRefRangId.MoveColsCommandId,params:{toRange:t,fromRange:e}},r),r)}function le(e,r){return(0,n.runRefRangeMutations)((0,n.handleInsertRow)({id:n.EffectRefRangId.InsertRowCommandId,params:{range:e,unitId:``,subUnitId:``,direction:t.Direction.DOWN}},r),r)}function ue(e,r){return(0,n.runRefRangeMutations)((0,n.handleInsertCol)({id:n.EffectRefRangId.InsertColCommandId,params:{range:e,unitId:``,subUnitId:``,direction:t.Direction.RIGHT}},r),r)}function de(e,t,r){return(0,n.runRefRangeMutations)((0,n.handleIRemoveRow)({id:n.EffectRefRangId.RemoveRowCommandId,params:{range:e}},t,r),t)}function fe(e,t){return(0,n.runRefRangeMutations)((0,n.handleIRemoveCol)({id:n.EffectRefRangId.RemoveColCommandId,params:{range:e}},t),t)}function pe(e,t){return(0,n.runRefRangeMutations)((0,n.handleDeleteRangeMoveLeft)({id:n.EffectRefRangId.DeleteRangeMoveLeftCommandId,params:{range:e}},t),t)}function me(e,t){return(0,n.runRefRangeMutations)((0,n.handleDeleteRangeMoveUp)({id:n.EffectRefRangId.DeleteRangeMoveUpCommandId,params:{range:e}},t),t)}function he(e,t){return(0,n.runRefRangeMutations)((0,n.handleInsertRangeMoveDown)({id:n.EffectRefRangId.InsertRangeMoveDownCommandId,params:{range:e}},t),t)}function ge(e,t){return(0,n.runRefRangeMutations)((0,n.handleInsertRangeMoveRight)({id:n.EffectRefRangId.InsertRangeMoveRightCommandId,params:{range:e}},t),t)}function _e(e,n,r){let i=new t.ObjectMatrix({});for(let t=0;t<e.length;t++){var a,o;let{oldCell:c,newCell:l}=e[t];if((a=i.getValue(c.startRow,c.startColumn))!=null&&a.f||(o=i.getValue(c.startRow,c.startColumn))!=null&&o.si||i.setValue(c.startRow,c.startColumn,{f:null,si:null}),l){var s;let e=N((s=r.getValue(c.startRow,c.startColumn))==null?n.getValue(c.startRow,c.startColumn):s);i.setValue(l.startRow,l.startColumn,e)}}return i.getMatrix()}function ve(e,n){let r=new t.ObjectMatrix({});for(let t=e.length-1;t>=0;t--){let{oldCell:i,newCell:a}=e[t],o=N(n.getValue(i.startRow,i.startColumn));if(r.setValue(i.startRow,i.startColumn,o),a){let e=N(n.getValue(a.startRow,a.startColumn));r.setValue(a.startRow,a.startColumn,e==null?{f:null,si:null}:e)}}return r.getMatrix()}function N(e){if(e===void 0)return;if(e===null)return{f:null,si:null};let{f:n,si:r,x:i=0,y:a=0}=e,o=(0,t.isFormulaString)(n),s=(0,t.isFormulaId)(r);if(!o&&!s)return{f:null,si:null};let c={};return s&&(c.si=r),o&&i===0&&a===0&&(c.f=n),c.f===void 0&&(c.f=null),c.si===void 0&&(c.si=null),c}function ye(e,n){let r=new t.ObjectMatrix({});return new t.ObjectMatrix(e).forValue((e,t,i)=>{var a;let o=N(i);o!==void 0&&(n&&(a=n[e])!=null&&a[t]&&(o!=null&&o.f||o!=null&&o.si)&&(o.v=null,o.t=null),r.setValue(e,t,o))}),r.getMatrix()}function be(e){let n=(e==null?void 0:e.f)||``,r=(e==null?void 0:e.si)||``,i=(0,t.isFormulaString)(n),a=(0,t.isFormulaId)(r);return!!(i||a)}function xe(e,t,n,r,i,a){if((i==null||i.length===0)&&(a==null||a.length===0)){if(e===n&&t===r)return!0}else if((e===i||i==null||i.length===0)&&t===a)return!0;return!1}function P(e,n,i=0,a=0){let o=[];for(let s=0,c=e.length;s<c;s++){let c=e[s];if(typeof c==`string`||c.nodeType!==r.sequenceNodeType.REFERENCE||n.includes(s)){o.push(c);continue}let{token:l}=c,{range:u,sheetName:d,unitId:f}=(0,r.deserializeRangeWithSheetWithCache)(l),p=t.Rectangle.moveOffset(u,i,a);o.push({...c,token:(0,r.serializeRangeToRefString)({range:p,unitId:f,sheetName:d})})}return o}function Se(e,i,a,o,s={}){let{type:c,unitId:l,sheetId:u,targetUnitId:d,targetSheetId:f,targetSheetName:p,range:m,from:h,to:g,rangeFilteredRows:_}=i,{range:v,sheetId:y,unitId:b,sheetName:x,refOffsetX:S,refOffsetY:C}=e,{preserveSheetQualifier:w=!1,inCrossSheetCutRange:T=!1}=s;if(!xe(l,u,a,o,b,y))return;let E=t.Rectangle.moveOffset(v,S,C),D=null;if(c===0){if(h==null||g==null)return;let e=we(E,h),i=(0,t.getIntersectRange)(E,h);if(i==null||e!==4)return;let a=(0,n.runRefRangeMutations)((0,n.handleMoveRange)({id:n.EffectRefRangId.MoveRangeCommandId,params:{toRange:g,fromRange:h}},i),i);if(a==null)return r.ErrorType.REF;D=Ce(e,a,h,g,E,i)}else if(c===1){if(h==null||g==null)return;let e=we(E,h),i=(0,t.getIntersectRange)(E,h);if(i==null&&(h.endRow<E.startRow&&g.endRow<=E.startRow||h.startRow>E.endRow&&g.startRow>E.endRow))return;i==null&&(i={startRow:E.startRow,endRow:E.endRow,startColumn:E.startColumn,endColumn:E.endColumn,rangeType:t.RANGE_TYPE.NORMAL});let a=(0,n.runRefRangeMutations)((0,n.handleMoveRows)({id:n.EffectRefRangId.MoveRowsCommandId,params:{toRange:g,fromRange:h}},i),i);if(a==null)return r.ErrorType.REF;D=Ce(e,a,h,g,E,i)}else if(c===2){if(h==null||g==null)return;let e=we(E,h),i=(0,t.getIntersectRange)(E,h);if(i==null&&(h.endColumn<E.startColumn&&g.endColumn<=E.startColumn||h.startColumn>E.endColumn&&g.startColumn>E.endColumn))return;i==null&&(i={startRow:E.startRow,endRow:E.endRow,startColumn:E.startColumn,endColumn:E.endColumn,rangeType:t.RANGE_TYPE.NORMAL});let a=(0,n.runRefRangeMutations)((0,n.handleMoveCols)({id:n.EffectRefRangId.MoveColsCommandId,params:{toRange:g,fromRange:h}},i),i);if(a==null)return r.ErrorType.REF;D=Ce(e,a,h,g,E,i)}if(m!=null){if(c===3){let e=(0,n.runRefRangeMutations)((0,n.handleInsertRow)({id:n.EffectRefRangId.InsertRowCommandId,params:{range:m,unitId:``,subUnitId:``,direction:t.Direction.DOWN}},E),E);if(e==null)return;D={...E,...e}}else if(c===4){let e=(0,n.runRefRangeMutations)((0,n.handleInsertCol)({id:n.EffectRefRangId.InsertColCommandId,params:{range:m,unitId:``,subUnitId:``,direction:t.Direction.RIGHT}},E),E);if(e==null)return;D={...E,...e}}else if(c===5){let e=(0,n.runRefRangeMutations)((0,n.handleIRemoveRow)({id:n.EffectRefRangId.RemoveRowCommandId,params:{range:m}},E,_),E);if(e==null)return r.ErrorType.REF;D={...E,...e}}else if(c===6){let e=(0,n.runRefRangeMutations)((0,n.handleIRemoveCol)({id:n.EffectRefRangId.RemoveColCommandId,params:{range:m}},E),E);if(e==null)return r.ErrorType.REF;D={...E,...e}}else if(c===7){let e=(0,n.runRefRangeMutations)((0,n.handleDeleteRangeMoveLeft)({id:n.EffectRefRangId.DeleteRangeMoveLeftCommandId,params:{range:m}},E),E);if(e==null)return r.ErrorType.REF;D={...E,...e}}else if(c===8){let e=(0,n.runRefRangeMutations)((0,n.handleDeleteRangeMoveUp)({id:n.EffectRefRangId.DeleteRangeMoveUpCommandId,params:{range:m}},E),E);if(e==null)return r.ErrorType.REF;D={...E,...e}}else if(c===9){let e=(0,n.runRefRangeMutations)((0,n.handleInsertRangeMoveDown)({id:n.EffectRefRangId.InsertRangeMoveDownCommandId,params:{range:m}},E),E);if(e==null)return;D={...E,...e}}else if(c===10){let e=(0,n.runRefRangeMutations)((0,n.handleInsertRangeMoveRight)({id:n.EffectRefRangId.InsertRangeMoveRightCommandId,params:{range:m}},E),E);if(e==null)return;D={...E,...e}}}if(D==null)return;let O=c===0&&!!f&&f!==u&&!T,k=O?f:y,A=O&&p||x,j=O&&d||b,M=j==null||j.length===0||j===a;return(0,r.serializeRangeToRefString)({range:D,sheetName:w||!(M&&k===o)?A:``,unitId:M?``:j})}function Ce(e,n,r,i,a,o){let{startRow:s,endRow:c,startColumn:l,endColumn:u,rangeType:d}=L(n),{startRow:f,startColumn:p,endRow:m,endColumn:h,rangeType:g=t.RANGE_TYPE.NORMAL}=L(r),{startRow:_,startColumn:v,endRow:y,endColumn:b}=L(i),{startRow:x,endRow:S,startColumn:C,endColumn:w}=L(o),{startRow:T,endRow:E,startColumn:D,endColumn:O,rangeType:k=t.RANGE_TYPE.NORMAL}=L(a),A={...a};function j(){return d===t.RANGE_TYPE.COLUMN&&k===t.RANGE_TYPE.COLUMN?!0:l>=D&&u<=O}function M(){return d===t.RANGE_TYPE.ROW&&k===t.RANGE_TYPE.ROW?!0:s>=T&&c<=E}if(e===0)if(j())if(s<T)A.startRow=s;else if(s>=E)A.endRow-=m+1-T;else return;else return;else if(e===1)if(j())if(c>E)A.endRow=c;else if(c<=T)A.startRow+=E-f+1;else return;else return;else if(e===2)if(M())if(l<D)A.startColumn=l;else if(l>=O)A.endColumn-=h+1-D;else return;else return;else if(e===3)if(M())if(u>O)A.endColumn=u;else if(u<=D)A.startColumn+=O-p+1;else return;else return;else e===4?(A.startRow=s,A.startColumn=l,A.endRow=c,A.endColumn=u):p<=D&&h>=O||g===t.RANGE_TYPE.ROW&&k===t.RANGE_TYPE.ROW?r.endRow<T?(_>=T&&(A.startRow-=m-f+1),_>=E&&(A.endRow-=m-f+1)):r.startRow>E?(y<=E&&(A.endRow+=m-f+1),y<=T&&(A.startRow+=m-f+1)):r.startRow>=T&&r.endRow<=E&&(_<=T?A.startRow+=m-f+1:_>=E&&(A.endRow-=m-f+1)):f<=T&&m>=E||g===t.RANGE_TYPE.COLUMN&&k===t.RANGE_TYPE.COLUMN?r.endColumn<D?(v>=D&&(A.startColumn-=h-p+1),v>=O&&(A.endColumn-=h-p+1)):r.startColumn>O?(b<=O&&(A.endColumn+=h-p+1),b<=D&&(A.startColumn+=h-p+1)):r.startColumn>=D&&r.endColumn<=O&&(v<=D?A.startColumn+=h-p+1:v>=O&&(A.endColumn-=h-p+1)):((v<=w+1&&b>=O||v<=D&&b>=C-1)&&_<=T&&y>=E||_<=S+1&&y>=E||_<=T&&x-1,A.startRow=s,A.startColumn=l,A.endRow=c,A.endColumn=u);return A}function we(e,n){let r=F(e.startRow),i=I(e.endRow),a=F(e.startColumn),o=I(e.endColumn),s=F(n.startRow),c=I(n.endRow),l=F(n.startColumn),u=I(n.endColumn);function d(){return e.rangeType===t.RANGE_TYPE.COLUMN&&n.rangeType===t.RANGE_TYPE.COLUMN?!0:r>=s&&i<=c}function f(){return e.rangeType===t.RANGE_TYPE.ROW&&n.rangeType===t.RANGE_TYPE.ROW?!0:a>=l&&o<=u}function p(){return e.rangeType===t.RANGE_TYPE.ALL&&n.rangeType===t.RANGE_TYPE.ALL}return d()&&f()||p()?4:f()&&r>=s&&r<=c&&i>c?0:f()&&i>=s&&i<=c&&r<s?1:d()&&a>=l&&a<=u&&o>u?2:d()&&o>=l&&o<=u&&a<l?3:null}function F(e){return isNaN(e)?-1/0:e}function I(e){return isNaN(e)?1/0:e}function L(e){let{startRow:t,endRow:n,startColumn:r,endColumn:i}=e;return{...e,startRow:F(t),endRow:I(n),startColumn:F(r),endColumn:I(i)}}function Te(e,t){let{id:r}=t,i=null;switch(r){case n.MoveRangeCommand.id:i=Ee(t,e);break;case n.MoveRowsCommand.id:i=De(t,e);break;case n.MoveColsCommand.id:i=Oe(t,e);break;case n.InsertRowCommand.id:i=ke(t);break;case n.InsertColCommand.id:i=Ae(t);break;case n.InsertRangeMoveRightCommand.id:i=je(t,e);break;case n.InsertRangeMoveDownCommand.id:i=Me(t,e);break;case n.RemoveRowCommand.id:i=Ne(t,e);break;case n.RemoveColCommand.id:i=Pe(t,e);break;case n.DeleteRangeMoveUpCommand.id:i=Fe(t,e);break;case n.DeleteRangeMoveLeftCommand.id:i=Ie(t,e);break;case n.SetWorksheetNameCommand.id:i=Le(t,e);break;case n.RemoveSheetCommand.id:i=Re(t,e);break;case n.SetDefinedNameCommand.id:i=ze(t,e);break;case n.RemoveDefinedNameCommand.id:i=Be(t,e);break;case`sheet.command.set-table-config`:i=Ve(t,e);break;case`sheet.command.delete-table`:i=He(t,e);break;case`sheet.command.table-remove-column-at`:case`sheet.command.table-remove-col`:i=Ue(t,e);break}return i}function R(e){var t;return{unitId:e.getUnitId(),sheetId:((t=e.getActiveSheet())==null?void 0:t.getSheetId())||``}}function Ee(e,t){var n,r;let{params:i}=e;if(!i)return null;let{fromRange:a,toRange:o,fromUnitId:s,fromSubUnitId:c,toUnitId:l,toSubUnitId:u}=i;if(!a||!o)return null;let{unitId:d,sheetId:f}=R(t),p=s||l||d,m=c||f,h=(n=t.getSheetBySheetId(m))==null?void 0:n.getName(),g=u||c||f;return{type:0,from:a,to:o,unitId:p,sheetId:m,sheetName:h,targetUnitId:l||s||d,targetSheetId:g,targetSheetName:(r=t.getSheetBySheetId(g))==null?void 0:r.getName()}}function De(e,n){let{params:r}=e;if(!r)return null;let{fromRange:{startRow:i,endRow:a},toRange:{startRow:o,endRow:s}}=r,c=n.getUnitId(),l=n.getActiveSheet();if(!l)return null;let u=l.getSheetId();return{type:1,from:{startRow:i,startColumn:0,endRow:a,endColumn:l.getColumnCount()-1,rangeType:t.RANGE_TYPE.ROW},to:{startRow:o,startColumn:0,endRow:s,endColumn:l.getColumnCount()-1,rangeType:t.RANGE_TYPE.ROW},unitId:c,sheetId:u}}function Oe(e,n){let{params:r}=e;if(!r)return null;let{fromRange:{startColumn:i,endColumn:a},toRange:{startColumn:o,endColumn:s}}=r,c=n.getUnitId(),l=n.getActiveSheet();if(!l)return null;let u=l.getSheetId();return{type:2,from:{startRow:0,startColumn:i,endRow:l.getRowCount()-1,endColumn:a,rangeType:t.RANGE_TYPE.COLUMN},to:{startRow:0,startColumn:o,endRow:l.getRowCount()-1,endColumn:s,rangeType:t.RANGE_TYPE.COLUMN},unitId:c,sheetId:u}}function ke(e){let{params:t}=e;if(!t)return null;let{range:n,unitId:r,subUnitId:i}=t;return{type:3,range:n,unitId:r,sheetId:i}}function Ae(e){let{params:t}=e;if(!t)return null;let{range:n,unitId:r,subUnitId:i}=t;return{type:4,range:n,unitId:r,sheetId:i}}function je(e,t){let{params:n}=e;if(!n)return null;let{range:r}=n,{unitId:i,sheetId:a}=R(t);return{type:10,range:r,unitId:i,sheetId:a}}function Me(e,t){let{params:n}=e;if(!n)return null;let{range:r}=n,{unitId:i,sheetId:a}=R(t);return{type:9,range:r,unitId:i,sheetId:a}}function Ne(e,t){var n,r;let{params:i}=e;if(!i)return null;let{range:a}=i,{unitId:o,sheetId:s}=R(t);return{type:5,range:a,unitId:o,sheetId:s,rangeFilteredRows:(n=(r=t.getSheetBySheetId(s))==null?void 0:r.getRangeFilterRows(a))==null?[]:n}}function Pe(e,t){let{params:n}=e;if(!n)return null;let{range:r}=n,{unitId:i,sheetId:a}=R(t);return{type:6,range:r,unitId:i,sheetId:a}}function Fe(e,t){let{params:n}=e;if(!n)return null;let{range:r}=n,{unitId:i,sheetId:a}=R(t);return{type:8,range:r,unitId:i,sheetId:a}}function Ie(e,t){let{params:n}=e;if(!n)return null;let{range:r}=n,{unitId:i,sheetId:a}=R(t);return{type:7,range:r,unitId:i,sheetId:a}}function Le(e,t){let{params:n}=e;if(!n)return null;let{unitId:r,subUnitId:i,name:a}=n,{unitId:o,sheetId:s}=R(t);return{type:11,unitId:r||o,sheetId:i||s,sheetName:a}}function Re(e,t){let{params:n}=e;if(!n)return null;let{unitId:r,subUnitId:i}=n,{unitId:a,sheetId:o}=R(t);return{type:12,unitId:r||a,sheetId:i||o}}function ze(e,t){let{params:n}=e;if(!n)return null;let{unitId:r,name:i,id:a}=n,{sheetId:o}=R(t);return{type:13,unitId:r,sheetId:o,definedName:i,definedNameId:a}}function Be(e,t){let{params:n}=e;if(!n)return null;let{unitId:r,name:i,id:a}=n,{sheetId:o}=R(t);return{type:14,unitId:r,sheetId:o,definedName:i,definedNameId:a}}function Ve(e,t){let{params:n}=e;if(!n||!n.name||!n.oldTableName||n.oldTableName===n.name)return null;let{unitId:r,name:i,oldTableName:a}=n,{sheetId:o}=R(t);return{type:15,unitId:r,sheetId:o,tableName:i,oldTableName:a}}function He(e,t){let{params:n}=e;if(!n||!n.tableName)return null;let{unitId:r,tableName:i}=n,{sheetId:a}=R(t);return{type:16,unitId:r,sheetId:a,oldTableName:i}}function Ue(e,t){var n;let{params:r}=e;if(!r||!r.tableName||!((n=r.removedColumnNames)!=null&&n.length))return null;let{unitId:i,subUnitId:a,range:o,tableName:s,removedColumnNames:c}=r,{sheetId:l}=R(t);return{type:17,unitId:i,sheetId:a||l,range:o,oldTableName:s,tableColumnNames:c}}let z=class extends t.Disposable{constructor(e,t,n,r){super(),this._definedNamesService=e,this._univerInstanceService=t,this._sheetInterceptorService=n,this._lexerTreeBuilder=r,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===n.SetDefinedNameCommand.id||e.id===n.RemoveDefinedNameCommand.id)return{redos:[],undos:[]};let r=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(r==null)return{redos:[],undos:[]};let i=Te(r,e);return i?this._getUpdateDefinedNameMutations(r,i):{redos:[],undos:[]}}}))}_getUpdateDefinedNameMutations(e,t){let{type:n,unitId:i,sheetId:a}=t,o=this._definedNamesService.getDefinedNameMap(i);if(!o)return{redos:[],undos:[]};let s=[],c=[];return Object.values(o).forEach(o=>{let{formulaOrRefString:l}=o,u=this._lexerTreeBuilder.sequenceNodesBuilder(l);if(u==null)return!0;let d=!1,f=[];for(let s=0,c=u.length;s<c;s++){var p;let c=u[s];if(typeof c==`string`||c.nodeType!==r.sequenceNodeType.REFERENCE)continue;let{token:l}=c,{range:m,sheetName:h,unitId:g}=(0,r.deserializeRangeWithSheetWithCache)(l),_=((p=e.getSheetBySheetName(h))==null?void 0:p.getSheetId())||``,v={range:m,sheetId:_,unitId:g,sheetName:h,refOffsetX:0,refOffsetY:0},y=null;if(n===12)y=this._removeSheet(o,i,a);else if(n===11){let{sheetId:e,sheetName:n}=t;if(n==null||_==null||_.length===0||e!==_)continue;y=(0,r.serializeRangeToRefString)({range:m,sheetName:n,unitId:g})}else y=Se(v,t,i,a,{preserveSheetQualifier:!0});y!=null&&(u[s]={...c,token:y},d=!0,f.push(s))}if(!d)return!0;let m=(0,r.generateStringWithSequence)(P(u,f)),h={id:r.SetDefinedNameMutation.id,params:{unitId:i,...o,formulaOrRefString:m}};s.push(h);let g={id:r.SetDefinedNameMutation.id,params:{unitId:i,...o}};c.push(g)}),{redos:s,undos:c}}_removeSheet(e,t,n){var i;let{formulaOrRefString:a}=e;return((i=this._definedNamesService.getWorksheetByRef(t,a))==null?void 0:i.getSheetId())===n?r.ErrorType.REF:null}};z=p([f(0,r.IDefinedNamesService),f(1,t.IUniverInstanceService),f(2,(0,t.Inject)(n.SheetInterceptorService)),f(3,(0,t.Inject)(r.LexerTreeBuilder))],z);let B=class extends t.Disposable{constructor(e,t,n,r,i,a,o,s){super(),this._univerInstanceService=e,this._commandService=t,this._lexerTreeBuilder=n,this._formulaDataModel=r,this._sheetInterceptorService=i,this._definedNamesService=a,this._configService=o,this._injector=s,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>this._getUpdateFormula(e)})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.params)if(e.id===n.RemoveSheetMutation.id){let{subUnitId:t,unitId:n}=e.params;this._handleWorkbookDisposed(n,t)}else e.id===n.InsertSheetMutation.id&&this._handleInsertSheetMutation(e.params)})),this.disposeWithMe(this._commandService.beforeCommandExecuted((e,t)=>{if(e.id===n.SetRangeValuesMutation.id){let r=e.params;if(t&&t.onlyLocal===!0||t&&t.syncOnly===!0||t&&t.fromChangeset===!0||r.trigger===n.SetStyleCommand.id||r.trigger===n.SetBorderCommand.id||r.trigger===n.ClearSelectionFormatCommand.id||r.trigger===n.SetRangeCustomMetadataCommand.id)return;this._handleSetRangeValuesMutation(r)}})),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitAdded$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>this._handleWorkbookAdded(e.unit))),this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(t.UniverInstanceType.UNIVER_SHEET).pipe((0,i.map)(e=>e.getUnitId())).subscribe(e=>this._handleWorkbookDisposed(e)))}_handleSetRangeValuesMutation(e){let{subUnitId:t,unitId:i,cellValue:a}=e;if(a==null)return;let o=this._formulaDataModel.updateFormulaData(i,t,a),s=this._formulaDataModel.updateArrayFormulaCellData(i,t,a),c=this._formulaDataModel.updateArrayFormulaRange(i,t,a);if(Object.keys(o).length===0){(s||c)&&this._commandService.executeCommand(r.SetArrayFormulaDataMutation.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData()},{onlyLocal:!0,remove:!0});return}let l={[i]:{[t]:o}};this._commandService.executeCommand(n.SetRangeValuesMutation.id,{unitId:i,subUnitId:t,cellValue:ye(o,a)},{onlyLocal:!0,fromFormula:!0}),this._formulaDataModel.updateImageFormulaData(i,t,a),this._commandService.executeCommand(r.SetFormulaDataMutation.id,{formulaData:l},{onlyLocal:!0}),this._commandService.executeCommand(r.SetArrayFormulaDataMutation.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData()},{onlyLocal:!0,remove:!0})}_handleWorkbookDisposed(e,t){let n=k(this._formulaDataModel.getFormulaData(),e,t),i=this._formulaDataModel.getArrayFormulaRange(),a=k(i,e,t),o=this._formulaDataModel.getArrayFormulaCellData(),s=k(o,e,t);n&&this._commandService.executeCommand(r.SetFormulaDataMutation.id,{formulaData:n},{onlyLocal:!0}),a&&s&&this._commandService.executeCommand(r.SetArrayFormulaDataMutation.id,{arrayFormulaRange:i,arrayFormulaCellData:o},{onlyLocal:!0})}_handleInsertSheetMutation(e){let{sheet:n,unitId:i}=e,a=this._formulaDataModel.getFormulaData(),{id:o,cellData:s}=n,c=(0,r.initSheetFormulaData)(a,i,o,new t.ObjectMatrix(s));this._commandService.executeCommand(r.SetFormulaDataMutation.id,{formulaData:c},{onlyLocal:!0})}_handleWorkbookAdded(e){var t;let n={},i=e.getUnitId(),a={[i]:{}};e.getSheets().forEach(e=>{var t;let o=e.getCellMatrix(),s=e.getSheetId(),c=(0,r.initSheetFormulaData)(n,i,s,o);a[i][s]=(t=c[i])==null?void 0:t[s]}),this._commandService.executeCommand(r.SetFormulaDataMutation.id,{formulaData:a},{onlyLocal:!0});let o=this._configService.getConfig(c),s=(t=o==null?void 0:o.initialFormulaComputing)==null?1:t,l=this._getDirtyDataByCalculationMode(s);this._commandService.executeCommand(r.SetTriggerFormulaCalculationStartMutation.id,l,{onlyLocal:!0})}_getDirtyDataByCalculationMode(e){return{forceCalculation:e===0,dirtyRanges:e===1?this._formulaDataModel.getFormulaDirtyRanges():[],dirtyNameMap:{},dirtyDefinedNameMap:{},dirtyUnitFeatureMap:{},dirtyUnitOtherFormulaMap:{},clearDependencyTreeCache:{}}}_getUpdateFormula(e){let n=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!n)return{undos:[],redos:[]};let r=Te(n,e);if(r){let{unitSheetNameMap:e}=this._formulaDataModel.getCalculateData(),t=this._formulaDataModel.getFormulaData(),{newFormulaData:n}=this._getFormulaReferenceMoveInfo(t,e,r),{undos:i,redos:a}=j(t,n,r);return{undos:i,redos:a}}return{undos:[],redos:[]}}_getFormulaReferenceMoveInfo(e,n,i){if(!t.Tools.isDefine(e))return{newFormulaData:{}};let a=Object.keys(e);if(a.length===0)return{newFormulaData:{}};let o={},{unitId:s,sheetId:c,sheetName:l,targetUnitId:u,targetSheetId:d,type:f,from:p,to:m}=i,h=[];for(let m of a){let a=e[m];if(a==null)continue;let g=Object.keys(a);t.Tools.isDefine(o[m])||(o[m]={});for(let e of g){let g=new t.ObjectMatrix(a[e]||{}),_=new t.ObjectMatrix,v=[];g.forValue((a,o,g)=>{if(!g)return!0;let{f:y,x:b,y:x,si:S}=g,C=this._lexerTreeBuilder.sequenceNodesBuilder(y);if(C==null)return!0;let w=!1,T=[],E=f===0&&(u!==s||d!==c)&&m===s&&e===c&&p&&p.startRow<=a&&a<=p.endRow&&p.startColumn<=o&&o<=p.endColumn,D=[...C];for(let a=0,o=C.length;a<o;a++){var O;let o=C[a];if(typeof o==`string`)continue;let{token:d,nodeType:p}=o;if((f===13||f===14)&&(p===r.sequenceNodeType.DEFINED_NAME||p===r.sequenceNodeType.FUNCTION)){let{definedNameId:e,definedName:t}=i;if(e===void 0||t===void 0)continue;let n=this._definedNamesService.getValueById(m,e);if(n==null||n.name!==d)continue;C[a]={...o,token:f===13?t:r.ErrorType.REF},w=!0,T.push(a);continue}else if((f===15||f===16||f===17)&&(p===r.sequenceNodeType.TABLE||p===r.sequenceNodeType.FUNCTION)){let{oldTableName:e,tableName:t,tableColumnNames:n}=i;if(e===void 0||f===15&&t===void 0)continue;let{tableName:s,columnStruct:c=``}=(0,r.splitTableStructuredRef)(d);if(s!==e||f===17&&!We(c,n))continue;C[a]={...o,token:f===15?`${t}${c}`:r.ErrorType.REF};let l=C[a+1];(f===16||f===17)&&typeof l==`string`&&l.startsWith(`]`)&&(C[a+1]=l.slice(1)),w=!0,T.push(a);continue}else if(p!==r.sequenceNodeType.REFERENCE)continue;let{range:h,sheetName:g,unitId:_}=(0,r.deserializeRangeWithSheetWithCache)(d),y=_==null||_.length===0?m:_,k=(n==null||(O=n[y])==null?void 0:O[g])||``;if(!xe(i.unitId,i.sheetId,m,e,_,k))continue;let A={range:h,sheetId:k,unitId:_,sheetName:g,refOffsetX:b||0,refOffsetY:x||0},j=null;if(f===11){let{unitId:e,sheetId:t,sheetName:n}=i;if(n==null||k==null||k.length===0||t!==k)continue;j=(0,r.serializeRangeToRefString)({range:h,sheetName:n,unitId:_})}else if(f===12){let{unitId:e,sheetId:t,sheetName:n}=i;if(k==null||k.length===0||t!==k)continue;j=r.ErrorType.REF}else f!==13&&(j=Se(A,i,m,e,{inCrossSheetCutRange:E}));if(j!=null&&(C[a]={...o,token:j},w=!0,T.push(a),S&&(b==null?0:b)===0&&(x==null?0:x)===0&&v.push(S)),E){if(j!=null)D[a]={...o,token:j};else if((!_||_===s)&&(!k||k===c)){let e=t.Rectangle.moveOffset(h,b||0,x||0);D[a]={...o,token:(0,r.serializeRangeToRefString)({range:e,sheetName:l||g,unitId:u===s?``:s})},w=!0}}}if(!w)if(S&&[1,2,0].includes(f)){if(p&&p.startRow<=a&&a<=p.endRow&&p.startColumn<=o&&o<=p.endColumn)(b==null?0:b)===0&&(x==null?0:x)===0&&v.push(S);else if(!v.includes(S))return!0}else return!0;if(E){let e=P(D,T,b,x);return h.push({fromRow:a,fromColumn:o,formulaString:`=${(0,r.generateStringWithSequence)(e)}`}),!0}let k=P(C,T,b,x);_.setValue(a,o,{f:`=${(0,r.generateStringWithSequence)(k)}`})}),o[m]&&(o[m][e]=_.getData())}}if(h.length>0&&u&&d){o[u]||(o[u]={}),o[u][d]||(o[u][d]={});for(let e of h){var g,_,v,y;let{fromRow:t,fromColumn:n,formulaString:r}=e,i=t+(((g=m==null?void 0:m.startRow)==null?0:g)-((_=p==null?void 0:p.startRow)==null?0:_)),a=n+(((v=m==null?void 0:m.startColumn)==null?0:v)-((y=p==null?void 0:p.startColumn)==null?0:y));o[u][d][i]||(o[u][d][i]={}),o[u][d][i][a]={f:r}}}return{newFormulaData:o}}};B=p([f(0,t.IUniverInstanceService),f(1,t.ICommandService),f(2,(0,t.Inject)(r.LexerTreeBuilder)),f(3,(0,t.Inject)(r.FormulaDataModel)),f(4,(0,t.Inject)(n.SheetInterceptorService)),f(5,r.IDefinedNamesService),f(6,t.IConfigService),f(7,(0,t.Inject)(t.Injector))],B);function We(e,t){if(!(t!=null&&t.length)||e.length===0)return!1;let n=new Set(t),r=(e.endsWith(`]`)?e:`${e}]`).matchAll(/\[([^\]]+)\]/g);for(let e of r){let t=e[1].replace(/^\[/,``).trim();if(!t.startsWith(`#`)&&n.has(t))return!0}return!1}var Ge=`@univerjs/sheets-formula`,Ke=`0.25.0`;let V=class extends t.Disposable{constructor(e,t,n){super(),this._activeDirtyManagerService=e,this._univerInstanceService=t,this._formulaDataModel=n,this._initialize()}_initialize(){this._initialConversion()}_initialConversion(){this._activeDirtyManagerService.register(n.SetRangeValuesMutation.id,{commandId:n.SetRangeValuesMutation.id,getDirtyData:e=>{let t=e.params;return t.trigger===n.SetStyleCommand.id?{}:{dirtyRanges:this._getSetRangeValuesMutationDirtyRange(t)}}}),this._initialMove(),this._initialRowAndColumn(),this._initialHideRow(),this._initialSheet(),this._initialDefinedName(),this._initialSuperTable()}_initialMove(){this._activeDirtyManagerService.register(n.MoveRangeMutation.id,{commandId:n.MoveRangeMutation.id,getDirtyData:e=>{let t=e.params;return{dirtyRanges:this._getMoveRangeMutationDirtyRange(t),clearDependencyTreeCache:{[t.unitId]:{[t.to.subUnitId]:`1`,[t.from.subUnitId]:`1`}}}}}),this._activeDirtyManagerService.register(n.MoveRowsMutation.id,{commandId:n.MoveRowsMutation.id,getDirtyData:e=>{let t=e.params;return{dirtyRanges:this._getMoveRowsMutationDirtyRange(t),clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:`1`}}}}}),this._activeDirtyManagerService.register(n.MoveColsMutation.id,{commandId:n.MoveColsMutation.id,getDirtyData:e=>{let t=e.params;return{dirtyRanges:this._getMoveRowsMutationDirtyRange(t),clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:`1`}}}}}),this._activeDirtyManagerService.register(n.ReorderRangeMutation.id,{commandId:n.ReorderRangeMutation.id,getDirtyData:e=>{let t=e.params;return{dirtyRanges:this._getReorderRangeMutationDirtyRange(t),clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:`1`}}}}})}_initialRowAndColumn(){this._activeDirtyManagerService.register(n.RemoveRowMutation.id,{commandId:n.RemoveRowMutation.id,getDirtyData:e=>{let t=e.params;return{dirtyRanges:this._getRemoveRowOrColumnMutation(t,!0),clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:`1`}}}}}),this._activeDirtyManagerService.register(n.RemoveColMutation.id,{commandId:n.RemoveColMutation.id,getDirtyData:e=>{let t=e.params;return{dirtyRanges:this._getRemoveRowOrColumnMutation(t,!1),clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:`1`}}}}}),this._activeDirtyManagerService.register(n.InsertColMutation.id,{commandId:n.InsertColMutation.id,getDirtyData:e=>{let t=e.params;return{clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:`1`}}}}}),this._activeDirtyManagerService.register(n.InsertRowMutation.id,{commandId:n.InsertRowMutation.id,getDirtyData:e=>{let t=e.params;return{clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:`1`}}}}})}_initialHideRow(){this._activeDirtyManagerService.register(n.SetRowHiddenMutation.id,{commandId:n.SetRowHiddenMutation.id,getDirtyData:e=>{let t=e.params;return{dirtyRanges:this._getHideRowMutation(t),clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:`1`}}}}}),this._activeDirtyManagerService.register(n.SetRowVisibleMutation.id,{commandId:n.SetRowVisibleMutation.id,getDirtyData:e=>{let t=e.params;return{dirtyRanges:this._getHideRowMutation(t),clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:`1`}}}}})}_initialSheet(){this._activeDirtyManagerService.register(r.SetTriggerFormulaCalculationStartMutation.id,{commandId:r.SetTriggerFormulaCalculationStartMutation.id,getDirtyData:e=>({...e.params})}),this._activeDirtyManagerService.register(n.RemoveSheetMutation.id,{commandId:n.RemoveSheetMutation.id,getDirtyData:e=>{let t=e.params;return{dirtyNameMap:this._getRemoveSheetMutation(t),clearDependencyTreeCache:{[t.unitId]:{[t.subUnitId]:`1`}}}}}),this._activeDirtyManagerService.register(n.InsertSheetMutation.id,{commandId:n.InsertSheetMutation.id,getDirtyData:e=>{let t=e.params;return{dirtyNameMap:this._getInsertSheetMutation(t)}}})}_initialDefinedName(){this._activeDirtyManagerService.register(r.SetDefinedNameMutation.id,{commandId:r.SetDefinedNameMutation.id,getDirtyData:e=>{let t=e.params;return{dirtyDefinedNameMap:this._getDefinedNameMutation(t)}}}),this._activeDirtyManagerService.register(r.RemoveDefinedNameMutation.id,{commandId:r.RemoveDefinedNameMutation.id,getDirtyData:e=>{let t=e.params;return{dirtyDefinedNameMap:this._getDefinedNameMutation(t)}}})}_initialSuperTable(){this._activeDirtyManagerService.register(r.SetSuperTableMutation.id,{commandId:r.SetSuperTableMutation.id,getDirtyData:e=>{let t=e.params,{unitId:n,reference:r}=t,{sheetId:i,range:a}=r;return{dirtyRanges:[{unitId:n,sheetId:i,range:a}],dirtySuperTableMap:{[n]:{[t.tableName]:`1`}},clearDependencyTreeCache:{[n]:{[i]:`1`}}}}})}_getDefinedNameMutation(e){if(e==null)return{};let{unitId:t,name:n,formulaOrRefString:r}=e;return{[t]:{[n]:r}}}_getSetRangeValuesMutationDirtyRange(e){let{subUnitId:t,unitId:n,cellValue:r}=e,i=[];return r==null?i:(i.push(...this._getDirtyRangesByCellValue(n,t,r)),i.push(...this._getDirtyRangesForArrayFormula(n,t,r)),i)}_getMoveRangeMutationDirtyRange(e){let{unitId:t,from:n,to:r}=e,i=[];return i.push(...this._getDirtyRangesByCellValue(t,n.subUnitId,n.value)),i.push(...this._getDirtyRangesByCellValue(t,r.subUnitId,r.value)),i.push(...this._getDirtyRangesForArrayFormula(t,r.subUnitId,r.value)),i}_getMoveRowsMutationDirtyRange(e){let{subUnitId:t,unitId:n,sourceRange:r,targetRange:i}=e,a=[],o=this._rangeToMatrix(r).getData(),s=this._rangeToMatrix(i).getData();return a.push(...this._getDirtyRangesByCellValue(n,t,o)),a.push(...this._getDirtyRangesByCellValue(n,t,s)),a.push(...this._getDirtyRangesForArrayFormula(n,t,s)),a}_getReorderRangeMutationDirtyRange(e){let{unitId:t,subUnitId:n,range:r}=e,i=this._rangeToMatrix(r).getData(),a=[];return a.push(...this._getDirtyRangesByCellValue(t,n,i)),a.push(...this._getDirtyRangesForArrayFormula(t,n,i)),a}_getRemoveRowOrColumnMutation(e,t=!0){let{subUnitId:n,unitId:r,range:i}=e,a=[],o=this._univerInstanceService.getUniverSheetInstance(r),s=o==null?void 0:o.getSheetBySheetId(n),c=(s==null?void 0:s.getRowCount())||0,l=(s==null?void 0:s.getColumnCount())||0,u=null,{startRow:d,endRow:f,startColumn:p,endColumn:m}=i;u=t===!0?this._rangeToMatrix({startRow:d,startColumn:0,endRow:f,endColumn:l-1}):this._rangeToMatrix({startRow:0,startColumn:p,endRow:c,endColumn:m});let h=u.getData();return a.push(...this._getDirtyRangesByCellValue(r,n,h)),a.push(...this._getDirtyRangesForArrayFormula(r,n,h)),a}_getHideRowMutation(e){let{subUnitId:t,unitId:n,ranges:r}=e,i=[];return r.forEach(e=>{let r=this._rangeToMatrix(e).getMatrix();i.push(...this._getDirtyRangesByCellValue(n,t,r))}),i}_getRemoveSheetMutation(e){let t={},{subUnitId:n,unitId:r,subUnitName:i}=e;return t[r]==null&&(t[r]={}),t[r][n]=i,t}_getInsertSheetMutation(e){let t={},{sheet:n,unitId:r}=e;return t[r]==null&&(t[r]={}),t[r][n.id]=n.name,t}_rangeToMatrix(e){let n=new t.ObjectMatrix,{startRow:r,startColumn:i,endRow:a,endColumn:o}=e;for(let e=r;e<=a;e++)for(let t=i;t<=o;t++)n.setValue(e,t,{});return n}_getDirtyRangesByCellValue(e,n,r){let i=[];return r==null||new t.ObjectMatrix(r).getDiscreteRanges().forEach(t=>{i.push({unitId:e,sheetId:n,range:t})}),i}_getDirtyRangesForArrayFormula(e,n,r){var i;let a=[];if(r==null)return a;let o=new t.ObjectMatrix(r),s=this._formulaDataModel.getArrayFormulaRange();if(!(s==null||(i=s[e])==null)&&i[n]){var c;let r=new t.ObjectMatrix(s==null||(c=s[e])==null?void 0:c[n]);o.forValue((t,i)=>{r.forValue((r,o,s)=>{if(s==null)return!0;let{startRow:c,startColumn:l,endRow:u,endColumn:d}=s;t>=c&&t<=u&&i>=l&&i<=d&&a.push({unitId:e,sheetId:n,range:{startRow:c,startColumn:l,endRow:c,endColumn:l}})})})}return a}};V=p([f(0,r.IActiveDirtyManagerService),f(1,t.IUniverInstanceService),f(2,(0,t.Inject)(r.FormulaDataModel))],V);let H=class extends t.Disposable{constructor(e,t,n,r,i,a,o){super(),this._commandService=e,this._configService=t,this._sheetInterceptorService=n,this._formulaDataModel=r,this._lexerTreeBuilder=i,this._functionService=a,this._definedNamesService=o,this._initialize()}_initialize(){this._commandExecutedListener(),this._initInterceptorCellContent()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{var t;let n=(t=this._configService.getConfig(`sheets-formula.base.config`))==null?void 0:t.writeArrayFormulaToSnapshot;if(e.id===r.SetArrayFormulaDataMutation.id){let t=e.params;if(t==null)return;let{arrayFormulaRange:r,arrayFormulaCellData:i,arrayFormulaEmbedded:a}=t;this._formulaDataModel.setArrayFormulaRange(r),this._formulaDataModel.setArrayFormulaCellData(i),n&&this._writeArrayFormulaToSnapshot(r,i,a)}else e.id===r.SetFormulaCalculationResultMutation.id&&n&&(this._addPrefixToFunctionSnapshot(),this._addPrefixToDefinedNamesFunctionSnapshot())}))}_addPrefixToDefinedNamesFunctionSnapshot(){let e=this._definedNamesService.getAllDefinedNames();Object.entries(e).forEach(([e,t])=>{t&&Array.from(Object.entries(t)).forEach(([t,n])=>{let{formulaOrRefString:i}=n;if(i.substring(0,1)===`=`){let t=this._lexerTreeBuilder.getNewFormulaWithPrefix(i,this._functionService.hasExecutor.bind(this._functionService));t&&this._commandService.executeCommand(r.SetDefinedNameMutation.id,{...n,unitId:e,formulaOrRefStringWithPrefix:t},{onlyLocal:!0,fromFormula:!0})}})})}_addPrefixToFunctionSnapshot(){let e=this._formulaDataModel.getFormulaData(),r=new Map;Object.entries(e).forEach(([e,i])=>{i&&Array.from(Object.entries(i)).forEach(([i,a])=>{if(!a)return;let o=new t.ObjectMatrix;new t.ObjectMatrix(a).forValue((e,t,n)=>{let i=n==null?void 0:n.f;if((n==null?void 0:n.x)!=null||!i||i.length===0)return;if(r.has(i)){let n=r.get(i);o.setValue(e,t,{xf:n});return}let a=this._lexerTreeBuilder.getNewFormulaWithPrefix(i,this._functionService.hasExecutor.bind(this._functionService));a&&(o.setValue(e,t,{xf:a}),r.set(i,a))}),this._commandService.executeCommand(n.SetRangeValuesMutation.id,{unitId:e,subUnitId:i,cellValue:o.getMatrix()},{onlyLocal:!0,fromFormula:!0})})}),r.clear()}_writeArrayFormulaToSnapshot(e,i,a){e&&Object.entries(e).forEach(([e,i])=>{i&&Array.from(Object.entries(i)).forEach(([i,a])=>{let o=new t.ObjectMatrix;new t.ObjectMatrix(a).forValue((e,t,n)=>{o.setValue(e,t,{ref:(0,r.serializeRange)(n)})}),this._commandService.executeCommand(n.SetRangeValuesMutation.id,{unitId:e,subUnitId:i,cellValue:o.getMatrix()},{onlyLocal:!0,fromFormula:!0})})}),a&&Object.entries(a).forEach(([i,a])=>{a&&Array.from(Object.entries(a)).forEach(([a,o])=>{let s=new t.ObjectMatrix;new t.ObjectMatrix(o).forValue((t,n)=>{var o;!(e==null||(o=e[i])==null||(o=o[a])==null||(o=o[t])==null)&&o[n]||s.setValue(t,n,{ref:(0,r.serializeRange)({startRow:t,endRow:t,startColumn:n,endColumn:n})})}),this._commandService.executeCommand(n.SetRangeValuesMutation.id,{unitId:i,subUnitId:a,cellValue:s.getMatrix()},{onlyLocal:!0,fromFormula:!0})})}),i&&Object.entries(i).forEach(([e,t])=>{t&&Array.from(Object.entries(t)).forEach(([t,r])=>{this._commandService.executeCommand(n.SetRangeValuesMutation.id,{unitId:e,subUnitId:t,cellValue:r},{onlyLocal:!0,fromFormula:!0})})})}_initInterceptorCellContent(){this.disposeWithMe(this._sheetInterceptorService.intercept(n.INTERCEPTOR_POINT.CELL_CONTENT,{priority:100,effect:t.InterceptorEffectEnum.Value,handler:(e,n,i)=>{var a;let o=e,{unitId:s,subUnitId:c,row:l,col:u}=n,d=this._formulaDataModel.getArrayFormulaCellData(),f=d==null||(a=d[s])==null||(a=a[c])==null||(a=a[l])==null?void 0:a[u];return f==null?i(o):((!o||o===n.rawData)&&(o={...n.rawData}),f.v==null&&f.t==null?(o.v=0,o.t=t.CellValueType.NUMBER,i(o)):(o==null?void 0:o.t)===t.CellValueType.NUMBER&&o.v!==void 0&&o.v!==null&&(0,t.isRealNum)(o.v)?(o.v=(0,r.stripErrorMargin)(Number(o.v)),i(o)):(o.v=f.v,o.t=f.t,i(o)))}}))}};H=p([f(0,t.ICommandService),f(1,t.IConfigService),f(2,(0,t.Inject)(n.SheetInterceptorService)),f(3,(0,t.Inject)(r.FormulaDataModel)),f(4,(0,t.Inject)(r.LexerTreeBuilder)),f(5,r.IFunctionService),f(6,r.IDefinedNamesService)],H);let qe=[{functionName:r.FUNCTION_NAMES_ARRAY.ARRAY_CONSTRAIN,functionType:r.FunctionType.Array,description:`sheets-formula.functionList.ARRAY_CONSTRAIN.description`,abstract:`sheets-formula.functionList.ARRAY_CONSTRAIN.abstract`,functionParameter:[{name:`sheets-formula.functionList.ARRAY_CONSTRAIN.functionParameter.inputRange.name`,detail:`sheets-formula.functionList.ARRAY_CONSTRAIN.functionParameter.inputRange.detail`,example:`A1:C3`,require:1,repeat:0},{name:`sheets-formula.functionList.ARRAY_CONSTRAIN.functionParameter.numRows.name`,detail:`sheets-formula.functionList.ARRAY_CONSTRAIN.functionParameter.numRows.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.ARRAY_CONSTRAIN.functionParameter.numCols.name`,detail:`sheets-formula.functionList.ARRAY_CONSTRAIN.functionParameter.numCols.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ARRAY.FLATTEN,functionType:r.FunctionType.Array,description:`sheets-formula.functionList.FLATTEN.description`,abstract:`sheets-formula.functionList.FLATTEN.abstract`,functionParameter:[{name:`sheets-formula.functionList.FLATTEN.functionParameter.range1.name`,detail:`sheets-formula.functionList.FLATTEN.functionParameter.range1.detail`,example:`A1:C3`,require:1,repeat:0},{name:`sheets-formula.functionList.FLATTEN.functionParameter.range2.name`,detail:`sheets-formula.functionList.FLATTEN.functionParameter.range2.detail`,example:`D1:F3`,require:0,repeat:1}]}],Je=[{functionName:r.FUNCTION_NAMES_COMPATIBILITY.BETADIST,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.BETADIST.description`,abstract:`sheets-formula.functionList.BETADIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.BETADIST.functionParameter.x.name`,detail:`sheets-formula.functionList.BETADIST.functionParameter.x.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.BETADIST.functionParameter.alpha.name`,detail:`sheets-formula.functionList.BETADIST.functionParameter.alpha.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.BETADIST.functionParameter.beta.name`,detail:`sheets-formula.functionList.BETADIST.functionParameter.beta.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.BETADIST.functionParameter.A.name`,detail:`sheets-formula.functionList.BETADIST.functionParameter.A.detail`,example:`1`,require:0,repeat:0},{name:`sheets-formula.functionList.BETADIST.functionParameter.B.name`,detail:`sheets-formula.functionList.BETADIST.functionParameter.B.detail`,example:`3`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.BETAINV,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.BETAINV.description`,abstract:`sheets-formula.functionList.BETAINV.abstract`,functionParameter:[{name:`sheets-formula.functionList.BETAINV.functionParameter.probability.name`,detail:`sheets-formula.functionList.BETAINV.functionParameter.probability.detail`,example:`0.685470581`,require:1,repeat:0},{name:`sheets-formula.functionList.BETAINV.functionParameter.alpha.name`,detail:`sheets-formula.functionList.BETAINV.functionParameter.alpha.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.BETAINV.functionParameter.beta.name`,detail:`sheets-formula.functionList.BETAINV.functionParameter.beta.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.BETAINV.functionParameter.A.name`,detail:`sheets-formula.functionList.BETAINV.functionParameter.A.detail`,example:`1`,require:0,repeat:0},{name:`sheets-formula.functionList.BETAINV.functionParameter.B.name`,detail:`sheets-formula.functionList.BETAINV.functionParameter.B.detail`,example:`3`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.BINOMDIST,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.BINOMDIST.description`,abstract:`sheets-formula.functionList.BINOMDIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.BINOMDIST.functionParameter.numberS.name`,detail:`sheets-formula.functionList.BINOMDIST.functionParameter.numberS.detail`,example:`6`,require:1,repeat:0},{name:`sheets-formula.functionList.BINOMDIST.functionParameter.trials.name`,detail:`sheets-formula.functionList.BINOMDIST.functionParameter.trials.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.BINOMDIST.functionParameter.probabilityS.name`,detail:`sheets-formula.functionList.BINOMDIST.functionParameter.probabilityS.detail`,example:`0.5`,require:1,repeat:0},{name:`sheets-formula.functionList.BINOMDIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.BINOMDIST.functionParameter.cumulative.detail`,example:`false`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.CHIDIST,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.CHIDIST.description`,abstract:`sheets-formula.functionList.CHIDIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.CHIDIST.functionParameter.x.name`,detail:`sheets-formula.functionList.CHIDIST.functionParameter.x.detail`,example:`0.5`,require:1,repeat:0},{name:`sheets-formula.functionList.CHIDIST.functionParameter.degFreedom.name`,detail:`sheets-formula.functionList.CHIDIST.functionParameter.degFreedom.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.CHIINV,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.CHIINV.description`,abstract:`sheets-formula.functionList.CHIINV.abstract`,functionParameter:[{name:`sheets-formula.functionList.CHIINV.functionParameter.probability.name`,detail:`sheets-formula.functionList.CHIINV.functionParameter.probability.detail`,example:`0.93`,require:1,repeat:0},{name:`sheets-formula.functionList.CHIINV.functionParameter.degFreedom.name`,detail:`sheets-formula.functionList.CHIINV.functionParameter.degFreedom.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.CHITEST,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.CHITEST.description`,abstract:`sheets-formula.functionList.CHITEST.abstract`,functionParameter:[{name:`sheets-formula.functionList.CHITEST.functionParameter.actualRange.name`,detail:`sheets-formula.functionList.CHITEST.functionParameter.actualRange.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.CHITEST.functionParameter.expectedRange.name`,detail:`sheets-formula.functionList.CHITEST.functionParameter.expectedRange.detail`,example:`B1:B4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.CONFIDENCE,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.CONFIDENCE.description`,abstract:`sheets-formula.functionList.CONFIDENCE.abstract`,functionParameter:[{name:`sheets-formula.functionList.CONFIDENCE.functionParameter.alpha.name`,detail:`sheets-formula.functionList.CONFIDENCE.functionParameter.alpha.detail`,example:`0.05`,require:1,repeat:0},{name:`sheets-formula.functionList.CONFIDENCE.functionParameter.standardDev.name`,detail:`sheets-formula.functionList.CONFIDENCE.functionParameter.standardDev.detail`,example:`2.5`,require:1,repeat:0},{name:`sheets-formula.functionList.CONFIDENCE.functionParameter.size.name`,detail:`sheets-formula.functionList.CONFIDENCE.functionParameter.size.detail`,example:`50`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.COVAR,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.COVAR.description`,abstract:`sheets-formula.functionList.COVAR.abstract`,functionParameter:[{name:`sheets-formula.functionList.COVAR.functionParameter.array1.name`,detail:`sheets-formula.functionList.COVAR.functionParameter.array1.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.COVAR.functionParameter.array2.name`,detail:`sheets-formula.functionList.COVAR.functionParameter.array2.detail`,example:`B1:B4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.CRITBINOM,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.CRITBINOM.description`,abstract:`sheets-formula.functionList.CRITBINOM.abstract`,functionParameter:[{name:`sheets-formula.functionList.CRITBINOM.functionParameter.trials.name`,detail:`sheets-formula.functionList.CRITBINOM.functionParameter.trials.detail`,example:`6`,require:1,repeat:0},{name:`sheets-formula.functionList.CRITBINOM.functionParameter.probabilityS.name`,detail:`sheets-formula.functionList.CRITBINOM.functionParameter.probabilityS.detail`,example:`0.5`,require:1,repeat:0},{name:`sheets-formula.functionList.CRITBINOM.functionParameter.alpha.name`,detail:`sheets-formula.functionList.CRITBINOM.functionParameter.alpha.detail`,example:`0.75`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.EXPONDIST,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.EXPONDIST.description`,abstract:`sheets-formula.functionList.EXPONDIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.EXPONDIST.functionParameter.x.name`,detail:`sheets-formula.functionList.EXPONDIST.functionParameter.x.detail`,example:`0.2`,require:1,repeat:0},{name:`sheets-formula.functionList.EXPONDIST.functionParameter.lambda.name`,detail:`sheets-formula.functionList.EXPONDIST.functionParameter.lambda.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.EXPONDIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.EXPONDIST.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.FDIST,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.FDIST.description`,abstract:`sheets-formula.functionList.FDIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.FDIST.functionParameter.x.name`,detail:`sheets-formula.functionList.FDIST.functionParameter.x.detail`,example:`15.2069`,require:1,repeat:0},{name:`sheets-formula.functionList.FDIST.functionParameter.degFreedom1.name`,detail:`sheets-formula.functionList.FDIST.functionParameter.degFreedom1.detail`,example:`6`,require:1,repeat:0},{name:`sheets-formula.functionList.FDIST.functionParameter.degFreedom2.name`,detail:`sheets-formula.functionList.FDIST.functionParameter.degFreedom2.detail`,example:`4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.FINV,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.FINV.description`,abstract:`sheets-formula.functionList.FINV.abstract`,functionParameter:[{name:`sheets-formula.functionList.FINV.functionParameter.probability.name`,detail:`sheets-formula.functionList.FINV.functionParameter.probability.detail`,example:`0.01`,require:1,repeat:0},{name:`sheets-formula.functionList.FINV.functionParameter.degFreedom1.name`,detail:`sheets-formula.functionList.FINV.functionParameter.degFreedom1.detail`,example:`6`,require:1,repeat:0},{name:`sheets-formula.functionList.FINV.functionParameter.degFreedom2.name`,detail:`sheets-formula.functionList.FINV.functionParameter.degFreedom2.detail`,example:`4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.FTEST,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.FTEST.description`,abstract:`sheets-formula.functionList.FTEST.abstract`,functionParameter:[{name:`sheets-formula.functionList.FTEST.functionParameter.array1.name`,detail:`sheets-formula.functionList.FTEST.functionParameter.array1.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.FTEST.functionParameter.array2.name`,detail:`sheets-formula.functionList.FTEST.functionParameter.array2.detail`,example:`B1:B4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.GAMMADIST,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.GAMMADIST.description`,abstract:`sheets-formula.functionList.GAMMADIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.GAMMADIST.functionParameter.x.name`,detail:`sheets-formula.functionList.GAMMADIST.functionParameter.x.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.GAMMADIST.functionParameter.alpha.name`,detail:`sheets-formula.functionList.GAMMADIST.functionParameter.alpha.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.GAMMADIST.functionParameter.beta.name`,detail:`sheets-formula.functionList.GAMMADIST.functionParameter.beta.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.GAMMADIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.GAMMADIST.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.GAMMAINV,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.GAMMAINV.description`,abstract:`sheets-formula.functionList.GAMMAINV.abstract`,functionParameter:[{name:`sheets-formula.functionList.GAMMAINV.functionParameter.probability.name`,detail:`sheets-formula.functionList.GAMMAINV.functionParameter.probability.detail`,example:`0.068094`,require:1,repeat:0},{name:`sheets-formula.functionList.GAMMAINV.functionParameter.alpha.name`,detail:`sheets-formula.functionList.GAMMAINV.functionParameter.alpha.detail`,example:`9`,require:1,repeat:0},{name:`sheets-formula.functionList.GAMMAINV.functionParameter.beta.name`,detail:`sheets-formula.functionList.GAMMAINV.functionParameter.beta.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.HYPGEOMDIST,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.HYPGEOMDIST.description`,abstract:`sheets-formula.functionList.HYPGEOMDIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.HYPGEOMDIST.functionParameter.sampleS.name`,detail:`sheets-formula.functionList.HYPGEOMDIST.functionParameter.sampleS.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.HYPGEOMDIST.functionParameter.numberSample.name`,detail:`sheets-formula.functionList.HYPGEOMDIST.functionParameter.numberSample.detail`,example:`4`,require:1,repeat:0},{name:`sheets-formula.functionList.HYPGEOMDIST.functionParameter.populationS.name`,detail:`sheets-formula.functionList.HYPGEOMDIST.functionParameter.populationS.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.HYPGEOMDIST.functionParameter.numberPop.name`,detail:`sheets-formula.functionList.HYPGEOMDIST.functionParameter.numberPop.detail`,example:`20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.LOGINV,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.LOGINV.description`,abstract:`sheets-formula.functionList.LOGINV.abstract`,functionParameter:[{name:`sheets-formula.functionList.LOGINV.functionParameter.probability.name`,detail:`sheets-formula.functionList.LOGINV.functionParameter.probability.detail`,example:`0.908789`,require:1,repeat:0},{name:`sheets-formula.functionList.LOGINV.functionParameter.mean.name`,detail:`sheets-formula.functionList.LOGINV.functionParameter.mean.detail`,example:`40`,require:1,repeat:0},{name:`sheets-formula.functionList.LOGINV.functionParameter.standardDev.name`,detail:`sheets-formula.functionList.LOGINV.functionParameter.standardDev.detail`,example:`1.5`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.LOGNORMDIST,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.LOGNORMDIST.description`,abstract:`sheets-formula.functionList.LOGNORMDIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.LOGNORMDIST.functionParameter.x.name`,detail:`sheets-formula.functionList.LOGNORMDIST.functionParameter.x.detail`,example:`42`,require:1,repeat:0},{name:`sheets-formula.functionList.LOGNORMDIST.functionParameter.mean.name`,detail:`sheets-formula.functionList.LOGNORMDIST.functionParameter.mean.detail`,example:`40`,require:1,repeat:0},{name:`sheets-formula.functionList.LOGNORMDIST.functionParameter.standardDev.name`,detail:`sheets-formula.functionList.LOGNORMDIST.functionParameter.standardDev.detail`,example:`1.5`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.MODE,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.MODE.description`,abstract:`sheets-formula.functionList.MODE.abstract`,functionParameter:[{name:`sheets-formula.functionList.MODE.functionParameter.number1.name`,detail:`sheets-formula.functionList.MODE.functionParameter.number1.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.MODE.functionParameter.number2.name`,detail:`sheets-formula.functionList.MODE.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.NEGBINOMDIST,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.NEGBINOMDIST.description`,abstract:`sheets-formula.functionList.NEGBINOMDIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.NEGBINOMDIST.functionParameter.numberF.name`,detail:`sheets-formula.functionList.NEGBINOMDIST.functionParameter.numberF.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.NEGBINOMDIST.functionParameter.numberS.name`,detail:`sheets-formula.functionList.NEGBINOMDIST.functionParameter.numberS.detail`,example:`5`,require:1,repeat:0},{name:`sheets-formula.functionList.NEGBINOMDIST.functionParameter.probabilityS.name`,detail:`sheets-formula.functionList.NEGBINOMDIST.functionParameter.probabilityS.detail`,example:`0.25`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.NORMDIST,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.NORMDIST.description`,abstract:`sheets-formula.functionList.NORMDIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.NORMDIST.functionParameter.x.name`,detail:`sheets-formula.functionList.NORMDIST.functionParameter.x.detail`,example:`42`,require:1,repeat:0},{name:`sheets-formula.functionList.NORMDIST.functionParameter.mean.name`,detail:`sheets-formula.functionList.NORMDIST.functionParameter.mean.detail`,example:`40`,require:1,repeat:0},{name:`sheets-formula.functionList.NORMDIST.functionParameter.standardDev.name`,detail:`sheets-formula.functionList.NORMDIST.functionParameter.standardDev.detail`,example:`1.5`,require:1,repeat:0},{name:`sheets-formula.functionList.NORMDIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.NORMDIST.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.NORMINV,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.NORMINV.description`,abstract:`sheets-formula.functionList.NORMINV.abstract`,functionParameter:[{name:`sheets-formula.functionList.NORMINV.functionParameter.probability.name`,detail:`sheets-formula.functionList.NORMINV.functionParameter.probability.detail`,example:`0.908789`,require:1,repeat:0},{name:`sheets-formula.functionList.NORMINV.functionParameter.mean.name`,detail:`sheets-formula.functionList.NORMINV.functionParameter.mean.detail`,example:`40`,require:1,repeat:0},{name:`sheets-formula.functionList.NORMINV.functionParameter.standardDev.name`,detail:`sheets-formula.functionList.NORMINV.functionParameter.standardDev.detail`,example:`1.5`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.NORMSDIST,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.NORMSDIST.description`,abstract:`sheets-formula.functionList.NORMSDIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.NORMSDIST.functionParameter.z.name`,detail:`sheets-formula.functionList.NORMSDIST.functionParameter.z.detail`,example:`1.333333`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.NORMSINV,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.NORMSINV.description`,abstract:`sheets-formula.functionList.NORMSINV.abstract`,functionParameter:[{name:`sheets-formula.functionList.NORMSINV.functionParameter.probability.name`,detail:`sheets-formula.functionList.NORMSINV.functionParameter.probability.detail`,example:`0.908789`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.PERCENTILE,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.PERCENTILE.description`,abstract:`sheets-formula.functionList.PERCENTILE.abstract`,functionParameter:[{name:`sheets-formula.functionList.PERCENTILE.functionParameter.array.name`,detail:`sheets-formula.functionList.PERCENTILE.functionParameter.array.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.PERCENTILE.functionParameter.k.name`,detail:`sheets-formula.functionList.PERCENTILE.functionParameter.k.detail`,example:`0.3`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.PERCENTRANK,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.PERCENTRANK.description`,abstract:`sheets-formula.functionList.PERCENTRANK.abstract`,functionParameter:[{name:`sheets-formula.functionList.PERCENTRANK.functionParameter.array.name`,detail:`sheets-formula.functionList.PERCENTRANK.functionParameter.array.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.PERCENTRANK.functionParameter.x.name`,detail:`sheets-formula.functionList.PERCENTRANK.functionParameter.x.detail`,example:`1.5`,require:1,repeat:0},{name:`sheets-formula.functionList.PERCENTRANK.functionParameter.significance.name`,detail:`sheets-formula.functionList.PERCENTRANK.functionParameter.significance.detail`,example:`3`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.POISSON,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.POISSON.description`,abstract:`sheets-formula.functionList.POISSON.abstract`,functionParameter:[{name:`sheets-formula.functionList.POISSON.functionParameter.x.name`,detail:`sheets-formula.functionList.POISSON.functionParameter.x.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.POISSON.functionParameter.mean.name`,detail:`sheets-formula.functionList.POISSON.functionParameter.mean.detail`,example:`5`,require:1,repeat:0},{name:`sheets-formula.functionList.POISSON.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.POISSON.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.QUARTILE,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.QUARTILE.description`,abstract:`sheets-formula.functionList.QUARTILE.abstract`,functionParameter:[{name:`sheets-formula.functionList.QUARTILE.functionParameter.array.name`,detail:`sheets-formula.functionList.QUARTILE.functionParameter.array.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.QUARTILE.functionParameter.quart.name`,detail:`sheets-formula.functionList.QUARTILE.functionParameter.quart.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.RANK,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.RANK.description`,abstract:`sheets-formula.functionList.RANK.abstract`,functionParameter:[{name:`sheets-formula.functionList.RANK.functionParameter.number.name`,detail:`sheets-formula.functionList.RANK.functionParameter.number.detail`,example:`A3`,require:1,repeat:0},{name:`sheets-formula.functionList.RANK.functionParameter.ref.name`,detail:`sheets-formula.functionList.RANK.functionParameter.ref.detail`,example:`A2:A6`,require:1,repeat:0},{name:`sheets-formula.functionList.RANK.functionParameter.order.name`,detail:`sheets-formula.functionList.RANK.functionParameter.order.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.STDEV,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.STDEV.description`,abstract:`sheets-formula.functionList.STDEV.abstract`,functionParameter:[{name:`sheets-formula.functionList.STDEV.functionParameter.number1.name`,detail:`sheets-formula.functionList.STDEV.functionParameter.number1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.STDEV.functionParameter.number2.name`,detail:`sheets-formula.functionList.STDEV.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.STDEVP,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.STDEVP.description`,abstract:`sheets-formula.functionList.STDEVP.abstract`,functionParameter:[{name:`sheets-formula.functionList.STDEVP.functionParameter.number1.name`,detail:`sheets-formula.functionList.STDEVP.functionParameter.number1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.STDEVP.functionParameter.number2.name`,detail:`sheets-formula.functionList.STDEVP.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.TDIST,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.TDIST.description`,abstract:`sheets-formula.functionList.TDIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.TDIST.functionParameter.x.name`,detail:`sheets-formula.functionList.TDIST.functionParameter.x.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.TDIST.functionParameter.degFreedom.name`,detail:`sheets-formula.functionList.TDIST.functionParameter.degFreedom.detail`,example:`3`,require:1,repeat:0},{name:`sheets-formula.functionList.TDIST.functionParameter.tails.name`,detail:`sheets-formula.functionList.TDIST.functionParameter.tails.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.TINV,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.TINV.description`,abstract:`sheets-formula.functionList.TINV.abstract`,functionParameter:[{name:`sheets-formula.functionList.TINV.functionParameter.probability.name`,detail:`sheets-formula.functionList.TINV.functionParameter.probability.detail`,example:`0.75`,require:1,repeat:0},{name:`sheets-formula.functionList.TINV.functionParameter.degFreedom.name`,detail:`sheets-formula.functionList.TINV.functionParameter.degFreedom.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.TTEST,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.TTEST.description`,abstract:`sheets-formula.functionList.TTEST.abstract`,functionParameter:[{name:`sheets-formula.functionList.TTEST.functionParameter.array1.name`,detail:`sheets-formula.functionList.TTEST.functionParameter.array1.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.TTEST.functionParameter.array2.name`,detail:`sheets-formula.functionList.TTEST.functionParameter.array2.detail`,example:`B1:B4`,require:1,repeat:0},{name:`sheets-formula.functionList.TTEST.functionParameter.tails.name`,detail:`sheets-formula.functionList.TTEST.functionParameter.tails.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.TTEST.functionParameter.type.name`,detail:`sheets-formula.functionList.TTEST.functionParameter.type.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.VAR,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.VAR.description`,abstract:`sheets-formula.functionList.VAR.abstract`,functionParameter:[{name:`sheets-formula.functionList.VAR.functionParameter.number1.name`,detail:`sheets-formula.functionList.VAR.functionParameter.number1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.VAR.functionParameter.number2.name`,detail:`sheets-formula.functionList.VAR.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.VARP,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.VARP.description`,abstract:`sheets-formula.functionList.VARP.abstract`,functionParameter:[{name:`sheets-formula.functionList.VARP.functionParameter.number1.name`,detail:`sheets-formula.functionList.VARP.functionParameter.number1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.VARP.functionParameter.number2.name`,detail:`sheets-formula.functionList.VARP.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.WEIBULL,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.WEIBULL.description`,abstract:`sheets-formula.functionList.WEIBULL.abstract`,functionParameter:[{name:`sheets-formula.functionList.WEIBULL.functionParameter.x.name`,detail:`sheets-formula.functionList.WEIBULL.functionParameter.x.detail`,example:`105`,require:1,repeat:0},{name:`sheets-formula.functionList.WEIBULL.functionParameter.alpha.name`,detail:`sheets-formula.functionList.WEIBULL.functionParameter.alpha.detail`,example:`20`,require:1,repeat:0},{name:`sheets-formula.functionList.WEIBULL.functionParameter.beta.name`,detail:`sheets-formula.functionList.WEIBULL.functionParameter.beta.detail`,example:`100`,require:1,repeat:0},{name:`sheets-formula.functionList.WEIBULL.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.WEIBULL.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_COMPATIBILITY.ZTEST,functionType:r.FunctionType.Compatibility,description:`sheets-formula.functionList.ZTEST.description`,abstract:`sheets-formula.functionList.ZTEST.abstract`,functionParameter:[{name:`sheets-formula.functionList.ZTEST.functionParameter.array.name`,detail:`sheets-formula.functionList.ZTEST.functionParameter.array.detail`,example:`A2:A11`,require:1,repeat:0},{name:`sheets-formula.functionList.ZTEST.functionParameter.x.name`,detail:`sheets-formula.functionList.ZTEST.functionParameter.x.detail`,example:`4`,require:1,repeat:0},{name:`sheets-formula.functionList.ZTEST.functionParameter.sigma.name`,detail:`sheets-formula.functionList.ZTEST.functionParameter.sigma.detail`,example:`10`,require:0,repeat:0}]}],Ye=[{functionName:r.FUNCTION_NAMES_CUBE.CUBEKPIMEMBER,functionType:r.FunctionType.Cube,description:`sheets-formula.functionList.CUBEKPIMEMBER.description`,abstract:`sheets-formula.functionList.CUBEKPIMEMBER.abstract`,functionParameter:[{name:`sheets-formula.functionList.CUBEKPIMEMBER.functionParameter.number1.name`,detail:`sheets-formula.functionList.CUBEKPIMEMBER.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.CUBEKPIMEMBER.functionParameter.number2.name`,detail:`sheets-formula.functionList.CUBEKPIMEMBER.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_CUBE.CUBEMEMBER,functionType:r.FunctionType.Cube,description:`sheets-formula.functionList.CUBEMEMBER.description`,abstract:`sheets-formula.functionList.CUBEMEMBER.abstract`,functionParameter:[{name:`sheets-formula.functionList.CUBEMEMBER.functionParameter.number1.name`,detail:`sheets-formula.functionList.CUBEMEMBER.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.CUBEMEMBER.functionParameter.number2.name`,detail:`sheets-formula.functionList.CUBEMEMBER.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_CUBE.CUBEMEMBERPROPERTY,functionType:r.FunctionType.Cube,description:`sheets-formula.functionList.CUBEMEMBERPROPERTY.description`,abstract:`sheets-formula.functionList.CUBEMEMBERPROPERTY.abstract`,functionParameter:[{name:`sheets-formula.functionList.CUBEMEMBERPROPERTY.functionParameter.number1.name`,detail:`sheets-formula.functionList.CUBEMEMBERPROPERTY.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.CUBEMEMBERPROPERTY.functionParameter.number2.name`,detail:`sheets-formula.functionList.CUBEMEMBERPROPERTY.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_CUBE.CUBERANKEDMEMBER,functionType:r.FunctionType.Cube,description:`sheets-formula.functionList.CUBERANKEDMEMBER.description`,abstract:`sheets-formula.functionList.CUBERANKEDMEMBER.abstract`,functionParameter:[{name:`sheets-formula.functionList.CUBERANKEDMEMBER.functionParameter.number1.name`,detail:`sheets-formula.functionList.CUBERANKEDMEMBER.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.CUBERANKEDMEMBER.functionParameter.number2.name`,detail:`sheets-formula.functionList.CUBERANKEDMEMBER.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_CUBE.CUBESET,functionType:r.FunctionType.Cube,description:`sheets-formula.functionList.CUBESET.description`,abstract:`sheets-formula.functionList.CUBESET.abstract`,functionParameter:[{name:`sheets-formula.functionList.CUBESET.functionParameter.number1.name`,detail:`sheets-formula.functionList.CUBESET.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.CUBESET.functionParameter.number2.name`,detail:`sheets-formula.functionList.CUBESET.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_CUBE.CUBESETCOUNT,functionType:r.FunctionType.Cube,description:`sheets-formula.functionList.CUBESETCOUNT.description`,abstract:`sheets-formula.functionList.CUBESETCOUNT.abstract`,functionParameter:[{name:`sheets-formula.functionList.CUBESETCOUNT.functionParameter.number1.name`,detail:`sheets-formula.functionList.CUBESETCOUNT.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.CUBESETCOUNT.functionParameter.number2.name`,detail:`sheets-formula.functionList.CUBESETCOUNT.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_CUBE.CUBEVALUE,functionType:r.FunctionType.Cube,description:`sheets-formula.functionList.CUBEVALUE.description`,abstract:`sheets-formula.functionList.CUBEVALUE.abstract`,functionParameter:[{name:`sheets-formula.functionList.CUBEVALUE.functionParameter.number1.name`,detail:`sheets-formula.functionList.CUBEVALUE.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.CUBEVALUE.functionParameter.number2.name`,detail:`sheets-formula.functionList.CUBEVALUE.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]}],Xe=[{functionName:r.FUNCTION_NAMES_DATABASE.DAVERAGE,functionType:r.FunctionType.Database,description:`sheets-formula.functionList.DAVERAGE.description`,abstract:`sheets-formula.functionList.DAVERAGE.abstract`,functionParameter:[{name:`sheets-formula.functionList.DAVERAGE.functionParameter.database.name`,detail:`sheets-formula.functionList.DAVERAGE.functionParameter.database.detail`,example:`A4:E10`,require:1,repeat:0},{name:`sheets-formula.functionList.DAVERAGE.functionParameter.field.name`,detail:`sheets-formula.functionList.DAVERAGE.functionParameter.field.detail`,example:`D4`,require:1,repeat:0},{name:`sheets-formula.functionList.DAVERAGE.functionParameter.criteria.name`,detail:`sheets-formula.functionList.DAVERAGE.functionParameter.criteria.detail`,example:`A1:B2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATABASE.DCOUNT,functionType:r.FunctionType.Database,description:`sheets-formula.functionList.DCOUNT.description`,abstract:`sheets-formula.functionList.DCOUNT.abstract`,functionParameter:[{name:`sheets-formula.functionList.DCOUNT.functionParameter.database.name`,detail:`sheets-formula.functionList.DCOUNT.functionParameter.database.detail`,example:`A4:E10`,require:1,repeat:0},{name:`sheets-formula.functionList.DCOUNT.functionParameter.field.name`,detail:`sheets-formula.functionList.DCOUNT.functionParameter.field.detail`,example:`D4`,require:1,repeat:0},{name:`sheets-formula.functionList.DCOUNT.functionParameter.criteria.name`,detail:`sheets-formula.functionList.DCOUNT.functionParameter.criteria.detail`,example:`A1:B2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATABASE.DCOUNTA,functionType:r.FunctionType.Database,description:`sheets-formula.functionList.DCOUNTA.description`,abstract:`sheets-formula.functionList.DCOUNTA.abstract`,functionParameter:[{name:`sheets-formula.functionList.DCOUNTA.functionParameter.database.name`,detail:`sheets-formula.functionList.DCOUNTA.functionParameter.database.detail`,example:`A4:E10`,require:1,repeat:0},{name:`sheets-formula.functionList.DCOUNTA.functionParameter.field.name`,detail:`sheets-formula.functionList.DCOUNTA.functionParameter.field.detail`,example:`D4`,require:1,repeat:0},{name:`sheets-formula.functionList.DCOUNTA.functionParameter.criteria.name`,detail:`sheets-formula.functionList.DCOUNTA.functionParameter.criteria.detail`,example:`A1:B2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATABASE.DGET,functionType:r.FunctionType.Database,description:`sheets-formula.functionList.DGET.description`,abstract:`sheets-formula.functionList.DGET.abstract`,functionParameter:[{name:`sheets-formula.functionList.DGET.functionParameter.database.name`,detail:`sheets-formula.functionList.DGET.functionParameter.database.detail`,example:`A4:E10`,require:1,repeat:0},{name:`sheets-formula.functionList.DGET.functionParameter.field.name`,detail:`sheets-formula.functionList.DGET.functionParameter.field.detail`,example:`D4`,require:1,repeat:0},{name:`sheets-formula.functionList.DGET.functionParameter.criteria.name`,detail:`sheets-formula.functionList.DGET.functionParameter.criteria.detail`,example:`A1:B2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATABASE.DMAX,functionType:r.FunctionType.Database,description:`sheets-formula.functionList.DMAX.description`,abstract:`sheets-formula.functionList.DMAX.abstract`,functionParameter:[{name:`sheets-formula.functionList.DMAX.functionParameter.database.name`,detail:`sheets-formula.functionList.DMAX.functionParameter.database.detail`,example:`A4:E10`,require:1,repeat:0},{name:`sheets-formula.functionList.DMAX.functionParameter.field.name`,detail:`sheets-formula.functionList.DMAX.functionParameter.field.detail`,example:`D4`,require:1,repeat:0},{name:`sheets-formula.functionList.DMAX.functionParameter.criteria.name`,detail:`sheets-formula.functionList.DMAX.functionParameter.criteria.detail`,example:`A1:B2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATABASE.DMIN,functionType:r.FunctionType.Database,description:`sheets-formula.functionList.DMIN.description`,abstract:`sheets-formula.functionList.DMIN.abstract`,functionParameter:[{name:`sheets-formula.functionList.DMIN.functionParameter.database.name`,detail:`sheets-formula.functionList.DMIN.functionParameter.database.detail`,example:`A4:E10`,require:1,repeat:0},{name:`sheets-formula.functionList.DMIN.functionParameter.field.name`,detail:`sheets-formula.functionList.DMIN.functionParameter.field.detail`,example:`D4`,require:1,repeat:0},{name:`sheets-formula.functionList.DMIN.functionParameter.criteria.name`,detail:`sheets-formula.functionList.DMIN.functionParameter.criteria.detail`,example:`A1:B2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATABASE.DPRODUCT,functionType:r.FunctionType.Database,description:`sheets-formula.functionList.DPRODUCT.description`,abstract:`sheets-formula.functionList.DPRODUCT.abstract`,functionParameter:[{name:`sheets-formula.functionList.DPRODUCT.functionParameter.database.name`,detail:`sheets-formula.functionList.DPRODUCT.functionParameter.database.detail`,example:`A4:E10`,require:1,repeat:0},{name:`sheets-formula.functionList.DPRODUCT.functionParameter.field.name`,detail:`sheets-formula.functionList.DPRODUCT.functionParameter.field.detail`,example:`D4`,require:1,repeat:0},{name:`sheets-formula.functionList.DPRODUCT.functionParameter.criteria.name`,detail:`sheets-formula.functionList.DPRODUCT.functionParameter.criteria.detail`,example:`A1:B2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATABASE.DSTDEV,functionType:r.FunctionType.Database,description:`sheets-formula.functionList.DSTDEV.description`,abstract:`sheets-formula.functionList.DSTDEV.abstract`,functionParameter:[{name:`sheets-formula.functionList.DSTDEV.functionParameter.database.name`,detail:`sheets-formula.functionList.DSTDEV.functionParameter.database.detail`,example:`A4:E10`,require:1,repeat:0},{name:`sheets-formula.functionList.DSTDEV.functionParameter.field.name`,detail:`sheets-formula.functionList.DSTDEV.functionParameter.field.detail`,example:`D4`,require:1,repeat:0},{name:`sheets-formula.functionList.DSTDEV.functionParameter.criteria.name`,detail:`sheets-formula.functionList.DSTDEV.functionParameter.criteria.detail`,example:`A1:B2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATABASE.DSTDEVP,functionType:r.FunctionType.Database,description:`sheets-formula.functionList.DSTDEVP.description`,abstract:`sheets-formula.functionList.DSTDEVP.abstract`,functionParameter:[{name:`sheets-formula.functionList.DSTDEVP.functionParameter.database.name`,detail:`sheets-formula.functionList.DSTDEVP.functionParameter.database.detail`,example:`A4:E10`,require:1,repeat:0},{name:`sheets-formula.functionList.DSTDEVP.functionParameter.field.name`,detail:`sheets-formula.functionList.DSTDEVP.functionParameter.field.detail`,example:`D4`,require:1,repeat:0},{name:`sheets-formula.functionList.DSTDEVP.functionParameter.criteria.name`,detail:`sheets-formula.functionList.DSTDEVP.functionParameter.criteria.detail`,example:`A1:B2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATABASE.DSUM,functionType:r.FunctionType.Database,description:`sheets-formula.functionList.DSUM.description`,abstract:`sheets-formula.functionList.DSUM.abstract`,functionParameter:[{name:`sheets-formula.functionList.DSUM.functionParameter.database.name`,detail:`sheets-formula.functionList.DSUM.functionParameter.database.detail`,example:`A4:E10`,require:1,repeat:0},{name:`sheets-formula.functionList.DSUM.functionParameter.field.name`,detail:`sheets-formula.functionList.DSUM.functionParameter.field.detail`,example:`D4`,require:1,repeat:0},{name:`sheets-formula.functionList.DSUM.functionParameter.criteria.name`,detail:`sheets-formula.functionList.DSUM.functionParameter.criteria.detail`,example:`A1:B2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATABASE.DVAR,functionType:r.FunctionType.Database,description:`sheets-formula.functionList.DVAR.description`,abstract:`sheets-formula.functionList.DVAR.abstract`,functionParameter:[{name:`sheets-formula.functionList.DVAR.functionParameter.database.name`,detail:`sheets-formula.functionList.DVAR.functionParameter.database.detail`,example:`A4:E10`,require:1,repeat:0},{name:`sheets-formula.functionList.DVAR.functionParameter.field.name`,detail:`sheets-formula.functionList.DVAR.functionParameter.field.detail`,example:`D4`,require:1,repeat:0},{name:`sheets-formula.functionList.DVAR.functionParameter.criteria.name`,detail:`sheets-formula.functionList.DVAR.functionParameter.criteria.detail`,example:`A1:B2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATABASE.DVARP,functionType:r.FunctionType.Database,description:`sheets-formula.functionList.DVARP.description`,abstract:`sheets-formula.functionList.DVARP.abstract`,functionParameter:[{name:`sheets-formula.functionList.DVARP.functionParameter.database.name`,detail:`sheets-formula.functionList.DVARP.functionParameter.database.detail`,example:`A4:E10`,require:1,repeat:0},{name:`sheets-formula.functionList.DVARP.functionParameter.field.name`,detail:`sheets-formula.functionList.DVARP.functionParameter.field.detail`,example:`D4`,require:1,repeat:0},{name:`sheets-formula.functionList.DVARP.functionParameter.criteria.name`,detail:`sheets-formula.functionList.DVARP.functionParameter.criteria.detail`,example:`A1:B2`,require:1,repeat:0}]}],Ze=[{functionName:r.FUNCTION_NAMES_DATE.DATE,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.DATE.description`,abstract:`sheets-formula.functionList.DATE.abstract`,functionParameter:[{name:`sheets-formula.functionList.DATE.functionParameter.year.name`,detail:`sheets-formula.functionList.DATE.functionParameter.year.detail`,example:`2024`,require:1,repeat:0},{name:`sheets-formula.functionList.DATE.functionParameter.month.name`,detail:`sheets-formula.functionList.DATE.functionParameter.month.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.DATE.functionParameter.day.name`,detail:`sheets-formula.functionList.DATE.functionParameter.day.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.DATEDIF,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.DATEDIF.description`,abstract:`sheets-formula.functionList.DATEDIF.abstract`,functionParameter:[{name:`sheets-formula.functionList.DATEDIF.functionParameter.startDate.name`,detail:`sheets-formula.functionList.DATEDIF.functionParameter.startDate.detail`,example:`"2001-6-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.DATEDIF.functionParameter.endDate.name`,detail:`sheets-formula.functionList.DATEDIF.functionParameter.endDate.detail`,example:`"2002-8-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.DATEDIF.functionParameter.method.name`,detail:`sheets-formula.functionList.DATEDIF.functionParameter.method.detail`,example:`"D"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.DATEVALUE,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.DATEVALUE.description`,abstract:`sheets-formula.functionList.DATEVALUE.abstract`,functionParameter:[{name:`sheets-formula.functionList.DATEVALUE.functionParameter.dateText.name`,detail:`sheets-formula.functionList.DATEVALUE.functionParameter.dateText.detail`,example:`"2024-8-8"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.DAY,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.DAY.description`,abstract:`sheets-formula.functionList.DAY.abstract`,functionParameter:[{name:`sheets-formula.functionList.DAY.functionParameter.serialNumber.name`,detail:`sheets-formula.functionList.DAY.functionParameter.serialNumber.detail`,example:`"1969-7-20"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.DAYS,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.DAYS.description`,abstract:`sheets-formula.functionList.DAYS.abstract`,functionParameter:[{name:`sheets-formula.functionList.DAYS.functionParameter.endDate.name`,detail:`sheets-formula.functionList.DAYS.functionParameter.endDate.detail`,example:`"2021-12-31"`,require:1,repeat:0},{name:`sheets-formula.functionList.DAYS.functionParameter.startDate.name`,detail:`sheets-formula.functionList.DAYS.functionParameter.startDate.detail`,example:`"2021-1-1"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.DAYS360,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.DAYS360.description`,abstract:`sheets-formula.functionList.DAYS360.abstract`,functionParameter:[{name:`sheets-formula.functionList.DAYS360.functionParameter.startDate.name`,detail:`sheets-formula.functionList.DAYS360.functionParameter.startDate.detail`,example:`"2021-1-29"`,require:1,repeat:0},{name:`sheets-formula.functionList.DAYS360.functionParameter.endDate.name`,detail:`sheets-formula.functionList.DAYS360.functionParameter.endDate.detail`,example:`"2021-3-31"`,require:1,repeat:0},{name:`sheets-formula.functionList.DAYS360.functionParameter.method.name`,detail:`sheets-formula.functionList.DAYS360.functionParameter.method.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.EDATE,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.EDATE.description`,abstract:`sheets-formula.functionList.EDATE.abstract`,functionParameter:[{name:`sheets-formula.functionList.EDATE.functionParameter.startDate.name`,detail:`sheets-formula.functionList.EDATE.functionParameter.startDate.detail`,example:`A1`,require:1,repeat:0},{name:`sheets-formula.functionList.EDATE.functionParameter.months.name`,detail:`sheets-formula.functionList.EDATE.functionParameter.months.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.EOMONTH,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.EOMONTH.description`,abstract:`sheets-formula.functionList.EOMONTH.abstract`,functionParameter:[{name:`sheets-formula.functionList.EOMONTH.functionParameter.startDate.name`,detail:`sheets-formula.functionList.EOMONTH.functionParameter.startDate.detail`,example:`"2011-1-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.EOMONTH.functionParameter.months.name`,detail:`sheets-formula.functionList.EOMONTH.functionParameter.months.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.EPOCHTODATE,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.EPOCHTODATE.description`,abstract:`sheets-formula.functionList.EPOCHTODATE.abstract`,functionParameter:[{name:`sheets-formula.functionList.EPOCHTODATE.functionParameter.timestamp.name`,detail:`sheets-formula.functionList.EPOCHTODATE.functionParameter.timestamp.detail`,example:`1655906710`,require:1,repeat:0},{name:`sheets-formula.functionList.EPOCHTODATE.functionParameter.unit.name`,detail:`sheets-formula.functionList.EPOCHTODATE.functionParameter.unit.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.HOUR,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.HOUR.description`,abstract:`sheets-formula.functionList.HOUR.abstract`,functionParameter:[{name:`sheets-formula.functionList.HOUR.functionParameter.serialNumber.name`,detail:`sheets-formula.functionList.HOUR.functionParameter.serialNumber.detail`,example:`"2011-7-18 7:45"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.ISOWEEKNUM,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.ISOWEEKNUM.description`,abstract:`sheets-formula.functionList.ISOWEEKNUM.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISOWEEKNUM.functionParameter.date.name`,detail:`sheets-formula.functionList.ISOWEEKNUM.functionParameter.date.detail`,example:`"2012-3-9"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.MINUTE,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.MINUTE.description`,abstract:`sheets-formula.functionList.MINUTE.abstract`,functionParameter:[{name:`sheets-formula.functionList.MINUTE.functionParameter.serialNumber.name`,detail:`sheets-formula.functionList.MINUTE.functionParameter.serialNumber.detail`,example:`"12:45"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.MONTH,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.MONTH.description`,abstract:`sheets-formula.functionList.MONTH.abstract`,functionParameter:[{name:`sheets-formula.functionList.MONTH.functionParameter.serialNumber.name`,detail:`sheets-formula.functionList.MONTH.functionParameter.serialNumber.detail`,example:`"1969-7-20"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.NETWORKDAYS,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.NETWORKDAYS.description`,abstract:`sheets-formula.functionList.NETWORKDAYS.abstract`,functionParameter:[{name:`sheets-formula.functionList.NETWORKDAYS.functionParameter.startDate.name`,detail:`sheets-formula.functionList.NETWORKDAYS.functionParameter.startDate.detail`,example:`"2012-10-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.NETWORKDAYS.functionParameter.endDate.name`,detail:`sheets-formula.functionList.NETWORKDAYS.functionParameter.endDate.detail`,example:`"2013-3-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.NETWORKDAYS.functionParameter.holidays.name`,detail:`sheets-formula.functionList.NETWORKDAYS.functionParameter.holidays.detail`,example:`"2012-11-22"`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.NETWORKDAYS_INTL,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.NETWORKDAYS_INTL.description`,abstract:`sheets-formula.functionList.NETWORKDAYS_INTL.abstract`,functionParameter:[{name:`sheets-formula.functionList.NETWORKDAYS_INTL.functionParameter.startDate.name`,detail:`sheets-formula.functionList.NETWORKDAYS_INTL.functionParameter.startDate.detail`,example:`"2012-10-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.NETWORKDAYS_INTL.functionParameter.endDate.name`,detail:`sheets-formula.functionList.NETWORKDAYS_INTL.functionParameter.endDate.detail`,example:`"2013-3-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.NETWORKDAYS_INTL.functionParameter.weekend.name`,detail:`sheets-formula.functionList.NETWORKDAYS_INTL.functionParameter.weekend.detail`,example:`6`,require:0,repeat:0},{name:`sheets-formula.functionList.NETWORKDAYS_INTL.functionParameter.holidays.name`,detail:`sheets-formula.functionList.NETWORKDAYS_INTL.functionParameter.holidays.detail`,example:`"2012-11-22"`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.NOW,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.NOW.description`,abstract:`sheets-formula.functionList.NOW.abstract`,functionParameter:[]},{functionName:r.FUNCTION_NAMES_DATE.SECOND,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.SECOND.description`,abstract:`sheets-formula.functionList.SECOND.abstract`,functionParameter:[{name:`sheets-formula.functionList.SECOND.functionParameter.serialNumber.name`,detail:`sheets-formula.functionList.SECOND.functionParameter.serialNumber.detail`,example:`"4:48:18"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.TIME,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.TIME.description`,abstract:`sheets-formula.functionList.TIME.abstract`,functionParameter:[{name:`sheets-formula.functionList.TIME.functionParameter.hour.name`,detail:`sheets-formula.functionList.TIME.functionParameter.hour.detail`,example:`15`,require:1,repeat:0},{name:`sheets-formula.functionList.TIME.functionParameter.minute.name`,detail:`sheets-formula.functionList.TIME.functionParameter.minute.detail`,example:`20`,require:1,repeat:0},{name:`sheets-formula.functionList.TIME.functionParameter.second.name`,detail:`sheets-formula.functionList.TIME.functionParameter.second.detail`,example:`59`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.TIMEVALUE,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.TIMEVALUE.description`,abstract:`sheets-formula.functionList.TIMEVALUE.abstract`,functionParameter:[{name:`sheets-formula.functionList.TIMEVALUE.functionParameter.timeText.name`,detail:`sheets-formula.functionList.TIMEVALUE.functionParameter.timeText.detail`,example:`"15:20:59"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.TO_DATE,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.TO_DATE.description`,abstract:`sheets-formula.functionList.TO_DATE.abstract`,functionParameter:[{name:`sheets-formula.functionList.TO_DATE.functionParameter.value.name`,detail:`sheets-formula.functionList.TO_DATE.functionParameter.value.detail`,example:`40826.4375`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.TODAY,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.TODAY.description`,abstract:`sheets-formula.functionList.TODAY.abstract`,functionParameter:[]},{functionName:r.FUNCTION_NAMES_DATE.WEEKDAY,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.WEEKDAY.description`,abstract:`sheets-formula.functionList.WEEKDAY.abstract`,functionParameter:[{name:`sheets-formula.functionList.WEEKDAY.functionParameter.serialNumber.name`,detail:`sheets-formula.functionList.WEEKDAY.functionParameter.serialNumber.detail`,example:`"2008-2-14"`,require:1,repeat:0},{name:`sheets-formula.functionList.WEEKDAY.functionParameter.returnType.name`,detail:`sheets-formula.functionList.WEEKDAY.functionParameter.returnType.detail`,example:`2`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.WEEKNUM,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.WEEKNUM.description`,abstract:`sheets-formula.functionList.WEEKNUM.abstract`,functionParameter:[{name:`sheets-formula.functionList.WEEKNUM.functionParameter.serialNumber.name`,detail:`sheets-formula.functionList.WEEKNUM.functionParameter.serialNumber.detail`,example:`"2012-3-9"`,require:1,repeat:0},{name:`sheets-formula.functionList.WEEKNUM.functionParameter.returnType.name`,detail:`sheets-formula.functionList.WEEKNUM.functionParameter.returnType.detail`,example:`2`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.WORKDAY,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.WORKDAY.description`,abstract:`sheets-formula.functionList.WORKDAY.abstract`,functionParameter:[{name:`sheets-formula.functionList.WORKDAY.functionParameter.startDate.name`,detail:`sheets-formula.functionList.WORKDAY.functionParameter.startDate.detail`,example:`"2008-10-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.WORKDAY.functionParameter.days.name`,detail:`sheets-formula.functionList.WORKDAY.functionParameter.days.detail`,example:`151`,require:1,repeat:0},{name:`sheets-formula.functionList.WORKDAY.functionParameter.holidays.name`,detail:`sheets-formula.functionList.WORKDAY.functionParameter.holidays.detail`,example:`"2008-11-26"`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.WORKDAY_INTL,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.WORKDAY_INTL.description`,abstract:`sheets-formula.functionList.WORKDAY_INTL.abstract`,functionParameter:[{name:`sheets-formula.functionList.WORKDAY_INTL.functionParameter.startDate.name`,detail:`sheets-formula.functionList.WORKDAY_INTL.functionParameter.startDate.detail`,example:`"2008-10-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.WORKDAY_INTL.functionParameter.days.name`,detail:`sheets-formula.functionList.WORKDAY_INTL.functionParameter.days.detail`,example:`151`,require:1,repeat:0},{name:`sheets-formula.functionList.WORKDAY_INTL.functionParameter.weekend.name`,detail:`sheets-formula.functionList.WORKDAY_INTL.functionParameter.weekend.detail`,example:`6`,require:0,repeat:0},{name:`sheets-formula.functionList.WORKDAY_INTL.functionParameter.holidays.name`,detail:`sheets-formula.functionList.WORKDAY_INTL.functionParameter.holidays.detail`,example:`"2008-11-26"`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.YEAR,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.YEAR.description`,abstract:`sheets-formula.functionList.YEAR.abstract`,functionParameter:[{name:`sheets-formula.functionList.YEAR.functionParameter.serialNumber.name`,detail:`sheets-formula.functionList.YEAR.functionParameter.serialNumber.detail`,example:`"1969-7-20"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_DATE.YEARFRAC,functionType:r.FunctionType.Date,description:`sheets-formula.functionList.YEARFRAC.description`,abstract:`sheets-formula.functionList.YEARFRAC.abstract`,functionParameter:[{name:`sheets-formula.functionList.YEARFRAC.functionParameter.startDate.name`,detail:`sheets-formula.functionList.YEARFRAC.functionParameter.startDate.detail`,example:`"2012-1-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.YEARFRAC.functionParameter.endDate.name`,detail:`sheets-formula.functionList.YEARFRAC.functionParameter.endDate.detail`,example:`"2012-7-30"`,require:1,repeat:0},{name:`sheets-formula.functionList.YEARFRAC.functionParameter.basis.name`,detail:`sheets-formula.functionList.YEARFRAC.functionParameter.basis.detail`,example:`1`,require:0,repeat:0}]}],Qe=[{functionName:r.FUNCTION_NAMES_ENGINEERING.BESSELI,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.BESSELI.description`,abstract:`sheets-formula.functionList.BESSELI.abstract`,functionParameter:[{name:`sheets-formula.functionList.BESSELI.functionParameter.x.name`,detail:`sheets-formula.functionList.BESSELI.functionParameter.x.detail`,example:`1.5`,require:1,repeat:0},{name:`sheets-formula.functionList.BESSELI.functionParameter.n.name`,detail:`sheets-formula.functionList.BESSELI.functionParameter.n.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.BESSELJ,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.BESSELJ.description`,abstract:`sheets-formula.functionList.BESSELJ.abstract`,functionParameter:[{name:`sheets-formula.functionList.BESSELJ.functionParameter.x.name`,detail:`sheets-formula.functionList.BESSELJ.functionParameter.x.detail`,example:`1.5`,require:1,repeat:0},{name:`sheets-formula.functionList.BESSELJ.functionParameter.n.name`,detail:`sheets-formula.functionList.BESSELJ.functionParameter.n.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.BESSELK,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.BESSELK.description`,abstract:`sheets-formula.functionList.BESSELK.abstract`,functionParameter:[{name:`sheets-formula.functionList.BESSELK.functionParameter.x.name`,detail:`sheets-formula.functionList.BESSELK.functionParameter.x.detail`,example:`1.5`,require:1,repeat:0},{name:`sheets-formula.functionList.BESSELK.functionParameter.n.name`,detail:`sheets-formula.functionList.BESSELK.functionParameter.n.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.BESSELY,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.BESSELY.description`,abstract:`sheets-formula.functionList.BESSELY.abstract`,functionParameter:[{name:`sheets-formula.functionList.BESSELY.functionParameter.x.name`,detail:`sheets-formula.functionList.BESSELY.functionParameter.x.detail`,example:`1.5`,require:1,repeat:0},{name:`sheets-formula.functionList.BESSELY.functionParameter.n.name`,detail:`sheets-formula.functionList.BESSELY.functionParameter.n.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.BIN2DEC,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.BIN2DEC.description`,abstract:`sheets-formula.functionList.BIN2DEC.abstract`,functionParameter:[{name:`sheets-formula.functionList.BIN2DEC.functionParameter.number.name`,detail:`sheets-formula.functionList.BIN2DEC.functionParameter.number.detail`,example:`1100100`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.BIN2HEX,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.BIN2HEX.description`,abstract:`sheets-formula.functionList.BIN2HEX.abstract`,functionParameter:[{name:`sheets-formula.functionList.BIN2HEX.functionParameter.number.name`,detail:`sheets-formula.functionList.BIN2HEX.functionParameter.number.detail`,example:`11111011`,require:1,repeat:0},{name:`sheets-formula.functionList.BIN2HEX.functionParameter.places.name`,detail:`sheets-formula.functionList.BIN2HEX.functionParameter.places.detail`,example:`4`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.BIN2OCT,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.BIN2OCT.description`,abstract:`sheets-formula.functionList.BIN2OCT.abstract`,functionParameter:[{name:`sheets-formula.functionList.BIN2OCT.functionParameter.number.name`,detail:`sheets-formula.functionList.BIN2OCT.functionParameter.number.detail`,example:`1001`,require:1,repeat:0},{name:`sheets-formula.functionList.BIN2OCT.functionParameter.places.name`,detail:`sheets-formula.functionList.BIN2OCT.functionParameter.places.detail`,example:`3`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.BITAND,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.BITAND.description`,abstract:`sheets-formula.functionList.BITAND.abstract`,functionParameter:[{name:`sheets-formula.functionList.BITAND.functionParameter.number1.name`,detail:`sheets-formula.functionList.BITAND.functionParameter.number1.detail`,example:`13`,require:1,repeat:0},{name:`sheets-formula.functionList.BITAND.functionParameter.number2.name`,detail:`sheets-formula.functionList.BITAND.functionParameter.number2.detail`,example:`25`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.BITLSHIFT,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.BITLSHIFT.description`,abstract:`sheets-formula.functionList.BITLSHIFT.abstract`,functionParameter:[{name:`sheets-formula.functionList.BITLSHIFT.functionParameter.number.name`,detail:`sheets-formula.functionList.BITLSHIFT.functionParameter.number.detail`,example:`4`,require:1,repeat:0},{name:`sheets-formula.functionList.BITLSHIFT.functionParameter.shiftAmount.name`,detail:`sheets-formula.functionList.BITLSHIFT.functionParameter.shiftAmount.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.BITOR,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.BITOR.description`,abstract:`sheets-formula.functionList.BITOR.abstract`,functionParameter:[{name:`sheets-formula.functionList.BITOR.functionParameter.number1.name`,detail:`sheets-formula.functionList.BITOR.functionParameter.number1.detail`,example:`23`,require:1,repeat:0},{name:`sheets-formula.functionList.BITOR.functionParameter.number2.name`,detail:`sheets-formula.functionList.BITOR.functionParameter.number2.detail`,example:`10`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.BITRSHIFT,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.BITRSHIFT.description`,abstract:`sheets-formula.functionList.BITRSHIFT.abstract`,functionParameter:[{name:`sheets-formula.functionList.BITRSHIFT.functionParameter.number.name`,detail:`sheets-formula.functionList.BITRSHIFT.functionParameter.number.detail`,example:`13`,require:1,repeat:0},{name:`sheets-formula.functionList.BITRSHIFT.functionParameter.shiftAmount.name`,detail:`sheets-formula.functionList.BITRSHIFT.functionParameter.shiftAmount.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.BITXOR,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.BITXOR.description`,abstract:`sheets-formula.functionList.BITXOR.abstract`,functionParameter:[{name:`sheets-formula.functionList.BITXOR.functionParameter.number1.name`,detail:`sheets-formula.functionList.BITXOR.functionParameter.number1.detail`,example:`5`,require:1,repeat:0},{name:`sheets-formula.functionList.BITXOR.functionParameter.number2.name`,detail:`sheets-formula.functionList.BITXOR.functionParameter.number2.detail`,example:`3`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.COMPLEX,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.COMPLEX.description`,abstract:`sheets-formula.functionList.COMPLEX.abstract`,functionParameter:[{name:`sheets-formula.functionList.COMPLEX.functionParameter.realNum.name`,detail:`sheets-formula.functionList.COMPLEX.functionParameter.realNum.detail`,example:`3`,require:1,repeat:0},{name:`sheets-formula.functionList.COMPLEX.functionParameter.iNum.name`,detail:`sheets-formula.functionList.COMPLEX.functionParameter.iNum.detail`,example:`4`,require:1,repeat:0},{name:`sheets-formula.functionList.COMPLEX.functionParameter.suffix.name`,detail:`sheets-formula.functionList.COMPLEX.functionParameter.suffix.detail`,example:`"i"`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.CONVERT,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.CONVERT.description`,abstract:`sheets-formula.functionList.CONVERT.abstract`,functionParameter:[{name:`sheets-formula.functionList.CONVERT.functionParameter.number.name`,detail:`sheets-formula.functionList.CONVERT.functionParameter.number.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.CONVERT.functionParameter.fromUnit.name`,detail:`sheets-formula.functionList.CONVERT.functionParameter.fromUnit.detail`,example:`"lbm"`,require:1,repeat:0},{name:`sheets-formula.functionList.CONVERT.functionParameter.toUnit.name`,detail:`sheets-formula.functionList.CONVERT.functionParameter.toUnit.detail`,example:`"kg"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.DEC2BIN,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.DEC2BIN.description`,abstract:`sheets-formula.functionList.DEC2BIN.abstract`,functionParameter:[{name:`sheets-formula.functionList.DEC2BIN.functionParameter.number.name`,detail:`sheets-formula.functionList.DEC2BIN.functionParameter.number.detail`,example:`9`,require:1,repeat:0},{name:`sheets-formula.functionList.DEC2BIN.functionParameter.places.name`,detail:`sheets-formula.functionList.DEC2BIN.functionParameter.places.detail`,example:`4`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.DEC2HEX,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.DEC2HEX.description`,abstract:`sheets-formula.functionList.DEC2HEX.abstract`,functionParameter:[{name:`sheets-formula.functionList.DEC2HEX.functionParameter.number.name`,detail:`sheets-formula.functionList.DEC2HEX.functionParameter.number.detail`,example:`100`,require:1,repeat:0},{name:`sheets-formula.functionList.DEC2HEX.functionParameter.places.name`,detail:`sheets-formula.functionList.DEC2HEX.functionParameter.places.detail`,example:`4`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.DEC2OCT,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.DEC2OCT.description`,abstract:`sheets-formula.functionList.DEC2OCT.abstract`,functionParameter:[{name:`sheets-formula.functionList.DEC2OCT.functionParameter.number.name`,detail:`sheets-formula.functionList.DEC2OCT.functionParameter.number.detail`,example:`58`,require:1,repeat:0},{name:`sheets-formula.functionList.DEC2OCT.functionParameter.places.name`,detail:`sheets-formula.functionList.DEC2OCT.functionParameter.places.detail`,example:`3`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.DELTA,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.DELTA.description`,abstract:`sheets-formula.functionList.DELTA.abstract`,functionParameter:[{name:`sheets-formula.functionList.DELTA.functionParameter.number1.name`,detail:`sheets-formula.functionList.DELTA.functionParameter.number1.detail`,example:`5`,require:1,repeat:0},{name:`sheets-formula.functionList.DELTA.functionParameter.number2.name`,detail:`sheets-formula.functionList.DELTA.functionParameter.number2.detail`,example:`4`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.ERF,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.ERF.description`,abstract:`sheets-formula.functionList.ERF.abstract`,functionParameter:[{name:`sheets-formula.functionList.ERF.functionParameter.lowerLimit.name`,detail:`sheets-formula.functionList.ERF.functionParameter.lowerLimit.detail`,example:`0.745`,require:1,repeat:0},{name:`sheets-formula.functionList.ERF.functionParameter.upperLimit.name`,detail:`sheets-formula.functionList.ERF.functionParameter.upperLimit.detail`,example:`2`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.ERF_PRECISE,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.ERF_PRECISE.description`,abstract:`sheets-formula.functionList.ERF_PRECISE.abstract`,functionParameter:[{name:`sheets-formula.functionList.ERF_PRECISE.functionParameter.x.name`,detail:`sheets-formula.functionList.ERF_PRECISE.functionParameter.x.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.ERFC,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.ERFC.description`,abstract:`sheets-formula.functionList.ERFC.abstract`,functionParameter:[{name:`sheets-formula.functionList.ERFC.functionParameter.x.name`,detail:`sheets-formula.functionList.ERFC.functionParameter.x.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.ERFC_PRECISE,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.ERFC_PRECISE.description`,abstract:`sheets-formula.functionList.ERFC_PRECISE.abstract`,functionParameter:[{name:`sheets-formula.functionList.ERFC_PRECISE.functionParameter.x.name`,detail:`sheets-formula.functionList.ERFC_PRECISE.functionParameter.x.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.GESTEP,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.GESTEP.description`,abstract:`sheets-formula.functionList.GESTEP.abstract`,functionParameter:[{name:`sheets-formula.functionList.GESTEP.functionParameter.number.name`,detail:`sheets-formula.functionList.GESTEP.functionParameter.number.detail`,example:`5`,require:1,repeat:0},{name:`sheets-formula.functionList.GESTEP.functionParameter.step.name`,detail:`sheets-formula.functionList.GESTEP.functionParameter.step.detail`,example:`4`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.HEX2BIN,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.HEX2BIN.description`,abstract:`sheets-formula.functionList.HEX2BIN.abstract`,functionParameter:[{name:`sheets-formula.functionList.HEX2BIN.functionParameter.number.name`,detail:`sheets-formula.functionList.HEX2BIN.functionParameter.number.detail`,example:`"F"`,require:1,repeat:0},{name:`sheets-formula.functionList.HEX2BIN.functionParameter.places.name`,detail:`sheets-formula.functionList.HEX2BIN.functionParameter.places.detail`,example:`8`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.HEX2DEC,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.HEX2DEC.description`,abstract:`sheets-formula.functionList.HEX2DEC.abstract`,functionParameter:[{name:`sheets-formula.functionList.HEX2DEC.functionParameter.number.name`,detail:`sheets-formula.functionList.HEX2DEC.functionParameter.number.detail`,example:`"A5"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.HEX2OCT,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.HEX2OCT.description`,abstract:`sheets-formula.functionList.HEX2OCT.abstract`,functionParameter:[{name:`sheets-formula.functionList.HEX2OCT.functionParameter.number.name`,detail:`sheets-formula.functionList.HEX2OCT.functionParameter.number.detail`,example:`"F"`,require:1,repeat:0},{name:`sheets-formula.functionList.HEX2OCT.functionParameter.places.name`,detail:`sheets-formula.functionList.HEX2OCT.functionParameter.places.detail`,example:`3`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMABS,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMABS.description`,abstract:`sheets-formula.functionList.IMABS.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMABS.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMABS.functionParameter.inumber.detail`,example:`"5+12i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMAGINARY,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMAGINARY.description`,abstract:`sheets-formula.functionList.IMAGINARY.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMAGINARY.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMAGINARY.functionParameter.inumber.detail`,example:`"3+4i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMARGUMENT,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMARGUMENT.description`,abstract:`sheets-formula.functionList.IMARGUMENT.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMARGUMENT.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMARGUMENT.functionParameter.inumber.detail`,example:`"3+4i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMCONJUGATE,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMCONJUGATE.description`,abstract:`sheets-formula.functionList.IMCONJUGATE.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMCONJUGATE.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMCONJUGATE.functionParameter.inumber.detail`,example:`"3+4i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMCOS,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMCOS.description`,abstract:`sheets-formula.functionList.IMCOS.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMCOS.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMCOS.functionParameter.inumber.detail`,example:`"1+i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMCOSH,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMCOSH.description`,abstract:`sheets-formula.functionList.IMCOSH.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMCOSH.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMCOSH.functionParameter.inumber.detail`,example:`"4+3i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMCOT,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMCOT.description`,abstract:`sheets-formula.functionList.IMCOT.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMCOT.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMCOT.functionParameter.inumber.detail`,example:`"4+3i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMCOTH,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMCOTH.description`,abstract:`sheets-formula.functionList.IMCOTH.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMCOTH.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMCOTH.functionParameter.inumber.detail`,example:`"4+3i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMCSC,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMCSC.description`,abstract:`sheets-formula.functionList.IMCSC.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMCSC.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMCSC.functionParameter.inumber.detail`,example:`"4+3i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMCSCH,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMCSCH.description`,abstract:`sheets-formula.functionList.IMCSCH.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMCSCH.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMCSCH.functionParameter.inumber.detail`,example:`"4+3i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMDIV,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMDIV.description`,abstract:`sheets-formula.functionList.IMDIV.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMDIV.functionParameter.inumber1.name`,detail:`sheets-formula.functionList.IMDIV.functionParameter.inumber1.detail`,example:`"-238+240i"`,require:1,repeat:0},{name:`sheets-formula.functionList.IMDIV.functionParameter.inumber2.name`,detail:`sheets-formula.functionList.IMDIV.functionParameter.inumber2.detail`,example:`"10+24i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMEXP,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMEXP.description`,abstract:`sheets-formula.functionList.IMEXP.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMEXP.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMEXP.functionParameter.inumber.detail`,example:`"1+i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMLN,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMLN.description`,abstract:`sheets-formula.functionList.IMLN.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMLN.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMLN.functionParameter.inumber.detail`,example:`"3+4i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMLOG,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMLOG.description`,abstract:`sheets-formula.functionList.IMLOG.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMLOG.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMLOG.functionParameter.inumber.detail`,example:`"3+4i"`,require:1,repeat:0},{name:`sheets-formula.functionList.IMLOG.functionParameter.base.name`,detail:`sheets-formula.functionList.IMLOG.functionParameter.base.detail`,example:`10`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMLOG10,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMLOG10.description`,abstract:`sheets-formula.functionList.IMLOG10.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMLOG10.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMLOG10.functionParameter.inumber.detail`,example:`"3+4i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMLOG2,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMLOG2.description`,abstract:`sheets-formula.functionList.IMLOG2.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMLOG2.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMLOG2.functionParameter.inumber.detail`,example:`"3+4i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMPOWER,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMPOWER.description`,abstract:`sheets-formula.functionList.IMPOWER.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMPOWER.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMPOWER.functionParameter.inumber.detail`,example:`"2+3i"`,require:1,repeat:0},{name:`sheets-formula.functionList.IMPOWER.functionParameter.number.name`,detail:`sheets-formula.functionList.IMPOWER.functionParameter.number.detail`,example:`3`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMPRODUCT,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMPRODUCT.description`,abstract:`sheets-formula.functionList.IMPRODUCT.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMPRODUCT.functionParameter.inumber1.name`,detail:`sheets-formula.functionList.IMPRODUCT.functionParameter.inumber1.detail`,example:`"3+4i"`,require:1,repeat:0},{name:`sheets-formula.functionList.IMPRODUCT.functionParameter.inumber2.name`,detail:`sheets-formula.functionList.IMPRODUCT.functionParameter.inumber2.detail`,example:`"5-3i"`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMREAL,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMREAL.description`,abstract:`sheets-formula.functionList.IMREAL.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMREAL.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMREAL.functionParameter.inumber.detail`,example:`"6-9i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMSEC,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMSEC.description`,abstract:`sheets-formula.functionList.IMSEC.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMSEC.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMSEC.functionParameter.inumber.detail`,example:`"4+3i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMSECH,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMSECH.description`,abstract:`sheets-formula.functionList.IMSECH.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMSECH.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMSECH.functionParameter.inumber.detail`,example:`"4+3i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMSIN,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMSIN.description`,abstract:`sheets-formula.functionList.IMSIN.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMSIN.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMSIN.functionParameter.inumber.detail`,example:`"4+3i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMSINH,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMSINH.description`,abstract:`sheets-formula.functionList.IMSINH.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMSINH.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMSINH.functionParameter.inumber.detail`,example:`"4+3i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMSQRT,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMSQRT.description`,abstract:`sheets-formula.functionList.IMSQRT.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMSQRT.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMSQRT.functionParameter.inumber.detail`,example:`"1+i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMSUB,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMSUB.description`,abstract:`sheets-formula.functionList.IMSUB.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMSUB.functionParameter.inumber1.name`,detail:`sheets-formula.functionList.IMSUB.functionParameter.inumber1.detail`,example:`"13+4i"`,require:1,repeat:0},{name:`sheets-formula.functionList.IMSUB.functionParameter.inumber2.name`,detail:`sheets-formula.functionList.IMSUB.functionParameter.inumber2.detail`,example:`"5+3i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMSUM,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMSUM.description`,abstract:`sheets-formula.functionList.IMSUM.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMSUM.functionParameter.inumber1.name`,detail:`sheets-formula.functionList.IMSUM.functionParameter.inumber1.detail`,example:`"3+4i"`,require:1,repeat:0},{name:`sheets-formula.functionList.IMSUM.functionParameter.inumber2.name`,detail:`sheets-formula.functionList.IMSUM.functionParameter.inumber2.detail`,example:`"5-3i"`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMTAN,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMTAN.description`,abstract:`sheets-formula.functionList.IMTAN.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMTAN.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMTAN.functionParameter.inumber.detail`,example:`"4+3i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.IMTANH,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.IMTANH.description`,abstract:`sheets-formula.functionList.IMTANH.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMTANH.functionParameter.inumber.name`,detail:`sheets-formula.functionList.IMTANH.functionParameter.inumber.detail`,example:`"4+3i"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.OCT2BIN,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.OCT2BIN.description`,abstract:`sheets-formula.functionList.OCT2BIN.abstract`,functionParameter:[{name:`sheets-formula.functionList.OCT2BIN.functionParameter.number.name`,detail:`sheets-formula.functionList.OCT2BIN.functionParameter.number.detail`,example:`3`,require:1,repeat:0},{name:`sheets-formula.functionList.OCT2BIN.functionParameter.places.name`,detail:`sheets-formula.functionList.OCT2BIN.functionParameter.places.detail`,example:`3`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.OCT2DEC,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.OCT2DEC.description`,abstract:`sheets-formula.functionList.OCT2DEC.abstract`,functionParameter:[{name:`sheets-formula.functionList.OCT2DEC.functionParameter.number.name`,detail:`sheets-formula.functionList.OCT2DEC.functionParameter.number.detail`,example:`54`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_ENGINEERING.OCT2HEX,functionType:r.FunctionType.Engineering,description:`sheets-formula.functionList.OCT2HEX.description`,abstract:`sheets-formula.functionList.OCT2HEX.abstract`,functionParameter:[{name:`sheets-formula.functionList.OCT2HEX.functionParameter.number.name`,detail:`sheets-formula.functionList.OCT2HEX.functionParameter.number.detail`,example:`100`,require:1,repeat:0},{name:`sheets-formula.functionList.OCT2HEX.functionParameter.places.name`,detail:`sheets-formula.functionList.OCT2HEX.functionParameter.places.detail`,example:`4`,require:0,repeat:0}]}],$e=[{functionName:r.FUNCTION_NAMES_FINANCIAL.ACCRINT,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.ACCRINT.description`,abstract:`sheets-formula.functionList.ACCRINT.abstract`,functionParameter:[{name:`sheets-formula.functionList.ACCRINT.functionParameter.issue.name`,detail:`sheets-formula.functionList.ACCRINT.functionParameter.issue.detail`,example:`"2008-3-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.ACCRINT.functionParameter.firstInterest.name`,detail:`sheets-formula.functionList.ACCRINT.functionParameter.firstInterest.detail`,example:`"2008-8-31"`,require:1,repeat:0},{name:`sheets-formula.functionList.ACCRINT.functionParameter.settlement.name`,detail:`sheets-formula.functionList.ACCRINT.functionParameter.settlement.detail`,example:`"2008-5-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.ACCRINT.functionParameter.rate.name`,detail:`sheets-formula.functionList.ACCRINT.functionParameter.rate.detail`,example:`10%`,require:1,repeat:0},{name:`sheets-formula.functionList.ACCRINT.functionParameter.par.name`,detail:`sheets-formula.functionList.ACCRINT.functionParameter.par.detail`,example:`1000`,require:1,repeat:0},{name:`sheets-formula.functionList.ACCRINT.functionParameter.frequency.name`,detail:`sheets-formula.functionList.ACCRINT.functionParameter.frequency.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.ACCRINT.functionParameter.basis.name`,detail:`sheets-formula.functionList.ACCRINT.functionParameter.basis.detail`,example:`0`,require:0,repeat:0},{name:`sheets-formula.functionList.ACCRINT.functionParameter.calcMethod.name`,detail:`sheets-formula.functionList.ACCRINT.functionParameter.calcMethod.detail`,example:`true`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.ACCRINTM,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.ACCRINTM.description`,abstract:`sheets-formula.functionList.ACCRINTM.abstract`,functionParameter:[{name:`sheets-formula.functionList.ACCRINTM.functionParameter.issue.name`,detail:`sheets-formula.functionList.ACCRINTM.functionParameter.issue.detail`,example:`"2008-4-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.ACCRINTM.functionParameter.settlement.name`,detail:`sheets-formula.functionList.ACCRINTM.functionParameter.settlement.detail`,example:`"2008-6-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.ACCRINTM.functionParameter.rate.name`,detail:`sheets-formula.functionList.ACCRINTM.functionParameter.rate.detail`,example:`10%`,require:1,repeat:0},{name:`sheets-formula.functionList.ACCRINTM.functionParameter.par.name`,detail:`sheets-formula.functionList.ACCRINTM.functionParameter.par.detail`,example:`1000`,require:1,repeat:0},{name:`sheets-formula.functionList.ACCRINTM.functionParameter.basis.name`,detail:`sheets-formula.functionList.ACCRINTM.functionParameter.basis.detail`,example:`3`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.AMORDEGRC,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.AMORDEGRC.description`,abstract:`sheets-formula.functionList.AMORDEGRC.abstract`,functionParameter:[{name:`sheets-formula.functionList.AMORDEGRC.functionParameter.number1.name`,detail:`sheets-formula.functionList.AMORDEGRC.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.AMORDEGRC.functionParameter.number2.name`,detail:`sheets-formula.functionList.AMORDEGRC.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.AMORLINC,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.AMORLINC.description`,abstract:`sheets-formula.functionList.AMORLINC.abstract`,functionParameter:[{name:`sheets-formula.functionList.AMORLINC.functionParameter.cost.name`,detail:`sheets-formula.functionList.AMORLINC.functionParameter.cost.detail`,example:`2400`,require:1,repeat:0},{name:`sheets-formula.functionList.AMORLINC.functionParameter.datePurchased.name`,detail:`sheets-formula.functionList.AMORLINC.functionParameter.datePurchased.detail`,example:`"2008-8-19"`,require:1,repeat:0},{name:`sheets-formula.functionList.AMORLINC.functionParameter.firstPeriod.name`,detail:`sheets-formula.functionList.AMORLINC.functionParameter.firstPeriod.detail`,example:`"2008-12-31"`,require:1,repeat:0},{name:`sheets-formula.functionList.AMORLINC.functionParameter.salvage.name`,detail:`sheets-formula.functionList.AMORLINC.functionParameter.salvage.detail`,example:`300`,require:1,repeat:0},{name:`sheets-formula.functionList.AMORLINC.functionParameter.period.name`,detail:`sheets-formula.functionList.AMORLINC.functionParameter.period.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.AMORLINC.functionParameter.rate.name`,detail:`sheets-formula.functionList.AMORLINC.functionParameter.rate.detail`,example:`15%`,require:1,repeat:0},{name:`sheets-formula.functionList.AMORLINC.functionParameter.basis.name`,detail:`sheets-formula.functionList.AMORLINC.functionParameter.basis.detail`,example:`0`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.COUPDAYBS,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.COUPDAYBS.description`,abstract:`sheets-formula.functionList.COUPDAYBS.abstract`,functionParameter:[{name:`sheets-formula.functionList.COUPDAYBS.functionParameter.settlement.name`,detail:`sheets-formula.functionList.COUPDAYBS.functionParameter.settlement.detail`,example:`"2011-1-25"`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPDAYBS.functionParameter.maturity.name`,detail:`sheets-formula.functionList.COUPDAYBS.functionParameter.maturity.detail`,example:`"2011-11-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPDAYBS.functionParameter.frequency.name`,detail:`sheets-formula.functionList.COUPDAYBS.functionParameter.frequency.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPDAYBS.functionParameter.basis.name`,detail:`sheets-formula.functionList.COUPDAYBS.functionParameter.basis.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.COUPDAYS,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.COUPDAYS.description`,abstract:`sheets-formula.functionList.COUPDAYS.abstract`,functionParameter:[{name:`sheets-formula.functionList.COUPDAYS.functionParameter.settlement.name`,detail:`sheets-formula.functionList.COUPDAYS.functionParameter.settlement.detail`,example:`"2011-1-25"`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPDAYS.functionParameter.maturity.name`,detail:`sheets-formula.functionList.COUPDAYS.functionParameter.maturity.detail`,example:`"2011-11-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPDAYS.functionParameter.frequency.name`,detail:`sheets-formula.functionList.COUPDAYS.functionParameter.frequency.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPDAYS.functionParameter.basis.name`,detail:`sheets-formula.functionList.COUPDAYS.functionParameter.basis.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.COUPDAYSNC,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.COUPDAYSNC.description`,abstract:`sheets-formula.functionList.COUPDAYSNC.abstract`,functionParameter:[{name:`sheets-formula.functionList.COUPDAYSNC.functionParameter.settlement.name`,detail:`sheets-formula.functionList.COUPDAYSNC.functionParameter.settlement.detail`,example:`"2011-1-25"`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPDAYSNC.functionParameter.maturity.name`,detail:`sheets-formula.functionList.COUPDAYSNC.functionParameter.maturity.detail`,example:`"2011-11-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPDAYSNC.functionParameter.frequency.name`,detail:`sheets-formula.functionList.COUPDAYSNC.functionParameter.frequency.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPDAYSNC.functionParameter.basis.name`,detail:`sheets-formula.functionList.COUPDAYSNC.functionParameter.basis.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.COUPNCD,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.COUPNCD.description`,abstract:`sheets-formula.functionList.COUPNCD.abstract`,functionParameter:[{name:`sheets-formula.functionList.COUPNCD.functionParameter.settlement.name`,detail:`sheets-formula.functionList.COUPNCD.functionParameter.settlement.detail`,example:`"2011-1-25"`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPNCD.functionParameter.maturity.name`,detail:`sheets-formula.functionList.COUPNCD.functionParameter.maturity.detail`,example:`"2011-11-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPNCD.functionParameter.frequency.name`,detail:`sheets-formula.functionList.COUPNCD.functionParameter.frequency.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPNCD.functionParameter.basis.name`,detail:`sheets-formula.functionList.COUPNCD.functionParameter.basis.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.COUPNUM,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.COUPNUM.description`,abstract:`sheets-formula.functionList.COUPNUM.abstract`,functionParameter:[{name:`sheets-formula.functionList.COUPNUM.functionParameter.settlement.name`,detail:`sheets-formula.functionList.COUPNUM.functionParameter.settlement.detail`,example:`"2011-1-25"`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPNUM.functionParameter.maturity.name`,detail:`sheets-formula.functionList.COUPNUM.functionParameter.maturity.detail`,example:`"2011-11-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPNUM.functionParameter.frequency.name`,detail:`sheets-formula.functionList.COUPNUM.functionParameter.frequency.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPNUM.functionParameter.basis.name`,detail:`sheets-formula.functionList.COUPNUM.functionParameter.basis.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.COUPPCD,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.COUPPCD.description`,abstract:`sheets-formula.functionList.COUPPCD.abstract`,functionParameter:[{name:`sheets-formula.functionList.COUPPCD.functionParameter.settlement.name`,detail:`sheets-formula.functionList.COUPPCD.functionParameter.settlement.detail`,example:`"2011-1-25"`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPPCD.functionParameter.maturity.name`,detail:`sheets-formula.functionList.COUPPCD.functionParameter.maturity.detail`,example:`"2011-11-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPPCD.functionParameter.frequency.name`,detail:`sheets-formula.functionList.COUPPCD.functionParameter.frequency.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.COUPPCD.functionParameter.basis.name`,detail:`sheets-formula.functionList.COUPPCD.functionParameter.basis.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.CUMIPMT,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.CUMIPMT.description`,abstract:`sheets-formula.functionList.CUMIPMT.abstract`,functionParameter:[{name:`sheets-formula.functionList.CUMIPMT.functionParameter.rate.name`,detail:`sheets-formula.functionList.CUMIPMT.functionParameter.rate.detail`,example:`9%/12`,require:1,repeat:0},{name:`sheets-formula.functionList.CUMIPMT.functionParameter.nper.name`,detail:`sheets-formula.functionList.CUMIPMT.functionParameter.nper.detail`,example:`30*12`,require:1,repeat:0},{name:`sheets-formula.functionList.CUMIPMT.functionParameter.pv.name`,detail:`sheets-formula.functionList.CUMIPMT.functionParameter.pv.detail`,example:`125000`,require:1,repeat:0},{name:`sheets-formula.functionList.CUMIPMT.functionParameter.startPeriod.name`,detail:`sheets-formula.functionList.CUMIPMT.functionParameter.startPeriod.detail`,example:`13`,require:1,repeat:0},{name:`sheets-formula.functionList.CUMIPMT.functionParameter.endPeriod.name`,detail:`sheets-formula.functionList.CUMIPMT.functionParameter.endPeriod.detail`,example:`24`,require:1,repeat:0},{name:`sheets-formula.functionList.CUMIPMT.functionParameter.type.name`,detail:`sheets-formula.functionList.CUMIPMT.functionParameter.type.detail`,example:`0`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.CUMPRINC,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.CUMPRINC.description`,abstract:`sheets-formula.functionList.CUMPRINC.abstract`,functionParameter:[{name:`sheets-formula.functionList.CUMPRINC.functionParameter.rate.name`,detail:`sheets-formula.functionList.CUMPRINC.functionParameter.rate.detail`,example:`9%/12`,require:1,repeat:0},{name:`sheets-formula.functionList.CUMPRINC.functionParameter.nper.name`,detail:`sheets-formula.functionList.CUMPRINC.functionParameter.nper.detail`,example:`30*12`,require:1,repeat:0},{name:`sheets-formula.functionList.CUMPRINC.functionParameter.pv.name`,detail:`sheets-formula.functionList.CUMPRINC.functionParameter.pv.detail`,example:`125000`,require:1,repeat:0},{name:`sheets-formula.functionList.CUMPRINC.functionParameter.startPeriod.name`,detail:`sheets-formula.functionList.CUMPRINC.functionParameter.startPeriod.detail`,example:`13`,require:1,repeat:0},{name:`sheets-formula.functionList.CUMPRINC.functionParameter.endPeriod.name`,detail:`sheets-formula.functionList.CUMPRINC.functionParameter.endPeriod.detail`,example:`24`,require:1,repeat:0},{name:`sheets-formula.functionList.CUMPRINC.functionParameter.type.name`,detail:`sheets-formula.functionList.CUMPRINC.functionParameter.type.detail`,example:`0`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.DB,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.DB.description`,abstract:`sheets-formula.functionList.DB.abstract`,functionParameter:[{name:`sheets-formula.functionList.DB.functionParameter.cost.name`,detail:`sheets-formula.functionList.DB.functionParameter.cost.detail`,example:`10000000`,require:1,repeat:0},{name:`sheets-formula.functionList.DB.functionParameter.salvage.name`,detail:`sheets-formula.functionList.DB.functionParameter.salvage.detail`,example:`1000000`,require:1,repeat:0},{name:`sheets-formula.functionList.DB.functionParameter.life.name`,detail:`sheets-formula.functionList.DB.functionParameter.life.detail`,example:`6`,require:1,repeat:0},{name:`sheets-formula.functionList.DB.functionParameter.period.name`,detail:`sheets-formula.functionList.DB.functionParameter.period.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.DB.functionParameter.month.name`,detail:`sheets-formula.functionList.DB.functionParameter.month.detail`,example:`7`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.DDB,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.DDB.description`,abstract:`sheets-formula.functionList.DDB.abstract`,functionParameter:[{name:`sheets-formula.functionList.DDB.functionParameter.cost.name`,detail:`sheets-formula.functionList.DDB.functionParameter.cost.detail`,example:`24000`,require:1,repeat:0},{name:`sheets-formula.functionList.DDB.functionParameter.salvage.name`,detail:`sheets-formula.functionList.DDB.functionParameter.salvage.detail`,example:`3000`,require:1,repeat:0},{name:`sheets-formula.functionList.DDB.functionParameter.life.name`,detail:`sheets-formula.functionList.DDB.functionParameter.life.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.DDB.functionParameter.period.name`,detail:`sheets-formula.functionList.DDB.functionParameter.period.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.DDB.functionParameter.factor.name`,detail:`sheets-formula.functionList.DDB.functionParameter.factor.detail`,example:`2`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.DISC,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.DISC.description`,abstract:`sheets-formula.functionList.DISC.abstract`,functionParameter:[{name:`sheets-formula.functionList.DISC.functionParameter.settlement.name`,detail:`sheets-formula.functionList.DISC.functionParameter.settlement.detail`,example:`"2018-7-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.DISC.functionParameter.maturity.name`,detail:`sheets-formula.functionList.DISC.functionParameter.maturity.detail`,example:`"2048-1-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.DISC.functionParameter.pr.name`,detail:`sheets-formula.functionList.DISC.functionParameter.pr.detail`,example:`97.975`,require:1,repeat:0},{name:`sheets-formula.functionList.DISC.functionParameter.redemption.name`,detail:`sheets-formula.functionList.DISC.functionParameter.redemption.detail`,example:`100`,require:1,repeat:0},{name:`sheets-formula.functionList.DISC.functionParameter.basis.name`,detail:`sheets-formula.functionList.DISC.functionParameter.basis.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.DOLLARDE,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.DOLLARDE.description`,abstract:`sheets-formula.functionList.DOLLARDE.abstract`,functionParameter:[{name:`sheets-formula.functionList.DOLLARDE.functionParameter.fractionalDollar.name`,detail:`sheets-formula.functionList.DOLLARDE.functionParameter.fractionalDollar.detail`,example:`1.02`,require:1,repeat:0},{name:`sheets-formula.functionList.DOLLARDE.functionParameter.fraction.name`,detail:`sheets-formula.functionList.DOLLARDE.functionParameter.fraction.detail`,example:`16`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.DOLLARFR,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.DOLLARFR.description`,abstract:`sheets-formula.functionList.DOLLARFR.abstract`,functionParameter:[{name:`sheets-formula.functionList.DOLLARFR.functionParameter.decimalDollar.name`,detail:`sheets-formula.functionList.DOLLARFR.functionParameter.decimalDollar.detail`,example:`1.125`,require:1,repeat:0},{name:`sheets-formula.functionList.DOLLARFR.functionParameter.fraction.name`,detail:`sheets-formula.functionList.DOLLARFR.functionParameter.fraction.detail`,example:`16`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.DURATION,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.DURATION.description`,abstract:`sheets-formula.functionList.DURATION.abstract`,functionParameter:[{name:`sheets-formula.functionList.DURATION.functionParameter.settlement.name`,detail:`sheets-formula.functionList.DURATION.functionParameter.settlement.detail`,example:`"2018-7-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.DURATION.functionParameter.maturity.name`,detail:`sheets-formula.functionList.DURATION.functionParameter.maturity.detail`,example:`"2048-1-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.DURATION.functionParameter.coupon.name`,detail:`sheets-formula.functionList.DURATION.functionParameter.coupon.detail`,example:`8%`,require:1,repeat:0},{name:`sheets-formula.functionList.DURATION.functionParameter.yld.name`,detail:`sheets-formula.functionList.DURATION.functionParameter.yld.detail`,example:`9%`,require:1,repeat:0},{name:`sheets-formula.functionList.DURATION.functionParameter.frequency.name`,detail:`sheets-formula.functionList.DURATION.functionParameter.frequency.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.DURATION.functionParameter.basis.name`,detail:`sheets-formula.functionList.DURATION.functionParameter.basis.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.EFFECT,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.EFFECT.description`,abstract:`sheets-formula.functionList.EFFECT.abstract`,functionParameter:[{name:`sheets-formula.functionList.EFFECT.functionParameter.nominalRate.name`,detail:`sheets-formula.functionList.EFFECT.functionParameter.nominalRate.detail`,example:`5.25%`,require:1,repeat:0},{name:`sheets-formula.functionList.EFFECT.functionParameter.npery.name`,detail:`sheets-formula.functionList.EFFECT.functionParameter.npery.detail`,example:`4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.FV,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.FV.description`,abstract:`sheets-formula.functionList.FV.abstract`,functionParameter:[{name:`sheets-formula.functionList.FV.functionParameter.rate.name`,detail:`sheets-formula.functionList.FV.functionParameter.rate.detail`,example:`6%/12`,require:1,repeat:0},{name:`sheets-formula.functionList.FV.functionParameter.nper.name`,detail:`sheets-formula.functionList.FV.functionParameter.nper.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.FV.functionParameter.pmt.name`,detail:`sheets-formula.functionList.FV.functionParameter.pmt.detail`,example:`-200`,require:1,repeat:0},{name:`sheets-formula.functionList.FV.functionParameter.pv.name`,detail:`sheets-formula.functionList.FV.functionParameter.pv.detail`,example:`-500`,require:0,repeat:0},{name:`sheets-formula.functionList.FV.functionParameter.type.name`,detail:`sheets-formula.functionList.FV.functionParameter.type.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.FVSCHEDULE,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.FVSCHEDULE.description`,abstract:`sheets-formula.functionList.FVSCHEDULE.abstract`,functionParameter:[{name:`sheets-formula.functionList.FVSCHEDULE.functionParameter.principal.name`,detail:`sheets-formula.functionList.FVSCHEDULE.functionParameter.principal.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.FVSCHEDULE.functionParameter.schedule.name`,detail:`sheets-formula.functionList.FVSCHEDULE.functionParameter.schedule.detail`,example:`A1:A4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.INTRATE,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.INTRATE.description`,abstract:`sheets-formula.functionList.INTRATE.abstract`,functionParameter:[{name:`sheets-formula.functionList.INTRATE.functionParameter.settlement.name`,detail:`sheets-formula.functionList.INTRATE.functionParameter.settlement.detail`,example:`"2008-2-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.INTRATE.functionParameter.maturity.name`,detail:`sheets-formula.functionList.INTRATE.functionParameter.maturity.detail`,example:`"2008-5-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.INTRATE.functionParameter.investment.name`,detail:`sheets-formula.functionList.INTRATE.functionParameter.investment.detail`,example:`10000000`,require:1,repeat:0},{name:`sheets-formula.functionList.INTRATE.functionParameter.redemption.name`,detail:`sheets-formula.functionList.INTRATE.functionParameter.redemption.detail`,example:`10144200`,require:1,repeat:0},{name:`sheets-formula.functionList.INTRATE.functionParameter.basis.name`,detail:`sheets-formula.functionList.INTRATE.functionParameter.basis.detail`,example:`2`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.IPMT,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.IPMT.description`,abstract:`sheets-formula.functionList.IPMT.abstract`,functionParameter:[{name:`sheets-formula.functionList.IPMT.functionParameter.rate.name`,detail:`sheets-formula.functionList.IPMT.functionParameter.rate.detail`,example:`10%/12`,require:1,repeat:0},{name:`sheets-formula.functionList.IPMT.functionParameter.per.name`,detail:`sheets-formula.functionList.IPMT.functionParameter.per.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.IPMT.functionParameter.nper.name`,detail:`sheets-formula.functionList.IPMT.functionParameter.nper.detail`,example:`3*12`,require:1,repeat:0},{name:`sheets-formula.functionList.IPMT.functionParameter.pv.name`,detail:`sheets-formula.functionList.IPMT.functionParameter.pv.detail`,example:`80000`,require:1,repeat:0},{name:`sheets-formula.functionList.IPMT.functionParameter.fv.name`,detail:`sheets-formula.functionList.IPMT.functionParameter.fv.detail`,example:`0`,require:0,repeat:0},{name:`sheets-formula.functionList.IPMT.functionParameter.type.name`,detail:`sheets-formula.functionList.IPMT.functionParameter.type.detail`,example:`0`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.IRR,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.IRR.description`,abstract:`sheets-formula.functionList.IRR.abstract`,functionParameter:[{name:`sheets-formula.functionList.IRR.functionParameter.values.name`,detail:`sheets-formula.functionList.IRR.functionParameter.values.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.IRR.functionParameter.guess.name`,detail:`sheets-formula.functionList.IRR.functionParameter.guess.detail`,example:`0.1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.ISPMT,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.ISPMT.description`,abstract:`sheets-formula.functionList.ISPMT.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISPMT.functionParameter.rate.name`,detail:`sheets-formula.functionList.ISPMT.functionParameter.rate.detail`,example:`10%`,require:1,repeat:0},{name:`sheets-formula.functionList.ISPMT.functionParameter.per.name`,detail:`sheets-formula.functionList.ISPMT.functionParameter.per.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.ISPMT.functionParameter.nper.name`,detail:`sheets-formula.functionList.ISPMT.functionParameter.nper.detail`,example:`5`,require:1,repeat:0},{name:`sheets-formula.functionList.ISPMT.functionParameter.pv.name`,detail:`sheets-formula.functionList.ISPMT.functionParameter.pv.detail`,example:`1000`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.MDURATION,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.MDURATION.description`,abstract:`sheets-formula.functionList.MDURATION.abstract`,functionParameter:[{name:`sheets-formula.functionList.MDURATION.functionParameter.settlement.name`,detail:`sheets-formula.functionList.MDURATION.functionParameter.settlement.detail`,example:`"2018-7-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.MDURATION.functionParameter.maturity.name`,detail:`sheets-formula.functionList.MDURATION.functionParameter.maturity.detail`,example:`"2048-1-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.MDURATION.functionParameter.coupon.name`,detail:`sheets-formula.functionList.MDURATION.functionParameter.coupon.detail`,example:`8%`,require:1,repeat:0},{name:`sheets-formula.functionList.MDURATION.functionParameter.yld.name`,detail:`sheets-formula.functionList.MDURATION.functionParameter.yld.detail`,example:`9%`,require:1,repeat:0},{name:`sheets-formula.functionList.MDURATION.functionParameter.frequency.name`,detail:`sheets-formula.functionList.MDURATION.functionParameter.frequency.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.MDURATION.functionParameter.basis.name`,detail:`sheets-formula.functionList.MDURATION.functionParameter.basis.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.MIRR,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.MIRR.description`,abstract:`sheets-formula.functionList.MIRR.abstract`,functionParameter:[{name:`sheets-formula.functionList.MIRR.functionParameter.values.name`,detail:`sheets-formula.functionList.MIRR.functionParameter.values.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.MIRR.functionParameter.financeRate.name`,detail:`sheets-formula.functionList.MIRR.functionParameter.financeRate.detail`,example:`10%`,require:1,repeat:0},{name:`sheets-formula.functionList.MIRR.functionParameter.reinvestRate.name`,detail:`sheets-formula.functionList.MIRR.functionParameter.reinvestRate.detail`,example:`12%`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.NOMINAL,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.NOMINAL.description`,abstract:`sheets-formula.functionList.NOMINAL.abstract`,functionParameter:[{name:`sheets-formula.functionList.NOMINAL.functionParameter.effectRate.name`,detail:`sheets-formula.functionList.NOMINAL.functionParameter.effectRate.detail`,example:`5.3543%`,require:1,repeat:0},{name:`sheets-formula.functionList.NOMINAL.functionParameter.npery.name`,detail:`sheets-formula.functionList.NOMINAL.functionParameter.npery.detail`,example:`4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.NPER,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.NPER.description`,abstract:`sheets-formula.functionList.NPER.abstract`,functionParameter:[{name:`sheets-formula.functionList.NPER.functionParameter.rate.name`,detail:`sheets-formula.functionList.NPER.functionParameter.rate.detail`,example:`12%/12`,require:1,repeat:0},{name:`sheets-formula.functionList.NPER.functionParameter.pmt.name`,detail:`sheets-formula.functionList.NPER.functionParameter.pmt.detail`,example:`-100`,require:1,repeat:0},{name:`sheets-formula.functionList.NPER.functionParameter.pv.name`,detail:`sheets-formula.functionList.NPER.functionParameter.pv.detail`,example:`-1000`,require:1,repeat:0},{name:`sheets-formula.functionList.NPER.functionParameter.fv.name`,detail:`sheets-formula.functionList.NPER.functionParameter.fv.detail`,example:`10000`,require:0,repeat:0},{name:`sheets-formula.functionList.NPER.functionParameter.type.name`,detail:`sheets-formula.functionList.NPER.functionParameter.type.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.NPV,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.NPV.description`,abstract:`sheets-formula.functionList.NPV.abstract`,functionParameter:[{name:`sheets-formula.functionList.NPV.functionParameter.rate.name`,detail:`sheets-formula.functionList.NPV.functionParameter.rate.detail`,example:`10%`,require:1,repeat:0},{name:`sheets-formula.functionList.NPV.functionParameter.value1.name`,detail:`sheets-formula.functionList.NPV.functionParameter.value1.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.NPV.functionParameter.value2.name`,detail:`sheets-formula.functionList.NPV.functionParameter.value2.detail`,example:`-9000`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.ODDFPRICE,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.ODDFPRICE.description`,abstract:`sheets-formula.functionList.ODDFPRICE.abstract`,functionParameter:[{name:`sheets-formula.functionList.ODDFPRICE.functionParameter.settlement.name`,detail:`sheets-formula.functionList.ODDFPRICE.functionParameter.settlement.detail`,example:`"2008-11-11"`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDFPRICE.functionParameter.maturity.name`,detail:`sheets-formula.functionList.ODDFPRICE.functionParameter.maturity.detail`,example:`"2021-3-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDFPRICE.functionParameter.issue.name`,detail:`sheets-formula.functionList.ODDFPRICE.functionParameter.issue.detail`,example:`"2008-10-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDFPRICE.functionParameter.firstCoupon.name`,detail:`sheets-formula.functionList.ODDFPRICE.functionParameter.firstCoupon.detail`,example:`"2009-3-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDFPRICE.functionParameter.rate.name`,detail:`sheets-formula.functionList.ODDFPRICE.functionParameter.rate.detail`,example:`7.85%`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDFPRICE.functionParameter.yld.name`,detail:`sheets-formula.functionList.ODDFPRICE.functionParameter.yld.detail`,example:`6.25%`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDFPRICE.functionParameter.redemption.name`,detail:`sheets-formula.functionList.ODDFPRICE.functionParameter.redemption.detail`,example:`100`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDFPRICE.functionParameter.frequency.name`,detail:`sheets-formula.functionList.ODDFPRICE.functionParameter.frequency.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDFPRICE.functionParameter.basis.name`,detail:`sheets-formula.functionList.ODDFPRICE.functionParameter.basis.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.ODDFYIELD,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.ODDFYIELD.description`,abstract:`sheets-formula.functionList.ODDFYIELD.abstract`,functionParameter:[{name:`sheets-formula.functionList.ODDFYIELD.functionParameter.settlement.name`,detail:`sheets-formula.functionList.ODDFYIELD.functionParameter.settlement.detail`,example:`"2008-11-11"`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDFYIELD.functionParameter.maturity.name`,detail:`sheets-formula.functionList.ODDFYIELD.functionParameter.maturity.detail`,example:`"2021-3-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDFYIELD.functionParameter.issue.name`,detail:`sheets-formula.functionList.ODDFYIELD.functionParameter.issue.detail`,example:`"2008-10-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDFYIELD.functionParameter.firstCoupon.name`,detail:`sheets-formula.functionList.ODDFYIELD.functionParameter.firstCoupon.detail`,example:`"2009-3-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDFYIELD.functionParameter.rate.name`,detail:`sheets-formula.functionList.ODDFYIELD.functionParameter.rate.detail`,example:`5.75%`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDFYIELD.functionParameter.pr.name`,detail:`sheets-formula.functionList.ODDFYIELD.functionParameter.pr.detail`,example:`84.5`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDFYIELD.functionParameter.redemption.name`,detail:`sheets-formula.functionList.ODDFYIELD.functionParameter.redemption.detail`,example:`100`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDFYIELD.functionParameter.frequency.name`,detail:`sheets-formula.functionList.ODDFYIELD.functionParameter.frequency.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDFYIELD.functionParameter.basis.name`,detail:`sheets-formula.functionList.ODDFYIELD.functionParameter.basis.detail`,example:`0`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.ODDLPRICE,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.ODDLPRICE.description`,abstract:`sheets-formula.functionList.ODDLPRICE.abstract`,functionParameter:[{name:`sheets-formula.functionList.ODDLPRICE.functionParameter.settlement.name`,detail:`sheets-formula.functionList.ODDLPRICE.functionParameter.settlement.detail`,example:`"2008-2-7"`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDLPRICE.functionParameter.maturity.name`,detail:`sheets-formula.functionList.ODDLPRICE.functionParameter.maturity.detail`,example:`"2008-6-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDLPRICE.functionParameter.lastInterest.name`,detail:`sheets-formula.functionList.ODDLPRICE.functionParameter.lastInterest.detail`,example:`"2007-10-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDLPRICE.functionParameter.rate.name`,detail:`sheets-formula.functionList.ODDLPRICE.functionParameter.rate.detail`,example:`3.75%`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDLPRICE.functionParameter.yld.name`,detail:`sheets-formula.functionList.ODDLPRICE.functionParameter.yld.detail`,example:`4.05%`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDLPRICE.functionParameter.redemption.name`,detail:`sheets-formula.functionList.ODDLPRICE.functionParameter.redemption.detail`,example:`100`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDLPRICE.functionParameter.frequency.name`,detail:`sheets-formula.functionList.ODDLPRICE.functionParameter.frequency.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDLPRICE.functionParameter.basis.name`,detail:`sheets-formula.functionList.ODDLPRICE.functionParameter.basis.detail`,example:`0`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.ODDLYIELD,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.ODDLYIELD.description`,abstract:`sheets-formula.functionList.ODDLYIELD.abstract`,functionParameter:[{name:`sheets-formula.functionList.ODDLYIELD.functionParameter.settlement.name`,detail:`sheets-formula.functionList.ODDLYIELD.functionParameter.settlement.detail`,example:`"2008-4-20"`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDLYIELD.functionParameter.maturity.name`,detail:`sheets-formula.functionList.ODDLYIELD.functionParameter.maturity.detail`,example:`"2008-6-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDLYIELD.functionParameter.lastInterest.name`,detail:`sheets-formula.functionList.ODDLYIELD.functionParameter.lastInterest.detail`,example:`"2007-12-24"`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDLYIELD.functionParameter.rate.name`,detail:`sheets-formula.functionList.ODDLYIELD.functionParameter.rate.detail`,example:`3.75%`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDLYIELD.functionParameter.pr.name`,detail:`sheets-formula.functionList.ODDLYIELD.functionParameter.pr.detail`,example:`99.875`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDLYIELD.functionParameter.redemption.name`,detail:`sheets-formula.functionList.ODDLYIELD.functionParameter.redemption.detail`,example:`100`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDLYIELD.functionParameter.frequency.name`,detail:`sheets-formula.functionList.ODDLYIELD.functionParameter.frequency.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.ODDLYIELD.functionParameter.basis.name`,detail:`sheets-formula.functionList.ODDLYIELD.functionParameter.basis.detail`,example:`0`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.PDURATION,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.PDURATION.description`,abstract:`sheets-formula.functionList.PDURATION.abstract`,functionParameter:[{name:`sheets-formula.functionList.PDURATION.functionParameter.rate.name`,detail:`sheets-formula.functionList.PDURATION.functionParameter.rate.detail`,example:`2.5%`,require:1,repeat:0},{name:`sheets-formula.functionList.PDURATION.functionParameter.pv.name`,detail:`sheets-formula.functionList.PDURATION.functionParameter.pv.detail`,example:`2000`,require:1,repeat:0},{name:`sheets-formula.functionList.PDURATION.functionParameter.fv.name`,detail:`sheets-formula.functionList.PDURATION.functionParameter.fv.detail`,example:`2200`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.PMT,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.PMT.description`,abstract:`sheets-formula.functionList.PMT.abstract`,functionParameter:[{name:`sheets-formula.functionList.PMT.functionParameter.rate.name`,detail:`sheets-formula.functionList.PMT.functionParameter.rate.detail`,example:`8%/12`,require:1,repeat:0},{name:`sheets-formula.functionList.PMT.functionParameter.nper.name`,detail:`sheets-formula.functionList.PMT.functionParameter.nper.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.PMT.functionParameter.pv.name`,detail:`sheets-formula.functionList.PMT.functionParameter.pv.detail`,example:`10000`,require:1,repeat:0},{name:`sheets-formula.functionList.PMT.functionParameter.fv.name`,detail:`sheets-formula.functionList.PMT.functionParameter.fv.detail`,example:`0`,require:0,repeat:0},{name:`sheets-formula.functionList.PMT.functionParameter.type.name`,detail:`sheets-formula.functionList.PMT.functionParameter.type.detail`,example:`0`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.PPMT,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.PPMT.description`,abstract:`sheets-formula.functionList.PPMT.abstract`,functionParameter:[{name:`sheets-formula.functionList.PPMT.functionParameter.rate.name`,detail:`sheets-formula.functionList.PPMT.functionParameter.rate.detail`,example:`10%/12`,require:1,repeat:0},{name:`sheets-formula.functionList.PPMT.functionParameter.per.name`,detail:`sheets-formula.functionList.PPMT.functionParameter.per.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.PPMT.functionParameter.nper.name`,detail:`sheets-formula.functionList.PPMT.functionParameter.nper.detail`,example:`3*12`,require:1,repeat:0},{name:`sheets-formula.functionList.PPMT.functionParameter.pv.name`,detail:`sheets-formula.functionList.PPMT.functionParameter.pv.detail`,example:`80000`,require:1,repeat:0},{name:`sheets-formula.functionList.PPMT.functionParameter.fv.name`,detail:`sheets-formula.functionList.PPMT.functionParameter.fv.detail`,example:`0`,require:0,repeat:0},{name:`sheets-formula.functionList.PPMT.functionParameter.type.name`,detail:`sheets-formula.functionList.PPMT.functionParameter.type.detail`,example:`0`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.PRICE,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.PRICE.description`,abstract:`sheets-formula.functionList.PRICE.abstract`,functionParameter:[{name:`sheets-formula.functionList.PRICE.functionParameter.settlement.name`,detail:`sheets-formula.functionList.PRICE.functionParameter.settlement.detail`,example:`"2008-11-11"`,require:1,repeat:0},{name:`sheets-formula.functionList.PRICE.functionParameter.maturity.name`,detail:`sheets-formula.functionList.PRICE.functionParameter.maturity.detail`,example:`"2021-3-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.PRICE.functionParameter.rate.name`,detail:`sheets-formula.functionList.PRICE.functionParameter.rate.detail`,example:`7.85%`,require:1,repeat:0},{name:`sheets-formula.functionList.PRICE.functionParameter.yld.name`,detail:`sheets-formula.functionList.PRICE.functionParameter.yld.detail`,example:`6.25%`,require:1,repeat:0},{name:`sheets-formula.functionList.PRICE.functionParameter.redemption.name`,detail:`sheets-formula.functionList.PRICE.functionParameter.redemption.detail`,example:`100`,require:1,repeat:0},{name:`sheets-formula.functionList.PRICE.functionParameter.frequency.name`,detail:`sheets-formula.functionList.PRICE.functionParameter.frequency.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.PRICE.functionParameter.basis.name`,detail:`sheets-formula.functionList.PRICE.functionParameter.basis.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.PRICEDISC,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.PRICEDISC.description`,abstract:`sheets-formula.functionList.PRICEDISC.abstract`,functionParameter:[{name:`sheets-formula.functionList.PRICEDISC.functionParameter.settlement.name`,detail:`sheets-formula.functionList.PRICEDISC.functionParameter.settlement.detail`,example:`"2008-11-11"`,require:1,repeat:0},{name:`sheets-formula.functionList.PRICEDISC.functionParameter.maturity.name`,detail:`sheets-formula.functionList.PRICEDISC.functionParameter.maturity.detail`,example:`"2021-3-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.PRICEDISC.functionParameter.discount.name`,detail:`sheets-formula.functionList.PRICEDISC.functionParameter.discount.detail`,example:`6.25%`,require:1,repeat:0},{name:`sheets-formula.functionList.PRICEDISC.functionParameter.redemption.name`,detail:`sheets-formula.functionList.PRICEDISC.functionParameter.redemption.detail`,example:`100`,require:1,repeat:0},{name:`sheets-formula.functionList.PRICEDISC.functionParameter.basis.name`,detail:`sheets-formula.functionList.PRICEDISC.functionParameter.basis.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.PRICEMAT,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.PRICEMAT.description`,abstract:`sheets-formula.functionList.PRICEMAT.abstract`,functionParameter:[{name:`sheets-formula.functionList.PRICEMAT.functionParameter.settlement.name`,detail:`sheets-formula.functionList.PRICEMAT.functionParameter.settlement.detail`,example:`"2008-11-11"`,require:1,repeat:0},{name:`sheets-formula.functionList.PRICEMAT.functionParameter.maturity.name`,detail:`sheets-formula.functionList.PRICEMAT.functionParameter.maturity.detail`,example:`"2021-3-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.PRICEMAT.functionParameter.issue.name`,detail:`sheets-formula.functionList.PRICEMAT.functionParameter.issue.detail`,example:`"2008-10-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.PRICEMAT.functionParameter.rate.name`,detail:`sheets-formula.functionList.PRICEMAT.functionParameter.rate.detail`,example:`7.85%`,require:1,repeat:0},{name:`sheets-formula.functionList.PRICEMAT.functionParameter.yld.name`,detail:`sheets-formula.functionList.PRICEMAT.functionParameter.yld.detail`,example:`6.25%`,require:1,repeat:0},{name:`sheets-formula.functionList.PRICEMAT.functionParameter.basis.name`,detail:`sheets-formula.functionList.PRICEMAT.functionParameter.basis.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.PV,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.PV.description`,abstract:`sheets-formula.functionList.PV.abstract`,functionParameter:[{name:`sheets-formula.functionList.PV.functionParameter.rate.name`,detail:`sheets-formula.functionList.PV.functionParameter.rate.detail`,example:`2%`,require:1,repeat:0},{name:`sheets-formula.functionList.PV.functionParameter.nper.name`,detail:`sheets-formula.functionList.PV.functionParameter.nper.detail`,example:`12`,require:1,repeat:0},{name:`sheets-formula.functionList.PV.functionParameter.pmt.name`,detail:`sheets-formula.functionList.PV.functionParameter.pmt.detail`,example:`100`,require:1,repeat:0},{name:`sheets-formula.functionList.PV.functionParameter.fv.name`,detail:`sheets-formula.functionList.PV.functionParameter.fv.detail`,example:`0`,require:0,repeat:0},{name:`sheets-formula.functionList.PV.functionParameter.type.name`,detail:`sheets-formula.functionList.PV.functionParameter.type.detail`,example:`0`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.RATE,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.RATE.description`,abstract:`sheets-formula.functionList.RATE.abstract`,functionParameter:[{name:`sheets-formula.functionList.RATE.functionParameter.nper.name`,detail:`sheets-formula.functionList.RATE.functionParameter.nper.detail`,example:`4*12`,require:1,repeat:0},{name:`sheets-formula.functionList.RATE.functionParameter.pmt.name`,detail:`sheets-formula.functionList.RATE.functionParameter.pmt.detail`,example:`-200`,require:1,repeat:0},{name:`sheets-formula.functionList.RATE.functionParameter.pv.name`,detail:`sheets-formula.functionList.RATE.functionParameter.pv.detail`,example:`8000`,require:1,repeat:0},{name:`sheets-formula.functionList.RATE.functionParameter.fv.name`,detail:`sheets-formula.functionList.RATE.functionParameter.fv.detail`,example:`0`,require:0,repeat:0},{name:`sheets-formula.functionList.RATE.functionParameter.type.name`,detail:`sheets-formula.functionList.RATE.functionParameter.type.detail`,example:`0`,require:0,repeat:0},{name:`sheets-formula.functionList.RATE.functionParameter.guess.name`,detail:`sheets-formula.functionList.RATE.functionParameter.guess.detail`,example:`0.1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.RECEIVED,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.RECEIVED.description`,abstract:`sheets-formula.functionList.RECEIVED.abstract`,functionParameter:[{name:`sheets-formula.functionList.RECEIVED.functionParameter.settlement.name`,detail:`sheets-formula.functionList.RECEIVED.functionParameter.settlement.detail`,example:`"2008-2-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.RECEIVED.functionParameter.maturity.name`,detail:`sheets-formula.functionList.RECEIVED.functionParameter.maturity.detail`,example:`"2008-3-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.RECEIVED.functionParameter.investment.name`,detail:`sheets-formula.functionList.RECEIVED.functionParameter.investment.detail`,example:`10000000`,require:1,repeat:0},{name:`sheets-formula.functionList.RECEIVED.functionParameter.discount.name`,detail:`sheets-formula.functionList.RECEIVED.functionParameter.discount.detail`,example:`5.75%`,require:1,repeat:0},{name:`sheets-formula.functionList.RECEIVED.functionParameter.basis.name`,detail:`sheets-formula.functionList.RECEIVED.functionParameter.basis.detail`,example:`2`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.RRI,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.RRI.description`,abstract:`sheets-formula.functionList.RRI.abstract`,functionParameter:[{name:`sheets-formula.functionList.RRI.functionParameter.nper.name`,detail:`sheets-formula.functionList.RRI.functionParameter.nper.detail`,example:`96`,require:1,repeat:0},{name:`sheets-formula.functionList.RRI.functionParameter.pv.name`,detail:`sheets-formula.functionList.RRI.functionParameter.pv.detail`,example:`10000`,require:1,repeat:0},{name:`sheets-formula.functionList.RRI.functionParameter.fv.name`,detail:`sheets-formula.functionList.RRI.functionParameter.fv.detail`,example:`11000`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.SLN,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.SLN.description`,abstract:`sheets-formula.functionList.SLN.abstract`,functionParameter:[{name:`sheets-formula.functionList.SLN.functionParameter.cost.name`,detail:`sheets-formula.functionList.SLN.functionParameter.cost.detail`,example:`300000`,require:1,repeat:0},{name:`sheets-formula.functionList.SLN.functionParameter.salvage.name`,detail:`sheets-formula.functionList.SLN.functionParameter.salvage.detail`,example:`75000`,require:1,repeat:0},{name:`sheets-formula.functionList.SLN.functionParameter.life.name`,detail:`sheets-formula.functionList.SLN.functionParameter.life.detail`,example:`10`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.SYD,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.SYD.description`,abstract:`sheets-formula.functionList.SYD.abstract`,functionParameter:[{name:`sheets-formula.functionList.SYD.functionParameter.cost.name`,detail:`sheets-formula.functionList.SYD.functionParameter.cost.detail`,example:`300000`,require:1,repeat:0},{name:`sheets-formula.functionList.SYD.functionParameter.salvage.name`,detail:`sheets-formula.functionList.SYD.functionParameter.salvage.detail`,example:`75000`,require:1,repeat:0},{name:`sheets-formula.functionList.SYD.functionParameter.life.name`,detail:`sheets-formula.functionList.SYD.functionParameter.life.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.SYD.functionParameter.per.name`,detail:`sheets-formula.functionList.SYD.functionParameter.per.detail`,example:`10`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.TBILLEQ,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.TBILLEQ.description`,abstract:`sheets-formula.functionList.TBILLEQ.abstract`,functionParameter:[{name:`sheets-formula.functionList.TBILLEQ.functionParameter.settlement.name`,detail:`sheets-formula.functionList.TBILLEQ.functionParameter.settlement.detail`,example:`"2008-3-31"`,require:1,repeat:0},{name:`sheets-formula.functionList.TBILLEQ.functionParameter.maturity.name`,detail:`sheets-formula.functionList.TBILLEQ.functionParameter.maturity.detail`,example:`"2008-6-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.TBILLEQ.functionParameter.discount.name`,detail:`sheets-formula.functionList.TBILLEQ.functionParameter.discount.detail`,example:`9.14%`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.TBILLPRICE,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.TBILLPRICE.description`,abstract:`sheets-formula.functionList.TBILLPRICE.abstract`,functionParameter:[{name:`sheets-formula.functionList.TBILLPRICE.functionParameter.settlement.name`,detail:`sheets-formula.functionList.TBILLPRICE.functionParameter.settlement.detail`,example:`"2008-3-31"`,require:1,repeat:0},{name:`sheets-formula.functionList.TBILLPRICE.functionParameter.maturity.name`,detail:`sheets-formula.functionList.TBILLPRICE.functionParameter.maturity.detail`,example:`"2008-6-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.TBILLPRICE.functionParameter.discount.name`,detail:`sheets-formula.functionList.TBILLPRICE.functionParameter.discount.detail`,example:`9.14%`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.TBILLYIELD,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.TBILLYIELD.description`,abstract:`sheets-formula.functionList.TBILLYIELD.abstract`,functionParameter:[{name:`sheets-formula.functionList.TBILLYIELD.functionParameter.settlement.name`,detail:`sheets-formula.functionList.TBILLYIELD.functionParameter.settlement.detail`,example:`"2008-3-31"`,require:1,repeat:0},{name:`sheets-formula.functionList.TBILLYIELD.functionParameter.maturity.name`,detail:`sheets-formula.functionList.TBILLYIELD.functionParameter.maturity.detail`,example:`"2008-6-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.TBILLYIELD.functionParameter.pr.name`,detail:`sheets-formula.functionList.TBILLYIELD.functionParameter.pr.detail`,example:`98.45`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.VDB,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.VDB.description`,abstract:`sheets-formula.functionList.VDB.abstract`,functionParameter:[{name:`sheets-formula.functionList.VDB.functionParameter.cost.name`,detail:`sheets-formula.functionList.VDB.functionParameter.cost.detail`,example:`2400`,require:1,repeat:0},{name:`sheets-formula.functionList.VDB.functionParameter.salvage.name`,detail:`sheets-formula.functionList.VDB.functionParameter.salvage.detail`,example:`300`,require:1,repeat:0},{name:`sheets-formula.functionList.VDB.functionParameter.life.name`,detail:`sheets-formula.functionList.VDB.functionParameter.life.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.VDB.functionParameter.startPeriod.name`,detail:`sheets-formula.functionList.VDB.functionParameter.startPeriod.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.VDB.functionParameter.endPeriod.name`,detail:`sheets-formula.functionList.VDB.functionParameter.endPeriod.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.VDB.functionParameter.factor.name`,detail:`sheets-formula.functionList.VDB.functionParameter.factor.detail`,example:`2`,require:0,repeat:0},{name:`sheets-formula.functionList.VDB.functionParameter.noSwitch.name`,detail:`sheets-formula.functionList.VDB.functionParameter.noSwitch.detail`,example:`false`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.XIRR,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.XIRR.description`,abstract:`sheets-formula.functionList.XIRR.abstract`,functionParameter:[{name:`sheets-formula.functionList.XIRR.functionParameter.values.name`,detail:`sheets-formula.functionList.XIRR.functionParameter.values.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.XIRR.functionParameter.dates.name`,detail:`sheets-formula.functionList.XIRR.functionParameter.dates.detail`,example:`B1:B4`,require:1,repeat:0},{name:`sheets-formula.functionList.XIRR.functionParameter.guess.name`,detail:`sheets-formula.functionList.XIRR.functionParameter.guess.detail`,example:`0.1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.XNPV,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.XNPV.description`,abstract:`sheets-formula.functionList.XNPV.abstract`,functionParameter:[{name:`sheets-formula.functionList.XNPV.functionParameter.rate.name`,detail:`sheets-formula.functionList.XNPV.functionParameter.rate.detail`,example:`10%`,require:1,repeat:0},{name:`sheets-formula.functionList.XNPV.functionParameter.values.name`,detail:`sheets-formula.functionList.XNPV.functionParameter.values.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.XNPV.functionParameter.dates.name`,detail:`sheets-formula.functionList.XNPV.functionParameter.dates.detail`,example:`B1:B4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.YIELD,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.YIELD.description`,abstract:`sheets-formula.functionList.YIELD.abstract`,functionParameter:[{name:`sheets-formula.functionList.YIELD.functionParameter.settlement.name`,detail:`sheets-formula.functionList.YIELD.functionParameter.settlement.detail`,example:`"2008-11-11"`,require:1,repeat:0},{name:`sheets-formula.functionList.YIELD.functionParameter.maturity.name`,detail:`sheets-formula.functionList.YIELD.functionParameter.maturity.detail`,example:`"2021-3-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.YIELD.functionParameter.rate.name`,detail:`sheets-formula.functionList.YIELD.functionParameter.rate.detail`,example:`7.85%`,require:1,repeat:0},{name:`sheets-formula.functionList.YIELD.functionParameter.pr.name`,detail:`sheets-formula.functionList.YIELD.functionParameter.pr.detail`,example:`98.45`,require:1,repeat:0},{name:`sheets-formula.functionList.YIELD.functionParameter.redemption.name`,detail:`sheets-formula.functionList.YIELD.functionParameter.redemption.detail`,example:`100`,require:1,repeat:0},{name:`sheets-formula.functionList.YIELD.functionParameter.frequency.name`,detail:`sheets-formula.functionList.YIELD.functionParameter.frequency.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.YIELD.functionParameter.basis.name`,detail:`sheets-formula.functionList.YIELD.functionParameter.basis.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.YIELDDISC,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.YIELDDISC.description`,abstract:`sheets-formula.functionList.YIELDDISC.abstract`,functionParameter:[{name:`sheets-formula.functionList.YIELDDISC.functionParameter.settlement.name`,detail:`sheets-formula.functionList.YIELDDISC.functionParameter.settlement.detail`,example:`"2008-11-11"`,require:1,repeat:0},{name:`sheets-formula.functionList.YIELDDISC.functionParameter.maturity.name`,detail:`sheets-formula.functionList.YIELDDISC.functionParameter.maturity.detail`,example:`"2021-3-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.YIELDDISC.functionParameter.pr.name`,detail:`sheets-formula.functionList.YIELDDISC.functionParameter.pr.detail`,example:`98.45`,require:1,repeat:0},{name:`sheets-formula.functionList.YIELDDISC.functionParameter.redemption.name`,detail:`sheets-formula.functionList.YIELDDISC.functionParameter.redemption.detail`,example:`100`,require:1,repeat:0},{name:`sheets-formula.functionList.YIELDDISC.functionParameter.basis.name`,detail:`sheets-formula.functionList.YIELDDISC.functionParameter.basis.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_FINANCIAL.YIELDMAT,functionType:r.FunctionType.Financial,description:`sheets-formula.functionList.YIELDMAT.description`,abstract:`sheets-formula.functionList.YIELDMAT.abstract`,functionParameter:[{name:`sheets-formula.functionList.YIELDMAT.functionParameter.settlement.name`,detail:`sheets-formula.functionList.YIELDMAT.functionParameter.settlement.detail`,example:`"2008-11-11"`,require:1,repeat:0},{name:`sheets-formula.functionList.YIELDMAT.functionParameter.maturity.name`,detail:`sheets-formula.functionList.YIELDMAT.functionParameter.maturity.detail`,example:`"2021-3-1"`,require:1,repeat:0},{name:`sheets-formula.functionList.YIELDMAT.functionParameter.issue.name`,detail:`sheets-formula.functionList.YIELDMAT.functionParameter.issue.detail`,example:`"2008-10-15"`,require:1,repeat:0},{name:`sheets-formula.functionList.YIELDMAT.functionParameter.rate.name`,detail:`sheets-formula.functionList.YIELDMAT.functionParameter.rate.detail`,example:`7.85%`,require:1,repeat:0},{name:`sheets-formula.functionList.YIELDMAT.functionParameter.pr.name`,detail:`sheets-formula.functionList.YIELDMAT.functionParameter.pr.detail`,example:`98.45`,require:1,repeat:0},{name:`sheets-formula.functionList.YIELDMAT.functionParameter.basis.name`,detail:`sheets-formula.functionList.YIELDMAT.functionParameter.basis.detail`,example:`1`,require:0,repeat:0}]}],et=[{functionName:r.FUNCTION_NAMES_INFORMATION.CELL,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.CELL.description`,abstract:`sheets-formula.functionList.CELL.abstract`,functionParameter:[{name:`sheets-formula.functionList.CELL.functionParameter.infoType.name`,detail:`sheets-formula.functionList.CELL.functionParameter.infoType.detail`,example:`"type"`,require:1,repeat:0},{name:`sheets-formula.functionList.CELL.functionParameter.reference.name`,detail:`sheets-formula.functionList.CELL.functionParameter.reference.detail`,example:`A1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ERROR_TYPE,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ERROR_TYPE.description`,abstract:`sheets-formula.functionList.ERROR_TYPE.abstract`,functionParameter:[{name:`sheets-formula.functionList.ERROR_TYPE.functionParameter.errorVal.name`,detail:`sheets-formula.functionList.ERROR_TYPE.functionParameter.errorVal.detail`,example:`"#NULL!"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.INFO,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.INFO.description`,abstract:`sheets-formula.functionList.INFO.abstract`,functionParameter:[{name:`sheets-formula.functionList.INFO.functionParameter.number1.name`,detail:`sheets-formula.functionList.INFO.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.INFO.functionParameter.number2.name`,detail:`sheets-formula.functionList.INFO.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ISBETWEEN,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ISBETWEEN.description`,abstract:`sheets-formula.functionList.ISBETWEEN.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISBETWEEN.functionParameter.valueToCompare.name`,detail:`sheets-formula.functionList.ISBETWEEN.functionParameter.valueToCompare.detail`,example:`7.9`,require:1,repeat:0},{name:`sheets-formula.functionList.ISBETWEEN.functionParameter.lowerValue.name`,detail:`sheets-formula.functionList.ISBETWEEN.functionParameter.lowerValue.detail`,example:`1.2`,require:1,repeat:0},{name:`sheets-formula.functionList.ISBETWEEN.functionParameter.upperValue.name`,detail:`sheets-formula.functionList.ISBETWEEN.functionParameter.upperValue.detail`,example:`12.45`,require:1,repeat:0},{name:`sheets-formula.functionList.ISBETWEEN.functionParameter.lowerValueIsInclusive.name`,detail:`sheets-formula.functionList.ISBETWEEN.functionParameter.lowerValueIsInclusive.detail`,example:`true`,require:0,repeat:0},{name:`sheets-formula.functionList.ISBETWEEN.functionParameter.upperValueIsInclusive.name`,detail:`sheets-formula.functionList.ISBETWEEN.functionParameter.upperValueIsInclusive.detail`,example:`true`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ISBLANK,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ISBLANK.description`,abstract:`sheets-formula.functionList.ISBLANK.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISBLANK.functionParameter.value.name`,detail:`sheets-formula.functionList.ISBLANK.functionParameter.value.detail`,example:`A1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ISDATE,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ISDATE.description`,abstract:`sheets-formula.functionList.ISDATE.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISDATE.functionParameter.value.name`,detail:`sheets-formula.functionList.ISDATE.functionParameter.value.detail`,example:`A1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ISEMAIL,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ISEMAIL.description`,abstract:`sheets-formula.functionList.ISEMAIL.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISEMAIL.functionParameter.value.name`,detail:`sheets-formula.functionList.ISEMAIL.functionParameter.value.detail`,example:`"developer@univer.ai"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ISERR,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ISERR.description`,abstract:`sheets-formula.functionList.ISERR.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISERR.functionParameter.value.name`,detail:`sheets-formula.functionList.ISERR.functionParameter.value.detail`,example:`A1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ISERROR,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ISERROR.description`,abstract:`sheets-formula.functionList.ISERROR.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISERROR.functionParameter.value.name`,detail:`sheets-formula.functionList.ISERROR.functionParameter.value.detail`,example:`A1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ISEVEN,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ISEVEN.description`,abstract:`sheets-formula.functionList.ISEVEN.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISEVEN.functionParameter.value.name`,detail:`sheets-formula.functionList.ISEVEN.functionParameter.value.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ISFORMULA,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ISFORMULA.description`,abstract:`sheets-formula.functionList.ISFORMULA.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISFORMULA.functionParameter.reference.name`,detail:`sheets-formula.functionList.ISFORMULA.functionParameter.reference.detail`,example:`A1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ISLOGICAL,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ISLOGICAL.description`,abstract:`sheets-formula.functionList.ISLOGICAL.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISLOGICAL.functionParameter.value.name`,detail:`sheets-formula.functionList.ISLOGICAL.functionParameter.value.detail`,example:`A1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ISNA,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ISNA.description`,abstract:`sheets-formula.functionList.ISNA.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISNA.functionParameter.value.name`,detail:`sheets-formula.functionList.ISNA.functionParameter.value.detail`,example:`A1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ISNONTEXT,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ISNONTEXT.description`,abstract:`sheets-formula.functionList.ISNONTEXT.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISNONTEXT.functionParameter.value.name`,detail:`sheets-formula.functionList.ISNONTEXT.functionParameter.value.detail`,example:`A1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ISNUMBER,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ISNUMBER.description`,abstract:`sheets-formula.functionList.ISNUMBER.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISNUMBER.functionParameter.value.name`,detail:`sheets-formula.functionList.ISNUMBER.functionParameter.value.detail`,example:`A1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ISODD,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ISODD.description`,abstract:`sheets-formula.functionList.ISODD.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISODD.functionParameter.value.name`,detail:`sheets-formula.functionList.ISODD.functionParameter.value.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ISOMITTED,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ISOMITTED.description`,abstract:`sheets-formula.functionList.ISOMITTED.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISOMITTED.functionParameter.number1.name`,detail:`sheets-formula.functionList.ISOMITTED.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.ISOMITTED.functionParameter.number2.name`,detail:`sheets-formula.functionList.ISOMITTED.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ISREF,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ISREF.description`,abstract:`sheets-formula.functionList.ISREF.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISREF.functionParameter.value.name`,detail:`sheets-formula.functionList.ISREF.functionParameter.value.detail`,example:`A1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ISTEXT,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ISTEXT.description`,abstract:`sheets-formula.functionList.ISTEXT.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISTEXT.functionParameter.value.name`,detail:`sheets-formula.functionList.ISTEXT.functionParameter.value.detail`,example:`A1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.ISURL,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.ISURL.description`,abstract:`sheets-formula.functionList.ISURL.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISURL.functionParameter.value.name`,detail:`sheets-formula.functionList.ISURL.functionParameter.value.detail`,example:`"univer.ai"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.N,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.N.description`,abstract:`sheets-formula.functionList.N.abstract`,functionParameter:[{name:`sheets-formula.functionList.N.functionParameter.value.name`,detail:`sheets-formula.functionList.N.functionParameter.value.detail`,example:`7`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.NA,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.NA.description`,abstract:`sheets-formula.functionList.NA.abstract`,functionParameter:[]},{functionName:r.FUNCTION_NAMES_INFORMATION.SHEET,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.SHEET.description`,abstract:`sheets-formula.functionList.SHEET.abstract`,functionParameter:[{name:`sheets-formula.functionList.SHEET.functionParameter.value.name`,detail:`sheets-formula.functionList.SHEET.functionParameter.value.detail`,example:`A1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_INFORMATION.SHEETS,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.SHEETS.description`,abstract:`sheets-formula.functionList.SHEETS.abstract`,functionParameter:[]},{functionName:r.FUNCTION_NAMES_INFORMATION.TYPE,functionType:r.FunctionType.Information,description:`sheets-formula.functionList.TYPE.description`,abstract:`sheets-formula.functionList.TYPE.abstract`,functionParameter:[{name:`sheets-formula.functionList.TYPE.functionParameter.value.name`,detail:`sheets-formula.functionList.TYPE.functionParameter.value.detail`,example:`A2`,require:1,repeat:0}]}],tt=[{functionName:r.FUNCTION_NAMES_LOGICAL.AND,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.AND.description`,abstract:`sheets-formula.functionList.AND.abstract`,functionParameter:[{name:`sheets-formula.functionList.AND.functionParameter.logical1.name`,detail:`sheets-formula.functionList.AND.functionParameter.logical1.detail`,example:`A1=1`,require:1,repeat:0},{name:`sheets-formula.functionList.AND.functionParameter.logical2.name`,detail:`sheets-formula.functionList.AND.functionParameter.logical2.detail`,example:`A2=2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_LOGICAL.BYCOL,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.BYCOL.description`,abstract:`sheets-formula.functionList.BYCOL.abstract`,functionParameter:[{name:`sheets-formula.functionList.BYCOL.functionParameter.array.name`,detail:`sheets-formula.functionList.BYCOL.functionParameter.array.detail`,example:`A1:C2`,require:1,repeat:0},{name:`sheets-formula.functionList.BYCOL.functionParameter.lambda.name`,detail:`sheets-formula.functionList.BYCOL.functionParameter.lambda.detail`,example:`LAMBDA(array, MAX(array))`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOGICAL.BYROW,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.BYROW.description`,abstract:`sheets-formula.functionList.BYROW.abstract`,functionParameter:[{name:`sheets-formula.functionList.BYROW.functionParameter.array.name`,detail:`sheets-formula.functionList.BYROW.functionParameter.array.detail`,example:`A1:C2`,require:1,repeat:0},{name:`sheets-formula.functionList.BYROW.functionParameter.lambda.name`,detail:`sheets-formula.functionList.BYROW.functionParameter.lambda.detail`,example:`LAMBDA(array, MAX(array))`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOGICAL.FALSE,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.FALSE.description`,abstract:`sheets-formula.functionList.FALSE.abstract`,functionParameter:[]},{functionName:r.FUNCTION_NAMES_LOGICAL.IF,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.IF.description`,abstract:`sheets-formula.functionList.IF.abstract`,functionParameter:[{name:`sheets-formula.functionList.IF.functionParameter.logicalTest.name`,detail:`sheets-formula.functionList.IF.functionParameter.logicalTest.detail`,example:`A2 = "foo"`,require:1,repeat:0},{name:`sheets-formula.functionList.IF.functionParameter.valueIfTrue.name`,detail:`sheets-formula.functionList.IF.functionParameter.valueIfTrue.detail`,example:`"A2 is foo"`,require:1,repeat:0},{name:`sheets-formula.functionList.IF.functionParameter.valueIfFalse.name`,detail:`sheets-formula.functionList.IF.functionParameter.valueIfFalse.detail`,example:`"A2 is not foo"`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOGICAL.IFERROR,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.IFERROR.description`,abstract:`sheets-formula.functionList.IFERROR.abstract`,functionParameter:[{name:`sheets-formula.functionList.IFERROR.functionParameter.value.name`,detail:`sheets-formula.functionList.IFERROR.functionParameter.value.detail`,example:`A2/B2`,require:1,repeat:0},{name:`sheets-formula.functionList.IFERROR.functionParameter.valueIfError.name`,detail:`sheets-formula.functionList.IFERROR.functionParameter.valueIfError.detail`,example:`"Error in calculation"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOGICAL.IFNA,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.IFNA.description`,abstract:`sheets-formula.functionList.IFNA.abstract`,functionParameter:[{name:`sheets-formula.functionList.IFNA.functionParameter.value.name`,detail:`sheets-formula.functionList.IFNA.functionParameter.value.detail`,example:`VLOOKUP(C3,C6:D11,2,FALSE)`,require:1,repeat:0},{name:`sheets-formula.functionList.IFNA.functionParameter.valueIfNa.name`,detail:`sheets-formula.functionList.IFNA.functionParameter.valueIfNa.detail`,example:`"Not Found"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOGICAL.IFS,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.IFS.description`,abstract:`sheets-formula.functionList.IFS.abstract`,functionParameter:[{name:`sheets-formula.functionList.IFS.functionParameter.logicalTest1.name`,detail:`sheets-formula.functionList.IFS.functionParameter.logicalTest1.detail`,example:`A2 = "foo"`,require:1,repeat:0},{name:`sheets-formula.functionList.IFS.functionParameter.valueIfTrue1.name`,detail:`sheets-formula.functionList.IFS.functionParameter.valueIfTrue1.detail`,example:`"A2 is foo"`,require:1,repeat:0},{name:`sheets-formula.functionList.IFS.functionParameter.logicalTest2.name`,detail:`sheets-formula.functionList.IFS.functionParameter.logicalTest2.detail`,example:`F2=1`,require:0,repeat:1},{name:`sheets-formula.functionList.IFS.functionParameter.valueIfTrue2.name`,detail:`sheets-formula.functionList.IFS.functionParameter.valueIfTrue2.detail`,example:`D2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_LOGICAL.LAMBDA,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.LAMBDA.description`,abstract:`sheets-formula.functionList.LAMBDA.abstract`,functionParameter:[{name:`sheets-formula.functionList.LAMBDA.functionParameter.parameter.name`,detail:`sheets-formula.functionList.LAMBDA.functionParameter.parameter.detail`,example:`[x, y, …,]`,require:0,repeat:1},{name:`sheets-formula.functionList.LAMBDA.functionParameter.calculation.name`,detail:`sheets-formula.functionList.LAMBDA.functionParameter.calculation.detail`,example:`x+y`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOGICAL.LET,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.LET.description`,abstract:`sheets-formula.functionList.LET.abstract`,functionParameter:[{name:`sheets-formula.functionList.LET.functionParameter.name1.name`,detail:`sheets-formula.functionList.LET.functionParameter.name1.detail`,example:`x`,require:1,repeat:0},{name:`sheets-formula.functionList.LET.functionParameter.nameValue1.name`,detail:`sheets-formula.functionList.LET.functionParameter.nameValue1.detail`,example:`5`,require:1,repeat:0},{name:`sheets-formula.functionList.LET.functionParameter.calculationOrName2.name`,detail:`sheets-formula.functionList.LET.functionParameter.calculationOrName2.detail`,example:`y`,require:1,repeat:0},{name:`sheets-formula.functionList.LET.functionParameter.nameValue2.name`,detail:`sheets-formula.functionList.LET.functionParameter.nameValue2.detail`,example:`6`,require:0,repeat:1},{name:`sheets-formula.functionList.LET.functionParameter.calculationOrName3.name`,detail:`sheets-formula.functionList.LET.functionParameter.calculationOrName3.detail`,example:`SUM(x,y)`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_LOGICAL.MAKEARRAY,aliasFunctionName:`sheets-formula.functionList.MAKEARRAY.aliasFunctionName`,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.MAKEARRAY.description`,abstract:`sheets-formula.functionList.MAKEARRAY.abstract`,functionParameter:[{name:`sheets-formula.functionList.MAKEARRAY.functionParameter.number1.name`,detail:`sheets-formula.functionList.MAKEARRAY.functionParameter.number1.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.MAKEARRAY.functionParameter.number2.name`,detail:`sheets-formula.functionList.MAKEARRAY.functionParameter.number2.detail`,example:`7`,require:1,repeat:0},{name:`sheets-formula.functionList.MAKEARRAY.functionParameter.value3.name`,detail:`sheets-formula.functionList.MAKEARRAY.functionParameter.value3.detail`,example:`LAMBDA(r,c, r*c)`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOGICAL.MAP,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.MAP.description`,abstract:`sheets-formula.functionList.MAP.abstract`,functionParameter:[{name:`sheets-formula.functionList.MAP.functionParameter.array1.name`,detail:`sheets-formula.functionList.MAP.functionParameter.array1.detail`,example:`D2:D11`,require:1,repeat:0},{name:`sheets-formula.functionList.MAP.functionParameter.array2.name`,detail:`sheets-formula.functionList.MAP.functionParameter.array2.detail`,example:`E2:E11`,require:0,repeat:1},{name:`sheets-formula.functionList.MAP.functionParameter.lambda.name`,detail:`sheets-formula.functionList.MAP.functionParameter.lambda.detail`,example:`LAMBDA(s,c,AND(s="Large",c="Red"))`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOGICAL.NOT,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.NOT.description`,abstract:`sheets-formula.functionList.NOT.abstract`,functionParameter:[{name:`sheets-formula.functionList.NOT.functionParameter.logical.name`,detail:`sheets-formula.functionList.NOT.functionParameter.logical.detail`,example:`A2>100`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOGICAL.OR,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.OR.description`,abstract:`sheets-formula.functionList.OR.abstract`,functionParameter:[{name:`sheets-formula.functionList.OR.functionParameter.logical1.name`,detail:`sheets-formula.functionList.OR.functionParameter.logical1.detail`,example:`A1=1`,require:1,repeat:0},{name:`sheets-formula.functionList.OR.functionParameter.logical2.name`,detail:`sheets-formula.functionList.OR.functionParameter.logical2.detail`,example:`A2=2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_LOGICAL.REDUCE,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.REDUCE.description`,abstract:`sheets-formula.functionList.REDUCE.abstract`,functionParameter:[{name:`sheets-formula.functionList.REDUCE.functionParameter.initialValue.name`,detail:`sheets-formula.functionList.REDUCE.functionParameter.initialValue.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.REDUCE.functionParameter.array.name`,detail:`sheets-formula.functionList.REDUCE.functionParameter.array.detail`,example:`A1:C2`,require:1,repeat:0},{name:`sheets-formula.functionList.REDUCE.functionParameter.lambda.name`,detail:`sheets-formula.functionList.REDUCE.functionParameter.lambda.detail`,example:`LAMBDA(a,b,a+b^2)`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOGICAL.SCAN,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.SCAN.description`,abstract:`sheets-formula.functionList.SCAN.abstract`,functionParameter:[{name:`sheets-formula.functionList.SCAN.functionParameter.initialValue.name`,detail:`sheets-formula.functionList.SCAN.functionParameter.initialValue.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.SCAN.functionParameter.array.name`,detail:`sheets-formula.functionList.SCAN.functionParameter.array.detail`,example:`A1:C2`,require:1,repeat:0},{name:`sheets-formula.functionList.SCAN.functionParameter.lambda.name`,detail:`sheets-formula.functionList.SCAN.functionParameter.lambda.detail`,example:`LAMBDA(a,b,a+b^2)`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOGICAL.SWITCH,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.SWITCH.description`,abstract:`sheets-formula.functionList.SWITCH.abstract`,functionParameter:[{name:`sheets-formula.functionList.SWITCH.functionParameter.expression.name`,detail:`sheets-formula.functionList.SWITCH.functionParameter.expression.detail`,example:`WEEKDAY(A2)`,require:1,repeat:0},{name:`sheets-formula.functionList.SWITCH.functionParameter.value1.name`,detail:`sheets-formula.functionList.SWITCH.functionParameter.value1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.SWITCH.functionParameter.result1.name`,detail:`sheets-formula.functionList.SWITCH.functionParameter.result1.detail`,example:`"Sunday"`,require:1,repeat:0},{name:`sheets-formula.functionList.SWITCH.functionParameter.defaultOrValue2.name`,detail:`sheets-formula.functionList.SWITCH.functionParameter.defaultOrValue2.detail`,example:`2`,require:0,repeat:1},{name:`sheets-formula.functionList.SWITCH.functionParameter.result2.name`,detail:`sheets-formula.functionList.SWITCH.functionParameter.result2.detail`,example:`"Monday"`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_LOGICAL.TRUE,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.TRUE.description`,abstract:`sheets-formula.functionList.TRUE.abstract`,functionParameter:[]},{functionName:r.FUNCTION_NAMES_LOGICAL.XOR,functionType:r.FunctionType.Logical,description:`sheets-formula.functionList.XOR.description`,abstract:`sheets-formula.functionList.XOR.abstract`,functionParameter:[{name:`sheets-formula.functionList.XOR.functionParameter.logical1.name`,detail:`sheets-formula.functionList.XOR.functionParameter.logical1.detail`,example:`3>0`,require:1,repeat:0},{name:`sheets-formula.functionList.XOR.functionParameter.logical2.name`,detail:`sheets-formula.functionList.XOR.functionParameter.logical2.detail`,example:`2<9`,require:0,repeat:1}]}],nt=[{functionName:r.FUNCTION_NAMES_LOOKUP.ADDRESS,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.ADDRESS.description`,abstract:`sheets-formula.functionList.ADDRESS.abstract`,functionParameter:[{name:`sheets-formula.functionList.ADDRESS.functionParameter.row_num.name`,detail:`sheets-formula.functionList.ADDRESS.functionParameter.row_num.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.ADDRESS.functionParameter.column_num.name`,detail:`sheets-formula.functionList.ADDRESS.functionParameter.column_num.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.ADDRESS.functionParameter.abs_num.name`,detail:`sheets-formula.functionList.ADDRESS.functionParameter.abs_num.detail`,example:`1`,require:0,repeat:0},{name:`sheets-formula.functionList.ADDRESS.functionParameter.a1.name`,detail:`sheets-formula.functionList.ADDRESS.functionParameter.a1.detail`,example:`TRUE`,require:0,repeat:0},{name:`sheets-formula.functionList.ADDRESS.functionParameter.sheet_text.name`,detail:`sheets-formula.functionList.ADDRESS.functionParameter.sheet_text.detail`,example:`"Sheet2"`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.AREAS,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.AREAS.description`,abstract:`sheets-formula.functionList.AREAS.abstract`,functionParameter:[{name:`sheets-formula.functionList.AREAS.functionParameter.reference.name`,detail:`sheets-formula.functionList.AREAS.functionParameter.reference.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.CHOOSE,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.CHOOSE.description`,abstract:`sheets-formula.functionList.CHOOSE.abstract`,functionParameter:[{name:`sheets-formula.functionList.CHOOSE.functionParameter.indexNum.name`,detail:`sheets-formula.functionList.CHOOSE.functionParameter.indexNum.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.CHOOSE.functionParameter.value1.name`,detail:`sheets-formula.functionList.CHOOSE.functionParameter.value1.detail`,example:`"Hello"`,require:1,repeat:0},{name:`sheets-formula.functionList.CHOOSE.functionParameter.value2.name`,detail:`sheets-formula.functionList.CHOOSE.functionParameter.value2.detail`,example:`"Univer"`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_LOOKUP.CHOOSECOLS,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.CHOOSECOLS.description`,abstract:`sheets-formula.functionList.CHOOSECOLS.abstract`,functionParameter:[{name:`sheets-formula.functionList.CHOOSECOLS.functionParameter.array.name`,detail:`sheets-formula.functionList.CHOOSECOLS.functionParameter.array.detail`,example:`A1:C2`,require:1,repeat:0},{name:`sheets-formula.functionList.CHOOSECOLS.functionParameter.colNum1.name`,detail:`sheets-formula.functionList.CHOOSECOLS.functionParameter.colNum1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.CHOOSECOLS.functionParameter.colNum2.name`,detail:`sheets-formula.functionList.CHOOSECOLS.functionParameter.colNum2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_LOOKUP.CHOOSEROWS,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.CHOOSEROWS.description`,abstract:`sheets-formula.functionList.CHOOSEROWS.abstract`,functionParameter:[{name:`sheets-formula.functionList.CHOOSEROWS.functionParameter.array.name`,detail:`sheets-formula.functionList.CHOOSEROWS.functionParameter.array.detail`,example:`A1:C2`,require:1,repeat:0},{name:`sheets-formula.functionList.CHOOSEROWS.functionParameter.rowNum1.name`,detail:`sheets-formula.functionList.CHOOSEROWS.functionParameter.rowNum1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.CHOOSEROWS.functionParameter.rowNum2.name`,detail:`sheets-formula.functionList.CHOOSEROWS.functionParameter.rowNum2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_LOOKUP.COLUMN,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.COLUMN.description`,abstract:`sheets-formula.functionList.COLUMN.abstract`,functionParameter:[{name:`sheets-formula.functionList.COLUMN.functionParameter.reference.name`,detail:`sheets-formula.functionList.COLUMN.functionParameter.reference.detail`,example:`A1:A20`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.COLUMNS,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.COLUMNS.description`,abstract:`sheets-formula.functionList.COLUMNS.abstract`,functionParameter:[{name:`sheets-formula.functionList.COLUMNS.functionParameter.array.name`,detail:`sheets-formula.functionList.COLUMNS.functionParameter.array.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.DROP,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.DROP.description`,abstract:`sheets-formula.functionList.DROP.abstract`,functionParameter:[{name:`sheets-formula.functionList.DROP.functionParameter.array.name`,detail:`sheets-formula.functionList.DROP.functionParameter.array.detail`,example:`A2:C4`,require:1,repeat:0},{name:`sheets-formula.functionList.DROP.functionParameter.rows.name`,detail:`sheets-formula.functionList.DROP.functionParameter.rows.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.DROP.functionParameter.columns.name`,detail:`sheets-formula.functionList.DROP.functionParameter.columns.detail`,example:`2`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.EXPAND,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.EXPAND.description`,abstract:`sheets-formula.functionList.EXPAND.abstract`,functionParameter:[{name:`sheets-formula.functionList.EXPAND.functionParameter.array.name`,detail:`sheets-formula.functionList.EXPAND.functionParameter.array.detail`,example:`A2`,require:1,repeat:0},{name:`sheets-formula.functionList.EXPAND.functionParameter.rows.name`,detail:`sheets-formula.functionList.EXPAND.functionParameter.rows.detail`,example:`3`,require:1,repeat:0},{name:`sheets-formula.functionList.EXPAND.functionParameter.columns.name`,detail:`sheets-formula.functionList.EXPAND.functionParameter.columns.detail`,example:`3`,require:0,repeat:0},{name:`sheets-formula.functionList.EXPAND.functionParameter.padWith.name`,detail:`sheets-formula.functionList.EXPAND.functionParameter.padWith.detail`,example:`"-"`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.FILTER,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.FILTER.description`,abstract:`sheets-formula.functionList.FILTER.abstract`,functionParameter:[{name:`sheets-formula.functionList.FILTER.functionParameter.array.name`,detail:`sheets-formula.functionList.FILTER.functionParameter.array.detail`,example:`A5:D20`,require:1,repeat:0},{name:`sheets-formula.functionList.FILTER.functionParameter.include.name`,detail:`sheets-formula.functionList.FILTER.functionParameter.include.detail`,example:`(C5:C20="Apple")*(A5:A20="East")`,require:1,repeat:0},{name:`sheets-formula.functionList.FILTER.functionParameter.ifEmpty.name`,detail:`sheets-formula.functionList.FILTER.functionParameter.ifEmpty.detail`,example:`""`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.FORMULATEXT,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.FORMULATEXT.description`,abstract:`sheets-formula.functionList.FORMULATEXT.abstract`,functionParameter:[{name:`sheets-formula.functionList.FORMULATEXT.functionParameter.reference.name`,detail:`sheets-formula.functionList.FORMULATEXT.functionParameter.reference.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.GETPIVOTDATA,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.GETPIVOTDATA.description`,abstract:`sheets-formula.functionList.GETPIVOTDATA.abstract`,functionParameter:[{name:`sheets-formula.functionList.GETPIVOTDATA.functionParameter.number1.name`,detail:`sheets-formula.functionList.GETPIVOTDATA.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.GETPIVOTDATA.functionParameter.number2.name`,detail:`sheets-formula.functionList.GETPIVOTDATA.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.HLOOKUP,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.HLOOKUP.description`,abstract:`sheets-formula.functionList.HLOOKUP.abstract`,functionParameter:[{name:`sheets-formula.functionList.HLOOKUP.functionParameter.lookupValue.name`,detail:`sheets-formula.functionList.HLOOKUP.functionParameter.lookupValue.detail`,example:`A1`,require:1,repeat:0},{name:`sheets-formula.functionList.HLOOKUP.functionParameter.tableArray.name`,detail:`sheets-formula.functionList.HLOOKUP.functionParameter.tableArray.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.HLOOKUP.functionParameter.rowIndexNum.name`,detail:`sheets-formula.functionList.HLOOKUP.functionParameter.rowIndexNum.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.HLOOKUP.functionParameter.rangeLookup.name`,detail:`sheets-formula.functionList.HLOOKUP.functionParameter.rangeLookup.detail`,example:`false`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.HSTACK,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.HSTACK.description`,abstract:`sheets-formula.functionList.HSTACK.abstract`,functionParameter:[{name:`sheets-formula.functionList.HSTACK.functionParameter.array1.name`,detail:`sheets-formula.functionList.HSTACK.functionParameter.array1.detail`,example:`A2:C3`,require:1,repeat:0},{name:`sheets-formula.functionList.HSTACK.functionParameter.array2.name`,detail:`sheets-formula.functionList.HSTACK.functionParameter.array2.detail`,example:`E2:G3`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_LOOKUP.HYPERLINK,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.HYPERLINK.description`,abstract:`sheets-formula.functionList.HYPERLINK.abstract`,functionParameter:[{name:`sheets-formula.functionList.HYPERLINK.functionParameter.url.name`,detail:`sheets-formula.functionList.HYPERLINK.functionParameter.url.detail`,example:`"https://univer.ai/"`,require:1,repeat:0},{name:`sheets-formula.functionList.HYPERLINK.functionParameter.linkLabel.name`,detail:`sheets-formula.functionList.HYPERLINK.functionParameter.linkLabel.detail`,example:`"Univer"`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.IMAGE,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.IMAGE.description`,abstract:`sheets-formula.functionList.IMAGE.abstract`,functionParameter:[{name:`sheets-formula.functionList.IMAGE.functionParameter.source.name`,detail:`sheets-formula.functionList.IMAGE.functionParameter.source.detail`,example:`"https://github.com/dream-num.png"`,require:1,repeat:0},{name:`sheets-formula.functionList.IMAGE.functionParameter.altText.name`,detail:`sheets-formula.functionList.IMAGE.functionParameter.altText.detail`,example:`"Univer Logo"`,require:0,repeat:0},{name:`sheets-formula.functionList.IMAGE.functionParameter.sizing.name`,detail:`sheets-formula.functionList.IMAGE.functionParameter.sizing.detail`,example:`3`,require:0,repeat:0},{name:`sheets-formula.functionList.IMAGE.functionParameter.height.name`,detail:`sheets-formula.functionList.IMAGE.functionParameter.height.detail`,example:`100`,require:0,repeat:0},{name:`sheets-formula.functionList.IMAGE.functionParameter.width.name`,detail:`sheets-formula.functionList.IMAGE.functionParameter.width.detail`,example:`100`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.INDEX,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.INDEX.description`,abstract:`sheets-formula.functionList.INDEX.abstract`,functionParameter:[{name:`sheets-formula.functionList.INDEX.functionParameter.reference.name`,detail:`sheets-formula.functionList.INDEX.functionParameter.reference.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.INDEX.functionParameter.rowNum.name`,detail:`sheets-formula.functionList.INDEX.functionParameter.rowNum.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.INDEX.functionParameter.columnNum.name`,detail:`sheets-formula.functionList.INDEX.functionParameter.columnNum.detail`,example:`1`,require:0,repeat:0},{name:`sheets-formula.functionList.INDEX.functionParameter.areaNum.name`,detail:`sheets-formula.functionList.INDEX.functionParameter.areaNum.detail`,example:`2`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.INDIRECT,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.INDIRECT.description`,abstract:`sheets-formula.functionList.INDIRECT.abstract`,functionParameter:[{name:`sheets-formula.functionList.INDIRECT.functionParameter.refText.name`,detail:`sheets-formula.functionList.INDIRECT.functionParameter.refText.detail`,example:`"A1"`,require:1,repeat:0},{name:`sheets-formula.functionList.INDIRECT.functionParameter.a1.name`,detail:`sheets-formula.functionList.INDIRECT.functionParameter.a1.detail`,example:`TRUE`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.LOOKUP,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.LOOKUP.description`,abstract:`sheets-formula.functionList.LOOKUP.abstract`,functionParameter:[{name:`sheets-formula.functionList.LOOKUP.functionParameter.lookupValue.name`,detail:`sheets-formula.functionList.LOOKUP.functionParameter.lookupValue.detail`,example:`A1`,require:1,repeat:0},{name:`sheets-formula.functionList.LOOKUP.functionParameter.lookupVectorOrArray.name`,detail:`sheets-formula.functionList.LOOKUP.functionParameter.lookupVectorOrArray.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.LOOKUP.functionParameter.resultVector.name`,detail:`sheets-formula.functionList.LOOKUP.functionParameter.resultVector.detail`,example:`A1:A20`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.MATCH,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.MATCH.description`,abstract:`sheets-formula.functionList.MATCH.abstract`,functionParameter:[{name:`sheets-formula.functionList.MATCH.functionParameter.lookupValue.name`,detail:`sheets-formula.functionList.MATCH.functionParameter.lookupValue.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.MATCH.functionParameter.lookupArray.name`,detail:`sheets-formula.functionList.MATCH.functionParameter.lookupArray.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.MATCH.functionParameter.matchType.name`,detail:`sheets-formula.functionList.MATCH.functionParameter.matchType.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.OFFSET,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.OFFSET.description`,abstract:`sheets-formula.functionList.OFFSET.abstract`,functionParameter:[{name:`sheets-formula.functionList.OFFSET.functionParameter.reference.name`,detail:`sheets-formula.functionList.OFFSET.functionParameter.reference.detail`,example:`A1`,require:1,repeat:0},{name:`sheets-formula.functionList.OFFSET.functionParameter.rows.name`,detail:`sheets-formula.functionList.OFFSET.functionParameter.rows.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.OFFSET.functionParameter.cols.name`,detail:`sheets-formula.functionList.OFFSET.functionParameter.cols.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.OFFSET.functionParameter.height.name`,detail:`sheets-formula.functionList.OFFSET.functionParameter.height.detail`,example:`1`,require:0,repeat:0},{name:`sheets-formula.functionList.OFFSET.functionParameter.width.name`,detail:`sheets-formula.functionList.OFFSET.functionParameter.width.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.ROW,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.ROW.description`,abstract:`sheets-formula.functionList.ROW.abstract`,functionParameter:[{name:`sheets-formula.functionList.ROW.functionParameter.reference.name`,detail:`sheets-formula.functionList.ROW.functionParameter.reference.detail`,example:`A1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.ROWS,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.ROWS.description`,abstract:`sheets-formula.functionList.ROWS.abstract`,functionParameter:[{name:`sheets-formula.functionList.ROWS.functionParameter.array.name`,detail:`sheets-formula.functionList.ROWS.functionParameter.array.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.RTD,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.RTD.description`,abstract:`sheets-formula.functionList.RTD.abstract`,functionParameter:[{name:`sheets-formula.functionList.RTD.functionParameter.number1.name`,detail:`sheets-formula.functionList.RTD.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.RTD.functionParameter.number2.name`,detail:`sheets-formula.functionList.RTD.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.SORT,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.SORT.description`,abstract:`sheets-formula.functionList.SORT.abstract`,functionParameter:[{name:`sheets-formula.functionList.SORT.functionParameter.array.name`,detail:`sheets-formula.functionList.SORT.functionParameter.array.detail`,example:`A2:A17`,require:1,repeat:0},{name:`sheets-formula.functionList.SORT.functionParameter.sortIndex.name`,detail:`sheets-formula.functionList.SORT.functionParameter.sortIndex.detail`,example:`1`,require:0,repeat:0},{name:`sheets-formula.functionList.SORT.functionParameter.sortOrder.name`,detail:`sheets-formula.functionList.SORT.functionParameter.sortOrder.detail`,example:`1`,require:0,repeat:0},{name:`sheets-formula.functionList.SORT.functionParameter.byCol.name`,detail:`sheets-formula.functionList.SORT.functionParameter.byCol.detail`,example:`false`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.SORTBY,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.SORTBY.description`,abstract:`sheets-formula.functionList.SORTBY.abstract`,functionParameter:[{name:`sheets-formula.functionList.SORTBY.functionParameter.array.name`,detail:`sheets-formula.functionList.SORTBY.functionParameter.array.detail`,example:`D2:D9`,require:1,repeat:0},{name:`sheets-formula.functionList.SORTBY.functionParameter.byArray1.name`,detail:`sheets-formula.functionList.SORTBY.functionParameter.byArray1.detail`,example:`E2:E9`,require:1,repeat:0},{name:`sheets-formula.functionList.SORTBY.functionParameter.sortOrder1.name`,detail:`sheets-formula.functionList.SORTBY.functionParameter.sortOrder1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.SORTBY.functionParameter.byArray2.name`,detail:`sheets-formula.functionList.SORTBY.functionParameter.byArray2.detail`,example:`E2:E9`,require:0,repeat:1},{name:`sheets-formula.functionList.SORTBY.functionParameter.sortOrder2.name`,detail:`sheets-formula.functionList.SORTBY.functionParameter.sortOrder2.detail`,example:`1`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_LOOKUP.TAKE,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.TAKE.description`,abstract:`sheets-formula.functionList.TAKE.abstract`,functionParameter:[{name:`sheets-formula.functionList.TAKE.functionParameter.array.name`,detail:`sheets-formula.functionList.TAKE.functionParameter.array.detail`,example:`A2:C4`,require:1,repeat:0},{name:`sheets-formula.functionList.TAKE.functionParameter.rows.name`,detail:`sheets-formula.functionList.TAKE.functionParameter.rows.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.TAKE.functionParameter.columns.name`,detail:`sheets-formula.functionList.TAKE.functionParameter.columns.detail`,example:`2`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.TOCOL,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.TOCOL.description`,abstract:`sheets-formula.functionList.TOCOL.abstract`,functionParameter:[{name:`sheets-formula.functionList.TOCOL.functionParameter.array.name`,detail:`sheets-formula.functionList.TOCOL.functionParameter.array.detail`,example:`A2:D4`,require:1,repeat:0},{name:`sheets-formula.functionList.TOCOL.functionParameter.ignore.name`,detail:`sheets-formula.functionList.TOCOL.functionParameter.ignore.detail`,example:`1`,require:0,repeat:0},{name:`sheets-formula.functionList.TOCOL.functionParameter.scanByColumn.name`,detail:`sheets-formula.functionList.TOCOL.functionParameter.scanByColumn.detail`,example:`TRUE`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.TOROW,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.TOROW.description`,abstract:`sheets-formula.functionList.TOROW.abstract`,functionParameter:[{name:`sheets-formula.functionList.TOROW.functionParameter.array.name`,detail:`sheets-formula.functionList.TOROW.functionParameter.array.detail`,example:`A2:D4`,require:1,repeat:0},{name:`sheets-formula.functionList.TOROW.functionParameter.ignore.name`,detail:`sheets-formula.functionList.TOROW.functionParameter.ignore.detail`,example:`1`,require:0,repeat:0},{name:`sheets-formula.functionList.TOROW.functionParameter.scanByColumn.name`,detail:`sheets-formula.functionList.TOROW.functionParameter.scanByColumn.detail`,example:`TRUE`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.TRANSPOSE,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.TRANSPOSE.description`,abstract:`sheets-formula.functionList.TRANSPOSE.abstract`,functionParameter:[{name:`sheets-formula.functionList.TRANSPOSE.functionParameter.array.name`,detail:`sheets-formula.functionList.TRANSPOSE.functionParameter.array.detail`,example:`A2:F9`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.UNIQUE,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.UNIQUE.description`,abstract:`sheets-formula.functionList.UNIQUE.abstract`,functionParameter:[{name:`sheets-formula.functionList.UNIQUE.functionParameter.array.name`,detail:`sheets-formula.functionList.UNIQUE.functionParameter.array.detail`,example:`A2:A12`,require:1,repeat:0},{name:`sheets-formula.functionList.UNIQUE.functionParameter.byCol.name`,detail:`sheets-formula.functionList.UNIQUE.functionParameter.byCol.detail`,example:`false`,require:0,repeat:0},{name:`sheets-formula.functionList.UNIQUE.functionParameter.exactlyOnce.name`,detail:`sheets-formula.functionList.UNIQUE.functionParameter.exactlyOnce.detail`,example:`false`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.VLOOKUP,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.VLOOKUP.description`,abstract:`sheets-formula.functionList.VLOOKUP.abstract`,functionParameter:[{name:`sheets-formula.functionList.VLOOKUP.functionParameter.lookupValue.name`,detail:`sheets-formula.functionList.VLOOKUP.functionParameter.lookupValue.detail`,example:`B2`,require:1,repeat:0},{name:`sheets-formula.functionList.VLOOKUP.functionParameter.tableArray.name`,detail:`sheets-formula.functionList.VLOOKUP.functionParameter.tableArray.detail`,example:`C2:E7`,require:1,repeat:0},{name:`sheets-formula.functionList.VLOOKUP.functionParameter.colIndexNum.name`,detail:`sheets-formula.functionList.VLOOKUP.functionParameter.colIndexNum.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.VLOOKUP.functionParameter.rangeLookup.name`,detail:`sheets-formula.functionList.VLOOKUP.functionParameter.rangeLookup.detail`,example:`TRUE`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.VSTACK,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.VSTACK.description`,abstract:`sheets-formula.functionList.VSTACK.abstract`,functionParameter:[{name:`sheets-formula.functionList.VSTACK.functionParameter.array1.name`,detail:`sheets-formula.functionList.VSTACK.functionParameter.array1.detail`,example:`A2:C3`,require:1,repeat:0},{name:`sheets-formula.functionList.VSTACK.functionParameter.array2.name`,detail:`sheets-formula.functionList.VSTACK.functionParameter.array2.detail`,example:`E2:G3`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_LOOKUP.WRAPCOLS,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.WRAPCOLS.description`,abstract:`sheets-formula.functionList.WRAPCOLS.abstract`,functionParameter:[{name:`sheets-formula.functionList.WRAPCOLS.functionParameter.vector.name`,detail:`sheets-formula.functionList.WRAPCOLS.functionParameter.vector.detail`,example:`A2:G2`,require:1,repeat:0},{name:`sheets-formula.functionList.WRAPCOLS.functionParameter.wrapCount.name`,detail:`sheets-formula.functionList.WRAPCOLS.functionParameter.wrapCount.detail`,example:`3`,require:1,repeat:0},{name:`sheets-formula.functionList.WRAPCOLS.functionParameter.padWith.name`,detail:`sheets-formula.functionList.WRAPCOLS.functionParameter.padWith.detail`,example:`"x"`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.WRAPROWS,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.WRAPROWS.description`,abstract:`sheets-formula.functionList.WRAPROWS.abstract`,functionParameter:[{name:`sheets-formula.functionList.WRAPROWS.functionParameter.vector.name`,detail:`sheets-formula.functionList.WRAPROWS.functionParameter.vector.detail`,example:`A2:G2`,require:1,repeat:0},{name:`sheets-formula.functionList.WRAPROWS.functionParameter.wrapCount.name`,detail:`sheets-formula.functionList.WRAPROWS.functionParameter.wrapCount.detail`,example:`3`,require:1,repeat:0},{name:`sheets-formula.functionList.WRAPROWS.functionParameter.padWith.name`,detail:`sheets-formula.functionList.WRAPROWS.functionParameter.padWith.detail`,example:`"x"`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.XLOOKUP,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.XLOOKUP.description`,abstract:`sheets-formula.functionList.XLOOKUP.abstract`,functionParameter:[{name:`sheets-formula.functionList.XLOOKUP.functionParameter.lookupValue.name`,detail:`sheets-formula.functionList.XLOOKUP.functionParameter.lookupValue.detail`,example:`A1`,require:1,repeat:0},{name:`sheets-formula.functionList.XLOOKUP.functionParameter.lookupArray.name`,detail:`sheets-formula.functionList.XLOOKUP.functionParameter.lookupArray.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.XLOOKUP.functionParameter.returnArray.name`,detail:`sheets-formula.functionList.XLOOKUP.functionParameter.returnArray.detail`,example:`B1:B20`,require:1,repeat:0},{name:`sheets-formula.functionList.XLOOKUP.functionParameter.ifNotFound.name`,detail:`sheets-formula.functionList.XLOOKUP.functionParameter.ifNotFound.detail`,example:`default`,require:0,repeat:0},{name:`sheets-formula.functionList.XLOOKUP.functionParameter.matchMode.name`,detail:`sheets-formula.functionList.XLOOKUP.functionParameter.matchMode.detail`,example:`0`,require:0,repeat:0},{name:`sheets-formula.functionList.XLOOKUP.functionParameter.searchMode.name`,detail:`sheets-formula.functionList.XLOOKUP.functionParameter.searchMode.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_LOOKUP.XMATCH,functionType:r.FunctionType.Lookup,description:`sheets-formula.functionList.XMATCH.description`,abstract:`sheets-formula.functionList.XMATCH.abstract`,functionParameter:[{name:`sheets-formula.functionList.XMATCH.functionParameter.lookupValue.name`,detail:`sheets-formula.functionList.XMATCH.functionParameter.lookupValue.detail`,example:`B1`,require:1,repeat:0},{name:`sheets-formula.functionList.XMATCH.functionParameter.lookupArray.name`,detail:`sheets-formula.functionList.XMATCH.functionParameter.lookupArray.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.XMATCH.functionParameter.matchMode.name`,detail:`sheets-formula.functionList.XMATCH.functionParameter.matchMode.detail`,example:`0`,require:0,repeat:0},{name:`sheets-formula.functionList.XMATCH.functionParameter.searchMode.name`,detail:`sheets-formula.functionList.XMATCH.functionParameter.searchMode.detail`,example:`1`,require:0,repeat:0}]}],rt=[{functionName:r.FUNCTION_NAMES_MATH.ABS,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ABS.description`,abstract:`sheets-formula.functionList.ABS.abstract`,functionParameter:[{name:`sheets-formula.functionList.ABS.functionParameter.number.name`,detail:`sheets-formula.functionList.ABS.functionParameter.number.detail`,example:`-2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.ACOS,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ACOS.description`,abstract:`sheets-formula.functionList.ACOS.abstract`,functionParameter:[{name:`sheets-formula.functionList.ACOS.functionParameter.number.name`,detail:`sheets-formula.functionList.ACOS.functionParameter.number.detail`,example:`0`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.ACOSH,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ACOSH.description`,abstract:`sheets-formula.functionList.ACOSH.abstract`,functionParameter:[{name:`sheets-formula.functionList.ACOSH.functionParameter.number.name`,detail:`sheets-formula.functionList.ACOSH.functionParameter.number.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.ACOT,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ACOT.description`,abstract:`sheets-formula.functionList.ACOT.abstract`,functionParameter:[{name:`sheets-formula.functionList.ACOT.functionParameter.number.name`,detail:`sheets-formula.functionList.ACOT.functionParameter.number.detail`,example:`0`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.ACOTH,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ACOTH.description`,abstract:`sheets-formula.functionList.ACOTH.abstract`,functionParameter:[{name:`sheets-formula.functionList.ACOTH.functionParameter.number.name`,detail:`sheets-formula.functionList.ACOTH.functionParameter.number.detail`,example:`6`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.AGGREGATE,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.AGGREGATE.description`,abstract:`sheets-formula.functionList.AGGREGATE.abstract`,functionParameter:[{name:`sheets-formula.functionList.AGGREGATE.functionParameter.functionNum.name`,detail:`sheets-formula.functionList.AGGREGATE.functionParameter.functionNum.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.AGGREGATE.functionParameter.options.name`,detail:`sheets-formula.functionList.AGGREGATE.functionParameter.options.detail`,example:`6`,require:1,repeat:0},{name:`sheets-formula.functionList.AGGREGATE.functionParameter.ref1.name`,detail:`sheets-formula.functionList.AGGREGATE.functionParameter.ref1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.AGGREGATE.functionParameter.ref2.name`,detail:`sheets-formula.functionList.AGGREGATE.functionParameter.ref2.detail`,example:`B1:B20`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_MATH.ARABIC,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ARABIC.description`,abstract:`sheets-formula.functionList.ARABIC.abstract`,functionParameter:[{name:`sheets-formula.functionList.ARABIC.functionParameter.text.name`,detail:`sheets-formula.functionList.ARABIC.functionParameter.text.detail`,example:`"LVII"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.ASIN,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ASIN.description`,abstract:`sheets-formula.functionList.ASIN.abstract`,functionParameter:[{name:`sheets-formula.functionList.ASIN.functionParameter.number.name`,detail:`sheets-formula.functionList.ASIN.functionParameter.number.detail`,example:`0`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.ASINH,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ASINH.description`,abstract:`sheets-formula.functionList.ASINH.abstract`,functionParameter:[{name:`sheets-formula.functionList.ASINH.functionParameter.number.name`,detail:`sheets-formula.functionList.ASINH.functionParameter.number.detail`,example:`10`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.ATAN,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ATAN.description`,abstract:`sheets-formula.functionList.ATAN.abstract`,functionParameter:[{name:`sheets-formula.functionList.ATAN.functionParameter.number.name`,detail:`sheets-formula.functionList.ATAN.functionParameter.number.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.ATAN2,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ATAN2.description`,abstract:`sheets-formula.functionList.ATAN2.abstract`,functionParameter:[{name:`sheets-formula.functionList.ATAN2.functionParameter.xNum.name`,detail:`sheets-formula.functionList.ATAN2.functionParameter.xNum.detail`,example:`4`,require:1,repeat:0},{name:`sheets-formula.functionList.ATAN2.functionParameter.yNum.name`,detail:`sheets-formula.functionList.ATAN2.functionParameter.yNum.detail`,example:`3`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.ATANH,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ATANH.description`,abstract:`sheets-formula.functionList.ATANH.abstract`,functionParameter:[{name:`sheets-formula.functionList.ATANH.functionParameter.number.name`,detail:`sheets-formula.functionList.ATANH.functionParameter.number.detail`,example:`0.1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.BASE,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.BASE.description`,abstract:`sheets-formula.functionList.BASE.abstract`,functionParameter:[{name:`sheets-formula.functionList.BASE.functionParameter.number.name`,detail:`sheets-formula.functionList.BASE.functionParameter.number.detail`,example:`15`,require:1,repeat:0},{name:`sheets-formula.functionList.BASE.functionParameter.radix.name`,detail:`sheets-formula.functionList.BASE.functionParameter.radix.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.BASE.functionParameter.minLength.name`,detail:`sheets-formula.functionList.BASE.functionParameter.minLength.detail`,example:`10`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.CEILING,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.CEILING.description`,abstract:`sheets-formula.functionList.CEILING.abstract`,functionParameter:[{name:`sheets-formula.functionList.CEILING.functionParameter.number.name`,detail:`sheets-formula.functionList.CEILING.functionParameter.number.detail`,example:`2.5`,require:1,repeat:0},{name:`sheets-formula.functionList.CEILING.functionParameter.significance.name`,detail:`sheets-formula.functionList.CEILING.functionParameter.significance.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.CEILING_MATH,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.CEILING_MATH.description`,abstract:`sheets-formula.functionList.CEILING_MATH.abstract`,functionParameter:[{name:`sheets-formula.functionList.CEILING_MATH.functionParameter.number.name`,detail:`sheets-formula.functionList.CEILING_MATH.functionParameter.number.detail`,example:`-5.5`,require:1,repeat:0},{name:`sheets-formula.functionList.CEILING_MATH.functionParameter.significance.name`,detail:`sheets-formula.functionList.CEILING_MATH.functionParameter.significance.detail`,example:`2`,require:0,repeat:0},{name:`sheets-formula.functionList.CEILING_MATH.functionParameter.mode.name`,detail:`sheets-formula.functionList.CEILING_MATH.functionParameter.mode.detail`,example:`-1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.CEILING_PRECISE,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.CEILING_PRECISE.description`,abstract:`sheets-formula.functionList.CEILING_PRECISE.abstract`,functionParameter:[{name:`sheets-formula.functionList.CEILING_PRECISE.functionParameter.number.name`,detail:`sheets-formula.functionList.CEILING_PRECISE.functionParameter.number.detail`,example:`4.3`,require:1,repeat:0},{name:`sheets-formula.functionList.CEILING_PRECISE.functionParameter.significance.name`,detail:`sheets-formula.functionList.CEILING_PRECISE.functionParameter.significance.detail`,example:`2`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.COMBIN,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.COMBIN.description`,abstract:`sheets-formula.functionList.COMBIN.abstract`,functionParameter:[{name:`sheets-formula.functionList.COMBIN.functionParameter.number.name`,detail:`sheets-formula.functionList.COMBIN.functionParameter.number.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.COMBIN.functionParameter.numberChosen.name`,detail:`sheets-formula.functionList.COMBIN.functionParameter.numberChosen.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.COMBINA,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.COMBINA.description`,abstract:`sheets-formula.functionList.COMBINA.abstract`,functionParameter:[{name:`sheets-formula.functionList.COMBINA.functionParameter.number.name`,detail:`sheets-formula.functionList.COMBINA.functionParameter.number.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.COMBINA.functionParameter.numberChosen.name`,detail:`sheets-formula.functionList.COMBINA.functionParameter.numberChosen.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.COS,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.COS.description`,abstract:`sheets-formula.functionList.COS.abstract`,functionParameter:[{name:`sheets-formula.functionList.COS.functionParameter.number.name`,detail:`sheets-formula.functionList.COS.functionParameter.number.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.COSH,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.COSH.description`,abstract:`sheets-formula.functionList.COSH.abstract`,functionParameter:[{name:`sheets-formula.functionList.COSH.functionParameter.number.name`,detail:`sheets-formula.functionList.COSH.functionParameter.number.detail`,example:`4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.COT,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.COT.description`,abstract:`sheets-formula.functionList.COT.abstract`,functionParameter:[{name:`sheets-formula.functionList.COT.functionParameter.number.name`,detail:`sheets-formula.functionList.COT.functionParameter.number.detail`,example:`30`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.COTH,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.COTH.description`,abstract:`sheets-formula.functionList.COTH.abstract`,functionParameter:[{name:`sheets-formula.functionList.COTH.functionParameter.number.name`,detail:`sheets-formula.functionList.COTH.functionParameter.number.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.CSC,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.CSC.description`,abstract:`sheets-formula.functionList.CSC.abstract`,functionParameter:[{name:`sheets-formula.functionList.CSC.functionParameter.number.name`,detail:`sheets-formula.functionList.CSC.functionParameter.number.detail`,example:`15`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.CSCH,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.CSCH.description`,abstract:`sheets-formula.functionList.CSCH.abstract`,functionParameter:[{name:`sheets-formula.functionList.CSCH.functionParameter.number.name`,detail:`sheets-formula.functionList.CSCH.functionParameter.number.detail`,example:`1.5`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.DECIMAL,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.DECIMAL.description`,abstract:`sheets-formula.functionList.DECIMAL.abstract`,functionParameter:[{name:`sheets-formula.functionList.DECIMAL.functionParameter.text.name`,detail:`sheets-formula.functionList.DECIMAL.functionParameter.text.detail`,example:`"FF"`,require:1,repeat:0},{name:`sheets-formula.functionList.DECIMAL.functionParameter.radix.name`,detail:`sheets-formula.functionList.DECIMAL.functionParameter.radix.detail`,example:`16`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.DEGREES,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.DEGREES.description`,abstract:`sheets-formula.functionList.DEGREES.abstract`,functionParameter:[{name:`sheets-formula.functionList.DEGREES.functionParameter.angle.name`,detail:`sheets-formula.functionList.DEGREES.functionParameter.angle.detail`,example:`PI()`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.EVEN,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.EVEN.description`,abstract:`sheets-formula.functionList.EVEN.abstract`,functionParameter:[{name:`sheets-formula.functionList.EVEN.functionParameter.number.name`,detail:`sheets-formula.functionList.EVEN.functionParameter.number.detail`,example:`1.5`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.EXP,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.EXP.description`,abstract:`sheets-formula.functionList.EXP.abstract`,functionParameter:[{name:`sheets-formula.functionList.EXP.functionParameter.number.name`,detail:`sheets-formula.functionList.EXP.functionParameter.number.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.FACT,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.FACT.description`,abstract:`sheets-formula.functionList.FACT.abstract`,functionParameter:[{name:`sheets-formula.functionList.FACT.functionParameter.number.name`,detail:`sheets-formula.functionList.FACT.functionParameter.number.detail`,example:`5`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.FACTDOUBLE,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.FACTDOUBLE.description`,abstract:`sheets-formula.functionList.FACTDOUBLE.abstract`,functionParameter:[{name:`sheets-formula.functionList.FACTDOUBLE.functionParameter.number.name`,detail:`sheets-formula.functionList.FACTDOUBLE.functionParameter.number.detail`,example:`6`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.FLOOR,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.FLOOR.description`,abstract:`sheets-formula.functionList.FLOOR.abstract`,functionParameter:[{name:`sheets-formula.functionList.FLOOR.functionParameter.number.name`,detail:`sheets-formula.functionList.FLOOR.functionParameter.number.detail`,example:`3.7`,require:1,repeat:0},{name:`sheets-formula.functionList.FLOOR.functionParameter.significance.name`,detail:`sheets-formula.functionList.FLOOR.functionParameter.significance.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.FLOOR_MATH,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.FLOOR_MATH.description`,abstract:`sheets-formula.functionList.FLOOR_MATH.abstract`,functionParameter:[{name:`sheets-formula.functionList.FLOOR_MATH.functionParameter.number.name`,detail:`sheets-formula.functionList.FLOOR_MATH.functionParameter.number.detail`,example:`-5.5`,require:1,repeat:0},{name:`sheets-formula.functionList.FLOOR_MATH.functionParameter.significance.name`,detail:`sheets-formula.functionList.FLOOR_MATH.functionParameter.significance.detail`,example:`2`,require:0,repeat:0},{name:`sheets-formula.functionList.FLOOR_MATH.functionParameter.mode.name`,detail:`sheets-formula.functionList.FLOOR_MATH.functionParameter.mode.detail`,example:`-1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.FLOOR_PRECISE,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.FLOOR_PRECISE.description`,abstract:`sheets-formula.functionList.FLOOR_PRECISE.abstract`,functionParameter:[{name:`sheets-formula.functionList.FLOOR_PRECISE.functionParameter.number.name`,detail:`sheets-formula.functionList.FLOOR_PRECISE.functionParameter.number.detail`,example:`-3.2`,require:1,repeat:0},{name:`sheets-formula.functionList.FLOOR_PRECISE.functionParameter.significance.name`,detail:`sheets-formula.functionList.FLOOR_PRECISE.functionParameter.significance.detail`,example:`-1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.GCD,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.GCD.description`,abstract:`sheets-formula.functionList.GCD.abstract`,functionParameter:[{name:`sheets-formula.functionList.GCD.functionParameter.number1.name`,detail:`sheets-formula.functionList.GCD.functionParameter.number1.detail`,example:`5`,require:1,repeat:0},{name:`sheets-formula.functionList.GCD.functionParameter.number2.name`,detail:`sheets-formula.functionList.GCD.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_MATH.INT,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.INT.description`,abstract:`sheets-formula.functionList.INT.abstract`,functionParameter:[{name:`sheets-formula.functionList.INT.functionParameter.number.name`,detail:`sheets-formula.functionList.INT.functionParameter.number.detail`,example:`8.9`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.ISO_CEILING,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ISO_CEILING.description`,abstract:`sheets-formula.functionList.ISO_CEILING.abstract`,functionParameter:[{name:`sheets-formula.functionList.ISO_CEILING.functionParameter.number1.name`,detail:`sheets-formula.functionList.ISO_CEILING.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.ISO_CEILING.functionParameter.number2.name`,detail:`sheets-formula.functionList.ISO_CEILING.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.LCM,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.LCM.description`,abstract:`sheets-formula.functionList.LCM.abstract`,functionParameter:[{name:`sheets-formula.functionList.LCM.functionParameter.number1.name`,detail:`sheets-formula.functionList.LCM.functionParameter.number1.detail`,example:`5`,require:1,repeat:0},{name:`sheets-formula.functionList.LCM.functionParameter.number2.name`,detail:`sheets-formula.functionList.LCM.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_MATH.LET,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.LET.description`,abstract:`sheets-formula.functionList.LET.abstract`,functionParameter:[{name:`sheets-formula.functionList.LET.functionParameter.number1.name`,detail:`sheets-formula.functionList.LET.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.LET.functionParameter.number2.name`,detail:`sheets-formula.functionList.LET.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.LN,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.LN.description`,abstract:`sheets-formula.functionList.LN.abstract`,functionParameter:[{name:`sheets-formula.functionList.LN.functionParameter.number.name`,detail:`sheets-formula.functionList.LN.functionParameter.number.detail`,example:`EXP(3)`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.LOG,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.LOG.description`,abstract:`sheets-formula.functionList.LOG.abstract`,functionParameter:[{name:`sheets-formula.functionList.LOG.functionParameter.number.name`,detail:`sheets-formula.functionList.LOG.functionParameter.number.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.LOG.functionParameter.base.name`,detail:`sheets-formula.functionList.LOG.functionParameter.base.detail`,example:`2`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.LOG10,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.LOG10.description`,abstract:`sheets-formula.functionList.LOG10.abstract`,functionParameter:[{name:`sheets-formula.functionList.LOG10.functionParameter.number.name`,detail:`sheets-formula.functionList.LOG10.functionParameter.number.detail`,example:`100000`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.MDETERM,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.MDETERM.description`,abstract:`sheets-formula.functionList.MDETERM.abstract`,functionParameter:[{name:`sheets-formula.functionList.MDETERM.functionParameter.array.name`,detail:`sheets-formula.functionList.MDETERM.functionParameter.array.detail`,example:`A1:C3`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.MINVERSE,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.MINVERSE.description`,abstract:`sheets-formula.functionList.MINVERSE.abstract`,functionParameter:[{name:`sheets-formula.functionList.MINVERSE.functionParameter.array.name`,detail:`sheets-formula.functionList.MINVERSE.functionParameter.array.detail`,example:`A1:C3`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.MMULT,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.MMULT.description`,abstract:`sheets-formula.functionList.MMULT.abstract`,functionParameter:[{name:`sheets-formula.functionList.MMULT.functionParameter.array1.name`,detail:`sheets-formula.functionList.MMULT.functionParameter.array1.detail`,example:`A2:B3`,require:1,repeat:0},{name:`sheets-formula.functionList.MMULT.functionParameter.array2.name`,detail:`sheets-formula.functionList.MMULT.functionParameter.array2.detail`,example:`A5:B6`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.MOD,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.MOD.description`,abstract:`sheets-formula.functionList.MOD.abstract`,functionParameter:[{name:`sheets-formula.functionList.MOD.functionParameter.number.name`,detail:`sheets-formula.functionList.MOD.functionParameter.number.detail`,example:`3`,require:1,repeat:0},{name:`sheets-formula.functionList.MOD.functionParameter.divisor.name`,detail:`sheets-formula.functionList.MOD.functionParameter.divisor.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.MROUND,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.MROUND.description`,abstract:`sheets-formula.functionList.MROUND.abstract`,functionParameter:[{name:`sheets-formula.functionList.MROUND.functionParameter.number.name`,detail:`sheets-formula.functionList.MROUND.functionParameter.number.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.MROUND.functionParameter.multiple.name`,detail:`sheets-formula.functionList.MROUND.functionParameter.multiple.detail`,example:`3`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.MULTINOMIAL,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.MULTINOMIAL.description`,abstract:`sheets-formula.functionList.MULTINOMIAL.abstract`,functionParameter:[{name:`sheets-formula.functionList.MULTINOMIAL.functionParameter.number1.name`,detail:`sheets-formula.functionList.MULTINOMIAL.functionParameter.number1.detail`,example:`5`,require:1,repeat:0},{name:`sheets-formula.functionList.MULTINOMIAL.functionParameter.number2.name`,detail:`sheets-formula.functionList.MULTINOMIAL.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_MATH.MUNIT,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.MUNIT.description`,abstract:`sheets-formula.functionList.MUNIT.abstract`,functionParameter:[{name:`sheets-formula.functionList.MUNIT.functionParameter.dimension.name`,detail:`sheets-formula.functionList.MUNIT.functionParameter.dimension.detail`,example:`3`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.ODD,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ODD.description`,abstract:`sheets-formula.functionList.ODD.abstract`,functionParameter:[{name:`sheets-formula.functionList.ODD.functionParameter.number.name`,detail:`sheets-formula.functionList.ODD.functionParameter.number.detail`,example:`1.5`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.PI,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.PI.description`,abstract:`sheets-formula.functionList.PI.abstract`,functionParameter:[]},{functionName:r.FUNCTION_NAMES_MATH.POWER,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.POWER.description`,abstract:`sheets-formula.functionList.POWER.abstract`,functionParameter:[{name:`sheets-formula.functionList.POWER.functionParameter.number.name`,detail:`sheets-formula.functionList.POWER.functionParameter.number.detail`,example:`5`,require:1,repeat:0},{name:`sheets-formula.functionList.POWER.functionParameter.power.name`,detail:`sheets-formula.functionList.POWER.functionParameter.power.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.PRODUCT,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.PRODUCT.description`,abstract:`sheets-formula.functionList.PRODUCT.abstract`,functionParameter:[{name:`sheets-formula.functionList.PRODUCT.functionParameter.number1.name`,detail:`sheets-formula.functionList.PRODUCT.functionParameter.number1.detail`,example:`A1`,require:1,repeat:0},{name:`sheets-formula.functionList.PRODUCT.functionParameter.number2.name`,detail:`sheets-formula.functionList.PRODUCT.functionParameter.number2.detail`,example:`A2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_MATH.QUOTIENT,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.QUOTIENT.description`,abstract:`sheets-formula.functionList.QUOTIENT.abstract`,functionParameter:[{name:`sheets-formula.functionList.QUOTIENT.functionParameter.numerator.name`,detail:`sheets-formula.functionList.QUOTIENT.functionParameter.numerator.detail`,example:`5`,require:1,repeat:0},{name:`sheets-formula.functionList.QUOTIENT.functionParameter.denominator.name`,detail:`sheets-formula.functionList.QUOTIENT.functionParameter.denominator.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.RADIANS,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.RADIANS.description`,abstract:`sheets-formula.functionList.RADIANS.abstract`,functionParameter:[{name:`sheets-formula.functionList.RADIANS.functionParameter.angle.name`,detail:`sheets-formula.functionList.RADIANS.functionParameter.angle.detail`,example:`270`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.RAND,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.RAND.description`,abstract:`sheets-formula.functionList.RAND.abstract`,functionParameter:[]},{functionName:r.FUNCTION_NAMES_MATH.RANDARRAY,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.RANDARRAY.description`,abstract:`sheets-formula.functionList.RANDARRAY.abstract`,functionParameter:[{name:`sheets-formula.functionList.RANDARRAY.functionParameter.rows.name`,detail:`sheets-formula.functionList.RANDARRAY.functionParameter.rows.detail`,example:`5`,require:0,repeat:0},{name:`sheets-formula.functionList.RANDARRAY.functionParameter.columns.name`,detail:`sheets-formula.functionList.RANDARRAY.functionParameter.columns.detail`,example:`3`,require:0,repeat:0},{name:`sheets-formula.functionList.RANDARRAY.functionParameter.min.name`,detail:`sheets-formula.functionList.RANDARRAY.functionParameter.min.detail`,example:`1`,require:0,repeat:0},{name:`sheets-formula.functionList.RANDARRAY.functionParameter.max.name`,detail:`sheets-formula.functionList.RANDARRAY.functionParameter.max.detail`,example:`100`,require:0,repeat:0},{name:`sheets-formula.functionList.RANDARRAY.functionParameter.wholeNumber.name`,detail:`sheets-formula.functionList.RANDARRAY.functionParameter.wholeNumber.detail`,example:`TRUE`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.RANDBETWEEN,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.RANDBETWEEN.description`,abstract:`sheets-formula.functionList.RANDBETWEEN.abstract`,functionParameter:[{name:`sheets-formula.functionList.RANDBETWEEN.functionParameter.bottom.name`,detail:`sheets-formula.functionList.RANDBETWEEN.functionParameter.bottom.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.RANDBETWEEN.functionParameter.top.name`,detail:`sheets-formula.functionList.RANDBETWEEN.functionParameter.top.detail`,example:`100`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.ROMAN,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ROMAN.description`,abstract:`sheets-formula.functionList.ROMAN.abstract`,functionParameter:[{name:`sheets-formula.functionList.ROMAN.functionParameter.number.name`,detail:`sheets-formula.functionList.ROMAN.functionParameter.number.detail`,example:`499`,require:1,repeat:0},{name:`sheets-formula.functionList.ROMAN.functionParameter.form.name`,detail:`sheets-formula.functionList.ROMAN.functionParameter.form.detail`,example:`0`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.ROUND,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ROUND.description`,abstract:`sheets-formula.functionList.ROUND.abstract`,functionParameter:[{name:`sheets-formula.functionList.ROUND.functionParameter.number.name`,detail:`sheets-formula.functionList.ROUND.functionParameter.number.detail`,example:`2.15`,require:1,repeat:0},{name:`sheets-formula.functionList.ROUND.functionParameter.numDigits.name`,detail:`sheets-formula.functionList.ROUND.functionParameter.numDigits.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.ROUNDBANK,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ROUNDBANK.description`,abstract:`sheets-formula.functionList.ROUNDBANK.abstract`,functionParameter:[{name:`sheets-formula.functionList.ROUNDBANK.functionParameter.number.name`,detail:`sheets-formula.functionList.ROUNDBANK.functionParameter.number.detail`,example:`2.345`,require:1,repeat:0},{name:`sheets-formula.functionList.ROUNDBANK.functionParameter.numDigits.name`,detail:`sheets-formula.functionList.ROUNDBANK.functionParameter.numDigits.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.ROUNDDOWN,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ROUNDDOWN.description`,abstract:`sheets-formula.functionList.ROUNDDOWN.abstract`,functionParameter:[{name:`sheets-formula.functionList.ROUNDDOWN.functionParameter.number.name`,detail:`sheets-formula.functionList.ROUNDDOWN.functionParameter.number.detail`,example:`3.2`,require:1,repeat:0},{name:`sheets-formula.functionList.ROUNDDOWN.functionParameter.numDigits.name`,detail:`sheets-formula.functionList.ROUNDDOWN.functionParameter.numDigits.detail`,example:`0`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.ROUNDUP,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.ROUNDUP.description`,abstract:`sheets-formula.functionList.ROUNDUP.abstract`,functionParameter:[{name:`sheets-formula.functionList.ROUNDUP.functionParameter.number.name`,detail:`sheets-formula.functionList.ROUNDUP.functionParameter.number.detail`,example:`3.2`,require:1,repeat:0},{name:`sheets-formula.functionList.ROUNDUP.functionParameter.numDigits.name`,detail:`sheets-formula.functionList.ROUNDUP.functionParameter.numDigits.detail`,example:`0`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.SEC,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SEC.description`,abstract:`sheets-formula.functionList.SEC.abstract`,functionParameter:[{name:`sheets-formula.functionList.SEC.functionParameter.number.name`,detail:`sheets-formula.functionList.SEC.functionParameter.number.detail`,example:`30`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.SECH,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SECH.description`,abstract:`sheets-formula.functionList.SECH.abstract`,functionParameter:[{name:`sheets-formula.functionList.SECH.functionParameter.number.name`,detail:`sheets-formula.functionList.SECH.functionParameter.number.detail`,example:`30`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.SERIESSUM,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SERIESSUM.description`,abstract:`sheets-formula.functionList.SERIESSUM.abstract`,functionParameter:[{name:`sheets-formula.functionList.SERIESSUM.functionParameter.x.name`,detail:`sheets-formula.functionList.SERIESSUM.functionParameter.x.detail`,example:`0.785398163`,require:1,repeat:0},{name:`sheets-formula.functionList.SERIESSUM.functionParameter.n.name`,detail:`sheets-formula.functionList.SERIESSUM.functionParameter.n.detail`,example:`0`,require:1,repeat:0},{name:`sheets-formula.functionList.SERIESSUM.functionParameter.m.name`,detail:`sheets-formula.functionList.SERIESSUM.functionParameter.m.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.SERIESSUM.functionParameter.coefficients.name`,detail:`sheets-formula.functionList.SERIESSUM.functionParameter.coefficients.detail`,example:`A1:A4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.SEQUENCE,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SEQUENCE.description`,abstract:`sheets-formula.functionList.SEQUENCE.abstract`,functionParameter:[{name:`sheets-formula.functionList.SEQUENCE.functionParameter.rows.name`,detail:`sheets-formula.functionList.SEQUENCE.functionParameter.rows.detail`,example:`4`,require:1,repeat:0},{name:`sheets-formula.functionList.SEQUENCE.functionParameter.columns.name`,detail:`sheets-formula.functionList.SEQUENCE.functionParameter.columns.detail`,example:`5`,require:0,repeat:0},{name:`sheets-formula.functionList.SEQUENCE.functionParameter.start.name`,detail:`sheets-formula.functionList.SEQUENCE.functionParameter.start.detail`,example:`1`,require:0,repeat:0},{name:`sheets-formula.functionList.SEQUENCE.functionParameter.step.name`,detail:`sheets-formula.functionList.SEQUENCE.functionParameter.step.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.SIGN,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SIGN.description`,abstract:`sheets-formula.functionList.SIGN.abstract`,functionParameter:[{name:`sheets-formula.functionList.SIGN.functionParameter.number.name`,detail:`sheets-formula.functionList.SIGN.functionParameter.number.detail`,example:`10`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.SIN,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SIN.description`,abstract:`sheets-formula.functionList.SIN.abstract`,functionParameter:[{name:`sheets-formula.functionList.SIN.functionParameter.number.name`,detail:`sheets-formula.functionList.SIN.functionParameter.number.detail`,example:`30*PI()/180`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.SINH,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SINH.description`,abstract:`sheets-formula.functionList.SINH.abstract`,functionParameter:[{name:`sheets-formula.functionList.SINH.functionParameter.number.name`,detail:`sheets-formula.functionList.SINH.functionParameter.number.detail`,example:`0.0342*1.03`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.SQRT,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SQRT.description`,abstract:`sheets-formula.functionList.SQRT.abstract`,functionParameter:[{name:`sheets-formula.functionList.SQRT.functionParameter.number.name`,detail:`sheets-formula.functionList.SQRT.functionParameter.number.detail`,example:`16`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.SQRTPI,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SQRTPI.description`,abstract:`sheets-formula.functionList.SQRTPI.abstract`,functionParameter:[{name:`sheets-formula.functionList.SQRTPI.functionParameter.number.name`,detail:`sheets-formula.functionList.SQRTPI.functionParameter.number.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.SUBTOTAL,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SUBTOTAL.description`,abstract:`sheets-formula.functionList.SUBTOTAL.abstract`,functionParameter:[{name:`sheets-formula.functionList.SUBTOTAL.functionParameter.functionNum.name`,detail:`sheets-formula.functionList.SUBTOTAL.functionParameter.functionNum.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.SUBTOTAL.functionParameter.ref1.name`,detail:`sheets-formula.functionList.SUBTOTAL.functionParameter.ref1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.SUBTOTAL.functionParameter.ref2.name`,detail:`sheets-formula.functionList.SUBTOTAL.functionParameter.ref2.detail`,example:`B1:B20`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_MATH.SUM,aliasFunctionName:`sheets-formula.functionList.SUM.aliasFunctionName`,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SUM.description`,abstract:`sheets-formula.functionList.SUM.abstract`,functionParameter:[{name:`sheets-formula.functionList.SUM.functionParameter.number1.name`,detail:`sheets-formula.functionList.SUM.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.SUM.functionParameter.number2.name`,detail:`sheets-formula.functionList.SUM.functionParameter.number2.detail`,example:`B2:B10`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_MATH.SUMIF,aliasFunctionName:`sheets-formula.functionList.SUMIF.aliasFunctionName`,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SUMIF.description`,abstract:`sheets-formula.functionList.SUMIF.abstract`,functionParameter:[{name:`sheets-formula.functionList.SUMIF.functionParameter.range.name`,detail:`sheets-formula.functionList.SUMIF.functionParameter.range.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.SUMIF.functionParameter.criteria.name`,detail:`sheets-formula.functionList.SUMIF.functionParameter.criteria.detail`,example:`">5"`,require:1,repeat:0},{name:`sheets-formula.functionList.SUMIF.functionParameter.sumRange.name`,detail:`sheets-formula.functionList.SUMIF.functionParameter.sumRange.detail`,example:`B1:B20`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.SUMIFS,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SUMIFS.description`,abstract:`sheets-formula.functionList.SUMIFS.abstract`,functionParameter:[{name:`sheets-formula.functionList.SUMIFS.functionParameter.sumRange.name`,detail:`sheets-formula.functionList.SUMIFS.functionParameter.sumRange.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.SUMIFS.functionParameter.criteriaRange1.name`,detail:`sheets-formula.functionList.SUMIFS.functionParameter.criteriaRange1.detail`,example:`B1:B20`,require:1,repeat:0},{name:`sheets-formula.functionList.SUMIFS.functionParameter.criteria1.name`,detail:`sheets-formula.functionList.SUMIFS.functionParameter.criteria1.detail`,example:`">10"`,require:1,repeat:0},{name:`sheets-formula.functionList.SUMIFS.functionParameter.criteriaRange2.name`,detail:`sheets-formula.functionList.SUMIFS.functionParameter.criteriaRange2.detail`,example:`C1:C20`,require:0,repeat:1},{name:`sheets-formula.functionList.SUMIFS.functionParameter.criteria2.name`,detail:`sheets-formula.functionList.SUMIFS.functionParameter.criteria2.detail`,example:`"<20"`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_MATH.SUMPRODUCT,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SUMPRODUCT.description`,abstract:`sheets-formula.functionList.SUMPRODUCT.abstract`,functionParameter:[{name:`sheets-formula.functionList.SUMPRODUCT.functionParameter.array1.name`,detail:`sheets-formula.functionList.SUMPRODUCT.functionParameter.array1.detail`,example:`C2:C5`,require:1,repeat:0},{name:`sheets-formula.functionList.SUMPRODUCT.functionParameter.array2.name`,detail:`sheets-formula.functionList.SUMPRODUCT.functionParameter.array2.detail`,example:`D2:D5`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_MATH.SUMSQ,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SUMSQ.description`,abstract:`sheets-formula.functionList.SUMSQ.abstract`,functionParameter:[{name:`sheets-formula.functionList.SUMSQ.functionParameter.number1.name`,detail:`sheets-formula.functionList.SUMSQ.functionParameter.number1.detail`,example:`3`,require:1,repeat:0},{name:`sheets-formula.functionList.SUMSQ.functionParameter.number2.name`,detail:`sheets-formula.functionList.SUMSQ.functionParameter.number2.detail`,example:`4`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_MATH.SUMX2MY2,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SUMX2MY2.description`,abstract:`sheets-formula.functionList.SUMX2MY2.abstract`,functionParameter:[{name:`sheets-formula.functionList.SUMX2MY2.functionParameter.arrayX.name`,detail:`sheets-formula.functionList.SUMX2MY2.functionParameter.arrayX.detail`,example:`A2:A8`,require:1,repeat:0},{name:`sheets-formula.functionList.SUMX2MY2.functionParameter.arrayY.name`,detail:`sheets-formula.functionList.SUMX2MY2.functionParameter.arrayY.detail`,example:`B2:B8`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.SUMX2PY2,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SUMX2PY2.description`,abstract:`sheets-formula.functionList.SUMX2PY2.abstract`,functionParameter:[{name:`sheets-formula.functionList.SUMX2PY2.functionParameter.arrayX.name`,detail:`sheets-formula.functionList.SUMX2PY2.functionParameter.arrayX.detail`,example:`A2:A8`,require:1,repeat:0},{name:`sheets-formula.functionList.SUMX2PY2.functionParameter.arrayY.name`,detail:`sheets-formula.functionList.SUMX2PY2.functionParameter.arrayY.detail`,example:`B2:B8`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.SUMXMY2,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.SUMXMY2.description`,abstract:`sheets-formula.functionList.SUMXMY2.abstract`,functionParameter:[{name:`sheets-formula.functionList.SUMXMY2.functionParameter.arrayX.name`,detail:`sheets-formula.functionList.SUMXMY2.functionParameter.arrayX.detail`,example:`A2:A8`,require:1,repeat:0},{name:`sheets-formula.functionList.SUMXMY2.functionParameter.arrayY.name`,detail:`sheets-formula.functionList.SUMXMY2.functionParameter.arrayY.detail`,example:`B2:B8`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.TAN,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.TAN.description`,abstract:`sheets-formula.functionList.TAN.abstract`,functionParameter:[{name:`sheets-formula.functionList.TAN.functionParameter.number.name`,detail:`sheets-formula.functionList.TAN.functionParameter.number.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.TANH,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.TANH.description`,abstract:`sheets-formula.functionList.TANH.abstract`,functionParameter:[{name:`sheets-formula.functionList.TANH.functionParameter.number.name`,detail:`sheets-formula.functionList.TANH.functionParameter.number.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_MATH.TRUNC,functionType:r.FunctionType.Math,description:`sheets-formula.functionList.TRUNC.description`,abstract:`sheets-formula.functionList.TRUNC.abstract`,functionParameter:[{name:`sheets-formula.functionList.TRUNC.functionParameter.number.name`,detail:`sheets-formula.functionList.TRUNC.functionParameter.number.detail`,example:`0.45`,require:1,repeat:0},{name:`sheets-formula.functionList.TRUNC.functionParameter.numDigits.name`,detail:`sheets-formula.functionList.TRUNC.functionParameter.numDigits.detail`,example:`1`,require:0,repeat:0}]}],it=[{functionName:r.FUNCTION_NAMES_STATISTICAL.AVEDEV,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.AVEDEV.description`,abstract:`sheets-formula.functionList.AVEDEV.abstract`,functionParameter:[{name:`sheets-formula.functionList.AVEDEV.functionParameter.number1.name`,detail:`sheets-formula.functionList.AVEDEV.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.AVEDEV.functionParameter.number2.name`,detail:`sheets-formula.functionList.AVEDEV.functionParameter.number2.detail`,example:`B1:B20`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.AVERAGE,aliasFunctionName:`sheets-formula.functionList.AVERAGE.aliasFunctionName`,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.AVERAGE.description`,abstract:`sheets-formula.functionList.AVERAGE.abstract`,functionParameter:[{name:`sheets-formula.functionList.AVERAGE.functionParameter.number1.name`,detail:`sheets-formula.functionList.AVERAGE.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.AVERAGE.functionParameter.number2.name`,detail:`sheets-formula.functionList.AVERAGE.functionParameter.number2.detail`,example:`B1:B20`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.AVERAGE_WEIGHTED,aliasFunctionName:`sheets-formula.functionList.AVERAGE_WEIGHTED.aliasFunctionName`,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.AVERAGE_WEIGHTED.description`,abstract:`sheets-formula.functionList.AVERAGE_WEIGHTED.abstract`,functionParameter:[{name:`sheets-formula.functionList.AVERAGE_WEIGHTED.functionParameter.values.name`,detail:`sheets-formula.functionList.AVERAGE_WEIGHTED.functionParameter.values.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.AVERAGE_WEIGHTED.functionParameter.weights.name`,detail:`sheets-formula.functionList.AVERAGE_WEIGHTED.functionParameter.weights.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.AVERAGE_WEIGHTED.functionParameter.additionalValues.name`,detail:`sheets-formula.functionList.AVERAGE_WEIGHTED.functionParameter.additionalValues.detail`,example:`20`,require:0,repeat:1},{name:`sheets-formula.functionList.AVERAGE_WEIGHTED.functionParameter.additionalWeights.name`,detail:`sheets-formula.functionList.AVERAGE_WEIGHTED.functionParameter.additionalWeights.detail`,example:`3`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.AVERAGEA,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.AVERAGEA.description`,abstract:`sheets-formula.functionList.AVERAGEA.abstract`,functionParameter:[{name:`sheets-formula.functionList.AVERAGEA.functionParameter.value1.name`,detail:`sheets-formula.functionList.AVERAGEA.functionParameter.value1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.AVERAGEA.functionParameter.value2.name`,detail:`sheets-formula.functionList.AVERAGEA.functionParameter.value2.detail`,example:`B1:B20`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.AVERAGEIF,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.AVERAGEIF.description`,abstract:`sheets-formula.functionList.AVERAGEIF.abstract`,functionParameter:[{name:`sheets-formula.functionList.AVERAGEIF.functionParameter.range.name`,detail:`sheets-formula.functionList.AVERAGEIF.functionParameter.range.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.AVERAGEIF.functionParameter.criteria.name`,detail:`sheets-formula.functionList.AVERAGEIF.functionParameter.criteria.detail`,example:`">5"`,require:1,repeat:0},{name:`sheets-formula.functionList.AVERAGEIF.functionParameter.averageRange.name`,detail:`sheets-formula.functionList.AVERAGEIF.functionParameter.averageRange.detail`,example:`B1:B20`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.AVERAGEIFS,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.AVERAGEIFS.description`,abstract:`sheets-formula.functionList.AVERAGEIFS.abstract`,functionParameter:[{name:`sheets-formula.functionList.AVERAGEIFS.functionParameter.averageRange.name`,detail:`sheets-formula.functionList.AVERAGEIFS.functionParameter.averageRange.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.AVERAGEIFS.functionParameter.criteriaRange1.name`,detail:`sheets-formula.functionList.AVERAGEIFS.functionParameter.criteriaRange1.detail`,example:`B1:B20`,require:1,repeat:0},{name:`sheets-formula.functionList.AVERAGEIFS.functionParameter.criteria1.name`,detail:`sheets-formula.functionList.AVERAGEIFS.functionParameter.criteria1.detail`,example:`">10"`,require:1,repeat:0},{name:`sheets-formula.functionList.AVERAGEIFS.functionParameter.criteriaRange2.name`,detail:`sheets-formula.functionList.AVERAGEIFS.functionParameter.criteriaRange2.detail`,example:`C1:C20`,require:0,repeat:1},{name:`sheets-formula.functionList.AVERAGEIFS.functionParameter.criteria2.name`,detail:`sheets-formula.functionList.AVERAGEIFS.functionParameter.criteria2.detail`,example:`"<20"`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.BETA_DIST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.BETA_DIST.description`,abstract:`sheets-formula.functionList.BETA_DIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.BETA_DIST.functionParameter.x.name`,detail:`sheets-formula.functionList.BETA_DIST.functionParameter.x.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.BETA_DIST.functionParameter.alpha.name`,detail:`sheets-formula.functionList.BETA_DIST.functionParameter.alpha.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.BETA_DIST.functionParameter.beta.name`,detail:`sheets-formula.functionList.BETA_DIST.functionParameter.beta.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.BETA_DIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.BETA_DIST.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0},{name:`sheets-formula.functionList.BETA_DIST.functionParameter.A.name`,detail:`sheets-formula.functionList.BETA_DIST.functionParameter.A.detail`,example:`1`,require:0,repeat:0},{name:`sheets-formula.functionList.BETA_DIST.functionParameter.B.name`,detail:`sheets-formula.functionList.BETA_DIST.functionParameter.B.detail`,example:`3`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.BETA_INV,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.BETA_INV.description`,abstract:`sheets-formula.functionList.BETA_INV.abstract`,functionParameter:[{name:`sheets-formula.functionList.BETA_INV.functionParameter.probability.name`,detail:`sheets-formula.functionList.BETA_INV.functionParameter.probability.detail`,example:`0.685470581`,require:1,repeat:0},{name:`sheets-formula.functionList.BETA_INV.functionParameter.alpha.name`,detail:`sheets-formula.functionList.BETA_INV.functionParameter.alpha.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.BETA_INV.functionParameter.beta.name`,detail:`sheets-formula.functionList.BETA_INV.functionParameter.beta.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.BETA_INV.functionParameter.A.name`,detail:`sheets-formula.functionList.BETA_INV.functionParameter.A.detail`,example:`1`,require:0,repeat:0},{name:`sheets-formula.functionList.BETA_INV.functionParameter.B.name`,detail:`sheets-formula.functionList.BETA_INV.functionParameter.B.detail`,example:`3`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.BINOM_DIST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.BINOM_DIST.description`,abstract:`sheets-formula.functionList.BINOM_DIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.BINOM_DIST.functionParameter.numberS.name`,detail:`sheets-formula.functionList.BINOM_DIST.functionParameter.numberS.detail`,example:`6`,require:1,repeat:0},{name:`sheets-formula.functionList.BINOM_DIST.functionParameter.trials.name`,detail:`sheets-formula.functionList.BINOM_DIST.functionParameter.trials.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.BINOM_DIST.functionParameter.probabilityS.name`,detail:`sheets-formula.functionList.BINOM_DIST.functionParameter.probabilityS.detail`,example:`0.5`,require:1,repeat:0},{name:`sheets-formula.functionList.BINOM_DIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.BINOM_DIST.functionParameter.cumulative.detail`,example:`false`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.BINOM_DIST_RANGE,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.BINOM_DIST_RANGE.description`,abstract:`sheets-formula.functionList.BINOM_DIST_RANGE.abstract`,functionParameter:[{name:`sheets-formula.functionList.BINOM_DIST_RANGE.functionParameter.trials.name`,detail:`sheets-formula.functionList.BINOM_DIST_RANGE.functionParameter.trials.detail`,example:`60`,require:1,repeat:0},{name:`sheets-formula.functionList.BINOM_DIST_RANGE.functionParameter.probabilityS.name`,detail:`sheets-formula.functionList.BINOM_DIST_RANGE.functionParameter.probabilityS.detail`,example:`0.75`,require:1,repeat:0},{name:`sheets-formula.functionList.BINOM_DIST_RANGE.functionParameter.numberS.name`,detail:`sheets-formula.functionList.BINOM_DIST_RANGE.functionParameter.numberS.detail`,example:`45`,require:1,repeat:0},{name:`sheets-formula.functionList.BINOM_DIST_RANGE.functionParameter.numberS2.name`,detail:`sheets-formula.functionList.BINOM_DIST_RANGE.functionParameter.numberS2.detail`,example:`50`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.BINOM_INV,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.BINOM_INV.description`,abstract:`sheets-formula.functionList.BINOM_INV.abstract`,functionParameter:[{name:`sheets-formula.functionList.BINOM_INV.functionParameter.trials.name`,detail:`sheets-formula.functionList.BINOM_INV.functionParameter.trials.detail`,example:`6`,require:1,repeat:0},{name:`sheets-formula.functionList.BINOM_INV.functionParameter.probabilityS.name`,detail:`sheets-formula.functionList.BINOM_INV.functionParameter.probabilityS.detail`,example:`0.5`,require:1,repeat:0},{name:`sheets-formula.functionList.BINOM_INV.functionParameter.alpha.name`,detail:`sheets-formula.functionList.BINOM_INV.functionParameter.alpha.detail`,example:`0.75`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.CHISQ_DIST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.CHISQ_DIST.description`,abstract:`sheets-formula.functionList.CHISQ_DIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.CHISQ_DIST.functionParameter.x.name`,detail:`sheets-formula.functionList.CHISQ_DIST.functionParameter.x.detail`,example:`0.5`,require:1,repeat:0},{name:`sheets-formula.functionList.CHISQ_DIST.functionParameter.degFreedom.name`,detail:`sheets-formula.functionList.CHISQ_DIST.functionParameter.degFreedom.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.CHISQ_DIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.CHISQ_DIST.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.CHISQ_DIST_RT,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.CHISQ_DIST_RT.description`,abstract:`sheets-formula.functionList.CHISQ_DIST_RT.abstract`,functionParameter:[{name:`sheets-formula.functionList.CHISQ_DIST_RT.functionParameter.x.name`,detail:`sheets-formula.functionList.CHISQ_DIST_RT.functionParameter.x.detail`,example:`0.5`,require:1,repeat:0},{name:`sheets-formula.functionList.CHISQ_DIST_RT.functionParameter.degFreedom.name`,detail:`sheets-formula.functionList.CHISQ_DIST_RT.functionParameter.degFreedom.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.CHISQ_INV,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.CHISQ_INV.description`,abstract:`sheets-formula.functionList.CHISQ_INV.abstract`,functionParameter:[{name:`sheets-formula.functionList.CHISQ_INV.functionParameter.probability.name`,detail:`sheets-formula.functionList.CHISQ_INV.functionParameter.probability.detail`,example:`0.93`,require:1,repeat:0},{name:`sheets-formula.functionList.CHISQ_INV.functionParameter.degFreedom.name`,detail:`sheets-formula.functionList.CHISQ_INV.functionParameter.degFreedom.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.CHISQ_INV_RT,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.CHISQ_INV_RT.description`,abstract:`sheets-formula.functionList.CHISQ_INV_RT.abstract`,functionParameter:[{name:`sheets-formula.functionList.CHISQ_INV_RT.functionParameter.probability.name`,detail:`sheets-formula.functionList.CHISQ_INV_RT.functionParameter.probability.detail`,example:`0.93`,require:1,repeat:0},{name:`sheets-formula.functionList.CHISQ_INV_RT.functionParameter.degFreedom.name`,detail:`sheets-formula.functionList.CHISQ_INV_RT.functionParameter.degFreedom.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.CHISQ_TEST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.CHISQ_TEST.description`,abstract:`sheets-formula.functionList.CHISQ_TEST.abstract`,functionParameter:[{name:`sheets-formula.functionList.CHISQ_TEST.functionParameter.actualRange.name`,detail:`sheets-formula.functionList.CHISQ_TEST.functionParameter.actualRange.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.CHISQ_TEST.functionParameter.expectedRange.name`,detail:`sheets-formula.functionList.CHISQ_TEST.functionParameter.expectedRange.detail`,example:`B1:B4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.CONFIDENCE_NORM,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.CONFIDENCE_NORM.description`,abstract:`sheets-formula.functionList.CONFIDENCE_NORM.abstract`,functionParameter:[{name:`sheets-formula.functionList.CONFIDENCE_NORM.functionParameter.alpha.name`,detail:`sheets-formula.functionList.CONFIDENCE_NORM.functionParameter.alpha.detail`,example:`0.05`,require:1,repeat:0},{name:`sheets-formula.functionList.CONFIDENCE_NORM.functionParameter.standardDev.name`,detail:`sheets-formula.functionList.CONFIDENCE_NORM.functionParameter.standardDev.detail`,example:`2.5`,require:1,repeat:0},{name:`sheets-formula.functionList.CONFIDENCE_NORM.functionParameter.size.name`,detail:`sheets-formula.functionList.CONFIDENCE_NORM.functionParameter.size.detail`,example:`50`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.CONFIDENCE_T,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.CONFIDENCE_T.description`,abstract:`sheets-formula.functionList.CONFIDENCE_T.abstract`,functionParameter:[{name:`sheets-formula.functionList.CONFIDENCE_T.functionParameter.alpha.name`,detail:`sheets-formula.functionList.CONFIDENCE_T.functionParameter.alpha.detail`,example:`0.05`,require:1,repeat:0},{name:`sheets-formula.functionList.CONFIDENCE_T.functionParameter.standardDev.name`,detail:`sheets-formula.functionList.CONFIDENCE_T.functionParameter.standardDev.detail`,example:`2.5`,require:1,repeat:0},{name:`sheets-formula.functionList.CONFIDENCE_T.functionParameter.size.name`,detail:`sheets-formula.functionList.CONFIDENCE_T.functionParameter.size.detail`,example:`50`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.CORREL,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.CORREL.description`,abstract:`sheets-formula.functionList.CORREL.abstract`,functionParameter:[{name:`sheets-formula.functionList.CORREL.functionParameter.array1.name`,detail:`sheets-formula.functionList.CORREL.functionParameter.array1.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.CORREL.functionParameter.array2.name`,detail:`sheets-formula.functionList.CORREL.functionParameter.array2.detail`,example:`B1:B4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.COUNT,aliasFunctionName:`sheets-formula.functionList.COUNT.aliasFunctionName`,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.COUNT.description`,abstract:`sheets-formula.functionList.COUNT.abstract`,functionParameter:[{name:`sheets-formula.functionList.COUNT.functionParameter.value1.name`,detail:`sheets-formula.functionList.COUNT.functionParameter.value1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.COUNT.functionParameter.value2.name`,detail:`sheets-formula.functionList.COUNT.functionParameter.value2.detail`,example:`B2:B10`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.COUNTA,aliasFunctionName:`sheets-formula.functionList.COUNTA.aliasFunctionName`,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.COUNTA.description`,abstract:`sheets-formula.functionList.COUNTA.abstract`,functionParameter:[{name:`sheets-formula.functionList.COUNTA.functionParameter.number1.name`,detail:`sheets-formula.functionList.COUNTA.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.COUNTA.functionParameter.number2.name`,detail:`sheets-formula.functionList.COUNTA.functionParameter.number2.detail`,example:`B2:B10`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.COUNTBLANK,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.COUNTBLANK.description`,abstract:`sheets-formula.functionList.COUNTBLANK.abstract`,functionParameter:[{name:`sheets-formula.functionList.COUNTBLANK.functionParameter.range.name`,detail:`sheets-formula.functionList.COUNTBLANK.functionParameter.range.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.COUNTIF,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.COUNTIF.description`,abstract:`sheets-formula.functionList.COUNTIF.abstract`,functionParameter:[{name:`sheets-formula.functionList.COUNTIF.functionParameter.range.name`,detail:`sheets-formula.functionList.COUNTIF.functionParameter.range.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.COUNTIF.functionParameter.criteria.name`,detail:`sheets-formula.functionList.COUNTIF.functionParameter.criteria.detail`,example:`">5"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.COUNTIFS,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.COUNTIFS.description`,abstract:`sheets-formula.functionList.COUNTIFS.abstract`,functionParameter:[{name:`sheets-formula.functionList.COUNTIFS.functionParameter.criteriaRange1.name`,detail:`sheets-formula.functionList.COUNTIFS.functionParameter.criteriaRange1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.COUNTIFS.functionParameter.criteria1.name`,detail:`sheets-formula.functionList.COUNTIFS.functionParameter.criteria1.detail`,example:`">10"`,require:1,repeat:0},{name:`sheets-formula.functionList.COUNTIFS.functionParameter.criteriaRange2.name`,detail:`sheets-formula.functionList.COUNTIFS.functionParameter.criteriaRange2.detail`,example:`B1:B20`,require:0,repeat:1},{name:`sheets-formula.functionList.COUNTIFS.functionParameter.criteria2.name`,detail:`sheets-formula.functionList.COUNTIFS.functionParameter.criteria2.detail`,example:`"<20"`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.COVARIANCE_P,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.COVARIANCE_P.description`,abstract:`sheets-formula.functionList.COVARIANCE_P.abstract`,functionParameter:[{name:`sheets-formula.functionList.COVARIANCE_P.functionParameter.array1.name`,detail:`sheets-formula.functionList.COVARIANCE_P.functionParameter.array1.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.COVARIANCE_P.functionParameter.array2.name`,detail:`sheets-formula.functionList.COVARIANCE_P.functionParameter.array2.detail`,example:`B1:B4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.COVARIANCE_S,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.COVARIANCE_S.description`,abstract:`sheets-formula.functionList.COVARIANCE_S.abstract`,functionParameter:[{name:`sheets-formula.functionList.COVARIANCE_S.functionParameter.array1.name`,detail:`sheets-formula.functionList.COVARIANCE_S.functionParameter.array1.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.COVARIANCE_S.functionParameter.array2.name`,detail:`sheets-formula.functionList.COVARIANCE_S.functionParameter.array2.detail`,example:`B1:B4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.DEVSQ,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.DEVSQ.description`,abstract:`sheets-formula.functionList.DEVSQ.abstract`,functionParameter:[{name:`sheets-formula.functionList.DEVSQ.functionParameter.number1.name`,detail:`sheets-formula.functionList.DEVSQ.functionParameter.number1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.DEVSQ.functionParameter.number2.name`,detail:`sheets-formula.functionList.DEVSQ.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.EXPON_DIST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.EXPON_DIST.description`,abstract:`sheets-formula.functionList.EXPON_DIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.EXPON_DIST.functionParameter.x.name`,detail:`sheets-formula.functionList.EXPON_DIST.functionParameter.x.detail`,example:`0.2`,require:1,repeat:0},{name:`sheets-formula.functionList.EXPON_DIST.functionParameter.lambda.name`,detail:`sheets-formula.functionList.EXPON_DIST.functionParameter.lambda.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.EXPON_DIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.EXPON_DIST.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.F_DIST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.F_DIST.description`,abstract:`sheets-formula.functionList.F_DIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.F_DIST.functionParameter.x.name`,detail:`sheets-formula.functionList.F_DIST.functionParameter.x.detail`,example:`15.2069`,require:1,repeat:0},{name:`sheets-formula.functionList.F_DIST.functionParameter.degFreedom1.name`,detail:`sheets-formula.functionList.F_DIST.functionParameter.degFreedom1.detail`,example:`6`,require:1,repeat:0},{name:`sheets-formula.functionList.F_DIST.functionParameter.degFreedom2.name`,detail:`sheets-formula.functionList.F_DIST.functionParameter.degFreedom2.detail`,example:`4`,require:1,repeat:0},{name:`sheets-formula.functionList.F_DIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.F_DIST.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.F_DIST_RT,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.F_DIST_RT.description`,abstract:`sheets-formula.functionList.F_DIST_RT.abstract`,functionParameter:[{name:`sheets-formula.functionList.F_DIST_RT.functionParameter.x.name`,detail:`sheets-formula.functionList.F_DIST_RT.functionParameter.x.detail`,example:`15.2069`,require:1,repeat:0},{name:`sheets-formula.functionList.F_DIST_RT.functionParameter.degFreedom1.name`,detail:`sheets-formula.functionList.F_DIST_RT.functionParameter.degFreedom1.detail`,example:`6`,require:1,repeat:0},{name:`sheets-formula.functionList.F_DIST_RT.functionParameter.degFreedom2.name`,detail:`sheets-formula.functionList.F_DIST_RT.functionParameter.degFreedom2.detail`,example:`4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.F_INV,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.F_INV.description`,abstract:`sheets-formula.functionList.F_INV.abstract`,functionParameter:[{name:`sheets-formula.functionList.F_INV.functionParameter.probability.name`,detail:`sheets-formula.functionList.F_INV.functionParameter.probability.detail`,example:`0.01`,require:1,repeat:0},{name:`sheets-formula.functionList.F_INV.functionParameter.degFreedom1.name`,detail:`sheets-formula.functionList.F_INV.functionParameter.degFreedom1.detail`,example:`6`,require:1,repeat:0},{name:`sheets-formula.functionList.F_INV.functionParameter.degFreedom2.name`,detail:`sheets-formula.functionList.F_INV.functionParameter.degFreedom2.detail`,example:`4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.F_INV_RT,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.F_INV_RT.description`,abstract:`sheets-formula.functionList.F_INV_RT.abstract`,functionParameter:[{name:`sheets-formula.functionList.F_INV_RT.functionParameter.probability.name`,detail:`sheets-formula.functionList.F_INV_RT.functionParameter.probability.detail`,example:`0.01`,require:1,repeat:0},{name:`sheets-formula.functionList.F_INV_RT.functionParameter.degFreedom1.name`,detail:`sheets-formula.functionList.F_INV_RT.functionParameter.degFreedom1.detail`,example:`6`,require:1,repeat:0},{name:`sheets-formula.functionList.F_INV_RT.functionParameter.degFreedom2.name`,detail:`sheets-formula.functionList.F_INV_RT.functionParameter.degFreedom2.detail`,example:`4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.F_TEST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.F_TEST.description`,abstract:`sheets-formula.functionList.F_TEST.abstract`,functionParameter:[{name:`sheets-formula.functionList.F_TEST.functionParameter.array1.name`,detail:`sheets-formula.functionList.F_TEST.functionParameter.array1.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.F_TEST.functionParameter.array2.name`,detail:`sheets-formula.functionList.F_TEST.functionParameter.array2.detail`,example:`B1:B4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.FISHER,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.FISHER.description`,abstract:`sheets-formula.functionList.FISHER.abstract`,functionParameter:[{name:`sheets-formula.functionList.FISHER.functionParameter.x.name`,detail:`sheets-formula.functionList.FISHER.functionParameter.x.detail`,example:`0.75`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.FISHERINV,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.FISHERINV.description`,abstract:`sheets-formula.functionList.FISHERINV.abstract`,functionParameter:[{name:`sheets-formula.functionList.FISHERINV.functionParameter.y.name`,detail:`sheets-formula.functionList.FISHERINV.functionParameter.y.detail`,example:`0.75`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.FORECAST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.FORECAST.description`,abstract:`sheets-formula.functionList.FORECAST.abstract`,functionParameter:[{name:`sheets-formula.functionList.FORECAST.functionParameter.x.name`,detail:`sheets-formula.functionList.FORECAST.functionParameter.x.detail`,example:`30`,require:1,repeat:0},{name:`sheets-formula.functionList.FORECAST.functionParameter.knownYs.name`,detail:`sheets-formula.functionList.FORECAST.functionParameter.knownYs.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.FORECAST.functionParameter.knownXs.name`,detail:`sheets-formula.functionList.FORECAST.functionParameter.knownXs.detail`,example:`B1:B4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.FORECAST_ETS,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.FORECAST_ETS.description`,abstract:`sheets-formula.functionList.FORECAST_ETS.abstract`,functionParameter:[{name:`sheets-formula.functionList.FORECAST_ETS.functionParameter.number1.name`,detail:`sheets-formula.functionList.FORECAST_ETS.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.FORECAST_ETS.functionParameter.number2.name`,detail:`sheets-formula.functionList.FORECAST_ETS.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.FORECAST_ETS_CONFINT,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.FORECAST_ETS_CONFINT.description`,abstract:`sheets-formula.functionList.FORECAST_ETS_CONFINT.abstract`,functionParameter:[{name:`sheets-formula.functionList.FORECAST_ETS_CONFINT.functionParameter.number1.name`,detail:`sheets-formula.functionList.FORECAST_ETS_CONFINT.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.FORECAST_ETS_CONFINT.functionParameter.number2.name`,detail:`sheets-formula.functionList.FORECAST_ETS_CONFINT.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.FORECAST_ETS_SEASONALITY,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.FORECAST_ETS_SEASONALITY.description`,abstract:`sheets-formula.functionList.FORECAST_ETS_SEASONALITY.abstract`,functionParameter:[{name:`sheets-formula.functionList.FORECAST_ETS_SEASONALITY.functionParameter.number1.name`,detail:`sheets-formula.functionList.FORECAST_ETS_SEASONALITY.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.FORECAST_ETS_SEASONALITY.functionParameter.number2.name`,detail:`sheets-formula.functionList.FORECAST_ETS_SEASONALITY.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.FORECAST_ETS_STAT,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.FORECAST_ETS_STAT.description`,abstract:`sheets-formula.functionList.FORECAST_ETS_STAT.abstract`,functionParameter:[{name:`sheets-formula.functionList.FORECAST_ETS_STAT.functionParameter.number1.name`,detail:`sheets-formula.functionList.FORECAST_ETS_STAT.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.FORECAST_ETS_STAT.functionParameter.number2.name`,detail:`sheets-formula.functionList.FORECAST_ETS_STAT.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.FORECAST_LINEAR,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.FORECAST_LINEAR.description`,abstract:`sheets-formula.functionList.FORECAST_LINEAR.abstract`,functionParameter:[{name:`sheets-formula.functionList.FORECAST_LINEAR.functionParameter.x.name`,detail:`sheets-formula.functionList.FORECAST_LINEAR.functionParameter.x.detail`,example:`30`,require:1,repeat:0},{name:`sheets-formula.functionList.FORECAST_LINEAR.functionParameter.knownYs.name`,detail:`sheets-formula.functionList.FORECAST_LINEAR.functionParameter.knownYs.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.FORECAST_LINEAR.functionParameter.knownXs.name`,detail:`sheets-formula.functionList.FORECAST_LINEAR.functionParameter.knownXs.detail`,example:`B1:B4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.FREQUENCY,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.FREQUENCY.description`,abstract:`sheets-formula.functionList.FREQUENCY.abstract`,functionParameter:[{name:`sheets-formula.functionList.FREQUENCY.functionParameter.dataArray.name`,detail:`sheets-formula.functionList.FREQUENCY.functionParameter.dataArray.detail`,example:`A2:A10`,require:1,repeat:0},{name:`sheets-formula.functionList.FREQUENCY.functionParameter.binsArray.name`,detail:`sheets-formula.functionList.FREQUENCY.functionParameter.binsArray.detail`,example:`B2:B4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.GAMMA,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.GAMMA.description`,abstract:`sheets-formula.functionList.GAMMA.abstract`,functionParameter:[{name:`sheets-formula.functionList.GAMMA.functionParameter.number.name`,detail:`sheets-formula.functionList.GAMMA.functionParameter.number.detail`,example:`2.5`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.GAMMA_DIST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.GAMMA_DIST.description`,abstract:`sheets-formula.functionList.GAMMA_DIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.GAMMA_DIST.functionParameter.x.name`,detail:`sheets-formula.functionList.GAMMA_DIST.functionParameter.x.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.GAMMA_DIST.functionParameter.alpha.name`,detail:`sheets-formula.functionList.GAMMA_DIST.functionParameter.alpha.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.GAMMA_DIST.functionParameter.beta.name`,detail:`sheets-formula.functionList.GAMMA_DIST.functionParameter.beta.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.GAMMA_DIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.GAMMA_DIST.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.GAMMA_INV,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.GAMMA_INV.description`,abstract:`sheets-formula.functionList.GAMMA_INV.abstract`,functionParameter:[{name:`sheets-formula.functionList.GAMMA_INV.functionParameter.probability.name`,detail:`sheets-formula.functionList.GAMMA_INV.functionParameter.probability.detail`,example:`0.068094`,require:1,repeat:0},{name:`sheets-formula.functionList.GAMMA_INV.functionParameter.alpha.name`,detail:`sheets-formula.functionList.GAMMA_INV.functionParameter.alpha.detail`,example:`9`,require:1,repeat:0},{name:`sheets-formula.functionList.GAMMA_INV.functionParameter.beta.name`,detail:`sheets-formula.functionList.GAMMA_INV.functionParameter.beta.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.GAMMALN,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.GAMMALN.description`,abstract:`sheets-formula.functionList.GAMMALN.abstract`,functionParameter:[{name:`sheets-formula.functionList.GAMMALN.functionParameter.x.name`,detail:`sheets-formula.functionList.GAMMALN.functionParameter.x.detail`,example:`4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.GAMMALN_PRECISE,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.GAMMALN_PRECISE.description`,abstract:`sheets-formula.functionList.GAMMALN_PRECISE.abstract`,functionParameter:[{name:`sheets-formula.functionList.GAMMALN_PRECISE.functionParameter.x.name`,detail:`sheets-formula.functionList.GAMMALN_PRECISE.functionParameter.x.detail`,example:`4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.GAUSS,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.GAUSS.description`,abstract:`sheets-formula.functionList.GAUSS.abstract`,functionParameter:[{name:`sheets-formula.functionList.GAUSS.functionParameter.z.name`,detail:`sheets-formula.functionList.GAUSS.functionParameter.z.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.GEOMEAN,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.GEOMEAN.description`,abstract:`sheets-formula.functionList.GEOMEAN.abstract`,functionParameter:[{name:`sheets-formula.functionList.GEOMEAN.functionParameter.number1.name`,detail:`sheets-formula.functionList.GEOMEAN.functionParameter.number1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.GEOMEAN.functionParameter.number2.name`,detail:`sheets-formula.functionList.GEOMEAN.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.GROWTH,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.GROWTH.description`,abstract:`sheets-formula.functionList.GROWTH.abstract`,functionParameter:[{name:`sheets-formula.functionList.GROWTH.functionParameter.knownYs.name`,detail:`sheets-formula.functionList.GROWTH.functionParameter.knownYs.detail`,example:`B2:B7`,require:1,repeat:0},{name:`sheets-formula.functionList.GROWTH.functionParameter.knownXs.name`,detail:`sheets-formula.functionList.GROWTH.functionParameter.knownXs.detail`,example:`A2:A7`,require:0,repeat:0},{name:`sheets-formula.functionList.GROWTH.functionParameter.newXs.name`,detail:`sheets-formula.functionList.GROWTH.functionParameter.newXs.detail`,example:`A9:A10`,require:0,repeat:0},{name:`sheets-formula.functionList.GROWTH.functionParameter.constb.name`,detail:`sheets-formula.functionList.GROWTH.functionParameter.constb.detail`,example:`true`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.HARMEAN,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.HARMEAN.description`,abstract:`sheets-formula.functionList.HARMEAN.abstract`,functionParameter:[{name:`sheets-formula.functionList.HARMEAN.functionParameter.number1.name`,detail:`sheets-formula.functionList.HARMEAN.functionParameter.number1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.HARMEAN.functionParameter.number2.name`,detail:`sheets-formula.functionList.HARMEAN.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.HYPGEOM_DIST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.HYPGEOM_DIST.description`,abstract:`sheets-formula.functionList.HYPGEOM_DIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.HYPGEOM_DIST.functionParameter.sampleS.name`,detail:`sheets-formula.functionList.HYPGEOM_DIST.functionParameter.sampleS.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.HYPGEOM_DIST.functionParameter.numberSample.name`,detail:`sheets-formula.functionList.HYPGEOM_DIST.functionParameter.numberSample.detail`,example:`4`,require:1,repeat:0},{name:`sheets-formula.functionList.HYPGEOM_DIST.functionParameter.populationS.name`,detail:`sheets-formula.functionList.HYPGEOM_DIST.functionParameter.populationS.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.HYPGEOM_DIST.functionParameter.numberPop.name`,detail:`sheets-formula.functionList.HYPGEOM_DIST.functionParameter.numberPop.detail`,example:`20`,require:1,repeat:0},{name:`sheets-formula.functionList.HYPGEOM_DIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.HYPGEOM_DIST.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.INTERCEPT,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.INTERCEPT.description`,abstract:`sheets-formula.functionList.INTERCEPT.abstract`,functionParameter:[{name:`sheets-formula.functionList.INTERCEPT.functionParameter.knownYs.name`,detail:`sheets-formula.functionList.INTERCEPT.functionParameter.knownYs.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.INTERCEPT.functionParameter.knownXs.name`,detail:`sheets-formula.functionList.INTERCEPT.functionParameter.knownXs.detail`,example:`B1:B4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.KURT,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.KURT.description`,abstract:`sheets-formula.functionList.KURT.abstract`,functionParameter:[{name:`sheets-formula.functionList.KURT.functionParameter.number1.name`,detail:`sheets-formula.functionList.KURT.functionParameter.number1.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.KURT.functionParameter.number2.name`,detail:`sheets-formula.functionList.KURT.functionParameter.number2.detail`,example:`4`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.LARGE,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.LARGE.description`,abstract:`sheets-formula.functionList.LARGE.abstract`,functionParameter:[{name:`sheets-formula.functionList.LARGE.functionParameter.array.name`,detail:`sheets-formula.functionList.LARGE.functionParameter.array.detail`,example:`A2:B6`,require:1,repeat:0},{name:`sheets-formula.functionList.LARGE.functionParameter.k.name`,detail:`sheets-formula.functionList.LARGE.functionParameter.k.detail`,example:`3`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.LINEST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.LINEST.description`,abstract:`sheets-formula.functionList.LINEST.abstract`,functionParameter:[{name:`sheets-formula.functionList.LINEST.functionParameter.knownYs.name`,detail:`sheets-formula.functionList.LINEST.functionParameter.knownYs.detail`,example:`B2:B7`,require:1,repeat:0},{name:`sheets-formula.functionList.LINEST.functionParameter.knownXs.name`,detail:`sheets-formula.functionList.LINEST.functionParameter.knownXs.detail`,example:`A2:A7`,require:0,repeat:0},{name:`sheets-formula.functionList.LINEST.functionParameter.constb.name`,detail:`sheets-formula.functionList.LINEST.functionParameter.constb.detail`,example:`true`,require:0,repeat:0},{name:`sheets-formula.functionList.LINEST.functionParameter.stats.name`,detail:`sheets-formula.functionList.LINEST.functionParameter.stats.detail`,example:`true`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.LOGEST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.LOGEST.description`,abstract:`sheets-formula.functionList.LOGEST.abstract`,functionParameter:[{name:`sheets-formula.functionList.LOGEST.functionParameter.knownYs.name`,detail:`sheets-formula.functionList.LOGEST.functionParameter.knownYs.detail`,example:`B2:B7`,require:1,repeat:0},{name:`sheets-formula.functionList.LOGEST.functionParameter.knownXs.name`,detail:`sheets-formula.functionList.LOGEST.functionParameter.knownXs.detail`,example:`A2:A7`,require:0,repeat:0},{name:`sheets-formula.functionList.LOGEST.functionParameter.constb.name`,detail:`sheets-formula.functionList.LOGEST.functionParameter.constb.detail`,example:`true`,require:0,repeat:0},{name:`sheets-formula.functionList.LOGEST.functionParameter.stats.name`,detail:`sheets-formula.functionList.LOGEST.functionParameter.stats.detail`,example:`true`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.LOGNORM_DIST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.LOGNORM_DIST.description`,abstract:`sheets-formula.functionList.LOGNORM_DIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.LOGNORM_DIST.functionParameter.x.name`,detail:`sheets-formula.functionList.LOGNORM_DIST.functionParameter.x.detail`,example:`42`,require:1,repeat:0},{name:`sheets-formula.functionList.LOGNORM_DIST.functionParameter.mean.name`,detail:`sheets-formula.functionList.LOGNORM_DIST.functionParameter.mean.detail`,example:`40`,require:1,repeat:0},{name:`sheets-formula.functionList.LOGNORM_DIST.functionParameter.standardDev.name`,detail:`sheets-formula.functionList.LOGNORM_DIST.functionParameter.standardDev.detail`,example:`1.5`,require:1,repeat:0},{name:`sheets-formula.functionList.LOGNORM_DIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.LOGNORM_DIST.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.LOGNORM_INV,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.LOGNORM_INV.description`,abstract:`sheets-formula.functionList.LOGNORM_INV.abstract`,functionParameter:[{name:`sheets-formula.functionList.LOGNORM_INV.functionParameter.probability.name`,detail:`sheets-formula.functionList.LOGNORM_INV.functionParameter.probability.detail`,example:`0.908789`,require:1,repeat:0},{name:`sheets-formula.functionList.LOGNORM_INV.functionParameter.mean.name`,detail:`sheets-formula.functionList.LOGNORM_INV.functionParameter.mean.detail`,example:`40`,require:1,repeat:0},{name:`sheets-formula.functionList.LOGNORM_INV.functionParameter.standardDev.name`,detail:`sheets-formula.functionList.LOGNORM_INV.functionParameter.standardDev.detail`,example:`1.5`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.MARGINOFERROR,aliasFunctionName:`sheets-formula.functionList.MARGINOFERROR.aliasFunctionName`,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.MARGINOFERROR.description`,abstract:`sheets-formula.functionList.MARGINOFERROR.abstract`,functionParameter:[{name:`sheets-formula.functionList.MARGINOFERROR.functionParameter.range.name`,detail:`sheets-formula.functionList.MARGINOFERROR.functionParameter.range.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.MARGINOFERROR.functionParameter.confidence.name`,detail:`sheets-formula.functionList.MARGINOFERROR.functionParameter.confidence.detail`,example:`0.95`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.MAX,aliasFunctionName:`sheets-formula.functionList.MAX.aliasFunctionName`,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.MAX.description`,abstract:`sheets-formula.functionList.MAX.abstract`,functionParameter:[{name:`sheets-formula.functionList.MAX.functionParameter.number1.name`,detail:`sheets-formula.functionList.MAX.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.MAX.functionParameter.number2.name`,detail:`sheets-formula.functionList.MAX.functionParameter.number2.detail`,example:`B2:B10`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.MAXA,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.MAXA.description`,abstract:`sheets-formula.functionList.MAXA.abstract`,functionParameter:[{name:`sheets-formula.functionList.MAXA.functionParameter.value1.name`,detail:`sheets-formula.functionList.MAXA.functionParameter.value1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.MAXA.functionParameter.value2.name`,detail:`sheets-formula.functionList.MAXA.functionParameter.value2.detail`,example:`B1:B20`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.MAXIFS,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.MAXIFS.description`,abstract:`sheets-formula.functionList.MAXIFS.abstract`,functionParameter:[{name:`sheets-formula.functionList.MAXIFS.functionParameter.maxRange.name`,detail:`sheets-formula.functionList.MAXIFS.functionParameter.maxRange.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.MAXIFS.functionParameter.criteriaRange1.name`,detail:`sheets-formula.functionList.MAXIFS.functionParameter.criteriaRange1.detail`,example:`B1:B20`,require:1,repeat:0},{name:`sheets-formula.functionList.MAXIFS.functionParameter.criteria1.name`,detail:`sheets-formula.functionList.MAXIFS.functionParameter.criteria1.detail`,example:`">10"`,require:1,repeat:0},{name:`sheets-formula.functionList.MAXIFS.functionParameter.criteriaRange2.name`,detail:`sheets-formula.functionList.MAXIFS.functionParameter.criteriaRange2.detail`,example:`C1:C20`,require:0,repeat:1},{name:`sheets-formula.functionList.MAXIFS.functionParameter.criteria2.name`,detail:`sheets-formula.functionList.MAXIFS.functionParameter.criteria2.detail`,example:`"<20"`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.MEDIAN,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.MEDIAN.description`,abstract:`sheets-formula.functionList.MEDIAN.abstract`,functionParameter:[{name:`sheets-formula.functionList.MEDIAN.functionParameter.number1.name`,detail:`sheets-formula.functionList.MEDIAN.functionParameter.number1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.MEDIAN.functionParameter.number2.name`,detail:`sheets-formula.functionList.MEDIAN.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.MIN,aliasFunctionName:`sheets-formula.functionList.MIN.aliasFunctionName`,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.MIN.description`,abstract:`sheets-formula.functionList.MIN.abstract`,functionParameter:[{name:`sheets-formula.functionList.MIN.functionParameter.number1.name`,detail:`sheets-formula.functionList.MIN.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.MIN.functionParameter.number2.name`,detail:`sheets-formula.functionList.MIN.functionParameter.number2.detail`,example:`B2:B10`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.MINA,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.MINA.description`,abstract:`sheets-formula.functionList.MINA.abstract`,functionParameter:[{name:`sheets-formula.functionList.MINA.functionParameter.value1.name`,detail:`sheets-formula.functionList.MINA.functionParameter.value1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.MINA.functionParameter.value2.name`,detail:`sheets-formula.functionList.MINA.functionParameter.value2.detail`,example:`B1:B20`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.MINIFS,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.MINIFS.description`,abstract:`sheets-formula.functionList.MINIFS.abstract`,functionParameter:[{name:`sheets-formula.functionList.MINIFS.functionParameter.minRange.name`,detail:`sheets-formula.functionList.MINIFS.functionParameter.minRange.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.MINIFS.functionParameter.criteriaRange1.name`,detail:`sheets-formula.functionList.MINIFS.functionParameter.criteriaRange1.detail`,example:`B1:B20`,require:1,repeat:0},{name:`sheets-formula.functionList.MINIFS.functionParameter.criteria1.name`,detail:`sheets-formula.functionList.MINIFS.functionParameter.criteria1.detail`,example:`">10"`,require:1,repeat:0},{name:`sheets-formula.functionList.MINIFS.functionParameter.criteriaRange2.name`,detail:`sheets-formula.functionList.MINIFS.functionParameter.criteriaRange2.detail`,example:`C1:C20`,require:0,repeat:1},{name:`sheets-formula.functionList.MINIFS.functionParameter.criteria2.name`,detail:`sheets-formula.functionList.MINIFS.functionParameter.criteria2.detail`,example:`"<20"`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.MODE_MULT,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.MODE_MULT.description`,abstract:`sheets-formula.functionList.MODE_MULT.abstract`,functionParameter:[{name:`sheets-formula.functionList.MODE_MULT.functionParameter.number1.name`,detail:`sheets-formula.functionList.MODE_MULT.functionParameter.number1.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.MODE_MULT.functionParameter.number2.name`,detail:`sheets-formula.functionList.MODE_MULT.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.MODE_SNGL,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.MODE_SNGL.description`,abstract:`sheets-formula.functionList.MODE_SNGL.abstract`,functionParameter:[{name:`sheets-formula.functionList.MODE_SNGL.functionParameter.number1.name`,detail:`sheets-formula.functionList.MODE_SNGL.functionParameter.number1.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.MODE_SNGL.functionParameter.number2.name`,detail:`sheets-formula.functionList.MODE_SNGL.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.NEGBINOM_DIST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.NEGBINOM_DIST.description`,abstract:`sheets-formula.functionList.NEGBINOM_DIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.NEGBINOM_DIST.functionParameter.numberF.name`,detail:`sheets-formula.functionList.NEGBINOM_DIST.functionParameter.numberF.detail`,example:`10`,require:1,repeat:0},{name:`sheets-formula.functionList.NEGBINOM_DIST.functionParameter.numberS.name`,detail:`sheets-formula.functionList.NEGBINOM_DIST.functionParameter.numberS.detail`,example:`5`,require:1,repeat:0},{name:`sheets-formula.functionList.NEGBINOM_DIST.functionParameter.probabilityS.name`,detail:`sheets-formula.functionList.NEGBINOM_DIST.functionParameter.probabilityS.detail`,example:`0.25`,require:1,repeat:0},{name:`sheets-formula.functionList.NEGBINOM_DIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.NEGBINOM_DIST.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.NORM_DIST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.NORM_DIST.description`,abstract:`sheets-formula.functionList.NORM_DIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.NORM_DIST.functionParameter.x.name`,detail:`sheets-formula.functionList.NORM_DIST.functionParameter.x.detail`,example:`42`,require:1,repeat:0},{name:`sheets-formula.functionList.NORM_DIST.functionParameter.mean.name`,detail:`sheets-formula.functionList.NORM_DIST.functionParameter.mean.detail`,example:`40`,require:1,repeat:0},{name:`sheets-formula.functionList.NORM_DIST.functionParameter.standardDev.name`,detail:`sheets-formula.functionList.NORM_DIST.functionParameter.standardDev.detail`,example:`1.5`,require:1,repeat:0},{name:`sheets-formula.functionList.NORM_DIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.NORM_DIST.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.NORM_INV,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.NORM_INV.description`,abstract:`sheets-formula.functionList.NORM_INV.abstract`,functionParameter:[{name:`sheets-formula.functionList.NORM_INV.functionParameter.probability.name`,detail:`sheets-formula.functionList.NORM_INV.functionParameter.probability.detail`,example:`0.908789`,require:1,repeat:0},{name:`sheets-formula.functionList.NORM_INV.functionParameter.mean.name`,detail:`sheets-formula.functionList.NORM_INV.functionParameter.mean.detail`,example:`40`,require:1,repeat:0},{name:`sheets-formula.functionList.NORM_INV.functionParameter.standardDev.name`,detail:`sheets-formula.functionList.NORM_INV.functionParameter.standardDev.detail`,example:`1.5`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.NORM_S_DIST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.NORM_S_DIST.description`,abstract:`sheets-formula.functionList.NORM_S_DIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.NORM_S_DIST.functionParameter.z.name`,detail:`sheets-formula.functionList.NORM_S_DIST.functionParameter.z.detail`,example:`1.333333`,require:1,repeat:0},{name:`sheets-formula.functionList.NORM_S_DIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.NORM_S_DIST.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.NORM_S_INV,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.NORM_S_INV.description`,abstract:`sheets-formula.functionList.NORM_S_INV.abstract`,functionParameter:[{name:`sheets-formula.functionList.NORM_S_INV.functionParameter.probability.name`,detail:`sheets-formula.functionList.NORM_S_INV.functionParameter.probability.detail`,example:`0.908789`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.PEARSON,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.PEARSON.description`,abstract:`sheets-formula.functionList.PEARSON.abstract`,functionParameter:[{name:`sheets-formula.functionList.PEARSON.functionParameter.array1.name`,detail:`sheets-formula.functionList.PEARSON.functionParameter.array1.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.PEARSON.functionParameter.array2.name`,detail:`sheets-formula.functionList.PEARSON.functionParameter.array2.detail`,example:`B1:B4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.PERCENTILE_EXC,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.PERCENTILE_EXC.description`,abstract:`sheets-formula.functionList.PERCENTILE_EXC.abstract`,functionParameter:[{name:`sheets-formula.functionList.PERCENTILE_EXC.functionParameter.array.name`,detail:`sheets-formula.functionList.PERCENTILE_EXC.functionParameter.array.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.PERCENTILE_EXC.functionParameter.k.name`,detail:`sheets-formula.functionList.PERCENTILE_EXC.functionParameter.k.detail`,example:`0.3`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.PERCENTILE_INC,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.PERCENTILE_INC.description`,abstract:`sheets-formula.functionList.PERCENTILE_INC.abstract`,functionParameter:[{name:`sheets-formula.functionList.PERCENTILE_INC.functionParameter.array.name`,detail:`sheets-formula.functionList.PERCENTILE_INC.functionParameter.array.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.PERCENTILE_INC.functionParameter.k.name`,detail:`sheets-formula.functionList.PERCENTILE_INC.functionParameter.k.detail`,example:`0.3`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.PERCENTRANK_EXC,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.PERCENTRANK_EXC.description`,abstract:`sheets-formula.functionList.PERCENTRANK_EXC.abstract`,functionParameter:[{name:`sheets-formula.functionList.PERCENTRANK_EXC.functionParameter.array.name`,detail:`sheets-formula.functionList.PERCENTRANK_EXC.functionParameter.array.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.PERCENTRANK_EXC.functionParameter.x.name`,detail:`sheets-formula.functionList.PERCENTRANK_EXC.functionParameter.x.detail`,example:`1.5`,require:1,repeat:0},{name:`sheets-formula.functionList.PERCENTRANK_EXC.functionParameter.significance.name`,detail:`sheets-formula.functionList.PERCENTRANK_EXC.functionParameter.significance.detail`,example:`3`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.PERCENTRANK_INC,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.PERCENTRANK_INC.description`,abstract:`sheets-formula.functionList.PERCENTRANK_INC.abstract`,functionParameter:[{name:`sheets-formula.functionList.PERCENTRANK_INC.functionParameter.array.name`,detail:`sheets-formula.functionList.PERCENTRANK_INC.functionParameter.array.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.PERCENTRANK_INC.functionParameter.x.name`,detail:`sheets-formula.functionList.PERCENTRANK_INC.functionParameter.x.detail`,example:`1.5`,require:1,repeat:0},{name:`sheets-formula.functionList.PERCENTRANK_INC.functionParameter.significance.name`,detail:`sheets-formula.functionList.PERCENTRANK_INC.functionParameter.significance.detail`,example:`3`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.PERMUT,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.PERMUT.description`,abstract:`sheets-formula.functionList.PERMUT.abstract`,functionParameter:[{name:`sheets-formula.functionList.PERMUT.functionParameter.number.name`,detail:`sheets-formula.functionList.PERMUT.functionParameter.number.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.PERMUT.functionParameter.numberChosen.name`,detail:`sheets-formula.functionList.PERMUT.functionParameter.numberChosen.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.PERMUTATIONA,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.PERMUTATIONA.description`,abstract:`sheets-formula.functionList.PERMUTATIONA.abstract`,functionParameter:[{name:`sheets-formula.functionList.PERMUT.functionParameter.number.name`,detail:`sheets-formula.functionList.PERMUT.functionParameter.number.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.PERMUT.functionParameter.numberChosen.name`,detail:`sheets-formula.functionList.PERMUT.functionParameter.numberChosen.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.PHI,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.PHI.description`,abstract:`sheets-formula.functionList.PHI.abstract`,functionParameter:[{name:`sheets-formula.functionList.PHI.functionParameter.x.name`,detail:`sheets-formula.functionList.PHI.functionParameter.x.detail`,example:`0.75`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.POISSON_DIST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.POISSON_DIST.description`,abstract:`sheets-formula.functionList.POISSON_DIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.POISSON_DIST.functionParameter.x.name`,detail:`sheets-formula.functionList.POISSON_DIST.functionParameter.x.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.POISSON_DIST.functionParameter.mean.name`,detail:`sheets-formula.functionList.POISSON_DIST.functionParameter.mean.detail`,example:`5`,require:1,repeat:0},{name:`sheets-formula.functionList.POISSON_DIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.POISSON_DIST.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.PROB,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.PROB.description`,abstract:`sheets-formula.functionList.PROB.abstract`,functionParameter:[{name:`sheets-formula.functionList.PROB.functionParameter.xRange.name`,detail:`sheets-formula.functionList.PROB.functionParameter.xRange.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.PROB.functionParameter.probRange.name`,detail:`sheets-formula.functionList.PROB.functionParameter.probRange.detail`,example:`B1:B4`,require:1,repeat:0},{name:`sheets-formula.functionList.PROB.functionParameter.lowerLimit.name`,detail:`sheets-formula.functionList.PROB.functionParameter.lowerLimit.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.PROB.functionParameter.upperLimit.name`,detail:`sheets-formula.functionList.PROB.functionParameter.upperLimit.detail`,example:`3`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.QUARTILE_EXC,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.QUARTILE_EXC.description`,abstract:`sheets-formula.functionList.QUARTILE_EXC.abstract`,functionParameter:[{name:`sheets-formula.functionList.QUARTILE_EXC.functionParameter.array.name`,detail:`sheets-formula.functionList.QUARTILE_EXC.functionParameter.array.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.QUARTILE_EXC.functionParameter.quart.name`,detail:`sheets-formula.functionList.QUARTILE_EXC.functionParameter.quart.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.QUARTILE_INC,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.QUARTILE_INC.description`,abstract:`sheets-formula.functionList.QUARTILE_INC.abstract`,functionParameter:[{name:`sheets-formula.functionList.QUARTILE_INC.functionParameter.array.name`,detail:`sheets-formula.functionList.QUARTILE_INC.functionParameter.array.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.QUARTILE_INC.functionParameter.quart.name`,detail:`sheets-formula.functionList.QUARTILE_INC.functionParameter.quart.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.RANK_AVG,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.RANK_AVG.description`,abstract:`sheets-formula.functionList.RANK_AVG.abstract`,functionParameter:[{name:`sheets-formula.functionList.RANK_AVG.functionParameter.number.name`,detail:`sheets-formula.functionList.RANK_AVG.functionParameter.number.detail`,example:`A3`,require:1,repeat:0},{name:`sheets-formula.functionList.RANK_AVG.functionParameter.ref.name`,detail:`sheets-formula.functionList.RANK_AVG.functionParameter.ref.detail`,example:`A2:A6`,require:1,repeat:0},{name:`sheets-formula.functionList.RANK_AVG.functionParameter.order.name`,detail:`sheets-formula.functionList.RANK_AVG.functionParameter.order.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.RANK_EQ,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.RANK_EQ.description`,abstract:`sheets-formula.functionList.RANK_EQ.abstract`,functionParameter:[{name:`sheets-formula.functionList.RANK_EQ.functionParameter.number.name`,detail:`sheets-formula.functionList.RANK_EQ.functionParameter.number.detail`,example:`A3`,require:1,repeat:0},{name:`sheets-formula.functionList.RANK_EQ.functionParameter.ref.name`,detail:`sheets-formula.functionList.RANK_EQ.functionParameter.ref.detail`,example:`A2:A6`,require:1,repeat:0},{name:`sheets-formula.functionList.RANK_EQ.functionParameter.order.name`,detail:`sheets-formula.functionList.RANK_EQ.functionParameter.order.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.RSQ,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.RSQ.description`,abstract:`sheets-formula.functionList.RSQ.abstract`,functionParameter:[{name:`sheets-formula.functionList.RSQ.functionParameter.array1.name`,detail:`sheets-formula.functionList.RSQ.functionParameter.array1.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.RSQ.functionParameter.array2.name`,detail:`sheets-formula.functionList.RSQ.functionParameter.array2.detail`,example:`B1:B4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.SKEW,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.SKEW.description`,abstract:`sheets-formula.functionList.SKEW.abstract`,functionParameter:[{name:`sheets-formula.functionList.SKEW.functionParameter.number1.name`,detail:`sheets-formula.functionList.SKEW.functionParameter.number1.detail`,example:`A1:C3`,require:1,repeat:0},{name:`sheets-formula.functionList.SKEW.functionParameter.number2.name`,detail:`sheets-formula.functionList.SKEW.functionParameter.number2.detail`,example:`4`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.SKEW_P,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.SKEW_P.description`,abstract:`sheets-formula.functionList.SKEW_P.abstract`,functionParameter:[{name:`sheets-formula.functionList.SKEW_P.functionParameter.number1.name`,detail:`sheets-formula.functionList.SKEW_P.functionParameter.number1.detail`,example:`A1:C3`,require:1,repeat:0},{name:`sheets-formula.functionList.SKEW_P.functionParameter.number2.name`,detail:`sheets-formula.functionList.SKEW_P.functionParameter.number2.detail`,example:`4`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.SLOPE,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.SLOPE.description`,abstract:`sheets-formula.functionList.SLOPE.abstract`,functionParameter:[{name:`sheets-formula.functionList.SLOPE.functionParameter.knownYs.name`,detail:`sheets-formula.functionList.SLOPE.functionParameter.knownYs.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.SLOPE.functionParameter.knownXs.name`,detail:`sheets-formula.functionList.SLOPE.functionParameter.knownXs.detail`,example:`B1:B4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.SMALL,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.SMALL.description`,abstract:`sheets-formula.functionList.SMALL.abstract`,functionParameter:[{name:`sheets-formula.functionList.SMALL.functionParameter.array.name`,detail:`sheets-formula.functionList.SMALL.functionParameter.array.detail`,example:`A2:B6`,require:1,repeat:0},{name:`sheets-formula.functionList.SMALL.functionParameter.k.name`,detail:`sheets-formula.functionList.SMALL.functionParameter.k.detail`,example:`3`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.STANDARDIZE,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.STANDARDIZE.description`,abstract:`sheets-formula.functionList.STANDARDIZE.abstract`,functionParameter:[{name:`sheets-formula.functionList.STANDARDIZE.functionParameter.x.name`,detail:`sheets-formula.functionList.STANDARDIZE.functionParameter.x.detail`,example:`42`,require:1,repeat:0},{name:`sheets-formula.functionList.STANDARDIZE.functionParameter.mean.name`,detail:`sheets-formula.functionList.STANDARDIZE.functionParameter.mean.detail`,example:`40`,require:1,repeat:0},{name:`sheets-formula.functionList.STANDARDIZE.functionParameter.standardDev.name`,detail:`sheets-formula.functionList.STANDARDIZE.functionParameter.standardDev.detail`,example:`1.5`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.STDEV_P,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.STDEV_P.description`,abstract:`sheets-formula.functionList.STDEV_P.abstract`,functionParameter:[{name:`sheets-formula.functionList.STDEV_P.functionParameter.number1.name`,detail:`sheets-formula.functionList.STDEV_P.functionParameter.number1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.STDEV_P.functionParameter.number2.name`,detail:`sheets-formula.functionList.STDEV_P.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.STDEV_S,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.STDEV_S.description`,abstract:`sheets-formula.functionList.STDEV_S.abstract`,functionParameter:[{name:`sheets-formula.functionList.STDEV_S.functionParameter.number1.name`,detail:`sheets-formula.functionList.STDEV_S.functionParameter.number1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.STDEV_S.functionParameter.number2.name`,detail:`sheets-formula.functionList.STDEV_S.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.STDEVA,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.STDEVA.description`,abstract:`sheets-formula.functionList.STDEVA.abstract`,functionParameter:[{name:`sheets-formula.functionList.STDEVA.functionParameter.value1.name`,detail:`sheets-formula.functionList.STDEVA.functionParameter.value1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.STDEVA.functionParameter.value2.name`,detail:`sheets-formula.functionList.STDEVA.functionParameter.value2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.STDEVPA,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.STDEVPA.description`,abstract:`sheets-formula.functionList.STDEVPA.abstract`,functionParameter:[{name:`sheets-formula.functionList.STDEVPA.functionParameter.value1.name`,detail:`sheets-formula.functionList.STDEVPA.functionParameter.value1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.STDEVPA.functionParameter.value2.name`,detail:`sheets-formula.functionList.STDEVPA.functionParameter.value2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.STEYX,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.STEYX.description`,abstract:`sheets-formula.functionList.STEYX.abstract`,functionParameter:[{name:`sheets-formula.functionList.STEYX.functionParameter.knownYs.name`,detail:`sheets-formula.functionList.STEYX.functionParameter.knownYs.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.STEYX.functionParameter.knownXs.name`,detail:`sheets-formula.functionList.STEYX.functionParameter.knownXs.detail`,example:`B1:B4`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.T_DIST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.T_DIST.description`,abstract:`sheets-formula.functionList.T_DIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.T_DIST.functionParameter.x.name`,detail:`sheets-formula.functionList.T_DIST.functionParameter.x.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.T_DIST.functionParameter.degFreedom.name`,detail:`sheets-formula.functionList.T_DIST.functionParameter.degFreedom.detail`,example:`3`,require:1,repeat:0},{name:`sheets-formula.functionList.T_DIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.T_DIST.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.T_DIST_2T,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.T_DIST_2T.description`,abstract:`sheets-formula.functionList.T_DIST_2T.abstract`,functionParameter:[{name:`sheets-formula.functionList.T_DIST_2T.functionParameter.x.name`,detail:`sheets-formula.functionList.T_DIST_2T.functionParameter.x.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.T_DIST_2T.functionParameter.degFreedom.name`,detail:`sheets-formula.functionList.T_DIST_2T.functionParameter.degFreedom.detail`,example:`3`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.T_DIST_RT,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.T_DIST_RT.description`,abstract:`sheets-formula.functionList.T_DIST_RT.abstract`,functionParameter:[{name:`sheets-formula.functionList.T_DIST_RT.functionParameter.x.name`,detail:`sheets-formula.functionList.T_DIST_RT.functionParameter.x.detail`,example:`8`,require:1,repeat:0},{name:`sheets-formula.functionList.T_DIST_RT.functionParameter.degFreedom.name`,detail:`sheets-formula.functionList.T_DIST_RT.functionParameter.degFreedom.detail`,example:`3`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.T_INV,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.T_INV.description`,abstract:`sheets-formula.functionList.T_INV.abstract`,functionParameter:[{name:`sheets-formula.functionList.T_INV.functionParameter.probability.name`,detail:`sheets-formula.functionList.T_INV.functionParameter.probability.detail`,example:`0.75`,require:1,repeat:0},{name:`sheets-formula.functionList.T_INV.functionParameter.degFreedom.name`,detail:`sheets-formula.functionList.T_INV.functionParameter.degFreedom.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.T_INV_2T,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.T_INV_2T.description`,abstract:`sheets-formula.functionList.T_INV_2T.abstract`,functionParameter:[{name:`sheets-formula.functionList.T_INV_2T.functionParameter.probability.name`,detail:`sheets-formula.functionList.T_INV_2T.functionParameter.probability.detail`,example:`0.75`,require:1,repeat:0},{name:`sheets-formula.functionList.T_INV_2T.functionParameter.degFreedom.name`,detail:`sheets-formula.functionList.T_INV_2T.functionParameter.degFreedom.detail`,example:`2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.T_TEST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.T_TEST.description`,abstract:`sheets-formula.functionList.T_TEST.abstract`,functionParameter:[{name:`sheets-formula.functionList.T_TEST.functionParameter.array1.name`,detail:`sheets-formula.functionList.T_TEST.functionParameter.array1.detail`,example:`A1:A4`,require:1,repeat:0},{name:`sheets-formula.functionList.T_TEST.functionParameter.array2.name`,detail:`sheets-formula.functionList.T_TEST.functionParameter.array2.detail`,example:`B1:B4`,require:1,repeat:0},{name:`sheets-formula.functionList.T_TEST.functionParameter.tails.name`,detail:`sheets-formula.functionList.T_TEST.functionParameter.tails.detail`,example:`2`,require:1,repeat:0},{name:`sheets-formula.functionList.T_TEST.functionParameter.type.name`,detail:`sheets-formula.functionList.T_TEST.functionParameter.type.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.TREND,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.TREND.description`,abstract:`sheets-formula.functionList.TREND.abstract`,functionParameter:[{name:`sheets-formula.functionList.TREND.functionParameter.knownYs.name`,detail:`sheets-formula.functionList.TREND.functionParameter.knownYs.detail`,example:`B2:B7`,require:1,repeat:0},{name:`sheets-formula.functionList.TREND.functionParameter.knownXs.name`,detail:`sheets-formula.functionList.TREND.functionParameter.knownXs.detail`,example:`A2:A7`,require:0,repeat:0},{name:`sheets-formula.functionList.TREND.functionParameter.newXs.name`,detail:`sheets-formula.functionList.TREND.functionParameter.newXs.detail`,example:`A9:A10`,require:0,repeat:0},{name:`sheets-formula.functionList.TREND.functionParameter.constb.name`,detail:`sheets-formula.functionList.TREND.functionParameter.constb.detail`,example:`true`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.TRIMMEAN,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.TRIMMEAN.description`,abstract:`sheets-formula.functionList.TRIMMEAN.abstract`,functionParameter:[{name:`sheets-formula.functionList.TRIMMEAN.functionParameter.array.name`,detail:`sheets-formula.functionList.TRIMMEAN.functionParameter.array.detail`,example:`A2:A12`,require:1,repeat:0},{name:`sheets-formula.functionList.TRIMMEAN.functionParameter.percent.name`,detail:`sheets-formula.functionList.TRIMMEAN.functionParameter.percent.detail`,example:`0.2`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.VAR_P,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.VAR_P.description`,abstract:`sheets-formula.functionList.VAR_P.abstract`,functionParameter:[{name:`sheets-formula.functionList.VAR_P.functionParameter.number1.name`,detail:`sheets-formula.functionList.VAR_P.functionParameter.number1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.VAR_P.functionParameter.number2.name`,detail:`sheets-formula.functionList.VAR_P.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.VAR_S,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.VAR_S.description`,abstract:`sheets-formula.functionList.VAR_S.abstract`,functionParameter:[{name:`sheets-formula.functionList.VAR_S.functionParameter.number1.name`,detail:`sheets-formula.functionList.VAR_S.functionParameter.number1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.VAR_S.functionParameter.number2.name`,detail:`sheets-formula.functionList.VAR_S.functionParameter.number2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.VARA,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.VARA.description`,abstract:`sheets-formula.functionList.VARA.abstract`,functionParameter:[{name:`sheets-formula.functionList.VARA.functionParameter.value1.name`,detail:`sheets-formula.functionList.VARA.functionParameter.value1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.VARA.functionParameter.value2.name`,detail:`sheets-formula.functionList.VARA.functionParameter.value2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.VARPA,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.VARPA.description`,abstract:`sheets-formula.functionList.VARPA.abstract`,functionParameter:[{name:`sheets-formula.functionList.VARPA.functionParameter.value1.name`,detail:`sheets-formula.functionList.VARPA.functionParameter.value1.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.VARPA.functionParameter.value2.name`,detail:`sheets-formula.functionList.VARPA.functionParameter.value2.detail`,example:`2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.WEIBULL_DIST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.WEIBULL_DIST.description`,abstract:`sheets-formula.functionList.WEIBULL_DIST.abstract`,functionParameter:[{name:`sheets-formula.functionList.WEIBULL_DIST.functionParameter.x.name`,detail:`sheets-formula.functionList.WEIBULL_DIST.functionParameter.x.detail`,example:`105`,require:1,repeat:0},{name:`sheets-formula.functionList.WEIBULL_DIST.functionParameter.alpha.name`,detail:`sheets-formula.functionList.WEIBULL_DIST.functionParameter.alpha.detail`,example:`20`,require:1,repeat:0},{name:`sheets-formula.functionList.WEIBULL_DIST.functionParameter.beta.name`,detail:`sheets-formula.functionList.WEIBULL_DIST.functionParameter.beta.detail`,example:`100`,require:1,repeat:0},{name:`sheets-formula.functionList.WEIBULL_DIST.functionParameter.cumulative.name`,detail:`sheets-formula.functionList.WEIBULL_DIST.functionParameter.cumulative.detail`,example:`true`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_STATISTICAL.Z_TEST,functionType:r.FunctionType.Statistical,description:`sheets-formula.functionList.Z_TEST.description`,abstract:`sheets-formula.functionList.Z_TEST.abstract`,functionParameter:[{name:`sheets-formula.functionList.Z_TEST.functionParameter.array.name`,detail:`sheets-formula.functionList.Z_TEST.functionParameter.array.detail`,example:`A2:A11`,require:1,repeat:0},{name:`sheets-formula.functionList.Z_TEST.functionParameter.x.name`,detail:`sheets-formula.functionList.Z_TEST.functionParameter.x.detail`,example:`4`,require:1,repeat:0},{name:`sheets-formula.functionList.Z_TEST.functionParameter.sigma.name`,detail:`sheets-formula.functionList.Z_TEST.functionParameter.sigma.detail`,example:`10`,require:0,repeat:0}]}],at=[{functionName:r.FUNCTION_NAMES_TEXT.ASC,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.ASC.description`,abstract:`sheets-formula.functionList.ASC.abstract`,functionParameter:[{name:`sheets-formula.functionList.ASC.functionParameter.text.name`,detail:`sheets-formula.functionList.ASC.functionParameter.text.detail`,example:`"Univer"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.ARRAYTOTEXT,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.ARRAYTOTEXT.description`,abstract:`sheets-formula.functionList.ARRAYTOTEXT.abstract`,functionParameter:[{name:`sheets-formula.functionList.ARRAYTOTEXT.functionParameter.array.name`,detail:`sheets-formula.functionList.ARRAYTOTEXT.functionParameter.array.detail`,example:`A2:B4`,require:1,repeat:0},{name:`sheets-formula.functionList.ARRAYTOTEXT.functionParameter.format.name`,detail:`sheets-formula.functionList.ARRAYTOTEXT.functionParameter.format.detail`,example:`0`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.BAHTTEXT,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.BAHTTEXT.description`,abstract:`sheets-formula.functionList.BAHTTEXT.abstract`,functionParameter:[{name:`sheets-formula.functionList.BAHTTEXT.functionParameter.number.name`,detail:`sheets-formula.functionList.BAHTTEXT.functionParameter.number.detail`,example:`1234`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.CHAR,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.CHAR.description`,abstract:`sheets-formula.functionList.CHAR.abstract`,functionParameter:[{name:`sheets-formula.functionList.CHAR.functionParameter.number.name`,detail:`sheets-formula.functionList.CHAR.functionParameter.number.detail`,example:`65`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.CLEAN,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.CLEAN.description`,abstract:`sheets-formula.functionList.CLEAN.abstract`,functionParameter:[{name:`sheets-formula.functionList.CLEAN.functionParameter.text.name`,detail:`sheets-formula.functionList.CLEAN.functionParameter.text.detail`,example:`CHAR(1)&"Univer"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.CODE,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.CODE.description`,abstract:`sheets-formula.functionList.CODE.abstract`,functionParameter:[{name:`sheets-formula.functionList.CODE.functionParameter.text.name`,detail:`sheets-formula.functionList.CODE.functionParameter.text.detail`,example:`"Univer"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.CONCAT,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.CONCAT.description`,abstract:`sheets-formula.functionList.CONCAT.abstract`,functionParameter:[{name:`sheets-formula.functionList.CONCAT.functionParameter.text1.name`,detail:`sheets-formula.functionList.CONCAT.functionParameter.text1.detail`,example:`"Hello"`,require:1,repeat:0},{name:`sheets-formula.functionList.CONCAT.functionParameter.text2.name`,detail:`sheets-formula.functionList.CONCAT.functionParameter.text2.detail`,example:`"Univer"`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_TEXT.CONCATENATE,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.CONCATENATE.description`,abstract:`sheets-formula.functionList.CONCATENATE.abstract`,functionParameter:[{name:`sheets-formula.functionList.CONCATENATE.functionParameter.text1.name`,detail:`sheets-formula.functionList.CONCATENATE.functionParameter.text1.detail`,example:`A1`,require:1,repeat:0},{name:`sheets-formula.functionList.CONCATENATE.functionParameter.text2.name`,detail:`sheets-formula.functionList.CONCATENATE.functionParameter.text2.detail`,example:`A2`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_TEXT.DBCS,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.DBCS.description`,abstract:`sheets-formula.functionList.DBCS.abstract`,functionParameter:[{name:`sheets-formula.functionList.DBCS.functionParameter.text.name`,detail:`sheets-formula.functionList.DBCS.functionParameter.text.detail`,example:`"Univer"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.DOLLAR,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.DOLLAR.description`,abstract:`sheets-formula.functionList.DOLLAR.abstract`,functionParameter:[{name:`sheets-formula.functionList.DOLLAR.functionParameter.number.name`,detail:`sheets-formula.functionList.DOLLAR.functionParameter.number.detail`,example:`1234.567`,require:1,repeat:0},{name:`sheets-formula.functionList.DOLLAR.functionParameter.decimals.name`,detail:`sheets-formula.functionList.DOLLAR.functionParameter.decimals.detail`,example:`2`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.EXACT,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.EXACT.description`,abstract:`sheets-formula.functionList.EXACT.abstract`,functionParameter:[{name:`sheets-formula.functionList.EXACT.functionParameter.text1.name`,detail:`sheets-formula.functionList.EXACT.functionParameter.text1.detail`,example:`"Univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.EXACT.functionParameter.text2.name`,detail:`sheets-formula.functionList.EXACT.functionParameter.text2.detail`,example:`"univer"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.FIND,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.FIND.description`,abstract:`sheets-formula.functionList.FIND.abstract`,functionParameter:[{name:`sheets-formula.functionList.FIND.functionParameter.findText.name`,detail:`sheets-formula.functionList.FIND.functionParameter.findText.detail`,example:`"Univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.FIND.functionParameter.withinText.name`,detail:`sheets-formula.functionList.FIND.functionParameter.withinText.detail`,example:`"Hello Univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.FIND.functionParameter.startNum.name`,detail:`sheets-formula.functionList.FIND.functionParameter.startNum.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.FINDB,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.FINDB.description`,abstract:`sheets-formula.functionList.FINDB.abstract`,functionParameter:[{name:`sheets-formula.functionList.FINDB.functionParameter.findText.name`,detail:`sheets-formula.functionList.FINDB.functionParameter.findText.detail`,example:`"Univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.FINDB.functionParameter.withinText.name`,detail:`sheets-formula.functionList.FINDB.functionParameter.withinText.detail`,example:`"Hello Univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.FINDB.functionParameter.startNum.name`,detail:`sheets-formula.functionList.FINDB.functionParameter.startNum.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.FIXED,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.FIXED.description`,abstract:`sheets-formula.functionList.FIXED.abstract`,functionParameter:[{name:`sheets-formula.functionList.FIXED.functionParameter.number.name`,detail:`sheets-formula.functionList.FIXED.functionParameter.number.detail`,example:`1234.567`,require:1,repeat:0},{name:`sheets-formula.functionList.FIXED.functionParameter.decimals.name`,detail:`sheets-formula.functionList.FIXED.functionParameter.decimals.detail`,example:`2`,require:0,repeat:0},{name:`sheets-formula.functionList.FIXED.functionParameter.noCommas.name`,detail:`sheets-formula.functionList.FIXED.functionParameter.noCommas.detail`,example:`0`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.LEFT,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.LEFT.description`,abstract:`sheets-formula.functionList.LEFT.abstract`,functionParameter:[{name:`sheets-formula.functionList.LEFT.functionParameter.text.name`,detail:`sheets-formula.functionList.LEFT.functionParameter.text.detail`,example:`"Univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.LEFT.functionParameter.numChars.name`,detail:`sheets-formula.functionList.LEFT.functionParameter.numChars.detail`,example:`3`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.LEFTB,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.LEFTB.description`,abstract:`sheets-formula.functionList.LEFTB.abstract`,functionParameter:[{name:`sheets-formula.functionList.LEFTB.functionParameter.text.name`,detail:`sheets-formula.functionList.LEFTB.functionParameter.text.detail`,example:`"Univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.LEFTB.functionParameter.numBytes.name`,detail:`sheets-formula.functionList.LEFTB.functionParameter.numBytes.detail`,example:`3`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.LEN,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.LEN.description`,abstract:`sheets-formula.functionList.LEN.abstract`,functionParameter:[{name:`sheets-formula.functionList.LEN.functionParameter.text.name`,detail:`sheets-formula.functionList.LEN.functionParameter.text.detail`,example:`"Univer"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.LENB,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.LENB.description`,abstract:`sheets-formula.functionList.LENB.abstract`,functionParameter:[{name:`sheets-formula.functionList.LENB.functionParameter.text.name`,detail:`sheets-formula.functionList.LENB.functionParameter.text.detail`,example:`"Univer"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.LOWER,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.LOWER.description`,abstract:`sheets-formula.functionList.LOWER.abstract`,functionParameter:[{name:`sheets-formula.functionList.LOWER.functionParameter.text.name`,detail:`sheets-formula.functionList.LOWER.functionParameter.text.detail`,example:`"Univer"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.MID,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.MID.description`,abstract:`sheets-formula.functionList.MID.abstract`,functionParameter:[{name:`sheets-formula.functionList.MID.functionParameter.text.name`,detail:`sheets-formula.functionList.MID.functionParameter.text.detail`,example:`"Univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.MID.functionParameter.startNum.name`,detail:`sheets-formula.functionList.MID.functionParameter.startNum.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.MID.functionParameter.numChars.name`,detail:`sheets-formula.functionList.MID.functionParameter.numChars.detail`,example:`3`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.MIDB,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.MIDB.description`,abstract:`sheets-formula.functionList.MIDB.abstract`,functionParameter:[{name:`sheets-formula.functionList.MIDB.functionParameter.text.name`,detail:`sheets-formula.functionList.MIDB.functionParameter.text.detail`,example:`"Univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.MIDB.functionParameter.startNum.name`,detail:`sheets-formula.functionList.MIDB.functionParameter.startNum.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.MIDB.functionParameter.numBytes.name`,detail:`sheets-formula.functionList.MIDB.functionParameter.numBytes.detail`,example:`3`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.NUMBERSTRING,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.NUMBERSTRING.description`,abstract:`sheets-formula.functionList.NUMBERSTRING.abstract`,functionParameter:[{name:`sheets-formula.functionList.NUMBERSTRING.functionParameter.number.name`,detail:`sheets-formula.functionList.NUMBERSTRING.functionParameter.number.detail`,example:`123`,require:1,repeat:0},{name:`sheets-formula.functionList.NUMBERSTRING.functionParameter.type.name`,detail:`sheets-formula.functionList.NUMBERSTRING.functionParameter.type.detail`,example:`1`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.NUMBERVALUE,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.NUMBERVALUE.description`,abstract:`sheets-formula.functionList.NUMBERVALUE.abstract`,functionParameter:[{name:`sheets-formula.functionList.NUMBERVALUE.functionParameter.text.name`,detail:`sheets-formula.functionList.NUMBERVALUE.functionParameter.text.detail`,example:`"2.500,27"`,require:1,repeat:0},{name:`sheets-formula.functionList.NUMBERVALUE.functionParameter.decimalSeparator.name`,detail:`sheets-formula.functionList.NUMBERVALUE.functionParameter.decimalSeparator.detail`,example:`","`,require:0,repeat:0},{name:`sheets-formula.functionList.NUMBERVALUE.functionParameter.groupSeparator.name`,detail:`sheets-formula.functionList.NUMBERVALUE.functionParameter.groupSeparator.detail`,example:`"."`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.PHONETIC,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.PHONETIC.description`,abstract:`sheets-formula.functionList.PHONETIC.abstract`,functionParameter:[{name:`sheets-formula.functionList.PHONETIC.functionParameter.number1.name`,detail:`sheets-formula.functionList.PHONETIC.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.PHONETIC.functionParameter.number2.name`,detail:`sheets-formula.functionList.PHONETIC.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.PROPER,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.PROPER.description`,abstract:`sheets-formula.functionList.PROPER.abstract`,functionParameter:[{name:`sheets-formula.functionList.PROPER.functionParameter.text.name`,detail:`sheets-formula.functionList.PROPER.functionParameter.text.detail`,example:`"hello univer"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.REGEXEXTRACT,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.REGEXEXTRACT.description`,abstract:`sheets-formula.functionList.REGEXEXTRACT.abstract`,functionParameter:[{name:`sheets-formula.functionList.REGEXEXTRACT.functionParameter.text.name`,detail:`sheets-formula.functionList.REGEXEXTRACT.functionParameter.text.detail`,example:`"abcdefg"`,require:1,repeat:0},{name:`sheets-formula.functionList.REGEXEXTRACT.functionParameter.regularExpression.name`,detail:`sheets-formula.functionList.REGEXEXTRACT.functionParameter.regularExpression.detail`,example:`"c.*f"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.REGEXMATCH,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.REGEXMATCH.description`,abstract:`sheets-formula.functionList.REGEXMATCH.abstract`,functionParameter:[{name:`sheets-formula.functionList.REGEXMATCH.functionParameter.text.name`,detail:`sheets-formula.functionList.REGEXMATCH.functionParameter.text.detail`,example:`"Spreadsheets"`,require:1,repeat:0},{name:`sheets-formula.functionList.REGEXMATCH.functionParameter.regularExpression.name`,detail:`sheets-formula.functionList.REGEXMATCH.functionParameter.regularExpression.detail`,example:`"S.r"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.REGEXREPLACE,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.REGEXREPLACE.description`,abstract:`sheets-formula.functionList.REGEXREPLACE.abstract`,functionParameter:[{name:`sheets-formula.functionList.REGEXREPLACE.functionParameter.text.name`,detail:`sheets-formula.functionList.REGEXREPLACE.functionParameter.text.detail`,example:`"abcedfg"`,require:1,repeat:0},{name:`sheets-formula.functionList.REGEXREPLACE.functionParameter.regularExpression.name`,detail:`sheets-formula.functionList.REGEXREPLACE.functionParameter.regularExpression.detail`,example:`"a.*d"`,require:1,repeat:0},{name:`sheets-formula.functionList.REGEXREPLACE.functionParameter.replacement.name`,detail:`sheets-formula.functionList.REGEXREPLACE.functionParameter.replacement.detail`,example:`"xyz"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.REPLACE,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.REPLACE.description`,abstract:`sheets-formula.functionList.REPLACE.abstract`,functionParameter:[{name:`sheets-formula.functionList.REPLACE.functionParameter.oldText.name`,detail:`sheets-formula.functionList.REPLACE.functionParameter.oldText.detail`,example:`"Univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.REPLACE.functionParameter.startNum.name`,detail:`sheets-formula.functionList.REPLACE.functionParameter.startNum.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.REPLACE.functionParameter.numChars.name`,detail:`sheets-formula.functionList.REPLACE.functionParameter.numChars.detail`,example:`0`,require:1,repeat:0},{name:`sheets-formula.functionList.REPLACE.functionParameter.newText.name`,detail:`sheets-formula.functionList.REPLACE.functionParameter.newText.detail`,example:`"Hello "`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.REPLACEB,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.REPLACEB.description`,abstract:`sheets-formula.functionList.REPLACEB.abstract`,functionParameter:[{name:`sheets-formula.functionList.REPLACEB.functionParameter.oldText.name`,detail:`sheets-formula.functionList.REPLACEB.functionParameter.oldText.detail`,example:`"Univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.REPLACEB.functionParameter.startNum.name`,detail:`sheets-formula.functionList.REPLACEB.functionParameter.startNum.detail`,example:`1`,require:1,repeat:0},{name:`sheets-formula.functionList.REPLACEB.functionParameter.numBytes.name`,detail:`sheets-formula.functionList.REPLACEB.functionParameter.numBytes.detail`,example:`0`,require:1,repeat:0},{name:`sheets-formula.functionList.REPLACEB.functionParameter.newText.name`,detail:`sheets-formula.functionList.REPLACEB.functionParameter.newText.detail`,example:`"Hello "`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.REPT,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.REPT.description`,abstract:`sheets-formula.functionList.REPT.abstract`,functionParameter:[{name:`sheets-formula.functionList.REPT.functionParameter.text.name`,detail:`sheets-formula.functionList.REPT.functionParameter.text.detail`,example:`"*-"`,require:1,repeat:0},{name:`sheets-formula.functionList.REPT.functionParameter.numberTimes.name`,detail:`sheets-formula.functionList.REPT.functionParameter.numberTimes.detail`,example:`3`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.RIGHT,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.RIGHT.description`,abstract:`sheets-formula.functionList.RIGHT.abstract`,functionParameter:[{name:`sheets-formula.functionList.RIGHT.functionParameter.text.name`,detail:`sheets-formula.functionList.RIGHT.functionParameter.text.detail`,example:`"Univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.RIGHT.functionParameter.numChars.name`,detail:`sheets-formula.functionList.RIGHT.functionParameter.numChars.detail`,example:`3`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.RIGHTB,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.RIGHTB.description`,abstract:`sheets-formula.functionList.RIGHTB.abstract`,functionParameter:[{name:`sheets-formula.functionList.RIGHTB.functionParameter.text.name`,detail:`sheets-formula.functionList.RIGHTB.functionParameter.text.detail`,example:`"Univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.RIGHTB.functionParameter.numBytes.name`,detail:`sheets-formula.functionList.RIGHTB.functionParameter.numBytes.detail`,example:`3`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.SEARCH,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.SEARCH.description`,abstract:`sheets-formula.functionList.SEARCH.abstract`,functionParameter:[{name:`sheets-formula.functionList.SEARCH.functionParameter.findText.name`,detail:`sheets-formula.functionList.SEARCH.functionParameter.findText.detail`,example:`"univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.SEARCH.functionParameter.withinText.name`,detail:`sheets-formula.functionList.SEARCH.functionParameter.withinText.detail`,example:`"Hello Univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.SEARCH.functionParameter.startNum.name`,detail:`sheets-formula.functionList.SEARCH.functionParameter.startNum.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.SEARCHB,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.SEARCHB.description`,abstract:`sheets-formula.functionList.SEARCHB.abstract`,functionParameter:[{name:`sheets-formula.functionList.SEARCHB.functionParameter.findText.name`,detail:`sheets-formula.functionList.SEARCHB.functionParameter.findText.detail`,example:`"univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.SEARCHB.functionParameter.withinText.name`,detail:`sheets-formula.functionList.SEARCHB.functionParameter.withinText.detail`,example:`"Hello Univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.SEARCHB.functionParameter.startNum.name`,detail:`sheets-formula.functionList.SEARCHB.functionParameter.startNum.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.SUBSTITUTE,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.SUBSTITUTE.description`,abstract:`sheets-formula.functionList.SUBSTITUTE.abstract`,functionParameter:[{name:`sheets-formula.functionList.SUBSTITUTE.functionParameter.text.name`,detail:`sheets-formula.functionList.SUBSTITUTE.functionParameter.text.detail`,example:`"Hello Univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.SUBSTITUTE.functionParameter.oldText.name`,detail:`sheets-formula.functionList.SUBSTITUTE.functionParameter.oldText.detail`,example:`"Hello"`,require:1,repeat:0},{name:`sheets-formula.functionList.SUBSTITUTE.functionParameter.newText.name`,detail:`sheets-formula.functionList.SUBSTITUTE.functionParameter.newText.detail`,example:`"Hi"`,require:1,repeat:0},{name:`sheets-formula.functionList.SUBSTITUTE.functionParameter.instanceNum.name`,detail:`sheets-formula.functionList.SUBSTITUTE.functionParameter.instanceNum.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.T,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.T.description`,abstract:`sheets-formula.functionList.T.abstract`,functionParameter:[{name:`sheets-formula.functionList.T.functionParameter.value.name`,detail:`sheets-formula.functionList.T.functionParameter.value.detail`,example:`"Univer"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.TEXT,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.TEXT.description`,abstract:`sheets-formula.functionList.TEXT.abstract`,functionParameter:[{name:`sheets-formula.functionList.TEXT.functionParameter.value.name`,detail:`sheets-formula.functionList.TEXT.functionParameter.value.detail`,example:`1.23`,require:1,repeat:0},{name:`sheets-formula.functionList.TEXT.functionParameter.formatText.name`,detail:`sheets-formula.functionList.TEXT.functionParameter.formatText.detail`,example:`"$0.00"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.TEXTAFTER,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.TEXTAFTER.description`,abstract:`sheets-formula.functionList.TEXTAFTER.abstract`,functionParameter:[{name:`sheets-formula.functionList.TEXTAFTER.functionParameter.text.name`,detail:`sheets-formula.functionList.TEXTAFTER.functionParameter.text.detail`,example:`"Red riding hood’s, red hood"`,require:1,repeat:0},{name:`sheets-formula.functionList.TEXTAFTER.functionParameter.delimiter.name`,detail:`sheets-formula.functionList.TEXTAFTER.functionParameter.delimiter.detail`,example:`"hood"`,require:1,repeat:0},{name:`sheets-formula.functionList.TEXTAFTER.functionParameter.instanceNum.name`,detail:`sheets-formula.functionList.TEXTAFTER.functionParameter.instanceNum.detail`,example:`1`,require:0,repeat:0},{name:`sheets-formula.functionList.TEXTAFTER.functionParameter.matchMode.name`,detail:`sheets-formula.functionList.TEXTAFTER.functionParameter.matchMode.detail`,example:`1`,require:0,repeat:0},{name:`sheets-formula.functionList.TEXTAFTER.functionParameter.matchEnd.name`,detail:`sheets-formula.functionList.TEXTAFTER.functionParameter.matchEnd.detail`,example:`0`,require:0,repeat:0},{name:`sheets-formula.functionList.TEXTAFTER.functionParameter.ifNotFound.name`,detail:`sheets-formula.functionList.TEXTAFTER.functionParameter.ifNotFound.detail`,example:`"not found"`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.TEXTBEFORE,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.TEXTBEFORE.description`,abstract:`sheets-formula.functionList.TEXTBEFORE.abstract`,functionParameter:[{name:`sheets-formula.functionList.TEXTBEFORE.functionParameter.text.name`,detail:`sheets-formula.functionList.TEXTBEFORE.functionParameter.text.detail`,example:`"Red riding hood’s, red hood"`,require:1,repeat:0},{name:`sheets-formula.functionList.TEXTBEFORE.functionParameter.delimiter.name`,detail:`sheets-formula.functionList.TEXTBEFORE.functionParameter.delimiter.detail`,example:`"hood"`,require:1,repeat:0},{name:`sheets-formula.functionList.TEXTBEFORE.functionParameter.instanceNum.name`,detail:`sheets-formula.functionList.TEXTBEFORE.functionParameter.instanceNum.detail`,example:`1`,require:0,repeat:0},{name:`sheets-formula.functionList.TEXTBEFORE.functionParameter.matchMode.name`,detail:`sheets-formula.functionList.TEXTBEFORE.functionParameter.matchMode.detail`,example:`1`,require:0,repeat:0},{name:`sheets-formula.functionList.TEXTBEFORE.functionParameter.matchEnd.name`,detail:`sheets-formula.functionList.TEXTBEFORE.functionParameter.matchEnd.detail`,example:`0`,require:0,repeat:0},{name:`sheets-formula.functionList.TEXTBEFORE.functionParameter.ifNotFound.name`,detail:`sheets-formula.functionList.TEXTBEFORE.functionParameter.ifNotFound.detail`,example:`"not found"`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.TEXTJOIN,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.TEXTJOIN.description`,abstract:`sheets-formula.functionList.TEXTJOIN.abstract`,functionParameter:[{name:`sheets-formula.functionList.TEXTJOIN.functionParameter.delimiter.name`,detail:`sheets-formula.functionList.TEXTJOIN.functionParameter.delimiter.detail`,example:`", "`,require:1,repeat:0},{name:`sheets-formula.functionList.TEXTJOIN.functionParameter.ignoreEmpty.name`,detail:`sheets-formula.functionList.TEXTJOIN.functionParameter.ignoreEmpty.detail`,example:`true`,require:1,repeat:0},{name:`sheets-formula.functionList.TEXTJOIN.functionParameter.text1.name`,detail:`sheets-formula.functionList.TEXTJOIN.functionParameter.text1.detail`,example:`"Hi"`,require:1,repeat:0},{name:`sheets-formula.functionList.TEXTJOIN.functionParameter.text2.name`,detail:`sheets-formula.functionList.TEXTJOIN.functionParameter.text2.detail`,example:`"Univer"`,require:0,repeat:1}]},{functionName:r.FUNCTION_NAMES_TEXT.TEXTSPLIT,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.TEXTSPLIT.description`,abstract:`sheets-formula.functionList.TEXTSPLIT.abstract`,functionParameter:[{name:`sheets-formula.functionList.TEXTSPLIT.functionParameter.text.name`,detail:`sheets-formula.functionList.TEXTSPLIT.functionParameter.text.detail`,example:`A1:C2`,require:1,repeat:0},{name:`sheets-formula.functionList.TEXTSPLIT.functionParameter.colDelimiter.name`,detail:`sheets-formula.functionList.TEXTSPLIT.functionParameter.colDelimiter.detail`,example:`","`,require:1,repeat:0},{name:`sheets-formula.functionList.TEXTSPLIT.functionParameter.rowDelimiter.name`,detail:`sheets-formula.functionList.TEXTSPLIT.functionParameter.rowDelimiter.detail`,example:`";"`,require:0,repeat:0},{name:`sheets-formula.functionList.TEXTSPLIT.functionParameter.ignoreEmpty.name`,detail:`sheets-formula.functionList.TEXTSPLIT.functionParameter.ignoreEmpty.detail`,example:``,require:0,repeat:0},{name:`sheets-formula.functionList.TEXTSPLIT.functionParameter.matchMode.name`,detail:`sheets-formula.functionList.TEXTSPLIT.functionParameter.matchMode.detail`,example:``,require:0,repeat:0},{name:`sheets-formula.functionList.TEXTSPLIT.functionParameter.padWith.name`,detail:`sheets-formula.functionList.TEXTSPLIT.functionParameter.padWith.detail`,example:``,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.TRIM,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.TRIM.description`,abstract:`sheets-formula.functionList.TRIM.abstract`,functionParameter:[{name:`sheets-formula.functionList.TRIM.functionParameter.text.name`,detail:`sheets-formula.functionList.TRIM.functionParameter.text.detail`,example:`" Hello Univer "`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.UNICHAR,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.UNICHAR.description`,abstract:`sheets-formula.functionList.UNICHAR.abstract`,functionParameter:[{name:`sheets-formula.functionList.UNICHAR.functionParameter.number.name`,detail:`sheets-formula.functionList.UNICHAR.functionParameter.number.detail`,example:`65`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.UNICODE,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.UNICODE.description`,abstract:`sheets-formula.functionList.UNICODE.abstract`,functionParameter:[{name:`sheets-formula.functionList.UNICODE.functionParameter.text.name`,detail:`sheets-formula.functionList.UNICODE.functionParameter.text.detail`,example:`"Univer"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.UPPER,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.UPPER.description`,abstract:`sheets-formula.functionList.UPPER.abstract`,functionParameter:[{name:`sheets-formula.functionList.UPPER.functionParameter.text.name`,detail:`sheets-formula.functionList.UPPER.functionParameter.text.detail`,example:`"Univer"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.VALUE,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.VALUE.description`,abstract:`sheets-formula.functionList.VALUE.abstract`,functionParameter:[{name:`sheets-formula.functionList.VALUE.functionParameter.text.name`,detail:`sheets-formula.functionList.VALUE.functionParameter.text.detail`,example:`"123"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.VALUETOTEXT,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.VALUETOTEXT.description`,abstract:`sheets-formula.functionList.VALUETOTEXT.abstract`,functionParameter:[{name:`sheets-formula.functionList.VALUETOTEXT.functionParameter.value.name`,detail:`sheets-formula.functionList.VALUETOTEXT.functionParameter.value.detail`,example:`"Univer"`,require:1,repeat:0},{name:`sheets-formula.functionList.VALUETOTEXT.functionParameter.format.name`,detail:`sheets-formula.functionList.VALUETOTEXT.functionParameter.format.detail`,example:`1`,require:0,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.CALL,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.CALL.description`,abstract:`sheets-formula.functionList.CALL.abstract`,functionParameter:[{name:`sheets-formula.functionList.CALL.functionParameter.number1.name`,detail:`sheets-formula.functionList.CALL.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.CALL.functionParameter.number2.name`,detail:`sheets-formula.functionList.CALL.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.EUROCONVERT,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.EUROCONVERT.description`,abstract:`sheets-formula.functionList.EUROCONVERT.abstract`,functionParameter:[{name:`sheets-formula.functionList.EUROCONVERT.functionParameter.number1.name`,detail:`sheets-formula.functionList.EUROCONVERT.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.EUROCONVERT.functionParameter.number2.name`,detail:`sheets-formula.functionList.EUROCONVERT.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_TEXT.REGISTER_ID,functionType:r.FunctionType.Text,description:`sheets-formula.functionList.REGISTER_ID.description`,abstract:`sheets-formula.functionList.REGISTER_ID.abstract`,functionParameter:[{name:`sheets-formula.functionList.REGISTER_ID.functionParameter.number1.name`,detail:`sheets-formula.functionList.REGISTER_ID.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.REGISTER_ID.functionParameter.number2.name`,detail:`sheets-formula.functionList.REGISTER_ID.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]}],ot=[],st=[{functionName:r.FUNCTION_NAMES_WEB.ENCODEURL,functionType:r.FunctionType.Web,description:`sheets-formula.functionList.ENCODEURL.description`,abstract:`sheets-formula.functionList.ENCODEURL.abstract`,functionParameter:[{name:`sheets-formula.functionList.ENCODEURL.functionParameter.text.name`,detail:`sheets-formula.functionList.ENCODEURL.functionParameter.text.detail`,example:`"https://univer.ai/"`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_WEB.FILTERXML,functionType:r.FunctionType.Web,description:`sheets-formula.functionList.FILTERXML.description`,abstract:`sheets-formula.functionList.FILTERXML.abstract`,functionParameter:[{name:`sheets-formula.functionList.FILTERXML.functionParameter.number1.name`,detail:`sheets-formula.functionList.FILTERXML.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.FILTERXML.functionParameter.number2.name`,detail:`sheets-formula.functionList.FILTERXML.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]},{functionName:r.FUNCTION_NAMES_WEB.WEBSERVICE,functionType:r.FunctionType.Web,description:`sheets-formula.functionList.WEBSERVICE.description`,abstract:`sheets-formula.functionList.WEBSERVICE.abstract`,functionParameter:[{name:`sheets-formula.functionList.WEBSERVICE.functionParameter.number1.name`,detail:`sheets-formula.functionList.WEBSERVICE.functionParameter.number1.detail`,example:`A1:A20`,require:1,repeat:0},{name:`sheets-formula.functionList.WEBSERVICE.functionParameter.number2.name`,detail:`sheets-formula.functionList.WEBSERVICE.functionParameter.number2.detail`,example:`A1:A20`,require:1,repeat:0}]}],ct=[...$e,...Ze,...rt,...it,...nt,...Xe,...at,...tt,...et,...Qe,...Ye,...Je,...st,...qe,...ot];function U(e,t){let n=``;return e.aliasFunctionName?(n=t.t(e.aliasFunctionName),n===e.aliasFunctionName&&(n=e.functionName)):n=e.functionName,n}let W=(0,t.createIdentifier)(`formula.description-service`),G=class extends t.Disposable{constructor(e,t,n){super(),this._functionService=e,this._localeService=t,this._configService=n,b(this,`_descriptions`,new Map),this._initialize()}_initialize(){this.disposeWithMe((0,t.toDisposable)(this._localeService.localeChanged$.subscribe(()=>{this._functionService.clearDescriptions();let e=new Map;this._descriptions.forEach(t=>{let n=U(t,this._localeService).toUpperCase();e.set(n,t)}),this._descriptions=e,this._initRegisterDescriptions()}))),this._initDescriptions(),this._initRegisterDescriptions()}_initDescriptions(){var e;let t=this._localeService;ct.forEach(e=>{if(r.ALL_IMPLEMENTED_FUNCTIONS_SET.has(e.functionName)){let n=U(e,t).toUpperCase();this._descriptions.set(n,e)}});let n=this._configService.getConfig(c);n==null||(e=n.description)==null||e.forEach(e=>{let n=U(e,t).toUpperCase();this._descriptions.set(n,e)})}_initRegisterDescriptions(){let e=this._localeService,t=Array.from(this._descriptions.values()).map(t=>({functionName:U(t,e),functionType:t.functionType,description:e.t(t.description),abstract:e.t(t.abstract),functionParameter:t.functionParameter.map(t=>({name:e.t(t.name),detail:e.t(t.detail),example:t.example,require:t.require,repeat:t.repeat}))}));this._functionService.registerDescriptions(...t)}_registerDescriptions(e){let t=this._localeService,n=e.map(e=>({functionName:U(e,t),functionType:e.functionType,description:t.t(e.description),abstract:t.t(e.abstract),functionParameter:e.functionParameter.map(e=>({name:t.t(e.name),detail:t.t(e.detail),example:e.example,require:e.require,repeat:e.repeat}))}));this._functionService.registerDescriptions(...n)}dispose(){super.dispose(),this._descriptions.clear()}getDescriptions(){return this._functionService.getDescriptions()}hasFunction(e){return this._descriptions.has(e.toUpperCase())}getFunctionInfo(e){let t=this._descriptions.get(e.toUpperCase());if(t)return this._functionService.getDescription(U(t,this._localeService))}getSearchListByName(e){let t=this._functionService.getDescriptions(),n=e.toUpperCase().trim(),i=[];return t.forEach(e=>{let{functionName:t,abstract:a,functionType:o}=e;t.toUpperCase().indexOf(n)>-1&&o!==r.FunctionType.DefinedName&&i.push({name:t,desc:a})}),i}getSearchListByNameFirstLetter(e){let t=this._functionService.getDescriptions(),n=e.toUpperCase().trim(),r=[];return t.forEach(e=>{let{functionName:t,abstract:i,functionType:a}=e;t.toUpperCase().indexOf(n)===0&&r.push({name:t,desc:i,functionType:a})}),r}getSearchListByType(e){let t=this._functionService.getDescriptions(),n=[];return t.forEach(t=>{let{functionName:i,functionType:a,abstract:o}=t;(a===e||e===-1)&&a!==r.FunctionType.DefinedName&&n.push({name:i,desc:o})}),n}registerDescriptions(e){let n=this._localeService,r=[];return e.forEach(e=>{let t=U(e,n).toUpperCase();r.push(t),this._descriptions.set(t,e)}),this._registerDescriptions(e),(0,t.toDisposable)(()=>{this.unregisterDescriptions(r)})}unregisterDescriptions(e){let t=[];e.forEach(e=>{let n=e.toUpperCase(),r=this._descriptions.get(n);r&&(t.push(U(r,this._localeService)),this._descriptions.delete(n))}),this._functionService.unregisterDescriptions(...t)}hasDescription(e){return this._descriptions.has(e.toUpperCase())}hasDefinedNameDescription(e){let t=this._descriptions.get(e.toUpperCase());return t?t.functionType===r.FunctionType.DefinedName:!1}isFormulaDefinedName(e){let t=this._descriptions.get(e.toUpperCase());return!t||t.functionType!==r.FunctionType.DefinedName?!1:!(0,r.isReferenceStrings)(t.description)}};G=p([f(0,r.IFunctionService),f(1,(0,t.Inject)(t.LocaleService)),f(2,t.IConfigService)],G);let K=class extends t.Disposable{constructor(e,t,n,r){super(),this._descriptionService=e,this._definedNamesService=t,this._univerInstanceService=n,this._commandService=r,b(this,`_preUnitId`,null),this._initialize()}_initialize(){this._descriptionListener(),this._changeUnitListener(),this._changeSheetListener()}_descriptionListener(){this.disposeWithMe((0,t.toDisposable)(this._definedNamesService.update$.subscribe(e=>{this._updateDescriptions(e)})))}_changeUnitListener(){this.disposeWithMe((0,t.toDisposable)(this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{this._unRegisterDescriptions(),e&&this._initRegisterDescriptions(e.getUnitId())})))}_changeSheetListener(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{if(!(t!=null&&t.fromCollab)){if(e.id===n.SetWorksheetActiveOperation.id){let t=e.params;this._unregisterDescriptionsForNotInSheetId(t.unitId,t.subUnitId),this._initRegisterDescriptions(t.unitId,t.subUnitId)}else if(e.id===r.SetDefinedNameMutation.id){let t=e.params;this._registerDescription(t)}else if(e.id===r.RemoveDefinedNameMutation.id){let t=e.params;this._unregisterDescription(t)}}}))}_updateDescriptions(e){let t=(0,n.getSheetCommandTarget)(this._univerInstanceService);if(!t)return;let{unitId:i,subUnitId:a}=t,{type:o,unitId:s,definedNames:c}=e;if(s===i){if(o===`update`){let e=[];c.forEach(t=>{let{name:i,comment:o,formulaOrRefString:s,localSheetId:c}=t;(c==null||c===n.SCOPE_WORKBOOK_VALUE_DEFINED_NAME||c===a)&&e.push({functionName:i,description:s+(o||``),abstract:s,functionType:r.FunctionType.DefinedName,functionParameter:[]})}),this._descriptionService.registerDescriptions(e)}else if(o===`remove`){let e=[];c.forEach(t=>{e.push(t.name)}),this._descriptionService.unregisterDescriptions(e)}}}_registerDescription(e){let t=(0,n.getSheetCommandTarget)(this._univerInstanceService,e);if(!t)return;let{subUnitId:i}=t,{name:a,comment:o,formulaOrRefString:s,localSheetId:c}=e;this._descriptionService.hasDescription(a)||(c==null||c===n.SCOPE_WORKBOOK_VALUE_DEFINED_NAME||c===i)&&this._descriptionService.registerDescriptions([{functionName:a,description:s+(o||``),abstract:s,functionType:r.FunctionType.DefinedName,functionParameter:[]}])}_unregisterDescription(e){let{name:t}=e;this._descriptionService.unregisterDescriptions([t])}_unRegisterDescriptions(){if(this._preUnitId===null)return;let e=this._definedNamesService.getDefinedNameMap(this._preUnitId);if(!e)return;let t=[];Array.from(Object.values(e)).forEach(e=>{let{name:n}=e;t.push(n)}),this._descriptionService.unregisterDescriptions(t),this._preUnitId=null}_initRegisterDescriptions(e,t){let i=(0,n.getSheetCommandTarget)(this._univerInstanceService,{unitId:e,subUnitId:t});if(!i)return;let{unitId:a,subUnitId:o}=i,s=this._definedNamesService.getDefinedNameMap(a);if(!s)return;let c=[];this._preUnitId=a,Array.from(Object.values(s)).forEach(e=>{let{name:t,comment:i,formulaOrRefString:a,localSheetId:s}=e;this._descriptionService.hasDescription(t)||(s==null||s===n.SCOPE_WORKBOOK_VALUE_DEFINED_NAME||s===o)&&c.push({functionName:t,description:a+(i||``),abstract:a,functionType:r.FunctionType.DefinedName,functionParameter:[]})}),this._descriptionService.registerDescriptions(c)}_unregisterDescriptionsForNotInSheetId(e,t){let r=this._definedNamesService.getDefinedNameMap(e);if(!r)return;let i=[];Array.from(Object.values(r)).forEach(e=>{let{name:r,localSheetId:a}=e;a!==n.SCOPE_WORKBOOK_VALUE_DEFINED_NAME&&a!==t&&i.push(r)}),this._descriptionService.unregisterDescriptions(i)}};K=p([f(0,W),f(1,r.IDefinedNamesService),f(2,t.IUniverInstanceService),f(3,t.ICommandService)],K);let q=class extends t.Disposable{constructor(e){super(),this._commandService=e,[o,s,r.OtherFormulaMarkDirty].forEach(e=>this._commandService.registerCommand(e))}};q=p([f(0,t.ICommandService)],q);let J=class extends t.Disposable{constructor(e,t,n,r){super(),this._descriptionService=e,this._univerInstanceService=t,this._commandService=n,this._superTableService=r,b(this,`_preUnitId`,null),this._initialize()}_initialize(){this._descriptionListener(),this._changeUnitListener(),this._changeSheetListener()}_descriptionListener(){(0,t.toDisposable)(this._superTableService.update$.subscribe(()=>{this._registerDescriptions()}))}_changeUnitListener(){(0,t.toDisposable)(this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{this._unRegisterDescriptions(),e&&this._registerDescriptions()}))}_changeSheetListener(){this.disposeWithMe(this._commandService.onCommandExecuted((e,t)=>{if(!(t!=null&&t.fromCollab)){if(e.id===n.SetWorksheetActiveOperation.id)this._unregisterDescriptionsForNotInSheetId(),this._registerDescriptions();else if(e.id===r.SetSuperTableMutation.id){let t=e.params;this._registerDescription(t)}else if(e.id===r.RemoveSuperTableMutation.id){let t=e.params;this._unregisterDescription(t)}}}))}_registerDescription(e){let t=this._getUnitIdAndSheetId(e);if(!t)return;let{unitId:n}=t,{tableName:i,reference:a}=e;if(!this._descriptionService.hasDescription(i)){var o;let e=(0,r.serializeRangeWithSheet)(((o=this._univerInstanceService.getUnit(n))==null||(o=o.getSheetBySheetId(a.sheetId))==null?void 0:o.getName())||``,a.range);this._descriptionService.registerDescriptions([{functionName:i,description:e,abstract:e,functionType:r.FunctionType.Table,functionParameter:[]}])}}_unregisterDescription(e){let{tableName:t}=e;this._descriptionService.unregisterDescriptions([t])}_unRegisterDescriptions(){if(this._preUnitId==null)return;let e=this._superTableService.getTableMap(this._preUnitId);if(e==null)return;let t=[];e.forEach((e,n)=>{t.push(n)}),this._descriptionService.unregisterDescriptions(t),this._preUnitId=null}_getUnitIdAndSheetId(e={}){let{unitId:n,subUnitId:r}=e,i=n?this._univerInstanceService.getUnit(n,t.UniverInstanceType.UNIVER_SHEET):this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!i)return null;let a=r?i.getSheetBySheetId(r):i.getActiveSheet(!0);return a?{unitId:i.getUnitId(),sheetId:a.getSheetId()}:null}_registerDescriptions(){let e=this._getUnitIdAndSheetId();if(!e)return;let{unitId:t}=e,n=this._superTableService.getTableMap(t);if(!n)return;let i=[];this._preUnitId=t,n.forEach((e,n)=>{var a;let o=(0,r.serializeRangeWithSheet)(((a=this._univerInstanceService.getUnit(t))==null||(a=a.getSheetBySheetId(e.sheetId))==null?void 0:a.getName())||``,e.range);this._descriptionService.hasDescription(n)||i.push({functionName:n,description:o,abstract:o,functionType:r.FunctionType.Table,functionParameter:[]})}),this._descriptionService.registerDescriptions(i)}_unregisterDescriptionsForNotInSheetId(){let e=this._getUnitIdAndSheetId();if(!e)return;let{unitId:t}=e,n=this._superTableService.getTableMap(t);if(!n)return;let r=[];n.forEach((e,t)=>{r.push(t)}),this._descriptionService.unregisterDescriptions(r)}};J=p([f(0,W),f(1,t.IUniverInstanceService),f(2,t.ICommandService),f(3,r.ISuperTableService)],J);function lt(e,n,i,a){let o=e.sequenceNodesBuilder(n);if(o==null)return n;let s=[];for(let e=0,n=o.length;e<n;e++){let n=o[e];if(typeof n==`string`||n.nodeType!==r.sequenceNodeType.REFERENCE)continue;let{token:c}=n,l=(0,r.deserializeRangeWithSheetWithCache)(c),{sheetName:u,unitId:d}=l,f=l.range;f.startAbsoluteRefType===t.AbsoluteRefType.ALL&&f.endAbsoluteRefType===t.AbsoluteRefType.ALL||(f=(0,t.moveRangeByOffset)(f,i,a),s.push({unitId:d,sheetName:u,range:f}))}return s.map(e=>`${e.unitId}!${e.sheetName}!${e.range.startRow}!${e.range.endRow}!${e.range.startColumn}!${e.range.endColumn}`).join(`|`)}let Y=class extends t.Disposable{constructor(e,t,n,r){super(),this._refRangeService=e,this._lexerTreeBuilder=t,this._univerInstanceService=n,this._injector=r}transformFormulaByEffectCommand(e,i,a,o){let s=this._lexerTreeBuilder.sequenceNodesBuilder(a),c=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),l=c.getActiveSheet(),u=c.getUnitId(),d=l.getSheetId(),f=s==null?void 0:s.map(a=>{if(typeof a==`object`&&a.nodeType===r.sequenceNodeType.REFERENCE){let{range:s,unitId:c,sheetName:l}=(0,r.deserializeRangeWithSheetWithCache)(a.token),f=this._univerInstanceService.getUnit(c||e),p=l?f==null?void 0:f.getSheetBySheetName(l):f==null?void 0:f.getSheetBySheetId(i);if(!p)throw Error(`Sheet not found`);let m=f.getUnitId(),h=p.getSheetId();if(m!==u||h!==d)return a;let g=(0,n.handleDefaultRangeChangeWithEffectRefCommands)(s,o),_=``;if(g){let e=(0,t.moveRangeByOffset)(s,g.startColumn-s.startColumn,g.startRow-s.startRow);_=c&&l?(0,r.serializeRangeWithSpreadsheet)(c,l,e):l?(0,r.serializeRangeWithSheet)(l,e):(0,r.serializeRange)(e)}else _=r.ErrorType.REF;return{...a,token:_}}else return a});return f?`=${(0,r.generateStringWithSequence)(f)}`:``}registerFormula(e,i,a,o){let s=new Map,c=this._lexerTreeBuilder.sequenceNodesBuilder(a),l=new t.DisposableCollection,u=e=>{let i=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),a=i.getActiveSheet(),l=i.getUnitId(),u=a.getSheetId(),d=c==null?void 0:c.map(i=>{if(typeof i==`object`&&i.nodeType===r.sequenceNodeType.REFERENCE){let a=s.get(i.token);if(a.unitId!==l||a.subUnitId!==u)return i;let o=(0,n.handleDefaultRangeChangeWithEffectRefCommands)(a.range,e),c=``;if(o){let e=o.startColumn-a.range.startColumn,n=o.startRow-a.range.startRow,i=(0,t.moveRangeByOffset)(a.range,e,n);c=a.unitId&&a.sheetName?(0,r.serializeRangeWithSpreadsheet)(a.unitId,a.sheetName,i):a.sheetName?(0,r.serializeRangeWithSheet)(a.sheetName,i):(0,r.serializeRange)(i)}else c=r.ErrorType.REF;return{...i,token:c}}else return i});return o(`=${d&&(0,r.generateStringWithSequence)(d)}`)};return c==null||c.forEach(t=>{if(typeof t==`object`&&t.nodeType===r.sequenceNodeType.REFERENCE){let{range:n,unitId:a,sheetName:o}=(0,r.deserializeRangeWithSheetWithCache)(t.token),c=this._univerInstanceService.getUnit(a||e),d=o?c==null?void 0:c.getSheetBySheetName(o):c==null?void 0:c.getSheetBySheetId(i);if(!d)return;let f=c.getUnitId(),p=d.getSheetId(),m={unitId:f,subUnitId:p,range:n,sheetName:o};s.set(t.token,m),l.add(this._refRangeService.registerRefRange(n,u,f,p))}}),l}_getFormulaDependcy(e,n,i,a){let o=(0,t.isFormulaString)(i)?this._lexerTreeBuilder.sequenceNodesBuilder(i):null,s=[];return o==null||o.forEach(i=>{if(typeof i==`object`&&i.nodeType===r.sequenceNodeType.REFERENCE){let{range:o,unitId:c,sheetName:l}=(0,r.deserializeRangeWithSheetWithCache)(i.token);if(o.startAbsoluteRefType===t.AbsoluteRefType.ALL&&o.endAbsoluteRefType===t.AbsoluteRefType.ALL)return;let u=this._univerInstanceService.getUnit(c||e),d=l?u==null?void 0:u.getSheetBySheetName(l):u==null?void 0:u.getSheetBySheetId(n);if(!d)return;let f=u.getUnitId(),p=d.getSheetId(),m=a[0].startRow,h=a[0].startColumn,g=o.startRow,_=o.startColumn,v=a.map(e=>({startRow:e.startRow-m+g,endRow:e.endRow-m+g,startColumn:e.startColumn-h+_,endColumn:e.endColumn-h+_}));s.push({unitId:f,subUnitId:p,ranges:v})}}),s}registerRangeFormula(e,r,i,a,o){let s=new t.DisposableCollection,c=a.map(t=>this._getFormulaDependcy(e,r,t,i)),l=s=>{let l=(0,n.getSeparateEffectedRangesOnCommand)(this._injector,s);if(!l)return{undos:[],redos:[]};let u=i[0].startRow,d=i[0].startColumn,f=[{unitId:e,subUnitId:r,ranges:i},...c.flat()],p=[];for(let{unitId:e,subUnitId:n,ranges:r}of f)if(e===l.unitId&&n===l.subUnitId){let e=[],n=r[0].startRow,i=r[0].startColumn,a=n-u,o=i-d;for(let n of l.ranges){let i=[];for(let e of r){let r=(0,t.getIntersectRange)(n,e);r&&i.push(r)}i.length>0&&e.push(...i)}e.length>0&&p.push(e.map(e=>({startRow:e.startRow-a,endRow:e.endRow-a,startColumn:e.startColumn-o,endColumn:e.endColumn-o})))}if(p.length>0){let c=t.Rectangle.splitIntoGrid([...p.flat()]),l=t.Rectangle.subtractMulti(i,c);l.sort((e,t)=>e.startRow-t.startRow||e.startColumn-t.startColumn);let f=new Map;for(let i=0;i<c.length;i++){let o=c[i],l=o.startRow,p=o.startColumn,m=l-u,h=p-d,g=(0,n.handleCommonDefaultRangeChangeWithEffectRefCommands)(o,s).sort((e,t)=>e.startRow-t.startRow||e.startColumn-t.startColumn);if(!g.length)continue;let _=g[0].startRow,v=g[0].startColumn,y=_-u,b=v-d,x=[];for(let n=0;n<a.length;n++){let i=a[n],o=(0,t.isFormulaString)(i),c=o?this._lexerTreeBuilder.moveFormulaRefOffset(i,h,m):i,l=o?this.transformFormulaByEffectCommand(e,r,c,s):c,u=lt(this._lexerTreeBuilder,l,-b,-y);x.push({newFormula:l,orginFormula:u})}let S={formulas:x,ranges:g,key:x.map(e=>e.orginFormula).join(`_`)};f.has(S.key)?f.get(S.key).push(S):f.set(S.key,[S])}let m=a.map(e=>lt(this._lexerTreeBuilder,e,0,0)).join(`_`);if(l.length>0){let e=l[0].startRow,n=l[0].startColumn,r=[];for(let i=0;i<a.length;i++){let o=a[i];r.push({newFormula:(0,t.isFormulaString)(o)?this._lexerTreeBuilder.moveFormulaRefOffset(o,n-d,e-u):o,orginFormula:o})}let i={formulas:r,ranges:l,key:m};f.has(i.key)?f.get(i.key).push(i):f.set(i.key,[i])}let h=[],g=Array.from(f.keys());for(let e=g.length-1;e>=0;e--){let n=g[e],r=f.get(n).sort((e,t)=>e.ranges[0].startRow-t.ranges[0].startRow||e.ranges[0].startColumn-t.ranges[0].startColumn),i=[];for(let e=0;e<r[0].formulas.length;e++)i.push(r[0].formulas[e].newFormula);let a=t.Rectangle.mergeRanges(r.map(e=>e.ranges).flat());a.sort((e,t)=>e.startRow-t.startRow||e.startColumn-t.startColumn),h.push({formulas:i,ranges:a})}return o(h)}return{undos:[],redos:[]}};return i.forEach(t=>{let n=this._refRangeService.registerRefRange(t,l,e,r);s.add(n)}),[...c.flat()].forEach(({unitId:e,subUnitId:t,ranges:n})=>{n.forEach(n=>{let r=this._refRangeService.registerRefRange(n,l,e,t);s.add(r)})}),s}};Y=p([f(0,(0,t.Inject)(n.RefRangeService)),f(1,(0,t.Inject)(r.LexerTreeBuilder)),f(2,t.IUniverInstanceService),f(3,(0,t.Inject)(t.Injector))],Y);let ut=`sheets-formula.remote-register-function.service`,dt=(0,t.createIdentifier)(ut),X=class{constructor(e){this._functionService=e}async registerFunctions(e){let t=e.map(([e,t])=>ft(e,t));this._functionService.registerExecutors(...t)}async registerAsyncFunctions(e){let t=e.map(([e,t])=>pt(e,t));this._functionService.registerExecutors(...t)}async unregisterFunctions(e){this._functionService.unregisterExecutors(...e),this._functionService.unregisterDescriptions(...e),this._functionService.deleteFormulaAstCacheKey(...e)}};X=p([f(0,r.IFunctionService)],X);function ft(e,t){let n=new r.CustomFunction(t);return n.calculateCustom=Function(`return ${e}`)(),n}function pt(e,t){let n=new r.AsyncCustomFunction(t);return n.calculateCustom=Function(`return ${e}`)(),n}let mt=(0,t.createIdentifier)(`sheets-formula.register-function-service`),Z=class extends t.Disposable{constructor(e,t,n,r){super(),this._localeService=e,this._descriptionService=t,this._functionService=n,this._remoteRegisterFunctionService=r}registerFunction(e){return this._registerSingleFunction(e)}registerAsyncFunction(e){return this._registerSingleFunction({...e,async:!0})}registerFunctions(e){let{locales:n,description:i,calculate:a}=e;n&&this._localeService.load(n);let o=new t.DisposableCollection,s=i==null?a.map(([e,t,n])=>({functionName:t,functionType:r.FunctionType.User,description:``,abstract:n||``,functionParameter:[]})):i;return o.add(this._descriptionService.registerDescriptions(s)),o.add(this._registerLocalExecutors(a)),this._remoteRegisterFunctionService&&o.add(this._registerRemoteExecutors(a)),o}_registerSingleFunction(e){let{name:n,func:i,description:a,locales:o,async:s=!1}=e,c=new t.DisposableCollection;if(o&&this._localeService.load(o),typeof a==`string`){let e={functionName:n,functionType:r.FunctionType.User,description:a,abstract:a||``,functionParameter:[]};c.add(this._descriptionService.registerDescriptions([e]))}else c.add(this._descriptionService.registerDescriptions([a]));let l=s?new r.AsyncCustomFunction(n):new r.CustomFunction(n);return l.calculateCustom=i,this._functionService.registerExecutors(l),c.add((0,t.toDisposable)(()=>this._functionService.unregisterExecutors(n))),c.add((0,t.toDisposable)(()=>this._functionService.unregisterDescriptions(n))),c.add((0,t.toDisposable)(()=>this._functionService.deleteFormulaAstCacheKey(n))),this._remoteRegisterFunctionService&&(this._remoteRegisterFunctionService.registerAsyncFunctions([[i.toString(),n]]),c.add((0,t.toDisposable)(()=>this._remoteRegisterFunctionService.unregisterFunctions([n])))),c}_registerLocalExecutors(e){let n=e.map(([e,t])=>t),i=e.map(([e,t])=>{let n=new r.CustomFunction(t);return n.calculateCustom=e,n});return this._functionService.registerExecutors(...i),(0,t.toDisposable)(()=>this._functionService.unregisterExecutors(...n))}_registerRemoteExecutors(e){let n=[],r=e.map(([e,t])=>(n.push(t),[e.toString(),t]));return this._remoteRegisterFunctionService.registerFunctions(r),(0,t.toDisposable)(()=>this._remoteRegisterFunctionService.unregisterFunctions(n))}};Z=p([f(0,(0,t.Inject)(t.LocaleService)),f(1,(0,t.Inject)(W)),f(2,r.IFunctionService),f(3,(0,t.Optional)(dt))],Z);let Q=class extends t.Plugin{constructor(e=d,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{...i}=(0,t.merge)({},d,this._config);this._configService.setConfig(`sheets-formula.remote.config`,i)}onStarting(){this._injector.add([X]),this._injector.get(a.IRPCChannelService).registerChannel(ut,(0,a.fromModule)(this._injector.get(X)))}};b(Q,`pluginName`,`SHEET_FORMULA_REMOTE_PLUGIN`),b(Q,`packageName`,Ge),b(Q,`version`,Ke),b(Q,`type`,t.UniverInstanceType.UNIVER_SHEET),Q=p([(0,t.DependentOn)(r.UniverFormulaEnginePlugin),f(1,(0,t.Inject)(t.Injector)),f(2,t.IConfigService)],Q);let $=class extends t.Plugin{constructor(e=u,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{...i}=(0,t.merge)({},u,this._config);this._configService.setConfig(c,i,{merge:!0})}onStarting(){let e=this._injector,t=[[mt,{useClass:Z}],[W,{useClass:G}],[S],[C],[q],[Y],[H],[w],[D],[B],[V],[K],[z],[J],[m]];if(this._config.notExecuteFormula){let n=e.get(a.IRPCChannelService);t.push([dt,{useFactory:()=>(0,a.toModule)(n.requestChannel(ut))}])}t.forEach(t=>e.add(t))}onReady(){(0,t.touchDependencies)(this._injector,[[q],[V],[H],[w],[B],[z],[m]]),(0,t.isNodeEnv)()&&(0,t.touchDependencies)(this._injector,[[D],[C]])}onRendered(){(0,t.touchDependencies)(this._injector,[[K],[J]]),(0,t.isNodeEnv)()||(0,t.touchDependencies)(this._injector,[[D],[C]])}};b($,`pluginName`,`SHEETS_FORMULA_PLUGIN`),b($,`packageName`,Ge),b($,`version`,Ke),b($,`type`,t.UniverInstanceType.UNIVER_SHEET),$=p([(0,t.DependentOn)(n.UniverSheetsPlugin),f(1,(0,t.Inject)(t.Injector)),f(2,t.IConfigService)],$);function ht(e,t,n,i){let a=e.get(r.IFormulaCurrentConfigService),o=e.get(r.Lexer),s=e.get(r.AstTreeBuilder),c=e.get(r.Interpreter);a.load({formulaData:{},arrayFormulaCellData:{},arrayFormulaRange:{},forceCalculate:!1,dirtyRanges:[],dirtyNameMap:{},dirtyDefinedNameMap:{},dirtyUnitFeatureMap:{},excludedCell:{},allUnitData:{[n]:i},dirtyUnitOtherFormulaMap:{}});let l=o.treeBuilder(t),u=s.parse(l);return(0,r.getObjectValue)(c.execute((0,r.generateExecuteAstNodeData)(u)))}e.CalculationMode=l,Object.defineProperty(e,"DescriptionService",{enumerable:!0,get:function(){return G}}),Object.defineProperty(e,"FormulaAutoFillController",{enumerable:!0,get:function(){return m}}),Object.defineProperty(e,"FormulaCalculationSessionController",{enumerable:!0,get:function(){return C}}),e.FormulaCalculationSessionService=S,Object.defineProperty(e,"FormulaRefRangeService",{enumerable:!0,get:function(){return Y}}),e.IDescriptionService=W,e.IRegisterFunctionService=mt,e.IRemoteRegisterFunctionService=dt,Object.defineProperty(e,"ImageFormulaCellInterceptorController",{enumerable:!0,get:function(){return w}}),e.InsertFunctionCommand=o,e.PLUGIN_CONFIG_KEY_BASE=c,e.QuickSumCommand=s,Object.defineProperty(e,"RegisterFunctionService",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(e,"RemoteRegisterFunctionService",{enumerable:!0,get:function(){return X}}),Object.defineProperty(e,"TriggerCalculationController",{enumerable:!0,get:function(){return D}}),Object.defineProperty(e,"UniverRemoteSheetsFormulaPlugin",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(e,"UniverSheetsFormulaPlugin",{enumerable:!0,get:function(){return $}}),Object.defineProperty(e,"UpdateDefinedNameController",{enumerable:!0,get:function(){return z}}),Object.defineProperty(e,"UpdateFormulaController",{enumerable:!0,get:function(){return B}}),e.calculateFormula=ht});
40
-
41
- // @univerjs/sheets-formula/facade
42
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/engine-formula"),require("@univerjs/sheets-formula"),require("@univerjs/engine-formula/facade"),require("@univerjs/sheets/facade")):typeof define==`function`&&define.amd?define([`@univerjs/core`,`@univerjs/core/facade`,`@univerjs/engine-formula`,`@univerjs/sheets-formula`,`@univerjs/engine-formula/facade`,`@univerjs/sheets/facade`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverCore,e.UniverCoreFacade,e.UniverEngineFormula,e.UniverSheetsFormula,e.UniverEngineFormulaFacade,e.UniverSheetsFacade))})(this,function(e,t,n,r,i,a){var o=class extends t.FUniver{_initialize(){this._debouncedFormulaCalculation=(0,e.debounce)(()=>{this._commandService.executeCommand(n.SetTriggerFormulaCalculationStartMutation.id,{commands:[],forceCalculation:!0},{onlyLocal:!0})},10)}registerFunction(e){let t=this._injector.get(r.IRegisterFunctionService);t||(this._injector.add([r.IRegisterFunctionService,{useClass:r.RegisterFunctionService}]),t=this._injector.get(r.IRegisterFunctionService));let n=t.registerFunctions(e);return this._debouncedFormulaCalculation(),n}};t.FUniver.extend(o);var s=class extends i.FFormula{_initialize(){this._debouncedFormulaCalculation=(0,e.debounce)(()=>{this._commandService.executeCommand(n.SetTriggerFormulaCalculationStartMutation.id,{commands:[],forceCalculation:!0},{onlyLocal:!0})},10)}setInitialFormulaComputing(t){let n=this._injector.get(e.LifecycleService).stage,i=this._injector.get(e.ILogService),a=this._injector.get(e.IConfigService);n>e.LifecycleStages.Starting&&i.warn(`[FFormula]`,`CalculationMode is called after the Starting lifecycle and will take effect the next time the Univer Sheet is constructed. If you want it to take effect when the Univer Sheet is initialized this time, consider calling it before the Ready lifecycle or using configuration.`);let o=a.getConfig(r.PLUGIN_CONFIG_KEY_BASE);if(!o){a.setConfig(r.PLUGIN_CONFIG_KEY_BASE,{initialFormulaComputing:t});return}o.initialFormulaComputing=t}registerFunction(e,t,n){var i;let a=this._injector.get(r.IRegisterFunctionService);a||(this._injector.add([r.IRegisterFunctionService,{useClass:r.RegisterFunctionService}]),a=this._injector.get(r.IRegisterFunctionService));let o={name:e,func:t,description:typeof n==`string`?n:(i=n==null?void 0:n.description)==null?``:i,locales:typeof n==`object`?n.locales:void 0},s=a.registerFunction(o);return this._debouncedFormulaCalculation(),s}registerAsyncFunction(e,t,n){var i;let a=this._injector.get(r.IRegisterFunctionService);a||(this._injector.add([r.IRegisterFunctionService,{useClass:r.RegisterFunctionService}]),a=this._injector.get(r.IRegisterFunctionService));let o={name:e,func:t,description:typeof n==`string`?n:(i=n==null?void 0:n.description)==null?``:i,locales:typeof n==`object`?n.locales:void 0},s=a.registerAsyncFunction(o);return this._debouncedFormulaCalculation(),s}calculationResultApplied(e){let t=this._injector.get(r.FormulaCalculationSessionService).resultApplied$.subscribe(t=>{requestIdleCallback(()=>{e(t)})});return{dispose:()=>t.unsubscribe()}}onCalculationResultApplied(e){return this._injector.get(r.FormulaCalculationSessionService).waitForLatestApplied(e)}};i.FFormula.extend(s);var c=class extends t.FEnum{get CalculationMode(){return r.CalculationMode}};t.FEnum.extend(c);var l=class extends a.FWorkbook{getAllFormulaError(){let e=[],t=this._workbook,r=t.getUnitId(),i=t.getSheets(),a=this._injector.get(n.FormulaDataModel).getArrayFormulaCellData();return i.forEach(t=>{var i;let o=t.getName(),s=t.getSheetId(),c=t.getCellMatrix(),l=(a==null||(i=a[r])==null?void 0:i[s])||{};c.forValue((t,r,i)=>{var a;if(!i)return;let s=(0,n.extractFormulaError)(i,!!(!(l==null||(a=l[t])==null)&&a[r]));s&&e.push({sheetName:o,row:t,column:r,formula:i.f||``,errorType:s})})}),e}};a.FWorkbook.extend(l);var u=class extends a.FRange{getFormulaError(){var e;let t=[],r=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),a=this._worksheet.getName(),o=this._workbook.getSheetBySheetId(i);if(!o)return t;let s=this._injector.get(n.FormulaDataModel).getArrayFormulaCellData(),c=(s==null||(e=s[r])==null?void 0:e[i])||{},l=o.getCellMatrix(),{startRow:u,endRow:d,startColumn:f,endColumn:p}=this._range;for(let e=u;e<=d;e++)for(let r=f;r<=p;r++){var m;let i=l.getValue(e,r);if(!i)continue;let o=(0,n.extractFormulaError)(i,!!(!(c==null||(m=c[e])==null)&&m[r]));o&&t.push({sheetName:a,row:e,column:r,formula:i.f||``,errorType:o})}return t}};a.FRange.extend(u)});
43
-
44
- // @univerjs/sheets-hyper-link/index
45
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/docs"),require("@univerjs/sheets"),require("rxjs"),require("@univerjs/engine-formula")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/docs`,`@univerjs/sheets`,`rxjs`,`@univerjs/engine-formula`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsHyperLink={},e.UniverCore,e.UniverDocs,e.UniverSheets,e.rxjs,e.UniverEngineFormula))})(this,function(e,t,n,r,i,a){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function o(e){"@babel/helpers - typeof";return o=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},o(e)}function s(e,t){if(o(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(o(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function c(e){var t=s(e,`string`);return o(t)==`symbol`?t:t+``}function l(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e,t){return function(n,r){t(n,r,e)}}function d(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 f=class extends t.Disposable{constructor(e){super(),this._univerInstanceService=e,l(this,`_linkUpdate$`,new i.Subject),l(this,`linkUpdate$`,this._linkUpdate$.asObservable()),l(this,`_linkMap`,new Map),l(this,`_linkPositionMap`,new Map),this.disposeWithMe({dispose:()=>{this._linkUpdate$.complete()}})}_ensureMap(e,n){let r=this._linkMap.get(e);r||(r=new Map,this._linkMap.set(e,r));let i=r.get(n);i||(i=new t.ObjectMatrix,r.set(n,i));let a=this._linkPositionMap.get(e);a||(a=new Map,this._linkPositionMap.set(e,a));let o=a.get(n);return o||(o=new Map,a.set(n,o)),{matrix:i,positionMap:o}}addHyperLink(e,t,n){let{matrix:r,positionMap:i}=this._ensureMap(e,t);return r.setValue(n.row,n.column,n),i.set(n.id,{row:n.row,column:n.column,link:n}),this._linkUpdate$.next({unitId:e,subUnitId:t,payload:n,type:`add`}),!0}updateHyperLink(e,t,n,r,i=!1){let{matrix:a,positionMap:o}=this._ensureMap(e,t),s=o.get(n);if(!s)return!0;let c=a.getValue(s.row,s.column);return c?(Object.assign(c,r),this._linkUpdate$.next({unitId:e,subUnitId:t,payload:{display:c.display,payload:c.payload},id:n,type:`update`,silent:i}),!0):!0}updateHyperLinkRef(e,t,n,r,i=!1){let{matrix:a,positionMap:o}=this._ensureMap(e,t),s=o.get(n);if(!s)return!0;let c=a.getValue(s.row,s.column);return!c||c.id!==n?c=s.link:a.realDeleteValue(s.row,s.column),Object.assign(c,r),o.set(n,{...r,link:c}),a.setValue(r.row,r.column,c),this._linkUpdate$.next({unitId:e,subUnitId:t,payload:r,id:n,type:`updateRef`,silent:i}),!0}removeHyperLink(e,t,n){let{matrix:r,positionMap:i}=this._ensureMap(e,t),a=i.get(n);if(!a)return!1;i.delete(n);let o=r.getValue(a.row,a.column);return o&&o.id===n&&r.realDeleteValue(a.row,a.column),this._linkUpdate$.next({unitId:e,subUnitId:t,payload:a.link,type:`remove`}),!0}getHyperLink(e,t,n){let{matrix:r,positionMap:i}=this._ensureMap(e,t),a=i.get(n);if(a)return r.getValue(a.row,a.column)}getHyperLinkByLocation(e,t,n,r){let{matrix:i}=this._ensureMap(e,t);return i.getValue(n,r)}getHyperLinkByLocationSync(e,n,r,i){var a,o,s,c;let{matrix:l}=this._ensureMap(e,n),u=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET),d=u==null||(a=u.getSheetBySheetId(n))==null?void 0:a.getCellRaw(r,i),f=((o=(s=d==null?void 0:d.v)==null?d==null||(c=d.p)==null||(c=c.body)==null?void 0:c.dataStream.slice(0,-2):s)==null?``:o).toString(),p=l.getValue(r,i);if(p)return{...p,display:f}}getSubUnit(e,t){let{matrix:n}=this._ensureMap(e,t),r=[];return n.forValue((e,t,n)=>{n&&r.push(n)}),r}getUnit(e){let t=this._linkMap.get(e);return t?Array.from(t.keys()).map(t=>({unitId:e,subUnitId:t,links:this.getSubUnit(e,t)})):[]}deleteUnit(e){let t=this.getUnit(e);this._linkMap.delete(e),this._linkPositionMap.delete(e),this._linkUpdate$.next({type:`unload`,unitId:e,unitLinks:t})}getAll(){return Array.from(this._linkMap.keys()).map(e=>this.getUnit(e))}};f=d([u(0,t.IUniverInstanceService)],f);let p={type:t.CommandType.MUTATION,id:`sheets.mutation.add-hyper-link`,handler(e,t){if(!t)return!1;let n=e.get(f),{unitId:r,subUnitId:i,link:a}=t;return n.addHyperLink(r,i,a)}},m={type:t.CommandType.MUTATION,id:`sheets.mutation.remove-hyper-link`,handler(e,t){if(!t)return!1;let n=e.get(f),{unitId:r,subUnitId:i,id:a}=t;return n.removeHyperLink(r,i,a)}},h={type:t.CommandType.COMMAND,id:`sheets.command.add-hyper-link`,async handler(e,n){if(!n)return!1;let i=e.get(t.ICommandService),a=e.get(t.IUndoRedoService),o=e.get(t.IUniverInstanceService),s=e.get(f),c=e.get(r.SheetInterceptorService),l=(0,r.getSheetCommandTarget)(o,n);if(!l)return!1;let{unitId:u,subUnitId:d,workbook:h,worksheet:g}=l,{link:_}=n,{payload:v,display:y,row:b,column:x,id:S}=_,C=g.getCell(b,x),w=g.getBlankCellDocumentModel(C,b,x),T=w.documentModel.getSnapshot(),E=t.Tools.deepClone(T.body);if(!E)return!1;let D;if(D=y?t.BuildTextUtils.selection.replace({selection:{startOffset:0,endOffset:E.dataStream.length-2,collapsed:E.dataStream.length-2==0},body:{dataStream:`${y}`,customRanges:[{startIndex:0,endIndex:y.length-1,rangeType:t.CustomRangeType.HYPERLINK,rangeId:S,properties:{url:v}}]},doc:w.documentModel}):t.BuildTextUtils.customRange.add({body:E,ranges:[{startOffset:0,endOffset:E.dataStream.length-2,collapsed:!1}],rangeId:S,rangeType:t.CustomRangeType.HYPERLINK,properties:{url:v,refId:S}}),!D)return!1;let O=t.TextX.apply(E,D.serialize()),k={p:{...T,body:O},t:t.CellValueType.STRING},A=c.onWriteCell(h,g,b,x,k),j={unitId:u,subUnitId:d,cellValue:{[_.row]:{[_.column]:A}}},M={id:r.SetRangeValuesMutation.id,params:j},N=(0,r.SetRangeValuesUndoMutationFactory)(e,j),P={id:r.SetRangeValuesMutation.id,params:N},F=[M],I=[P],L=s.getHyperLinkByLocation(u,d,b,x);return L&&(F.push({id:m.id,params:{unitId:u,subUnitId:d,id:L.id}}),I.push({id:p.id,params:{unitId:u,subUnitId:d,link:L}})),await(0,t.sequenceExecute)(F,i)?await c.onValidateCell(h,g,b,x)===!1?((0,t.sequenceExecute)(I,i),!1):(a.pushUndoRedo({redoMutations:F,undoMutations:I,unitID:u}),!0):!1}},g={id:`sheets.command.add-rich-hyper-link`,type:t.CommandType.COMMAND,handler:async(e,r)=>{if(!r)return!1;let{documentId:i,link:a}=r,o=e.get(t.ICommandService),s=(0,t.generateRandomId)(),{payload:c}=a,l=(0,n.addCustomRangeBySelectionFactory)(e,{unitId:i,rangeId:s,rangeType:t.CustomRangeType.HYPERLINK,properties:{url:c,refId:s}});return l?o.syncExecuteCommand(l.id,l.params):!1}},_={type:t.CommandType.COMMAND,id:`sheets.command.cancel-hyper-link`,handler(e,n){var i;if(!n)return!1;let a=e.get(t.ICommandService),o=e.get(t.IUndoRedoService),s=e.get(t.IUniverInstanceService),c=e.get(f),l=(0,r.getSheetCommandTarget)(s,n);if(!l)return!1;let{row:u,column:d,id:h}=n,{unitId:g,subUnitId:_,worksheet:v}=l,y=v.getCell(u,d);if(!y)return!1;let b=v.getCellDocumentModelWithFormula(y,u,d);if(!(b!=null&&b.documentModel))return!1;let x=t.Tools.deepClone(b.documentModel.getSnapshot()),S=(i=x.body)==null||(i=i.customRanges)==null?void 0:i.find(e=>`${e.rangeId}`===h);if(!S)return!1;let C=t.BuildTextUtils.customRange.delete({documentDataModel:b.documentModel,rangeId:S.rangeId});if(!C)return!1;let w=t.TextX.apply(x.body,C.serialize()),T=[],E=[],D={unitId:g,subUnitId:_,cellValue:{[u]:{[d]:{p:{...x,body:w},t:t.CellValueType.STRING}}}};T.push({id:r.SetRangeValuesMutation.id,params:D});let O=(0,r.SetRangeValuesUndoMutationFactory)(e,D);E.push({id:r.SetRangeValuesMutation.id,params:O});let k=c.getHyperLinkByLocation(g,_,u,d);return k&&(T.push({id:m.id,params:{unitId:g,subUnitId:_,id:k.id}}),E.push({id:p.id,params:{unitId:g,subUnitId:_,link:{...k}}})),(0,t.sequenceExecute)(T,a).result?(o.pushUndoRedo({redoMutations:T,undoMutations:E,unitID:g}),!0):!1}},v={type:t.CommandType.COMMAND,id:`sheets.command.cancel-rich-hyper-link`,handler(e,r){var i;if(!r)return!1;let{id:a,documentId:o}=r,s=e.get(t.ICommandService),c=e.get(t.IUniverInstanceService).getUnit(o,t.UniverInstanceType.UNIVER_DOC),l=c==null||(i=c.getBody())==null||(i=i.customRanges)==null?void 0:i.find(e=>e.rangeId===a),u=null;l&&l.endIndex===c.getBody().dataStream.length-3&&(u={dataStream:` `});let d=(0,n.deleteCustomRangeFactory)(e,{unitId:o,rangeId:a,insert:u});return d?s.syncExecuteCommand(d.id,d.params):!1}},y={type:t.CommandType.COMMAND,id:`sheets.command.update-hyper-link`,async handler(e,i){var a,o;if(!i)return!1;let s=e.get(t.ICommandService),c=e.get(t.IUndoRedoService),l=e.get(t.IUniverInstanceService),u=e.get(f),d=e.get(r.SheetInterceptorService),h=(0,r.getSheetCommandTarget)(l,{unitId:i.unitId,subUnitId:i.subUnitId});if(!h)return!1;let{payload:g,row:_,column:v,id:y}=i,{workbook:b,worksheet:x,unitId:S,subUnitId:C}=h,{payload:w,display:T=``}=g,E=x.getCell(_,v);if(!E)return!1;let D=x.getCellDocumentModelWithFormula(E,_,v);if(!(D!=null&&D.documentModel))return!1;let O=D.documentModel.getSnapshot(),k=(a=O.body)==null||(a=a.customRanges)==null?void 0:a.find(e=>`${e.rangeId}`===y);if(!k)return!1;let A=(0,t.generateRandomId)(),j=(o=(0,t.getBodySlice)(D.documentModel.getBody(),k.startIndex,k.endIndex+1).textRuns)==null?void 0:o[0];j&&(j.ed=T.length+1);let M=(0,n.replaceSelectionFactory)(e,{unitId:S,body:{dataStream:`${T}`,customRanges:[{rangeId:A,rangeType:t.CustomRangeType.HYPERLINK,startIndex:0,endIndex:T.length-1,properties:{url:w}}],textRuns:j?[j]:void 0},selection:{startOffset:k.startIndex,endOffset:k.endIndex+1,collapsed:!1},doc:D.documentModel});if(!M)return!1;let N=t.TextX.apply(t.Tools.deepClone(O.body),M.textX.serialize()),P={p:{...O,body:N},t:t.CellValueType.STRING},F=d.onWriteCell(b,x,_,v,P),I={id:r.SetRangeValuesMutation.id,params:{unitId:S,subUnitId:C,cellValue:{[_]:{[v]:F}}}},L=(0,r.SetRangeValuesUndoMutationFactory)(e,I.params),R={id:r.SetRangeValuesMutation.id,params:L},z=[I],B=[R],V=u.getHyperLinkByLocation(S,C,_,v);return V&&(z.push({id:m.id,params:{unitId:S,subUnitId:C,id:V.id}}),B.push({id:p.id,params:{unitId:S,subUnitId:C,link:V}})),(0,t.sequenceExecute)(z,s).result?await d.onValidateCell(b,x,_,v)===!1?((0,t.sequenceExecute)(B,s),!1):(c.pushUndoRedo({redoMutations:z,undoMutations:B,unitID:S}),!0):!1}},b={type:t.CommandType.COMMAND,id:`sheets.command.update-rich-hyper-link`,handler:(e,r)=>{var i,a,o;if(!r)return!1;let{documentId:s,payload:c,id:l}=r,u=e.get(t.IUniverInstanceService),d=e.get(t.ICommandService),f=u.getUnit(s,t.UniverInstanceType.UNIVER_DOC);if(!f)return!1;let p=(i=f.getBody())==null||(i=i.customRanges)==null?void 0:i.find(e=>e.rangeId===l);if(!p)return!1;let m=(a=r.payload.display)==null?``:a,h=(0,t.generateRandomId)(),g=(o=(0,t.getBodySlice)(f.getBody(),p.startIndex,p.endIndex+1).textRuns)==null?void 0:o[0];g&&(g.ed=m.length+1);let _=(0,n.replaceSelectionFactory)(e,{unitId:s,body:{dataStream:`${m}`,customRanges:[{rangeId:h,rangeType:t.CustomRangeType.HYPERLINK,startIndex:0,endIndex:m.length-1,properties:{url:c.payload}}],textRuns:g?[g]:void 0},selection:{startOffset:p.startIndex,endOffset:p.endIndex+1,collapsed:!1},doc:f});return _?d.syncExecuteCommand(_.id,_.params):!1}},x={type:t.CommandType.MUTATION,id:`sheets.mutation.update-hyper-link`,handler(e,t){if(!t)return!1;let n=e.get(f),{unitId:r,subUnitId:i,payload:a,id:o}=t;return n.updateHyperLink(r,i,o,a,!1)}},S={type:t.CommandType.MUTATION,id:`sheets.mutation.update-hyper-link-ref`,handler(e,t){if(!t)return!1;let n=e.get(f),{unitId:r,subUnitId:i,id:a,row:o,column:s,silent:c}=t;return n.updateHyperLinkRef(r,i,a,{row:o,column:s},c)}},C={type:t.CommandType.MUTATION,id:`sheets.mutation.update-rich-hyper-link`,handler(e,n){var i;if(!n)return!1;let{unitId:a,subUnitId:o,row:s,col:c,id:l,url:u}=n,d=(0,r.getSheetCommandTarget)(e.get(t.IUniverInstanceService),{unitId:a,subUnitId:o});if(!d)return!1;let{worksheet:f}=d,p=f.getCellRaw(s,c),m=p==null||(i=p.p)==null||(i=i.body)==null||(i=i.customRanges)==null?void 0:i.find(e=>e.rangeType===t.CustomRangeType.HYPERLINK&&e.rangeId===l);return m&&(m.properties.url=u),!0}};var w=`@univerjs/sheets-hyper-link`,T=`0.25.0`;let E={},D=class extends t.Disposable{constructor(e,t,n,r){super(),this._refRangeService=e,this._hyperLinkModel=t,this._selectionManagerService=n,this._commandService=r,l(this,`_disposableMap`,new Map),l(this,`_watchDisposableMap`,new Map),l(this,`_rangeDisableMap`,new Map),l(this,`_rangeWatcherMap`,new Map),l(this,`_handlePositionChange`,(e,t,n,r,i)=>{let a={startColumn:n.column,endColumn:n.column,startRow:n.row,endRow:n.row};return r?{redos:[{id:S.id,params:{unitId:e,subUnitId:t,id:n.id,row:r.startRow,column:r.startColumn,silent:i}}],undos:[{id:S.id,params:{unitId:e,subUnitId:t,id:n.id,row:a.startRow,column:a.startColumn,silent:i}}]}:{redos:[{id:m.id,params:{unitId:e,subUnitId:t,id:n.id}}],undos:[{id:p.id,params:{unitId:e,subUnitId:t,link:n}}]}}),this._initData(),this._initRefRange()}_registerPosition(e,t,n){let i=n.id,a={startColumn:n.column,endColumn:n.column,startRow:n.row,endRow:n.row};this._disposableMap.set(i,this._refRangeService.registerRefRange(a,i=>{let o=(0,r.handleCommonRangeChangeWithEffectRefCommandsSkipNoInterests)(a,i,{selectionManagerService:this._selectionManagerService}),s=Array.isArray(o)?o[0]:o;return s&&s.startColumn===a.startColumn&&s.startRow===a.startRow?{undos:[],redos:[]}:this._handlePositionChange(e,t,n,s,!1)},e,t))}_watchPosition(e,n,r){let i=r.id,a={startColumn:r.column,endColumn:r.column,startRow:r.row,endRow:r.row};this._watchDisposableMap.set(i,this._refRangeService.watchRange(e,n,a,(i,a)=>{let{redos:o}=this._handlePositionChange(e,n,r,a,!0);(0,t.sequenceExecuteAsync)(o,this._commandService,{onlyLocal:!0})},!0))}_unregisterPosition(e){let t=this._disposableMap.get(e);t==null||t.dispose(),this._disposableMap.delete(e)}_unwatchPosition(e){let t=this._watchDisposableMap.get(e);t==null||t.dispose(),this._watchDisposableMap.delete(e)}_registerRange(e,n,i,o=!1){if(i.startsWith(`#`)){var s,c,l;let u=new URLSearchParams(i.slice(1)),d={gid:(s=u.get(`gid`))==null?``:s,range:(c=u.get(`range`))==null?``:c,rangeid:(l=u.get(`rangeid`))==null?``:l};if(d.range&&d.gid){let s=d.gid,c=(0,a.deserializeRangeWithSheet)(d.range).range;(0,t.isValidRange)(c)&&d.range!==`err`&&(this._rangeDisableMap.set(n,this._refRangeService.registerRefRange(c,t=>{let o=(0,r.handleDefaultRangeChangeWithEffectRefCommandsSkipNoInterests)(c,t,{selectionManagerService:this._selectionManagerService});return o&&(0,a.serializeRange)(o)===(0,a.serializeRange)(c)?{redos:[],undos:[]}:{redos:[{id:x.id,params:{unitId:e,subUnitId:s,id:n,payload:{payload:`#gid=${s}&range=${o?(0,a.serializeRange)(o):`err`}`}}}],undos:[{id:x.id,params:{unitId:e,subUnitId:s,id:n,payload:{payload:i}}}]}},e,s)),o||this._rangeWatcherMap.set(n,this._refRangeService.watchRange(e,s,c,(t,r)=>{this._hyperLinkModel.updateHyperLink(e,s,n,{payload:`#gid=${s}&range=${r?(0,a.serializeRange)(r):`err`}`},!0)},!0)))}}}_unregisterRange(e){let t=this._rangeDisableMap.get(e);t==null||t.dispose(),this._rangeDisableMap.delete(e)}_unwatchRange(e){let t=this._rangeWatcherMap.get(e);t==null||t.dispose(),this._rangeWatcherMap.delete(e)}_initData(){this._hyperLinkModel.getAll().forEach(e=>{e.forEach(e=>{let{unitId:t,subUnitId:n,links:r}=e;r.forEach(e=>{this._registerPosition(t,n,e),this._watchPosition(t,n,e),this._registerRange(t,e.id,e.payload)})})})}_initRefRange(){this.disposeWithMe(this._hyperLinkModel.linkUpdate$.subscribe(e=>{switch(e.type){case`add`:this._registerPosition(e.unitId,e.subUnitId,e.payload),this._watchPosition(e.unitId,e.subUnitId,e.payload),this._registerRange(e.unitId,e.payload.id,e.payload.payload);break;case`remove`:this._unregisterPosition(e.payload.id),this._unwatchPosition(e.payload.id),this._unregisterRange(e.payload.id),this._unwatchRange(e.payload.id);break;case`updateRef`:{let{unitId:t,subUnitId:n,id:r,silent:i}=e,a=this._hyperLinkModel.getHyperLink(t,n,r);if(!a)return;this._unregisterPosition(r),this._registerPosition(t,n,a),i||(this._unwatchPosition(r),this._watchPosition(t,n,a));break}case`unload`:{let{unitLinks:t}=e;t.forEach(e=>{let{links:t}=e;t.forEach(e=>{this._unregisterPosition(e.id),this._unwatchPosition(e.id),this._unregisterRange(e.id),this._unwatchRange(e.id)})});break}case`update`:e.silent||this._unwatchRange(e.id),this._unregisterRange(e.id),this._registerRange(e.unitId,e.id,e.payload.payload,e.silent);break}})),this.disposeWithMe((0,t.toDisposable)(()=>{this._disposableMap.forEach(e=>{e.dispose()}),this._disposableMap.clear()}))}};D=d([u(0,(0,t.Inject)(r.RefRangeService)),u(1,(0,t.Inject)(f)),u(2,(0,t.Inject)(r.SheetsSelectionsService)),u(3,t.ICommandService)],D);let O=class extends t.Disposable{constructor(e,t,n){super(),this._sheetInterceptorService=e,this._univerInstanceService=t,this._hyperLinkModel=n,this._initSheetChange()}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===r.RemoveSheetCommand.id){var n;let r=e.params,i=r.unitId?this._univerInstanceService.getUnit(r.unitId):this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET);if(!i)return{redos:[],undos:[]};let a=i.getUnitId(),o=r.subUnitId||((n=i.getActiveSheet())==null?void 0:n.getSheetId());if(!o)return{redos:[],undos:[]};let s=this._hyperLinkModel.getSubUnit(a,o);return{redos:s.map(e=>({id:m.id,params:{unitId:a,subUnitId:o,id:e.id}})),undos:s.map(e=>({id:p.id,params:{unitId:a,subUnitId:o,link:e}}))}}return{redos:[],undos:[]}}}))}};O=d([u(0,(0,t.Inject)(r.SheetInterceptorService)),u(1,t.IUniverInstanceService),u(2,(0,t.Inject)(f))],O);let k=class extends t.Disposable{constructor(e,t,n){super(),this._commandService=e,this._univerInstanceService=t,this._refRangeService=n,l(this,`_refRangeMap`,new Map),this._initWorkbookLoad(),this._initWorkbookUnload(),this._initSetRangesListener()}_enusreMap(e,n){let r=this._refRangeMap.get(e);r||(r=new Map,this._refRangeMap.set(e,r));let i=r.get(n);return i||(i=new t.ObjectMatrix,r.set(n,i)),i}_isLegalRangeUrl(e,n){let r=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_SHEET);if(!r)return null;if(n&&n.startsWith(`#`)){var i,o,s;let e=new URLSearchParams(n.slice(1)),c={gid:(i=e.get(`gid`))==null?``:i,range:(o=e.get(`range`))==null?``:o,rangeid:(s=e.get(`rangeid`))==null?``:s};if(c.range&&c.gid){let e=c.gid,n=r.getSheetBySheetId(e);if(!n)return null;let i=(0,a.deserializeRangeWithSheet)(c.range).range;if((0,t.isValidRange)(i,n)&&c.range!==`err`)return{range:i,worksheet:n}}}return null}_registerRange(e,n,i,o,s){var c;let l=this._enusreMap(e,n);if(!((c=s.body)==null||(c=c.customRanges)==null)&&c.some(n=>{var r;return n.rangeType===t.CustomRangeType.HYPERLINK&&this._isLegalRangeUrl(e,(r=n.properties)==null?void 0:r.url)})){var u;let c=new t.DisposableCollection,d=!1;(u=s.body)==null||(u=u.customRanges)==null||u.forEach(s=>{if(s.rangeType===t.CustomRangeType.HYPERLINK){var l;let u=(l=s.properties)==null?void 0:l.url,f=this._isLegalRangeUrl(e,u);if(f){let{range:l,worksheet:p}=f;d=!0,c.add(this._refRangeService.registerRefRange(l,c=>{let d=(0,r.handleDefaultRangeChangeWithEffectRefCommands)(l,c);return d&&t.Rectangle.equals(d,l)?{preRedos:[],preUndos:[],redos:[],undos:[]}:{preRedos:[{id:C.id,params:{unitId:e,subUnitId:n,row:i,col:o,id:s.rangeId,url:`#gid=${n}&range=${d?(0,a.serializeRange)(d):`err`}`}}],undos:[{id:C.id,params:{unitId:e,subUnitId:n,row:i,col:o,id:s.rangeId,url:u}}],redos:[]}},p.getUnitId(),p.getSheetId()))}}}),d&&l.setValue(i,o,c)}}_initWorkbookLoad(){let e=e=>{let t=e.getUnitId();e.getSheets().forEach(e=>{let n=e.getSheetId(),r=this._enusreMap(t,n);e.getCellMatrix().forValue((e,i,a)=>{let o=r.getValue(e,i);o&&o.dispose(),a&&a.p&&this._registerRange(t,n,e,i,a.p)})})};this._univerInstanceService.getAllUnitsForType(t.UniverInstanceType.UNIVER_SHEET).forEach(t=>{e(t)}),this.disposeWithMe(this._univerInstanceService.unitAdded$.subscribe(n=>{let{unit:r}=n;r.type===t.UniverInstanceType.UNIVER_SHEET&&e(r)}))}_initWorkbookUnload(){this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(e=>{if(e.type===t.UniverInstanceType.UNIVER_SHEET){let t=e,n=t.getUnitId();t.getSheets().forEach(e=>{let t=e.getSheetId();this._enusreMap(n,t).forValue((e,t,n)=>{n&&n.dispose()})}),this._refRangeMap.delete(n)}}))}_initSetRangesListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===r.SetRangeValuesMutation.id){let{unitId:n,subUnitId:r,cellValue:i}=e.params,a=this._enusreMap(n,r);i&&new t.ObjectMatrix(i).forValue((e,t,i)=>{let o=a.getValue(e,t);o&&o.dispose(),i&&i.p&&this._registerRange(n,r,e,t,i.p)})}})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===C.id){let{unitId:t,subUnitId:n,row:i,col:a}=e.params,o=(0,r.getSheetCommandTarget)(this._univerInstanceService,{unitId:t,subUnitId:n}),s=this._enusreMap(t,n).getValue(i,a);if(s&&s.dispose(),o){let{worksheet:e}=o,r=e.getCellRaw(i,a);r&&r.p&&this._registerRange(t,n,i,a,r.p)}}}))}};k=d([u(0,t.ICommandService),u(1,t.IUniverInstanceService),u(2,(0,t.Inject)(r.RefRangeService))],k);let A=class extends t.Disposable{constructor(e,t,n,r){super(),this._sheetInterceptorService=e,this._hyperLinkModel=t,this._selectionManagerService=n,this._univerInstanceService=r,this._initCommandInterceptor(),this._initAfterEditor()}_initCommandInterceptor(){this._initSetRangeValuesCommandInterceptor(),this._initClearSelectionCommandInterceptor()}_initSetRangeValuesCommandInterceptor(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===r.SetRangeValuesCommand.id){let n=e.params,{unitId:r,subUnitId:i}=n,a=[],o=[];return n.cellValue&&new t.ObjectMatrix(n.cellValue).forValue((e,t)=>{let n=this._hyperLinkModel.getHyperLinkByLocation(r,i,e,t);n&&(a.push({id:m.id,params:{unitId:r,subUnitId:i,id:n.id}}),o.push({id:p.id,params:{unitId:r,subUnitId:i,link:n}}))}),{undos:o,redos:a}}return{redos:[],undos:[]}}}))}_initClearSelectionCommandInterceptor(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===r.ClearSelectionContentCommand.id||e.id===r.ClearSelectionAllCommand.id||e.id===r.ClearSelectionFormatCommand.id){let n=[],i=[],a=this._selectionManagerService.getCurrentLastSelection(),o=(0,r.getSheetCommandTarget)(this._univerInstanceService,e.params);if(a&&o){let{unitId:e,subUnitId:r}=o;t.Range.foreach(a.range,(t,a)=>{let o=this._hyperLinkModel.getHyperLinkByLocation(e,r,t,a);o&&(n.push({id:m.id,params:{unitId:e,subUnitId:r,id:o.id}}),i.push({id:p.id,params:{unitId:e,subUnitId:r,link:o}}))})}return{redos:n,undos:i}}return{redos:[],undos:[]}}}))}_initAfterEditor(){this.disposeWithMe(this._sheetInterceptorService.writeCellInterceptor.intercept(r.AFTER_CELL_EDIT,{handler:(e,n,r)=>{if(!e||e.p)return r(e);if(typeof e.v==`string`&&t.Tools.isLegalUrl(e.v)&&e.v[e.v.length-1]!==` `){let{unitId:i,subUnitId:a,row:o,col:s}=n,c=t.Tools.normalizeUrl(e.v),l=this._univerInstanceService.getUnit(i,t.UniverInstanceType.UNIVER_SHEET),u=l==null?void 0:l.getSheetBySheetId(a);if(!u)return r(e);let d=u.getBlankCellDocumentModel(e,o,s);if(!d.documentModel)return r(e);let f=t.BuildTextUtils.selection.replace({selection:{startOffset:0,endOffset:e.v.length,collapsed:!1},body:{dataStream:`${e.v}`,customRanges:[{startIndex:0,endIndex:e.v.length-1,rangeId:(0,t.generateRandomId)(),rangeType:t.CustomRangeType.HYPERLINK,properties:{url:c}}]},doc:d.documentModel});if(!f)return r(e);let p=d.documentModel.getBody();return t.TextX.apply(p,f.serialize()),r({...e,p:{id:t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,body:p,documentStyle:{pageSize:{width:1/0,height:1/0}}}})}return r(e)}}))}};A=d([u(0,(0,t.Inject)(r.SheetInterceptorService)),u(1,(0,t.Inject)(f)),u(2,(0,t.Inject)(r.SheetsSelectionsService)),u(3,t.IUniverInstanceService)],A);let j=class extends t.Disposable{constructor(e){super(),this._commandService=e,this._registerCommands()}_registerCommands(){[h,y,_,b,v,g,p,x,m,S,C].forEach(e=>{this._commandService.registerCommand(e)})}};j=d([u(0,t.ICommandService)],j);let M=function(e){return e.SHEET=`gid`,e.RANGE=`range`,e.DEFINE_NAME=`rangeid`,e.INVALID=`invalid`,e.URL=`url`,e}({}),N=class{constructor(e,t,n){this._univerInstanceService=e,this._localeService=t,this._definedNamesService=n}buildHyperLink(e,t){if(typeof e==`string`)return`#rangeid=${e}`;let n=`#gid=${t}`;return e&&(n+=`&range=${(0,a.serializeRange)(e)}`),n}parseHyperLink(e){if(e.startsWith(`#`)){var t,n,r,i;let a=new URLSearchParams(e.slice(1)),o={gid:(t=a.get(`gid`))==null?``:t,range:(n=a.get(`range`))==null?``:n,rangeid:(r=a.get(`rangeid`))==null?``:r,unitid:(i=a.get(`unitid`))==null?``:i},s=this._getURLName(o);return{type:s.type,name:s.name,url:e,searchObj:o}}else return{type:`url`,name:e,url:e,searchObj:null}}_getURLName(e){var n;let{gid:r,range:i,rangeid:o,unitid:s}=e,c=s?this._univerInstanceService.getUnit(s,t.UniverInstanceType.UNIVER_SHEET):this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),l={type:`invalid`,name:this._localeService.t(`sheets-hyper-link.message.refError`)};if(!c)return l;let u=r?c.getSheetBySheetId(r):c.getActiveSheet(),d=(n=u==null?void 0:u.getName())==null?``:n;if(i){if(!u)return l;let e=(0,a.deserializeRangeWithSheet)(i).range;return(0,t.isValidRange)(e,u)&&i!==`err`?{type:`range`,name:(0,a.serializeRangeWithSheet)(d,e)}:l}if(o){let e=this._definedNamesService.getValueById(c.getUnitId(),o);return e?{type:`rangeid`,name:e.formulaOrRefString}:l}if(r){let e=c.getSheetBySheetId(r);return e?{type:`gid`,name:e.getName()}:l}return l}};N=d([u(0,t.IUniverInstanceService),u(1,(0,t.Inject)(t.LocaleService)),u(2,a.IDefinedNamesService)],N);let P=class extends t.Plugin{constructor(e=E,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{...i}=(0,t.merge)({},E,this._config);this._configService.setConfig(`sheets-hyper-link.config`,i)}onStarting(){(0,t.registerDependencies)(this._injector,[[f],[N],[j],[D],[A],[O],[k]]),(0,t.touchDependencies)(this._injector,[[D],[j],[A],[O],[k]])}};l(P,`pluginName`,`SHEET_HYPER_LINK_PLUGIN`),l(P,`packageName`,w),l(P,`version`,T),l(P,`type`,t.UniverInstanceType.UNIVER_SHEET),P=d([(0,t.DependentOn)(r.UniverSheetsPlugin),u(1,(0,t.Inject)(t.Injector)),u(2,t.IConfigService)],P),e.AddHyperLinkCommand=h,e.AddHyperLinkMutation=p,e.AddRichHyperLinkCommand=g,e.CancelHyperLinkCommand=_,e.CancelRichHyperLinkCommand=v,e.ERROR_RANGE=`err`,Object.defineProperty(e,"HyperLinkModel",{enumerable:!0,get:function(){return f}}),e.RemoveHyperLinkMutation=m,e.SheetHyperLinkType=M,Object.defineProperty(e,"SheetsHyperLinkParserService",{enumerable:!0,get:function(){return N}}),Object.defineProperty(e,"UniverSheetsHyperLinkPlugin",{enumerable:!0,get:function(){return P}}),e.UpdateHyperLinkCommand=y,e.UpdateHyperLinkMutation=x,e.UpdateHyperLinkRefMutation=S,e.UpdateRichHyperLinkCommand=b});
46
-
47
- // @univerjs/sheets-hyper-link/facade
48
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/engine-formula"),require("@univerjs/sheets-hyper-link"),require("@univerjs/sheets/facade"),require("@univerjs/core"),require("@univerjs/core/facade")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/engine-formula`,`@univerjs/sheets-hyper-link`,`@univerjs/sheets/facade`,`@univerjs/core`,`@univerjs/core/facade`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsHyperLinkFacade={},e.UniverEngineFormula,e.UniverSheetsHyperLink,e.UniverSheetsFacade,e.UniverCore,e.UniverCoreFacade))})(this,function(e,t,n,r,i,a){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var o=class extends r.FWorkbook{getUrlOfDefineName(e){let r=this._injector.get(t.IDefinedNamesService),i=this._injector.get(n.SheetsHyperLinkParserService),a=r.getValueByName(this._workbook.getUnitId(),e);if(!a)throw Error(`Defined name "${e}" does not exist.`);if(a.formulaOrRefString.startsWith(t.operatorToken.EQUALS))throw Error(`Defined name "${e}" is not a reference range, cannot be converted to hyperlink.`);return i.buildHyperLink(a.id)}parseSheetHyperlink(e){return this._injector.get(n.SheetsHyperLinkParserService).parseHyperLink(e)}};r.FWorkbook.extend(o);var s=class extends r.FWorksheet{getUrl(){return this._injector.get(n.SheetsHyperLinkParserService).buildHyperLink(null,this._worksheet.getSheetId())}};r.FWorksheet.extend(s);var c=class extends r.FRange{setHyperLink(e,t){return this._commandService.executeCommand(n.AddHyperLinkCommand.id,{unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId(),link:{id:(0,i.generateRandomId)(),row:this._range.startRow,column:this._range.startColumn,payload:e,display:t}})}getHyperLinks(){let e=[];return this.forEach((t,n,r)=>{var a,o;if(!r.p)return;let s=(a=(o=r.p.body)==null||(o=o.customRanges)==null?void 0:o.filter(e=>e.rangeType===i.CustomRangeType.HYPERLINK))==null?[]:a;if(s.length>0){var c,l,u;let a=(c=r.p)==null||(c=c.body)==null?void 0:c.dataStream,{rangeId:o,properties:d,startIndex:f,endIndex:p}=s[0],m=(l=d==null?void 0:d.url)==null?``:l,h=(u=a==null?void 0:a.slice(f,p+1).replaceAll(i.DataStreamTreeTokenType.CUSTOM_RANGE_START,``).replaceAll(i.DataStreamTreeTokenType.CUSTOM_RANGE_END,``))==null?``:u;e.push({id:`${o}`,row:t,column:n,url:m,label:h})}}),e}updateHyperLink(e,t){let r=this.getHyperLinks().find(e=>e.row===this._range.startRow&&e.column===this._range.startColumn);if(!r)return Promise.reject(Error(`No hyperlink found in the top left cell of the range`));let{id:i,row:a,column:o}=r;return this._commandService.executeCommand(n.UpdateHyperLinkCommand.id,{unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId(),id:i,row:a,column:o,payload:{payload:e,display:t}})}cancelHyperLink(e){if(e){let{id:t,row:r,column:i}=e;return this._commandService.syncExecuteCommand(n.CancelHyperLinkCommand.id,{unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId(),id:t,row:r,column:i})}else{let e=this.getHyperLinks();return e.length===0?!0:e.every(e=>{let{id:t,row:r,column:i}=e;return this._commandService.syncExecuteCommand(n.CancelHyperLinkCommand.id,{unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId(),id:t,row:r,column:i})})}}getUrl(){return this._injector.get(n.SheetsHyperLinkParserService).buildHyperLink(this.getRange(),this.getSheetId())}};r.FRange.extend(c);var l=class extends a.FEventName{get BeforeSheetLinkAdd(){return`BeforeSheetLinkAdd`}get BeforeSheetLinkCancel(){return`BeforeSheetLinkCancel`}get BeforeSheetLinkUpdate(){return`BeforeSheetLinkUpdate`}};a.FEventName.extend(l);var u=class extends a.FUniver{_initialize(e){let t=e.get(i.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetLinkAdd,()=>t.beforeCommandExecuted(e=>{if(e.id!==n.AddHyperLinkCommand.id)return;let t=this.getCommandSheetTarget(e);if(!t)return;let r=e.params,a={workbook:t.workbook,worksheet:t.worksheet,row:r.link.row,col:r.link.column,link:r.link};if(this.fireEvent(this.Event.BeforeSheetLinkAdd,a),a.cancel)throw new i.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetLinkUpdate,()=>t.beforeCommandExecuted(e=>{if(e.id!==n.UpdateHyperLinkCommand.id)return;let t=this.getCommandSheetTarget(e);if(!t)return;let r=e.params,a={workbook:t.workbook,worksheet:t.worksheet,row:r.row,column:r.column,id:r.id,payload:r.payload};if(this.fireEvent(this.Event.BeforeSheetLinkUpdate,a),a.cancel)throw new i.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetLinkCancel,()=>t.beforeCommandExecuted(e=>{if(e.id!==n.CancelHyperLinkCommand.id)return;let t=this.getCommandSheetTarget(e);if(!t)return;let r=e.params,a={workbook:t.workbook,worksheet:t.worksheet,row:r.row,column:r.column,id:r.id};if(this.fireEvent(this.Event.BeforeSheetLinkCancel,a),a.cancel)throw new i.CanceledError})))}};a.FUniver.extend(u),e.FWorkbookHyperlinkMixin=o});
49
-
50
- // @univerjs/sheets-sort/index
51
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/engine-formula")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets`,`@univerjs/engine-formula`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsSort={},e.UniverCore,e.UniverSheets,e.UniverEngineFormula))})(this,function(e,t,n,r){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let i=function(e){return e.DESC=`desc`,e.ASC=`asc`,e}({}),a=e=>e.replace(/-/gi,``).replace(/'/gi,``),o=(e,t)=>{let n=e===null||e===``,r=t===null||t===``;return n&&r?0:n?1:r?-1:null},s=(e,t,n)=>{let r=typeof e==`number`,i=typeof t==`number`;return r&&i?e<t?n===`asc`?-1:1:e>t?n===`asc`?1:-1:0:r?n===`asc`?1:-1:i?n===`asc`?-1:1:null},c=(e,t,n)=>{let r=typeof e==`string`,i=typeof t==`string`;if(r&&(e=a(e.toLocaleLowerCase())),i&&(t=a(t.toLocaleLowerCase())),!r&&!i)return null;if(r&&i){let r=e,i=t;return r<i?n===`asc`?-1:1:r>i?n===`asc`?1:-1:0}return r?n===`asc`?1:-1:i?n===`asc`?-1:1:null},l=e=>!e||Object.keys(e).length===0||(e==null?void 0:e.v)==null&&(e==null?void 0:e.p)==null;function u(e){"@babel/helpers - typeof";return u=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},u(e)}function d(e,t){if(u(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(u(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function f(e){var t=d(e,`string`);return u(t)==`symbol`?t:t+``}function p(e,t,n){return(t=f(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t){return function(n,r){t(n,r,e)}}function h(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 g=class extends t.Disposable{constructor(e,t,n){super(),this._univerInstanceService=e,this._commandService=t,this._formulaDataModel=n,p(this,`_compareFns`,[])}mergeCheck(e){var n;let{unitId:r,subUnitId:i,range:a}=e,o=(n=this._univerInstanceService.getUnit(r))==null?void 0:n.getSheetBySheetId(i);if(!o)return!1;let s=o.getMergeData().filter(e=>t.Rectangle.contains(a,e));return s.length===0?!0:_(a,s)}emptyCheck(e){var t;let{unitId:n,subUnitId:r,range:i}=e,a=(t=this._univerInstanceService.getUnit(n))==null?void 0:t.getSheetBySheetId(r);if(!a)return!1;for(let e=i.startRow;e<=i.endRow;e++)for(let t=i.startColumn;t<=i.endColumn;t++)if(!l(a.getCellRaw(e,t)))return!0;return!1}singleCheck(e){return e.range.startRow!==e.range.endRow}formulaCheck(e){var n;let{unitId:r,subUnitId:i,range:a}=e,o=(n=this._formulaDataModel.getArrayFormulaRange())==null||(n=n[r])==null?void 0:n[i];for(let e in o){let n=o[Number(e)];for(let e in n){let r=n[Number(e)];if(r&&t.Rectangle.intersects(a,r))return!1}}return!0}registerCompareFn(e){this._compareFns.unshift(e)}getAllCompareFns(){return this._compareFns}applySort(e,t,r){var i;let{unitId:a,subUnitId:o}=(0,n.getSheetCommandTarget)(this._univerInstanceService)||{};this._commandService.executeCommand(v.id,{orderRules:e.orderRules,range:e.range,hasTitle:(i=e.hasTitle)==null?!1:i,unitId:t||a,subUnitId:r||o})}};g=h([m(0,t.IUniverInstanceService),m(1,t.ICommandService),m(2,(0,t.Inject)(r.FormulaDataModel))],g);function _(e,t){let n=e.endRow-e.startRow+1,r=e.endColumn-e.startColumn+1,i=null,a=null,o=n*r,s=0;for(let n of t)if(n.startRow>=e.startRow&&n.endRow<=e.endRow&&n.startColumn>=e.startColumn&&n.endColumn<=e.endColumn){let e=n.endRow-n.startRow+1,t=n.endColumn-n.startColumn+1;if(i===null&&a===null)i=e,a=t;else if(e!==i||t!==a)return!1;s+=e*t}return s===o}let v={id:`sheet.command.sort-range`,type:t.CommandType.COMMAND,handler:(e,r)=>{let{range:i,orderRules:a,hasTitle:o,unitId:s,subUnitId:c}=r,l=e.get(g),{worksheet:u}=(0,n.getSheetCommandTarget)(e.get(t.IUniverInstanceService),r)||{};if(!u)return!1;let d=u.getMergeData().filter(e=>t.Rectangle.contains(i,e)),f=d.map(e=>e.startRow),{startRow:p,endRow:m}=i,h=o?p+1:p,_=[],v=[];for(let e=h;e<=m;e++)u.getRowFiltered(e)||u.getRowRawVisible(e)!==!1&&(d.length&&!f.includes(e)||(_.push({index:e,value:y(u,e,a)}),v.push(e)));let S=l.getAllCompareFns();_.sort(x(a,b(S)));let C={};_.forEach(({index:e,value:t},n)=>{C[v[n]]=e});let w={id:n.ReorderRangeCommand.id,params:{unitId:s,subUnitId:c,range:i,order:C}},T=e.get(t.ICommandService);return(0,t.sequenceExecute)([w],T).result}};function y(e,t,n){let r=[];return n.forEach(({colIndex:n})=>{r.push(e.getCellRaw(t,n))}),r}function b(e){return(t,n,r)=>{for(let i=0;i<e.length;i++){let a=e[i](t,n,r);if(a!=null)return a}return 0}}function x(e,t){return function(n,r){let i=null;for(let a=0;a<e.length;a++){let o=n.value[a],s=r.value[a];if(i=t(e[a].type,o,s),i!==0&&i!=null)return i}return 0}}var S=`@univerjs/sheets-sort`,C=`0.25.0`;let w={},T=class extends t.Disposable{constructor(e,t){super(),this._commandService=e,this._sortService=t,this._initCommands(),this._registerCompareFns()}_initCommands(){[v].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_registerCompareFns(){this._sortService.registerCompareFn((e,t,n)=>{let r=this._getCommonValue(t),i=this._getCommonValue(n),a=[o,c,s];for(let t=0;t<a.length;t++){let n=a[t](r,i,e);if(n!==null)return n}return null})}_getCommonValue(e){var n;return l(e)?null:(e==null||(n=e.p)==null||(n=n.body)==null?void 0:n.dataStream)||((e==null?void 0:e.t)===t.CellValueType.NUMBER?Number.parseFloat(`${e.v}`):(e==null?void 0:e.t)===t.CellValueType.STRING?typeof e.v==`number`?e.v:`${e.v}`:(e==null?void 0:e.t)===t.CellValueType.BOOLEAN?`${e.v}`:(e==null?void 0:e.t)===t.CellValueType.FORCE_STRING?Number.parseFloat(`${e.v}`):`${e==null?void 0:e.v}`)}};T=h([m(0,t.ICommandService),m(1,(0,t.Inject)(g))],T);let E=class extends t.Plugin{constructor(e=w,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{...i}=(0,t.merge)({},w,this._config);this._configService.setConfig(`sheets-sort.config`,i)}onStarting(){[[T],[g]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(T)}};p(E,`type`,t.UniverInstanceType.UNIVER_SHEET),p(E,`pluginName`,`SHEET_SORT_PLUGIN`),p(E,`packageName`,S),p(E,`version`,C),E=h([(0,t.DependentOn)(n.UniverSheetsPlugin,r.UniverFormulaEnginePlugin),m(1,(0,t.Inject)(t.Injector)),m(2,t.IConfigService)],E),Object.defineProperty(e,"SheetsSortService",{enumerable:!0,get:function(){return g}}),e.SortRangeCommand=v,e.SortType=i,Object.defineProperty(e,"UniverSheetsSortPlugin",{enumerable:!0,get:function(){return E}})});
52
-
53
- // @univerjs/sheets-sort/facade
54
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/sheets-sort"),require("@univerjs/sheets/facade")):typeof define==`function`&&define.amd?define([`@univerjs/core`,`@univerjs/core/facade`,`@univerjs/sheets-sort`,`@univerjs/sheets/facade`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverCore,e.UniverCoreFacade,e.UniverSheetsSort,e.UniverSheetsFacade))})(this,function(e,t,n,r){var i=class extends t.FUniver{_initialize(t){let r=t.get(e.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.SheetBeforeRangeSort,()=>r.beforeCommandExecuted(e=>{e.id===n.SortRangeCommand.id&&this._beforeRangeSort(e)}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetRangeSorted,()=>r.onCommandExecuted(e=>{e.id===n.SortRangeCommand.id&&this._onRangeSorted(e)})))}_beforeRangeSort(e){let t=e.params,r=this.getUniverSheet(t.unitId),i=r.getSheetBySheetId(t.subUnitId),{startColumn:a,endColumn:o,startRow:s,endRow:c}=t.range,l={workbook:r,worksheet:i,range:i.getRange(s,a,c-s+1,o-a+1),sortColumn:t.orderRules.map(e=>({column:e.colIndex-a,ascending:e.type===n.SortType.ASC}))};if(this.fireEvent(this.Event.SheetBeforeRangeSort,l),l.cancel)throw Error(`SortRangeCommand canceled.`)}_onRangeSorted(e){let t=e.params,r=this.getUniverSheet(t.unitId),i=r.getSheetBySheetId(t.subUnitId),{startColumn:a,endColumn:o,startRow:s,endRow:c}=t.range,l={workbook:r,worksheet:i,range:i.getRange(s,a,c-s+1,o-a+1),sortColumn:t.orderRules.map(e=>({column:e.colIndex-a,ascending:e.type===n.SortType.ASC}))};if(this.fireEvent(this.Event.SheetRangeSorted,l),l.cancel)throw Error(`SortRangeCommand canceled.`)}};t.FUniver.extend(i);var a=class extends r.FRange{sort(e){let t=this._range.startColumn,r=(Array.isArray(e)?e:[e]).map(e=>typeof e==`number`?{colIndex:e+t,type:n.SortType.ASC}:{colIndex:e.column+t,type:e.ascending?n.SortType.ASC:n.SortType.DESC});return this._commandService.syncExecuteCommand(n.SortRangeCommand.id,{orderRules:r,range:this._range,hasTitle:!1,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}};r.FRange.extend(a);var o=class extends r.FWorksheet{sort(t,r=!0){let i=[{colIndex:t,type:r?n.SortType.ASC:n.SortType.DESC}],a={startRow:0,startColumn:0,endRow:this._worksheet.getRowCount()-1,endColumn:this._worksheet.getColumnCount()-1,rangeType:e.RANGE_TYPE.ALL};return this._commandService.syncExecuteCommand(n.SortRangeCommand.id,{orderRules:i,range:a,hasTitle:!1,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}};r.FWorksheet.extend(o);var s=class{get SheetRangeSorted(){return`SheetRangeSorted`}get SheetBeforeRangeSort(){return`SheetBeforeRangeSort`}};t.FEventName.extend(s)});
55
-
56
- // @univerjs/thread-comment/index
57
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("rxjs")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`rxjs`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverThreadComment={},e.UniverCore,e.rxjs))})(this,function(e,t,n){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function r(e){"@babel/helpers - typeof";return r=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},r(e)}function i(e,t){if(r(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var i=n.call(e,t||`default`);if(r(i)!=`object`)return i;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function a(e){var t=i(e,`string`);return r(t)==`symbol`?t:t+``}function o(e,t,n){return(t=a(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s=class extends t.Disposable{set dataSource(e){this._dataSource=e}get dataSource(){return this._dataSource}constructor(){super(),o(this,`_dataSource`,null),o(this,`syncUpdateMutationToColla`,!0)}async getThreadComment(e,t,n){return this._dataSource?(await this._dataSource.listComments(e,t,[n]))[0]:null}async addComment(e){let t=this._dataSource?await this._dataSource.addComment(e):e;return{...t,threadId:t.threadId||t.id}}async updateComment(e){return this._dataSource?this._dataSource.updateComment(e):!0}async resolveComment(e){return this._dataSource?this._dataSource.resolveComment(e):!0}async deleteComment(e,t,n,r){return this._dataSource?this._dataSource.deleteComment(e,t,n,r):!0}async listThreadComments(e,t,n){return this.dataSource?this.dataSource.listComments(e,t,n):!1}saveToSnapshot(e,t){if(this._dataSource){let t={};return Object.keys(e).forEach(n=>{t[n]=e[n].map(this.dataSource.saveCommentToSnapshot)}),t}return e}};let c=(0,t.createIdentifier)(`univer.thread-comment.data-source-service`);function l(e,t){return function(n,r){t(n,r,e)}}function u(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 d=class extends t.Disposable{constructor(e,r){super(),this._dataSourceService=e,this._lifecycleService=r,o(this,`_commentsMap`,new Map),o(this,`_threadMap`,new Map),o(this,`_commentUpdate$`,new n.Subject),o(this,`commentUpdate$`,this._commentUpdate$.asObservable()),o(this,`_tasks`,[]),this.disposeWithMe(()=>{this._commentUpdate$.complete()}),this.disposeWithMe(this._lifecycleService.lifecycle$.subscribe(e=>{let n=new Map;e===t.LifecycleStages.Rendered&&(this._tasks.forEach(({unitId:e,subUnitId:t,threadIds:r})=>{let i=n.get(e);i||(i=new Map,n.set(e,i));let a=i.get(t);a||(a=new Set,i.set(t,a));for(let e of r)a.add(e)}),this._tasks=[],n.forEach((e,t)=>{e.forEach((e,n)=>{this.syncThreadComments(t,n,Array.from(e))})}))}))}_ensureCommentMap(e,t){let n=this._commentsMap.get(e);n||(n=new Map,this._commentsMap.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}ensureMap(e,t){return this._ensureCommentMap(e,t)}_ensureThreadMap(e,t){let n=this._threadMap.get(e);n||(n=new Map,this._threadMap.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}_replaceComment(e,t,n){let r=this._ensureCommentMap(e,t),i=r.get(n.id);if(!i){this.addComment(e,t,n);return}let{children:a,...o}=n,s={...o,ref:i.ref};r.set(n.id,s),a==null||a.forEach(e=>{r.set(e.id,{...e,ref:``})}),this._commentUpdate$.next({unitId:e,subUnitId:t,type:`syncUpdate`,payload:s}),!!n.resolved!=!!i.resolved&&this._commentUpdate$.next({unitId:e,subUnitId:t,type:`resolve`,payload:{commentId:n.id,resolved:!!n.resolved}})}async syncThreadComments(e,n,r){if(this._lifecycleService.stage<t.LifecycleStages.Rendered){this._tasks.push({unitId:e,subUnitId:n,threadIds:r});return}let i=this._ensureThreadMap(e,n),a=this._ensureCommentMap(e,n),o=await this._dataSourceService.listThreadComments(e,n,r);if(!o)return;let s=new Set(r);o.forEach(t=>{s.has(t.threadId)&&(this._replaceComment(e,n,t),s.delete(t.threadId))}),s.forEach(e=>{i.delete(e),a.forEach((t,n)=>{t.threadId===e&&a.delete(n)})})}addComment(e,t,n,r){let i=this._ensureCommentMap(e,t),{parentId:a,children:o=[],...s}=n,c={...s,parentId:a===n.id?void 0:a};c.threadId||(c.threadId=c.parentId||c.id);let l=n=>{i.set(n.id,n),this._commentUpdate$.next({unitId:e,subUnitId:t,type:`add`,payload:n,isRoot:!n.parentId})};l(c);let u=this._ensureThreadMap(e,t);if(!c.parentId){u.set(c.threadId,c);for(let e of o)l(e)}return r&&this.syncThreadComments(e,t,[c.threadId]),!0}updateComment(e,t,n,r){let i=this._ensureCommentMap(e,t).get(n.commentId);return i?(i.updated=!0,i.text=n.text,i.attachments=n.attachments,i.updateT=n.updateT,this._commentUpdate$.next({unitId:e,subUnitId:t,type:`update`,payload:n,silent:r}),!0):!0}updateCommentRef(e,t,n,r){let i=this._ensureCommentMap(e,t).get(n.commentId);return i?(i.ref=n.ref,this._commentUpdate$.next({unitId:e,subUnitId:t,type:`updateRef`,payload:n,silent:r,threadId:i.threadId}),!0):!1}resolveComment(e,t,n,r){let i=this._ensureCommentMap(e,t).get(n);return i?(i.resolved=r,this._commentUpdate$.next({unitId:e,subUnitId:t,type:`resolve`,payload:{commentId:n,resolved:r}}),!0):!1}getComment(e,t,n){return this._ensureCommentMap(e,t).get(n)}getRootComment(e,t,n){return this._ensureThreadMap(e,t).get(n)}getThread(e,t,n){let r=this._ensureCommentMap(e,t),i=Array.from(r.values()).filter(e=>e.threadId===n),a,o=[],s=new Set;for(let e of i)e.parentId?o.push(e):a=e,s.add(e.personId);if(a)return{root:a,children:o,relativeUsers:s,unitId:e,subUnitId:t,threadId:n}}getCommentWithChildren(e,t,n){let r=this.getComment(e,t,n);if(r)return this.getThread(e,t,r.threadId)}_deleteComment(e,t,n){let r=this._ensureCommentMap(e,t),i=r.get(n);i&&(r.delete(n),this._commentUpdate$.next({unitId:e,subUnitId:t,type:`delete`,payload:{commentId:n,isRoot:!i.parentId,comment:i}}))}deleteThread(e,t,n){this._ensureThreadMap(e,t).delete(n),this._ensureCommentMap(e,t).forEach(r=>{r.threadId===n&&this._deleteComment(e,t,r.id)})}deleteComment(e,t,n){let r=this._ensureCommentMap(e,t).get(n);return r&&(r.parentId?this._deleteComment(e,t,n):this.deleteThread(e,t,r.threadId)),!0}deleteUnit(e){let t=this._commentsMap.get(e);t&&t.forEach((t,n)=>{t.forEach(t=>{this.deleteComment(e,n,t.id)})})}getUnit(e){let t=this._threadMap.get(e);if(!t)return[];let n=[];return t.forEach((t,r)=>{t.forEach((t,i)=>{let a=this.getThread(e,r,i);a&&n.push(a)})}),n}getAll(){let e=[];return this._commentsMap.forEach((t,n)=>{e.push({unitId:n,threads:this.getUnit(n)})}),e}};d=u([l(0,(0,t.Inject)(c)),l(1,(0,t.Inject)(t.LifecycleService))],d);let f={id:`thread-comment.mutation.add-comment`,type:t.CommandType.MUTATION,handler(e,t,n){if(!t)return!1;let r=e.get(d),{unitId:i,subUnitId:a,comment:o,sync:s}=t,c=s||(n==null?void 0:n.fromChangeset)&&!o.parentId;return r.addComment(i,a,o,c)}},p={id:`thread-comment.mutation.update-comment`,type:t.CommandType.MUTATION,handler(e,t){if(!t)return!1;let n=e.get(d),{unitId:r,subUnitId:i,payload:a,silent:o}=t;return n.updateComment(r,i,a,o)}},m={id:`thread-comment.mutation.update-comment-ref`,type:t.CommandType.MUTATION,handler(e,t){if(!t)return!1;let n=e.get(d),{unitId:r,subUnitId:i,payload:a,silent:o}=t;return n.updateCommentRef(r,i,a,o)}},h={id:`thread-comment.mutation.resolve-comment`,type:t.CommandType.MUTATION,handler(e,t){if(!t)return!1;let n=e.get(d),{unitId:r,subUnitId:i,resolved:a,commentId:o}=t;return n.resolveComment(r,i,o,a)}},g={id:`thread-comment.mutation.delete-comment`,type:t.CommandType.MUTATION,handler(e,t){if(!t)return!1;let n=e.get(d),{unitId:r,subUnitId:i,commentId:a}=t;return n.deleteComment(r,i,a)}},_={id:`thread-comment.command.add-comment`,type:t.CommandType.COMMAND,async handler(e,n){if(!n)return!1;let r=e.get(t.ICommandService),i=e.get(c),{comment:a}=n,o=await i.addComment(a),s=i.syncUpdateMutationToColla,l=!a.parentId,u={id:f.id,params:{...n,comment:o}};return l?await r.executeCommand(u.id,u.params):r.executeCommand(u.id,u.params,{onlyLocal:!s})}},v={id:`thread-comment.command.update-comment`,type:t.CommandType.COMMAND,async handler(e,n){if(!n)return!1;let{unitId:r,subUnitId:i,payload:a}=n,o=e.get(t.ICommandService),s=e.get(d),l=e.get(c),u=l.syncUpdateMutationToColla,f=s.getComment(r,i,a.commentId);if(!f)return!1;let{children:m,...h}=f;if(!await l.updateComment({...h,...a}))return!1;let g={id:p.id,params:n};return o.executeCommand(g.id,g.params,{onlyLocal:!u}),!0}},y={id:`thread-comment.command.resolve-comment`,type:t.CommandType.COMMAND,async handler(e,n){if(!n)return!1;let{unitId:r,subUnitId:i,resolved:a,commentId:o}=n,s=e.get(c),l=e.get(d).getComment(r,i,o),u=s.syncUpdateMutationToColla;return!l||!await s.resolveComment({...l,resolved:a})?!1:e.get(t.ICommandService).executeCommand(h.id,n,{onlyLocal:!u})}},b={id:`thread-comment.command.delete-comment`,type:t.CommandType.COMMAND,async handler(e,n){if(!n)return!1;let r=e.get(d),i=e.get(c),a=e.get(t.ICommandService),{unitId:o,subUnitId:s,commentId:l}=n,u=i.syncUpdateMutationToColla,f=r.getComment(o,s,l);if(!f||!await i.deleteComment(o,s,f.threadId,l))return!1;let p={id:g.id,params:n};return a.executeCommand(p.id,p.params,{onlyLocal:!u})}},x={id:`thread-comment.command.delete-comment-tree`,type:t.CommandType.COMMAND,async handler(e,n){if(!n)return!1;let r=e.get(d),i=e.get(t.ICommandService),a=e.get(c),{unitId:o,subUnitId:s,commentId:l}=n,u=r.getCommentWithChildren(o,s,l);return!u||!await a.deleteComment(o,s,u.root.threadId,l)?!1:await i.executeCommand(g.id,{unitId:o,subUnitId:s,commentId:u.root.id})}};function S(e){return(0,t.dateKit)(e).format(`YYYY/MM/DD HH:mm`)}let C=`UNIVER_THREAD_COMMENT_PLUGIN`,w=`SHEET_${C}`,T=class extends t.Disposable{constructor(e,t,n){super(),this._resourceManagerService=e,this._threadCommentModel=t,this._threadCommentDataSourceService=n,this._initSnapshot()}_initSnapshot(){let e=e=>{let t=this._threadCommentModel.getUnit(e),n={};return t?(t.forEach(e=>{var t;let r=(t=n[e.subUnitId])==null?[]:t;r.push({...e.root,children:e.children}),n[e.subUnitId]=r}),JSON.stringify(this._threadCommentDataSourceService.saveToSnapshot(n,e))):``},n=e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}};this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:w,businesses:[t.UniverInstanceType.UNIVER_SHEET,t.UniverInstanceType.UNIVER_DOC],toJson:t=>e(t),parseJson:e=>n(e),onUnLoad:e=>{this._threadCommentModel.deleteUnit(e)},onLoad:async(e,t)=>{Object.keys(t).forEach(n=>{let r=t[n];r.forEach(t=>{this._threadCommentModel.addComment(e,n,t)}),this._threadCommentModel.syncThreadComments(e,n,r.map(e=>e.threadId))})}}))}};T=u([l(0,t.IResourceManagerService),l(1,(0,t.Inject)(d)),l(2,c)],T);var E=`@univerjs/thread-comment`,D=`0.25.0`;let O={},k=class extends t.Plugin{constructor(e=O,n,r,i){super(),this._config=e,this._injector=n,this._commandService=r,this._configService=i;let{...a}=(0,t.merge)({},O,this._config);this._configService.setConfig(`thread-comment.config`,a)}onStarting(){var e;(0,t.mergeOverrideWithDependencies)([[c,{useClass:s}],[d],[T]],(e=this._config)==null?void 0:e.overrides).forEach(e=>{this._injector.add(e)}),[_,v,b,y,x,f,p,m,g,h].forEach(e=>{this._commandService.registerCommand(e)}),this._injector.get(T)}};o(k,`pluginName`,C),o(k,`packageName`,E),o(k,`version`,D),o(k,`type`,t.UniverInstanceType.UNIVER_UNKNOWN),k=u([l(1,(0,t.Inject)(t.Injector)),l(2,t.ICommandService),l(3,t.IConfigService)],k),e.AddCommentCommand=_,e.AddCommentMutation=f,e.DeleteCommentCommand=b,e.DeleteCommentMutation=g,e.DeleteCommentTreeCommand=x,e.IThreadCommentDataSourceService=c,e.ResolveCommentCommand=y,e.ResolveCommentMutation=h,e.SHEET_UNIVER_THREAD_COMMENT_PLUGIN=w,e.TC_PLUGIN_NAME=C,e.ThreadCommentDataSourceService=s,Object.defineProperty(e,"ThreadCommentModel",{enumerable:!0,get:function(){return d}}),Object.defineProperty(e,"ThreadCommentResourceController",{enumerable:!0,get:function(){return T}}),Object.defineProperty(e,"UniverThreadCommentPlugin",{enumerable:!0,get:function(){return k}}),e.UpdateCommentCommand=v,e.UpdateCommentMutation=p,e.UpdateCommentRefMutation=m,e.getDT=S});
58
-
59
- // @univerjs/sheets-thread-comment/index
60
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/engine-formula"),require("@univerjs/sheets"),require("@univerjs/thread-comment"),require("rxjs")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/engine-formula`,`@univerjs/sheets`,`@univerjs/thread-comment`,`rxjs`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsThreadComment={},e.UniverCore,e.UniverEngineFormula,e.UniverSheets,e.UniverThreadComment,e.rxjs))})(this,function(e,t,n,r,i,a){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function o(e){"@babel/helpers - typeof";return o=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},o(e)}function s(e,t){if(o(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(o(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function c(e){var t=s(e,`string`);return o(t)==`symbol`?t:t+``}function l(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e,t){return function(n,r){t(n,r,e)}}function d(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 f=class extends t.Disposable{constructor(e,t){super(),this._threadCommentModel=e,this._univerInstanceService=t,l(this,`_matrixMap`,new Map),l(this,`_locationMap`,new Map),l(this,`_commentUpdate$`,new a.Subject),l(this,`commentUpdate$`,this._commentUpdate$.asObservable()),this._init(),this.disposeWithMe(()=>{this._commentUpdate$.complete()})}_init(){this._initData(),this._initUpdateTransform()}_ensureCommentMatrix(e,n){let r=this._matrixMap.get(e);r||(r=new Map,this._matrixMap.set(e,r));let i=r.get(n);return i||(i=new t.ObjectMatrix,r.set(n,i)),i}_ensureCommentLocationMap(e,t){let n=this._locationMap.get(e);n||(n=new Map,this._locationMap.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}_addCommentToMatrix(e,t,n,r){var i;let a=(i=e.getValue(t,n))==null?new Set:i;a.add(r),e.setValue(t,n,a)}_deleteCommentFromMatrix(e,t,n,r){if(t>=0&&n>=0){let i=e.getValue(t,n);i&&i.has(r)&&(i.delete(r),i.size===0&&e.realDeleteValue(t,n))}}_ensure(e,t){return{matrix:this._ensureCommentMatrix(e,t),locationMap:this._ensureCommentLocationMap(e,t)}}_initData(){let e=this._threadCommentModel.getAll();for(let t of e)for(let e of t.threads){let{unitId:t,subUnitId:n,root:r}=e;this._addComment(t,n,r)}}_addComment(e,t,r){let i=(0,n.singleReferenceToGrid)(r.ref),a=r.parentId,{row:o,column:s}=i,c=r.id,{matrix:l,locationMap:u}=this._ensure(e,t);!a&&o>=0&&s>=0&&(this._addCommentToMatrix(l,o,s,c),u.set(c,{row:o,column:s})),a||this._commentUpdate$.next({unitId:e,subUnitId:t,payload:r,type:`add`,isRoot:!a,...i})}_initUpdateTransform(){this.disposeWithMe(this._threadCommentModel.commentUpdate$.subscribe(e=>{let{unitId:r,subUnitId:i}=e;try{if(this._univerInstanceService.getUnitType(r)!==t.UniverInstanceType.UNIVER_SHEET)return}catch{}let{matrix:a,locationMap:o}=this._ensure(r,i);switch(e.type){case`add`:this._addComment(e.unitId,e.subUnitId,e.payload);break;case`delete`:{let{isRoot:t,comment:r}=e.payload;if(t){let t=(0,n.singleReferenceToGrid)(r.ref),{row:i,column:o}=t;this._deleteCommentFromMatrix(a,i,o,r.id),this._commentUpdate$.next({...e,...t})}break}case`update`:{let{commentId:t}=e.payload,a=this._threadCommentModel.getComment(r,i,t);if(!a)return;let o=(0,n.singleReferenceToGrid)(a.ref);this._commentUpdate$.next({...e,...o});break}case`updateRef`:{let t=(0,n.singleReferenceToGrid)(e.payload.ref),{commentId:r}=e.payload,i=o.get(r);if(!i)return;let{row:s,column:c}=i;this._deleteCommentFromMatrix(a,s,c,r),o.delete(r),t.row>=0&&t.column>=0&&(this._addCommentToMatrix(a,t.row,t.column,r),o.set(r,{row:t.row,column:t.column})),this._commentUpdate$.next({...e,...t});break}case`resolve`:{let{unitId:t,subUnitId:n,payload:r}=e,{locationMap:i}=this._ensure(t,n),a=i.get(r.commentId);a&&this._commentUpdate$.next({...e,...a});break}default:break}}))}getByLocation(e,t,n,r){var i;return(i=this.getAllByLocation(e,t,n,r).filter(e=>!e.resolved)[0])==null?void 0:i.id}getAllByLocation(e,t,n,r){let i=this._ensureCommentMatrix(e,t).getValue(n,r);if(!i)return[];let a=[];for(let n of i){let r=this.getComment(e,t,n);r&&a.push(r)}return a}getComment(e,t,n){return this._threadCommentModel.getComment(e,t,n)}getCommentWithChildren(e,t,n,r){let i=this.getByLocation(e,t,n,r);if(!i)return;let a=this.getComment(e,t,i);if(a)return this._threadCommentModel.getThread(e,t,a.threadId)}showCommentMarker(e,t,n,r){let i=this.getByLocation(e,t,n,r);if(!i)return!1;let a=this.getComment(e,t,i);return!!(a&&!a.resolved)}getSubUnitAll(e,t){return this._threadCommentModel.getUnit(e).filter(e=>e.subUnitId===t).map(e=>e.root)}};f=d([u(0,(0,t.Inject)(i.ThreadCommentModel)),u(1,t.IUniverInstanceService)],f);let p=class extends t.Disposable{constructor(e,t,r,a,o){super(),this._refRangeService=e,this._sheetsThreadCommentModel=t,this._threadCommentModel=r,this._selectionManagerService=a,this._commandService=o,l(this,`_disposableMap`,new Map),l(this,`_watcherMap`,new Map),l(this,`_handleRangeChange`,(e,t,r,a,o)=>{let s=r.id,c={startColumn:r.column,endColumn:r.column,startRow:r.row,endRow:r.row};return a?{redos:[{id:i.UpdateCommentRefMutation.id,params:{unitId:e,subUnitId:t,payload:{ref:(0,n.serializeRange)(a),commentId:s},silent:o}}],undos:[{id:i.UpdateCommentRefMutation.id,params:{unitId:e,subUnitId:t,payload:{ref:(0,n.serializeRange)(c),commentId:s},silent:o}}]}:{redos:[{id:i.DeleteCommentMutation.id,params:{unitId:e,subUnitId:t,commentId:s}}],undos:[{id:i.AddCommentMutation.id,params:{unitId:e,subUnitId:t,comment:r,sync:!0}}]}}),this._initData(),this._initRefRange()}_getIdWithUnitId(e,t,n){return`${e}-${t}-${n}`}_register(e,t,n){let i=n.id,a={startColumn:n.column,endColumn:n.column,startRow:n.row,endRow:n.row};this._disposableMap.set(this._getIdWithUnitId(e,t,i),this._refRangeService.registerRefRange(a,i=>{let o=(0,r.handleCommonRangeChangeWithEffectRefCommandsSkipNoInterests)(a,i,{selectionManagerService:this._selectionManagerService}),s=Array.isArray(o)?o[0]:o;return s&&s.startColumn===a.startColumn&&s.startRow===a.startRow?{undos:[],redos:[]}:this._handleRangeChange(e,t,n,s,!1)},e,t))}_watch(e,n,r){let i=r.id,a={startColumn:r.column,endColumn:r.column,startRow:r.row,endRow:r.row};this._watcherMap.set(this._getIdWithUnitId(e,n,i),this._refRangeService.watchRange(e,n,a,(i,a)=>{let{redos:o}=this._handleRangeChange(e,n,r,a,!0);(0,t.sequenceExecuteAsync)(o,this._commandService,{onlyLocal:!0})},!0))}_unwatch(e,t,n){var r;let i=this._getIdWithUnitId(e,t,n);(r=this._watcherMap.get(i))==null||r.dispose(),this._watcherMap.delete(i)}_unregister(e,t,n){var r;let i=this._getIdWithUnitId(e,t,n);(r=this._disposableMap.get(i))==null||r.dispose(),this._disposableMap.delete(i)}_initData(){let e=this._threadCommentModel.getAll();for(let t of e)for(let e of t.threads){let{unitId:t,subUnitId:r,root:i}=e,a=(0,n.singleReferenceToGrid)(i.ref),o={...i,...a};this._register(t,r,o),this._watch(t,r,o)}}_initRefRange(){this.disposeWithMe(this._sheetsThreadCommentModel.commentUpdate$.subscribe(e=>{let{unitId:t,subUnitId:n}=e;switch(e.type){case`add`:{if(e.payload.parentId)return;let t={...e.payload,row:e.row,column:e.column};this._register(e.unitId,e.subUnitId,t),this._watch(e.unitId,e.subUnitId,t);break}case`delete`:this._unregister(t,n,e.payload.commentId),this._unwatch(t,n,e.payload.commentId);break;case`updateRef`:{let r=this._sheetsThreadCommentModel.getComment(t,n,e.payload.commentId);if(!r)return;this._unregister(t,n,e.payload.commentId);let i={...r,row:e.row,column:e.column};e.silent||(this._unwatch(t,n,e.payload.commentId),this._watch(t,n,i)),this._register(e.unitId,e.subUnitId,i);break}}})),this.disposeWithMe((0,t.toDisposable)(()=>{this._disposableMap.forEach(e=>{e.dispose()}),this._disposableMap.clear()}))}};p=d([u(0,(0,t.Inject)(r.RefRangeService)),u(1,(0,t.Inject)(f)),u(2,(0,t.Inject)(i.ThreadCommentModel)),u(3,(0,t.Inject)(r.SheetsSelectionsService)),u(4,t.ICommandService)],p);var m=`@univerjs/sheets-thread-comment`,h=`0.25.0`;let g={},_=class extends t.Disposable{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._sheetInterceptorService=t,this._threadCommentModel=n,this._threadCommentDataSourceService=r,this._initSheetChange()}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{if(e.id===r.RemoveSheetCommand.id){var n;let r=e.params,a=r.unitId||this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET).getUnitId(),o=r.subUnitId||((n=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:n.getSheetId());if(!a||!o)return{redos:[],undos:[]};let s=this._threadCommentModel.ensureMap(a,o),c=Array.from(s.values()).filter(e=>!e.parentId),l=this._threadCommentDataSourceService.syncUpdateMutationToColla,u=[],d=[];return c.forEach(({children:e,...t})=>{u.push({id:i.DeleteCommentMutation.id,params:{unitId:a,subUnitId:o,commentId:t.id}}),d.push({id:i.AddCommentMutation.id,params:{unitId:a,subUnitId:o,comment:{...t,children:l?e:void 0},sync:!l}})}),{redos:u,undos:d}}else if(e.id===r.CopySheetCommand.id){let{unitId:n,subUnitId:r,targetSubUnitId:a}=e.params;if(!n||!r||!a)return{redos:[],undos:[]};let o=this._threadCommentModel.ensureMap(n,r),s=Array.from(o.values()).map(e=>({...e,subUnitId:a,id:(0,t.generateRandomId)(),threadId:(0,t.generateRandomId)()})).filter(e=>!e.parentId),c=this._threadCommentDataSourceService.syncUpdateMutationToColla,l=[],u=[];return s.forEach(({children:e,...t})=>{l.push({id:i.AddCommentMutation.id,params:{unitId:n,subUnitId:a,comment:{...t,children:c?e:void 0},sync:!c}}),u.push({id:i.DeleteCommentMutation.id,params:{unitId:n,subUnitId:a,commentId:t.id}})}),{redos:l,undos:u}}return{redos:[],undos:[]}}}))}};_=d([u(0,t.IUniverInstanceService),u(1,(0,t.Inject)(r.SheetInterceptorService)),u(2,(0,t.Inject)(i.ThreadCommentModel)),u(3,i.IThreadCommentDataSourceService)],_);let v=class extends t.Plugin{constructor(e=g,t,n){super(),this._config=e,this._injector=t,this._commandService=n}onStarting(){[[f],[p],[_]].forEach(e=>{this._injector.add(e)}),(0,t.touchDependencies)(this._injector,[[p],[_]])}};l(v,`pluginName`,`SHEET_THREAD_COMMENT_BASE_PLUGIN`),l(v,`packageName`,m),l(v,`version`,h),l(v,`type`,t.UniverInstanceType.UNIVER_SHEET),v=d([(0,t.DependentOn)(i.UniverThreadCommentPlugin),u(1,(0,t.Inject)(t.Injector)),u(2,(0,t.Inject)(t.ICommandService))],v),Object.defineProperty(e,"SheetsThreadCommentModel",{enumerable:!0,get:function(){return f}}),Object.defineProperty(e,"SheetsThreadCommentRefRangeController",{enumerable:!0,get:function(){return p}}),Object.defineProperty(e,"UniverSheetsThreadCommentPlugin",{enumerable:!0,get:function(){return v}})});
61
-
62
- // @univerjs/sheets-thread-comment/facade
63
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/sheets-thread-comment"),require("@univerjs/sheets/facade"),require("@univerjs/thread-comment"),require("@univerjs/engine-formula"),require("rxjs"),require("@univerjs/core/facade")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/sheets-thread-comment`,`@univerjs/sheets/facade`,`@univerjs/thread-comment`,`@univerjs/engine-formula`,`rxjs`,`@univerjs/core/facade`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsThreadCommentFacade={},e.UniverCore,e.UniverSheetsThreadComment,e.UniverSheetsFacade,e.UniverThreadComment,e.UniverEngineFormula,e.rxjs,e.UniverCoreFacade))})(this,function(e,t,n,r,i,a,o,s){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function c(e){"@babel/helpers - typeof";return c=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},c(e)}function l(e,t){if(c(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(c(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function u(e){var t=l(e,`string`);return c(t)==`symbol`?t:t+``}function d(e,t,n){return(t=u(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e,t){return function(n,r){t(n,r,e)}}function p(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}var m,h=class e{static create(t){return new e(t)}constructor(e){d(this,`_comment`,{id:(0,t.generateRandomId)(),ref:``,threadId:``,dT:``,personId:``,text:t.RichTextBuilder.newEmptyData().body,attachments:[],unitId:``,subUnitId:``}),e&&(this._comment=e)}get personId(){return this._comment.personId}get dateTime(){return this._comment.dT}get content(){return t.RichTextValue.createByBody(this._comment.text)}get id(){return this._comment.id}get threadId(){return this._comment.threadId}copy(){return g.create(t.Tools.deepClone(this._comment))}},g=class e extends h{static create(t){return new e(t)}setContent(e){return e instanceof t.RichTextValue?this._comment.text=e.getData().body:this._comment.text=e,this}setPersonId(e){return this._comment.personId=e,this}setDateTime(e){return this._comment.dT=(0,i.getDT)(e),this}setId(e){return this._comment.id=e,this}setThreadId(e){return this._comment.threadId=e,this}build(){return this._comment}};let _=m=class{constructor(e,t,n,r,i,a,o){this._thread=e,this._parent=t,this._injector=n,this._commandService=r,this._univerInstanceService=i,this._threadCommentModel=a,this._userManagerService=o}_getRef(){var e;return(0,a.deserializeRangeWithSheet)(((e=this._parent)==null?void 0:e.ref)||this._thread.ref).range}getIsRoot(){return!this._parent}getCommentData(){let{children:e,...t}=this._thread;return t}getReplies(){var e;let t=this._getRef(),n=this._threadCommentModel.getCommentWithChildren(this._thread.unitId,this._thread.subUnitId,t.startRow,t.startColumn);return n==null||(e=n.children)==null?void 0:e.map(e=>this._injector.createInstance(m,e))}getRange(){let e=this._univerInstanceService.getUnit(this._thread.unitId,t.UniverInstanceType.UNIVER_SHEET);if(!e)return null;let n=e.getSheetBySheetId(this._thread.subUnitId);if(!n)return null;let i=this._getRef();return this._injector.createInstance(r.FRange,e,n,i)}getContent(){return this._thread.text}getRichText(){let e=this._thread.text;return t.RichTextValue.create({body:e,documentStyle:{},id:`d`})}deleteAsync(){return this._commandService.executeCommand(this.getIsRoot()?i.DeleteCommentTreeCommand.id:i.DeleteCommentCommand.id,{commentId:this._thread.id,unitId:this._thread.unitId,subUnitId:this._thread.subUnitId})}delete(){return this.deleteAsync()}async update(e){return this.updateAsync(e)}async updateAsync(e){let n=e instanceof t.RichTextValue?e.getData().body:e,r=(0,i.getDT)();return await this._commandService.executeCommand(i.UpdateCommentCommand.id,{unitId:this._thread.unitId,subUnitId:this._thread.subUnitId,payload:{commentId:this._thread.id,text:n,updated:!0,updateT:r}})}resolve(e){return this.resolveAsync(e)}resolveAsync(e){return this._commandService.executeCommand(i.ResolveCommentCommand.id,{unitId:this._thread.unitId,subUnitId:this._thread.subUnitId,commentId:this._thread.id,resolved:e==null?!this._thread.resolved:e})}replyAsync(e){var n;let r=e.build();return this._commandService.executeCommand(i.AddCommentCommand.id,{unitId:this._thread.unitId,subUnitId:this._thread.subUnitId,comment:{id:(0,t.generateRandomId)(),parentId:this._thread.id,threadId:this._thread.threadId,ref:((n=this._parent)==null?void 0:n.ref)||this._thread.ref,unitId:this._thread.unitId,subUnitId:this._thread.subUnitId,text:r.text,attachments:r.attachments,dT:r.dT||(0,i.getDT)(),personId:r.personId||this._userManagerService.getCurrentUser().userID}})}};_=m=p([f(2,(0,t.Inject)(t.Injector)),f(3,t.ICommandService),f(4,t.IUniverInstanceService),f(5,(0,t.Inject)(n.SheetsThreadCommentModel)),f(6,(0,t.Inject)(t.UserManagerService))],_);var v=class extends r.FRange{getComment(){let e=this._injector.get(n.SheetsThreadCommentModel),t=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),i=e.getByLocation(t,r,this._range.startRow,this._range.startColumn);if(!i)return null;let a=e.getComment(t,r,i);return a?this._injector.createInstance(_,a):null}getComments(){let e=this._injector.get(n.SheetsThreadCommentModel),r=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),a=[];return t.Range.foreach(this._range,(t,n)=>{let o=e.getByLocation(r,i,t,n);if(o){let t=e.getComment(r,i,o);t&&a.push(this._injector.createInstance(_,t))}}),a}addComment(e){var n;let r=this._injector,a=(n=this.getComment())==null?void 0:n.getCommentData(),o=r.get(t.ICommandService),s=r.get(t.UserManagerService),c=this._workbook.getUnitId(),l=this._worksheet.getSheetId(),u=`${t.Tools.chatAtABC(this._range.startColumn)}${this._range.startRow+1}`,d=s.getCurrentUser(),f=e instanceof g?e.build():{text:e};return o.executeCommand(i.AddCommentCommand.id,{unitId:c,subUnitId:l,comment:{text:f.text,dT:f.dT||(0,i.getDT)(),attachments:[],id:f.id||(0,t.generateRandomId)(),ref:u,personId:f.personId||d.userID,parentId:a==null?void 0:a.id,unitId:c,subUnitId:l,threadId:(a==null?void 0:a.threadId)||(0,t.generateRandomId)()}})}clearComment(){var e;let n=this._injector,r=(e=this.getComment())==null?void 0:e.getCommentData(),a=n.get(t.ICommandService),o=this._workbook.getUnitId(),s=this._worksheet.getSheetId();return r?a.executeCommand(i.DeleteCommentTreeCommand.id,{unitId:o,subUnitId:s,threadId:r.threadId,commentId:r.id}):Promise.resolve(!0)}clearComments(){let e=this.getComments().map(e=>e.deleteAsync());return Promise.all(e).then(()=>!0)}addCommentAsync(e){return this.addComment(e)}clearCommentAsync(){return this.clearComment()}clearCommentsAsync(){return this.clearComments()}};r.FRange.extend(v);var y=class extends r.FWorkbook{_initialize(){Object.defineProperty(this,"_threadCommentModel",{get(){return this._injector.get(i.ThreadCommentModel)}})}getComments(){return this._threadCommentModel.getUnit(this._workbook.getUnitId()).map(e=>this._injector.createInstance(_,e.root))}clearComments(){let e=this.getComments().map(e=>e.deleteAsync());return Promise.all(e).then(()=>!0)}onThreadCommentChange(e){return(0,t.toDisposable)(this._threadCommentModel.commentUpdate$.pipe((0,o.filter)(e=>e.unitId===this._workbook.getUnitId())).subscribe(e))}onBeforeAddThreadComment(e){return(0,t.toDisposable)(this._commandService.beforeCommandExecuted((t,n)=>{let r=t.params;if(t.id===i.AddCommentCommand.id){if(r.unitId!==this._workbook.getUnitId())return;if(e(r,n)===!1)throw Error(`Command is stopped by the hook onBeforeAddThreadComment`)}}))}onBeforeUpdateThreadComment(e){return(0,t.toDisposable)(this._commandService.beforeCommandExecuted((t,n)=>{let r=t.params;if(t.id===i.UpdateCommentCommand.id){if(r.unitId!==this._workbook.getUnitId())return;if(e(r,n)===!1)throw Error(`Command is stopped by the hook onBeforeUpdateThreadComment`)}}))}onBeforeDeleteThreadComment(e){return(0,t.toDisposable)(this._commandService.beforeCommandExecuted((t,n)=>{let r=t.params;if(t.id===i.DeleteCommentCommand.id||t.id===i.DeleteCommentTreeCommand.id){if(r.unitId!==this._workbook.getUnitId())return;if(e(r,n)===!1)throw Error(`Command is stopped by the hook onBeforeDeleteThreadComment`)}}))}};r.FWorkbook.extend(y);var b=class extends r.FWorksheet{getComments(){return this._injector.get(n.SheetsThreadCommentModel).getSubUnitAll(this._workbook.getUnitId(),this._worksheet.getSheetId()).map(e=>this._injector.createInstance(_,e))}clearComments(){let e=this.getComments().map(e=>e.deleteAsync());return Promise.all(e).then(()=>!0)}onCommented(e){return this._injector.get(t.ICommandService).onCommandExecuted(t=>{if(t.id===i.AddCommentCommand.id){let n=t.params;e(n)}})}getCommentById(e){let t=this._injector.get(n.SheetsThreadCommentModel).getComment(this._workbook.getUnitId(),this._worksheet.getSheetId(),e);if(t)return this._injector.createInstance(_,t)}};r.FWorksheet.extend(b);var x=class extends s.FEventName{get CommentAdded(){return`CommentAdded`}get BeforeCommentAdd(){return`BeforeCommentAdd`}get CommentUpdated(){return`CommentUpdated`}get BeforeCommentUpdate(){return`BeforeCommentUpdate`}get CommentDeleted(){return`CommentDeleted`}get BeforeCommentDelete(){return`BeforeCommentDelete`}get CommentResolved(){return`CommentResolved`}get BeforeCommentResolve(){return`BeforeCommentResolve`}};s.FEventName.extend(x);var S=class extends s.FUniver{_getTargetSheet(e={}){var t;let n=e.unitId?this.getUniverSheet(e.unitId):(t=this.getActiveWorkbook)==null?void 0:t.call(this);if(!n)return null;let r=e.subUnitId?n.getSheetBySheetId(e.subUnitId):n.getActiveSheet();return r?{workbook:n,worksheet:r}:null}_initialize(e){let n=e.get(t.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.CommentAdded,()=>n.onCommandExecuted(e=>{var t,n,r,a;if(e.id!==i.AddCommentCommand.id)return;let o=this._getTargetSheet(e.params);if(!o)return;let{workbook:s,worksheet:c}=o,{comment:l}=e.params,u=c.getCommentById(l.id);if(!u)return;let d={workbook:s,worksheet:c,row:(t=(n=u.getRange())==null?void 0:n.getRow())==null?0:t,col:(r=(a=u.getRange())==null?void 0:a.getColumn())==null?0:r,comment:u};this.fireEvent(this.Event.CommentAdded,d)}))),this.disposeWithMe(this.registerEventHandler(this.Event.CommentUpdated,()=>n.onCommandExecuted(e=>{var t,n,r,a;if(e.id!==i.UpdateCommentCommand.id)return;let o=this._getTargetSheet(e.params);if(!o)return;let{workbook:s,worksheet:c}=o,{payload:l}=e.params,u=c.getCommentById(l.commentId);if(!u)return;let d={workbook:s,worksheet:c,row:(t=(n=u.getRange())==null?void 0:n.getRow())==null?0:t,col:(r=(a=u.getRange())==null?void 0:a.getColumn())==null?0:r,comment:u};this.fireEvent(this.Event.CommentUpdated,d)}))),this.disposeWithMe(this.registerEventHandler(this.Event.CommentDeleted,()=>n.onCommandExecuted(e=>{if(e.id!==i.DeleteCommentCommand.id&&e.id!==i.DeleteCommentTreeCommand.id)return;let t=this._getTargetSheet(e.params);if(!t)return;let{workbook:n,worksheet:r}=t,{commentId:a}=e.params,o={workbook:n,worksheet:r,commentId:a};this.fireEvent(this.Event.CommentDeleted,o)}))),this.disposeWithMe(this.registerEventHandler(this.Event.CommentResolved,()=>n.onCommandExecuted(e=>{var t,n,r,a;if(e.id!==i.ResolveCommentCommand.id)return;let o=this._getTargetSheet(e.params);if(!o)return;let{workbook:s,worksheet:c}=o,{commentId:l,resolved:u}=e.params,d=c.getCommentById(l);if(!d)return;let f={workbook:s,worksheet:c,row:(t=(n=d.getRange())==null?void 0:n.getRow())==null?0:t,col:(r=(a=d.getRange())==null?void 0:a.getColumn())==null?0:r,comment:d,resolved:u};this.fireEvent(this.Event.CommentResolved,f)}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeCommentAdd,()=>n.beforeCommandExecuted(e=>{if(e.id!==i.AddCommentCommand.id)return;let n=this._getTargetSheet(e.params);if(!n)return;let{workbook:r,worksheet:o}=n,{comment:s}=e.params,{range:c}=(0,a.deserializeRangeWithSheet)(s.ref),l={workbook:r,worksheet:o,row:c.startRow,col:c.startColumn,comment:h.create(s)};if(this.fireEvent(this.Event.BeforeCommentAdd,l),l.cancel)throw new t.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeCommentUpdate,()=>n.beforeCommandExecuted(e=>{var n,r,a,o;if(e.id!==i.UpdateCommentCommand.id)return;let s=this._getTargetSheet(e.params);if(!s)return;let{workbook:c,worksheet:l}=s,{payload:u}=e.params,d=l.getCommentById(u.commentId);if(!d)return;let f={workbook:c,worksheet:l,row:(n=(r=d.getRange())==null?void 0:r.getRow())==null?0:n,col:(a=(o=d.getRange())==null?void 0:o.getColumn())==null?0:a,comment:d,newContent:t.RichTextValue.createByBody(u.text)};if(this.fireEvent(this.Event.BeforeCommentUpdate,f),f.cancel)throw new t.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeCommentDelete,()=>n.beforeCommandExecuted(e=>{var n,r,a,o;if(e.id!==i.DeleteCommentCommand.id&&e.id!==i.DeleteCommentTreeCommand.id)return;let s=this._getTargetSheet(e.params);if(!s)return;let{workbook:c,worksheet:l}=s,{commentId:u}=e.params,d=l.getCommentById(u);if(!d)return;let f={workbook:c,worksheet:l,row:(n=(r=d.getRange())==null?void 0:r.getRow())==null?0:n,col:(a=(o=d.getRange())==null?void 0:o.getColumn())==null?0:a,comment:d};if(this.fireEvent(this.Event.BeforeCommentDelete,f),f.cancel)throw new t.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeCommentResolve,()=>n.beforeCommandExecuted(e=>{var n,r;if(e.id!==i.ResolveCommentCommand.id)return;let a=this._getTargetSheet(e.params);if(!a)return;let{workbook:o,worksheet:s}=a,{commentId:c,resolved:l}=e.params,u=s.getCommentById(c);if(!u)return;let d={workbook:o,worksheet:s,row:(n=u.getRange().getRow())==null?0:n,col:(r=u.getRange().getColumn())==null?0:r,comment:u,resolved:l};if(this.fireEvent(this.Event.BeforeCommentResolve,d),d.cancel)throw new t.CanceledError})))}newTheadComment(e){return new g(e)}};s.FUniver.extend(S),Object.defineProperty(e,"FThreadComment",{enumerable:!0,get:function(){return _}})});
64
-
65
- // index
66
- (function(e,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@univerjs/docs"),require("@univerjs/engine-formula"),require("@univerjs/rpc-node"),require("@univerjs/sheets"),require("@univerjs/sheets-data-validation"),require("@univerjs/sheets-drawing"),require("@univerjs/sheets-filter"),require("@univerjs/sheets-formula"),require("@univerjs/sheets-hyper-link"),require("@univerjs/sheets-sort"),require("@univerjs/sheets-thread-comment"),require("@univerjs/thread-comment"),require("@univerjs/sheets/lib/facade"),require("@univerjs/sheets-formula/lib/facade"),require("@univerjs/sheets-data-validation/lib/facade"),require("@univerjs/engine-formula/lib/facade"),require("@univerjs/sheets-filter/lib/facade"),require("@univerjs/sheets-hyper-link/lib/facade"),require("@univerjs/sheets-numfmt/lib/facade"),require("@univerjs/sheets-sort/lib/facade"),require("@univerjs/sheets-thread-comment/lib/facade")):typeof define=="function"&&define.amd?define(["exports","@univerjs/docs","@univerjs/engine-formula","@univerjs/rpc-node","@univerjs/sheets","@univerjs/sheets-data-validation","@univerjs/sheets-drawing","@univerjs/sheets-filter","@univerjs/sheets-formula","@univerjs/sheets-hyper-link","@univerjs/sheets-sort","@univerjs/sheets-thread-comment","@univerjs/thread-comment","@univerjs/sheets/lib/facade","@univerjs/sheets-formula/lib/facade","@univerjs/sheets-data-validation/lib/facade","@univerjs/engine-formula/lib/facade","@univerjs/sheets-filter/lib/facade","@univerjs/sheets-hyper-link/lib/facade","@univerjs/sheets-numfmt/lib/facade","@univerjs/sheets-sort/lib/facade","@univerjs/sheets-thread-comment/lib/facade"],r):(e=typeof globalThis<"u"?globalThis:e||self,r(e.UniverPresetSheetsNodeCore={},e.UniverDocs,e.UniverEngineFormula,e.UniverRpcNode,e.UniverSheets,e.UniverSheetsDataValidation,e.UniverSheetsDrawing,e.UniverSheetsFilter,e.UniverSheetsFormula,e.UniverSheetsHyperLink,e.UniverSheetsSort,e.UniverSheetsThreadComment,e.UniverThreadComment))})(this,(function(e,r,t,u,a,v,h,d,o,c,j,l,f){"use strict";function m(U={}){const{workerSrc:s,formula:i}=U,n=!!s;return{plugins:[n?[u.UniverRPCNodeMainPlugin,{workerSrc:s}]:null,[t.UniverFormulaEnginePlugin,{notExecuteFormula:n,function:i==null?void 0:i.function}],f.UniverThreadCommentPlugin,r.UniverDocsPlugin,a.UniverSheetsPlugin,[o.UniverSheetsFormulaPlugin,{notExecuteFormula:n,description:i==null?void 0:i.description,initialFormulaComputing:i==null?void 0:i.initialFormulaComputing}],v.UniverSheetsDataValidationPlugin,d.UniverSheetsFilterPlugin,c.UniverSheetsHyperLinkPlugin,h.UniverSheetsDrawingPlugin,j.UniverSheetsSortPlugin,l.UniverSheetsThreadCommentPlugin].filter(S=>!!S)}}e.UniverSheetsNodeCorePreset=m,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));