@univerjs/sheets-ui 0.1.12 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +13 -14
- package/lib/es/index.js +11895 -10320
- package/lib/index.css +1 -1
- package/lib/locale/en-US.json +612 -0
- package/lib/locale/ru-RU.json +612 -0
- package/lib/locale/zh-CN.json +612 -0
- package/lib/types/basics/const/permission.d.ts +16 -0
- package/lib/types/commands/commands/clipboard.command.d.ts +5 -0
- package/lib/types/commands/commands/range-protection.command.d.ts +28 -0
- package/lib/types/commands/commands/worksheet-protection.command.d.ts +21 -0
- package/lib/types/commands/operations/sheet-permission-open-dialog.operation.d.ts +3 -0
- package/lib/types/commands/operations/sheet-permission-open-panel.operation.d.ts +7 -0
- package/lib/types/common/keys.d.ts +4 -3
- package/lib/types/common/utils.d.ts +2 -0
- package/lib/types/controllers/clipboard/utils.d.ts +1 -1
- package/lib/types/controllers/editor/formula-editor.controller.d.ts +11 -1
- package/lib/types/controllers/hover-render.controller.d.ts +4 -1
- package/lib/types/controllers/menu/menu-util.d.ts +10 -1
- package/lib/types/controllers/menu/permission-menu-util.d.ts +14 -0
- package/lib/types/controllers/menu/permission.menu.d.ts +14 -0
- package/lib/types/controllers/permission/sheet-permission-init.controller.d.ts +26 -0
- package/lib/types/controllers/permission/sheet-permission-interceptor-base.controller.d.ts +37 -0
- package/lib/types/controllers/permission/sheet-permission-interceptor-canvas-render.controller.d.ts +29 -0
- package/lib/types/controllers/permission/sheet-permission-interceptor-clipboard.controller.d.ts +16 -0
- package/lib/types/controllers/permission/sheet-permission-interceptor-formula-render.controller.d.ts +19 -0
- package/lib/types/controllers/permission/sheet-permission-render.controller.d.ts +19 -0
- package/lib/types/controllers/render-controllers/freeze.render-controller.d.ts +14 -1
- package/lib/types/controllers/render-controllers/header-move.render-controller.d.ts +5 -1
- package/lib/types/controllers/render-controllers/header-resize.render-controller.d.ts +11 -1
- package/lib/types/controllers/sheet-render.controller.d.ts +11 -0
- package/lib/types/controllers/status-bar.controller.d.ts +6 -2
- package/lib/types/hooks/useHighlightRange.d.ts +3 -0
- package/lib/types/index.d.ts +12 -3
- package/lib/types/locale/zh-CN.d.ts +98 -0
- package/lib/types/services/hover-manager.service.d.ts +1 -2
- package/lib/types/services/permission/permission-render.service.d.ts +17 -0
- package/lib/types/services/permission/sheet-permission-panel.model.d.ts +27 -0
- package/lib/types/services/permission/sheet-permission-user-list.service.d.ts +18 -0
- package/lib/types/services/selection/selection-render.service.d.ts +31 -14
- package/lib/types/views/defined-name/DefinedName.d.ts +3 -1
- package/lib/types/views/permission/error-msg-dialog/index.d.ts +5 -0
- package/lib/types/{locale/index.d.ts → views/permission/error-msg-dialog/interface.d.ts} +2 -3
- package/lib/types/views/permission/footer/index.d.ts +5 -0
- package/lib/types/views/permission/footer/permission-detail-footer.d.ts +3 -0
- package/lib/types/views/permission/footer/permission-list-footer.d.ts +3 -0
- package/lib/types/views/permission/index.d.ts +21 -0
- package/lib/types/views/permission/panel/index.d.ts +8 -0
- package/lib/types/views/permission/panel-detail/index.d.ts +5 -0
- package/lib/types/views/permission/panel-list/constant.d.ts +16 -0
- package/lib/types/views/permission/panel-list/index.d.ts +3 -0
- package/lib/types/views/permission/permission-dialog/index.d.ts +3 -0
- package/lib/types/views/permission/spin/index.d.ts +8 -0
- package/lib/types/views/permission/user-dialog/constant.d.ts +16 -0
- package/lib/types/views/permission/user-dialog/index.d.ts +3 -0
- package/lib/types/views/sheet-bar/sheet-bar-menu/SheetBarMenu.d.ts +1 -1
- package/lib/types/views/sheet-bar/sheet-bar-tabs/SheetBarItem.d.ts +1 -1
- package/lib/types/views/sheet-bar/sheet-bar-tabs/utils/slide-tab-bar.d.ts +1 -0
- package/lib/types/views/sheet-canvas-view.d.ts +13 -0
- package/lib/types/views/sheet-container/SheetContainer.d.ts +3 -0
- package/lib/umd/index.js +13 -14
- package/package.json +23 -21
package/lib/cjs/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use strict";var Ps=Object.defineProperty;var Hs=(o,t,e)=>t in o?Ps(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;var R=(o,t,e)=>(Hs(o,typeof t!="symbol"?t+"":t,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const te=require("@univerjs/docs"),l=require("@univerjs/core"),S=require("@univerjs/sheets"),D=require("@wendellhu/redi"),U=require("rxjs"),I=require("@univerjs/ui"),Go=require("@univerjs/docs-ui"),E=require("@univerjs/engine-render"),G=require("@wendellhu/redi/react-bindings"),Ls=require("rxjs/operators"),re=require("@univerjs/design"),Rn=require("@univerjs/engine-numfmt"),Z=require("@univerjs/engine-formula"),V=require("react"),Oe=require("clsx"),Us="SheetUI";function Gn(o,t){if(o==null)return;const e=t.getRenderById(o);if(e==null)return;const{mainComponent:n,scene:i,engine:r,components:s}=e,a=n,c=s.get(te.DOCS_VIEW_KEY.BACKGROUND);return{document:a,docBackground:c,scene:i,engine:r}}const wo={零:0,一:1,二:2,三:3,四:4,五:5,六:6,七:7,八:8,九:9},Un=["零","一","二","三","四","五","六","七","八","九"],Ri=["","万","亿","万亿","亿亿"],Vs=["","十","百","千"],gr={十:{value:10,secUnit:!1},百:{value:100,secUnit:!1},千:{value:1e3,secUnit:!1},万:{value:1e4,secUnit:!0},亿:{value:1e8,secUnit:!0}};function Ge(o){if(!o)return 0;let t=0,e=0,n=0,i=!1;const r=o.split("");for(let s=0;s<r.length;s++){const a=wo[r[s]];if(typeof a<"u")n=a,s===r.length-1&&(e+=n);else{const c=gr[r[s]],u=c.value;i=c.secUnit,i?(e=(e+n)*u,t+=e,e=0):e+=n*u,n=0}}return t+e}function Bs(o){let t="",e="",n=0,i=!0;for(;o>0;){const r=o%10;r===0?i||(i=!0,e=Un[r]+e):(i=!1,t=Un[r],t+=Vs[n],e=t+e),n++,o=Math.floor(o/10)}return e}function Fs(o){let t=0,e="",n="",i=!1;if(o===0)return Un[0];for(;o>0;){const r=o%1e4;i&&(n=Un[0]+n),e=Bs(r),e+=r!==0?Ri[t]:Ri[0],n=e+n,i=r<1e3&&r>0,o=Math.floor(o/1e4),t++}return n}function ks(o){if(!o)return!1;let t=!0;if(o)if(o.length===1)o==="日"||o in wo?t=!0:t=!1;else{const e=o.split("");for(let n=0;n<e.length;n++)if(!(e[n]in wo||e[n]in gr)){t=!1;break}}return t}function cn(o){if(!o)return{isExtendNumber:!1};const t=/0|([1-9]+[0-9]*)/g,e=t.test(o);if(e){const n=o.match(t);if(n&&n.length>0){const i=n[n.length-1],r=o.lastIndexOf(i),s=o.substr(0,r),a=o.substr(r+i.length);return{isExtendNumber:!0,matchTxt:Number(i),beforeTxt:s,afterTxt:a}}return{isExtendNumber:!1}}return{isExtendNumber:e}}function Ws(o){let t;return o.length===2&&(o==="周一"||o==="周二"||o==="周三"||o==="周四"||o==="周五"||o==="周六"||o==="周日")?t=!0:t=!1,t}function js(o){let t;return o.length===3&&(o==="星期一"||o==="星期二"||o==="星期三"||o==="星期四"||o==="星期五"||o==="星期六"||o==="星期日")?t=!0:t=!1,t}function $s(o,t){let e=0;for(let n=0;n<o.length&&o[n]<t;n++)e++;return e}function en(o){let t=!0;const e=o[1]-o[0];for(let n=1;n<o.length;n++)if(o[n]-o[n-1]!==e){t=!1;break}return t}function zs(o,t,e){const n=[],i=Math.floor(t/o),r=t%o;let s=0;if(i>0){for(let a=0;a<i;a++)for(let c=0;c<e.length;c++)n[e[c]+a*o]=s,s++;for(let a=0;a<e.length&&e[a]<r;a++)n[e[a]+o*i]=s,s++}else for(let a=0;a<e.length&&e[a]<r;a++)n[e[a]]=s,s++;return n}function ht(o,t){const e=[];for(let n=1;n<=t;n++){const i=(n-1)%o.length,r=l.Tools.deepClone(o[i]);e.push({v:null,s:null,p:null,f:null,si:null,t:null,...r})}return e}function Ys(o,t){var n;const e=[];for(let i=1;i<=t;i++){const r=(i-1)%o.length,s={s:(n=o[r])==null?void 0:n.s};e.push(s)}return e}function Xs(o){let t=!0;const e=o[1]/o[0];for(let n=1;n<o.length;n++)if(o[n]/o[n-1]!==e){t=!1;break}return t}function Gs(o){const t=[];for(let e=1;e<=o;e++)t.push(e);return t}function Mi(o,t,e){var r,s,a,c;const n=[],i=[];for(let u=0;u<o.length;u++)i.push(Number((r=o[u])==null?void 0:r.v));if(o.length>2&&Xs(i))for(let u=1;u<=t;u++){const d=(u-1)%o.length,h=l.Tools.deepClone(o[d]),m=Number((s=o[o.length-1])==null?void 0:s.v)*(Number((a=o[1])==null?void 0:a.v)/Number((c=o[0])==null?void 0:c.v))**u;h&&(h.t!==l.CellValueType.BOOLEAN&&(h.v=m),n.push(h))}else{const u=Gs(o.length);for(let d=1;d<=t;d++){const h=(d-1)%o.length,m=l.Tools.deepClone(o[h]),g=e===l.Direction.DOWN||e===l.Direction.RIGHT,f=Zs(o.length+d,i,u,g);m&&(m.t!==l.CellValueType.BOOLEAN&&(m.v=f),n.push(m))}}return n}function Zs(o,t,e,n=!0){function i(h){let m=0;for(let g=0;g<h.length;g++)m+=h[g];return m/h.length}const r=i(e),s=i(t);let a=0,c=0;for(let h=0;h<e.length;h++)a+=(e[h]-r)*(t[h]-s),c+=(e[h]-r)*(e[h]-r);let u;c===0?u=n?1:-1:u=a/c;const d=s-u*r;return Math.round((d+u*o)*1e5)/1e5}function bi(o,t,e){var r;const n=[],i=/0|([1-9]+[0-9]*)/g;for(let s=1;s<=t;s++){const a=(s-1)%o.length,c=l.Tools.deepClone(o[a]),u=`${(r=o[o.length-1])==null?void 0:r.v}`,d=u==null?void 0:u.match(i),h=d==null?void 0:d[d.length-1],m=Math.abs(Number(h)+e*s);if(!u||!h)continue;const g=u.lastIndexOf(h),f=u.substr(0,g)+m.toString()+u.substr(g+h.length);c&&(c.v=f,n.push(c))}return n}function Tt(o,t,e,n=0){var a,c;const i=[["日","一","二","三","四","五","六"],["周日","周一","周二","周三","周四","周五","周六"],["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]];if(n>=i.length)return[];const r=i[n],s=[];for(let u=1;u<=t;u++){const d=(u-1)%o.length,h=l.Tools.deepClone(o[d]);let m=0;if(((a=o[o.length-1])==null?void 0:a.v)===r[0])m=7+e*u;else{const f=`${(c=o[o.length-1])==null?void 0:c.v}`;if(f){const _=f.substr(f.length-1,1);m=Ge(_)+e*u}}m<0&&(m=Math.ceil(Math.abs(m)/7)*7+m);const g=m%7;h&&(h.v=r[g],s.push(h))}return s}function Ti(o,t,e){var i;const n=[];for(let r=1;r<=t;r++){const s=(r-1)%o.length,a=l.Tools.deepClone(o[s]),c=`${(i=o[o.length-1])==null?void 0:i.v}`,u=Ge(c)+e*r;let d;u<=0?d="零":d=Fs(u),a&&(a.v=d,n.push(a))}return n}const Yt={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 Ks(o){let t=!1;return Object.keys(Yt).forEach(e=>{Yt[e].includes(o)&&(t=!0)}),t}function ao(o){let t="";const e=[];return Object.keys(Yt).forEach(n=>{Yt[n].includes(o)&&(t=n,e.push(...Yt[n]))}),{name:t,series:e}}function wi(o,t,e,n){var s;const i=n.length,r=[];for(let a=1;a<=t;a++){const c=(a-1)%o.length,u=l.Tools.deepClone(o[c]),d=`${(s=o[o.length-1])==null?void 0:s.v}`;let h=n.indexOf(d)+e*a;h<0&&(h+=Math.abs(e)*i);const m=h%i;u&&(u.v=n[m],r.push(u))}return r}function qs(o,t){const e=[];let n;if(t.startRow<o.startRow)n=l.Direction.UP;else if(t.endRow>o.endRow)n=l.Direction.DOWN;else if(t.startColumn<o.startColumn)n=l.Direction.LEFT;else if(t.endColumn>o.endColumn)n=l.Direction.RIGHT;else return[];if(n===l.Direction.DOWN||n===l.Direction.UP){const i=o.endRow-o.startRow+1,r=t.endRow-t.startRow+1,s=Math.floor(r/i),a=r%i,c={startRow:0,startColumn:0,endRow:o.endRow-o.startRow,endColumn:o.endColumn-o.startColumn};if(n===l.Direction.DOWN){for(let u=0;u<s;u++)e.push({repeatStartCell:{row:o.startRow+(u+1)*i,col:o.startColumn},relativeRange:c});a>0&&e.push({repeatStartCell:{row:o.startRow+(s+1)*i,col:o.startColumn},relativeRange:{startRow:0,startColumn:0,endRow:a-1,endColumn:o.endColumn-o.startColumn}})}else{for(let u=0;u<s;u++)e.push({repeatStartCell:{row:o.startRow-(u+1)*i,col:o.startColumn},relativeRange:c});a>0&&e.push({repeatStartCell:{row:o.startRow-(s+1)*i,col:o.startColumn},relativeRange:{startRow:i-a,endRow:i-1,startColumn:0,endColumn:o.endColumn-o.startColumn}})}}if(n===l.Direction.RIGHT||n===l.Direction.LEFT){const i=o.endColumn-o.startColumn+1,r=t.endColumn-t.startColumn+1,s=Math.floor(r/i),a=r%i,c={startRow:0,startColumn:0,endRow:o.endRow-o.startRow,endColumn:o.endColumn-o.startColumn};if(n===l.Direction.RIGHT){for(let u=0;u<s;u++)e.push({repeatStartCell:{row:o.startRow,col:o.startColumn+(u+1)*i},relativeRange:c});a>0&&e.push({repeatStartCell:{row:o.startRow,col:o.startColumn+(s+1)*i},relativeRange:{startRow:0,startColumn:0,endRow:o.endRow-o.startRow,endColumn:a-1}})}else{for(let u=0;u<s;u++)e.push({repeatStartCell:{row:o.startRow,col:o.startColumn-(u+1)*i},relativeRange:c});a>0&&e.push({repeatStartCell:{row:o.startRow,col:o.startColumn-(s+1)*i},relativeRange:{startRow:0,startColumn:i-a,endRow:o.endRow-o.startRow,endColumn:i-1}})}}return e}function Qs(o){const t=new l.ObjectMatrix;return o.forEach(e=>{const{startRow:n,startColumn:i,endRow:r,endColumn:s}=e;for(let a=n;a<=r;a++)for(let c=i;c<=s;c++)t.setValue(a,c,{v:null,p:null,f:null,si:null})}),t.getData()}function Rt(o,t,e,n){const i=t.get(l.IUniverInstanceService),r=e?i.getUnit(e,l.UniverInstanceType.UNIVER_SHEET):i.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),s=n?r==null?void 0:r.getSheetBySheetId(n):r==null?void 0:r.getActiveSheet();if(!s)return null;const{startRow:a,endRow:c,startColumn:u,endColumn:d}=o,h=[],m=[];for(let g=a;g<=c;g++)s.getRowFiltered(g)||h.push(g);for(let g=u;g<=d;g++)m.push(g);return{rows:h,cols:m}}function mt(o){const{rows:t,cols:e}=o;return{startRow:t[0],endRow:t[t.length-1],startColumn:e[0],endColumn:e[e.length-1]}}function tn(o){let t=[],e=[];const n=[];return o.forEach(i=>{t.push(...i.rows),e.push(...i.cols)}),t=Array.from(new Set(t)).sort((i,r)=>i-r),e=Array.from(new Set(e)).sort((i,r)=>i-r),o.forEach(i=>{n.push({startRow:t.findIndex(r=>r===i.rows[0]),endRow:t.findIndex(r=>r===i.rows[i.rows.length-1]),startColumn:e.findIndex(r=>r===i.cols[0]),endColumn:e.findIndex(r=>r===i.cols[i.cols.length-1])})}),{ranges:n,mapFunc:(i,r)=>({row:t[i],col:e[r]})}}function Js(o){const t=new l.ObjectMatrix;return o.forEach(e=>{const{rows:n,cols:i}=e;n.forEach(r=>{i.forEach(s=>{t.setValue(r,s,{v:null,p:null,f:null,si:null})})})}),t.getData()}var vt=(o=>(o.Append="APPEND",o.Default="DEFAULT",o.Only="ONLY",o))(vt||{}),ue=(o=>(o.NUMBER="number",o.DATE="date",o.EXTEND_NUMBER="extendNumber",o.CHN_NUMBER="chnNumber",o.CHN_WEEK2="chnWeek2",o.CHN_WEEK3="chnWeek3",o.LOOP_SERIES="loopSeries",o.FORMULA="formula",o.OTHER="other",o))(ue||{}),oe=(o=>(o.COPY="0",o.SERIES="1",o.ONLY_FORMAT="2",o.NO_FORMAT="3",o))(oe||{});const ea={type:ue.NUMBER,priority:1e3,match:o=>typeof(o==null?void 0:o.v)=="number"||(o==null?void 0:o.t)===l.CellValueType.NUMBER,isContinue:(o,t)=>o.type===ue.NUMBER,applyFunctions:{[oe.SERIES]:(o,t,e)=>{const{data:n}=o;return e===l.Direction.LEFT||e===l.Direction.UP?(n.reverse(),Mi(n,t,e).reverse()):Mi(n,t,e)}}},fr={type:ue.OTHER,priority:0,match:()=>!0,isContinue:(o,t)=>o.type===ue.OTHER},ta={type:ue.EXTEND_NUMBER,priority:900,match:o=>cn(`${o==null?void 0:o.v}`||"").isExtendNumber,isContinue:(o,t)=>{var e;if(o.type===ue.EXTEND_NUMBER){const{beforeTxt:n,afterTxt:i}=cn(`${(e=o.cellData)==null?void 0:e.v}`||""),{beforeTxt:r,afterTxt:s}=cn(`${t==null?void 0:t.v}`||"");if(n===r&&i===s)return!0}return!1},applyFunctions:{[oe.SERIES]:(o,t,e)=>{var a;const{data:n}=o,i=e===l.Direction.UP||e===l.Direction.LEFT;let r;if(n.length===1)return r=i?-1:1,be(bi(n,t,r),i);const s=[];for(let c=0;c<n.length;c++){const u=`${(a=n[c])==null?void 0:a.v}`;u&&s.push(Number(cn(u).matchTxt))}return i&&(n.reverse(),s.reverse()),en(s)?(r=s[1]-s[0],be(bi(n,t,r),i)):ht(n,t)}}},na={type:ue.CHN_NUMBER,priority:830,match:o=>!!ks(`${o==null?void 0:o.v}`||""),isContinue:(o,t)=>o.type===ue.CHN_NUMBER,applyFunctions:{[oe.SERIES]:(o,t,e)=>{var c,u,d;const{data:n}=o,i=e===l.Direction.LEFT||e===l.Direction.UP;if(n.length===1){const h=`${(c=n[0])==null?void 0:c.v}`;let m;return i?m=-1:m=1,h&&(h==="日"||Ge(h)<7)?be(Tt(n,t,m),i):be(Ti(n,t,m),i)}let r=!1;for(let h=0;h<n.length;h++)if(((u=n[h])==null?void 0:u.v)==="日"){r=!0;break}const s=[];let a=0;for(let h=0;h<n.length;h++){const m=`${(d=n[h])==null?void 0:d.v}`;m==="日"?h===0?s.push(0):(a++,s.push(a*7)):r&&Ge(m)>0&&Ge(m)<7?s.push(Ge(m)+a*7):s.push(Ge(m))}if(i&&(n.reverse(),s.reverse()),en(s)){if(r||s[s.length-1]<6&&s[0]>0||s[0]<6&&s[s.length-1]>0){const m=s[1]-s[0];return be(Tt(n,t,m),i)}const h=s[1]-s[0];return be(Ti(n,t,h),i)}return ht(n,t)}}},oa={type:ue.CHN_WEEK2,priority:820,match:o=>!!Ws(`${o==null?void 0:o.v}`||""),isContinue:(o,t)=>o.type===ue.CHN_WEEK2,applyFunctions:{[oe.SERIES]:(o,t,e)=>{var a;const{data:n}=o,i=e===l.Direction.LEFT||e===l.Direction.UP;if(n.length===1){let c;return i?c=-1:c=1,be(Tt(n,t,c,1),i)}const r=[];let s=0;for(let c=0;c<n.length;c++){const u=`${(a=n[c])==null?void 0:a.v}`,d=u==null?void 0:u.substr(u.length-1,1);u==="周日"?c===0?r.push(0):(s++,r.push(s*7)):r.push(Ge(d)+s*7)}if(i&&(n.reverse(),r.reverse()),en(r)){const c=r[1]-r[0];return be(Tt(n,t,c,1),i)}return ht(n,t)}}},ia={type:ue.CHN_WEEK3,priority:810,match:o=>js(`${o==null?void 0:o.v}`||""),isContinue:(o,t)=>o.type===ue.CHN_WEEK3,applyFunctions:{[oe.SERIES]:(o,t,e)=>{var a;const{data:n}=o,i=e===l.Direction.LEFT||e===l.Direction.UP;if(n.length===1){let c;return i?c=-1:c=1,be(Tt(n,t,c,2),i)}const r=[];let s=0;for(let c=0;c<n.length;c++){const u=`${(a=n[c])==null?void 0:a.v}`;if(u){const d=u.substr(u.length-1,1);u==="星期日"?c===0?r.push(0):(s++,r.push(s*7)):r.push(Ge(d)+s*7)}}if(i&&(n.reverse(),r.reverse()),en(r)){const c=r[1]-r[0];return be(Tt(n,t,c,2),i)}return ht(n,t)}}},ra={type:ue.LOOP_SERIES,priority:800,match:o=>Ks(`${o==null?void 0:o.v}`||""),isContinue:(o,t)=>{var e;return o.type===ue.LOOP_SERIES?ao(`${(e=o.cellData)==null?void 0:e.v}`||"").name===ao(`${t==null?void 0:t.v}`||"").name:!1},applyFunctions:{[oe.SERIES]:(o,t,e)=>{var c,u;const{data:n}=o,i=e===l.Direction.LEFT||e===l.Direction.UP,{series:r}=ao(`${(c=n[0])==null?void 0:c.v}`||"");if(n.length===1){let d;return i?d=-1:d=1,be(wi(n,t,d,r),i)}const s=[];let a=0;for(let d=0;d<n.length;d++){const h=`${(u=n[d])==null?void 0:u.v}`;h&&(h===r[0]?d===0?s.push(0):(a++,s.push(a*r.length)):s.push(r.indexOf(h)+a*7))}if(i&&(n.reverse(),s.reverse()),en(s)){const d=s[1]-s[0];return be(wi(n,t,d,r),i)}return ht(n,t)}}};function be(o,t){return t?o.reverse():o}var sa=Object.defineProperty,aa=Object.getOwnPropertyDescriptor,la=(o,t,e,n)=>{for(var i=n>1?void 0:n?aa(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&sa(t,e,i),i},dn=(o,t)=>(e,n)=>t(e,n,o);exports.AutoFillService=class extends l.Disposable{constructor(e,n,i,r){super();R(this,"_rules",[]);R(this,"_hooks",[]);R(this,"_applyType$",new U.BehaviorSubject(oe.SERIES));R(this,"_isFillingStyle",!0);R(this,"_autoFillLocation$",new U.BehaviorSubject(null));R(this,"autoFillLocation$",this._autoFillLocation$.asObservable());R(this,"_showMenu$",new U.BehaviorSubject(!1));R(this,"showMenu$",this._showMenu$.asObservable());R(this,"_direction",l.Direction.DOWN);R(this,"applyType$",this._applyType$.asObservable());R(this,"_menu$",new U.BehaviorSubject([{label:"autoFill.copy",value:oe.COPY,disable:!1},{label:"autoFill.series",value:oe.SERIES,disable:!1},{label:"autoFill.formatOnly",value:oe.ONLY_FORMAT,disable:!1},{label:"autoFill.noFormat",value:oe.NO_FORMAT,disable:!1}]));R(this,"menu$",this._menu$.asObservable());this._univerInstanceService=e,this._selectionManagerService=n,this._commandService=i,this._undoRedoService=r,this._init()}_init(){this._rules=[ea,ta,na,oa,ia,ra,fr].sort((e,n)=>n.priority-e.priority),this._isFillingStyle=!0}getOneByPriority(e){return e.length<=0?[]:[e.reduce((i,r)=>(r.priority||0)>(i.priority||0)?r:i,e[0])]}addHook(e){if(this._hooks.find(n=>n.id===e.id))throw new Error(`Add hook failed, hook id '${e.id}' already exist!`);return e.priority===void 0&&(e.priority=0),e.type===void 0&&(e.type=vt.Append),this._hooks.push(e),l.toDisposable(()=>{const n=this._hooks.findIndex(i=>i===e);n>-1&&this._hooks.splice(n,1)})}registerRule(e){if(this._rules.find(i=>i.type===e.type))throw new Error(`Registry rule failed, type '${e.type}' already exist!`);const n=this._rules.findIndex(i=>i.priority<e.priority);this._rules.splice(n===-1?this._rules.length:n,0,e)}getRules(){return this._rules}getAllHooks(){return this._hooks}getActiveHooks(){const{source:e,target:n,unitId:i,subUnitId:r}=this.autoFillLocation||{};if(!e||!n||!i||!r)return[];const s=this._hooks.filter(d=>{var h;return!((h=d.disable)!=null&&h.call(d,{source:e,target:n,unitId:i,subUnitId:r},this._direction,this.applyType))}),a=s.filter(d=>d.type===vt.Only);if(a.length>0)return this.getOneByPriority(a);const c=this.getOneByPriority(s.filter(d=>d.type===vt.Default)),u=s.filter(d=>d.type===vt.Append)||[];return[...c,...u]}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,n){this._menu$.next(this._menu$.getValue().map(i=>i.value===e?{...i,disable:n}:i))}setShowMenu(e){this._showMenu$.next(e)}fillData(e,n){var _,p;const{source:i,target:r,unitId:s=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getUnitId(),subUnitId:a=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getActiveSheet().getSheetId()}=this.autoFillLocation||{},c=this.direction;if(!i||!r||s!==e||a!==n)return!1;const u=l.Rectangle.union(mt(i),mt(r)),d=this.applyType,h=this.getActiveHooks();this._commandService.syncExecuteCommand(S.SetSelectionsOperation.id,{selections:[{primary:{...(p=(_=this._selectionManagerService.getLast())==null?void 0:_.primary)!=null?p:u},range:{...u,rangeType:l.RANGE_TYPE.NORMAL}}],unitId:s,subUnitId:a});const m=[],g=[];return h.forEach(v=>{var T;const{undos:M,redos:b}=((T=v.onFillData)==null?void 0:T.call(v,{source:i,target:r,unitId:s,subUnitId:a},c,d))||{};M&&m.push(...M),b&&g.push(...b)}),g.every(v=>this._commandService.syncExecuteCommand(v.id,v.params))&&this._undoRedoService.pushUndoRedo({unitID:s,undoMutations:m,redoMutations:g}),h.forEach(v=>{var M;(M=v.onAfterFillData)==null||M.call(v,{source:i,target:r,unitId:s,subUnitId:a},c,d)}),this.setShowMenu(!0),!0}};exports.AutoFillService=la([l.OnLifecycle(l.LifecycleStages.Rendered,exports.AutoFillService),dn(0,D.Inject(l.IUniverInstanceService)),dn(1,D.Inject(S.SelectionManagerService)),dn(2,l.ICommandService),dn(3,l.IUndoRedoService)],exports.AutoFillService);const yt=D.createIdentifier("univer.auto-fill-service"),Vn={type:l.CommandType.COMMAND,id:"sheet.command.auto-fill",handler:async(o,t)=>o.get(yt).fillData(t.unitId,t.subUnitId)},Mn={id:"sheet.command.auto-clear-content",type:l.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(l.IUniverInstanceService),n=o.get(l.ICommandService),i=o.get(l.IUndoRedoService),r=S.getSheetCommandTarget(e);if(!r)return!1;const{unitId:s,subUnitId:a}=r,{clearRange:c,selectionRange:u}=t,d={subUnitId:a,unitId:s,cellValue:Qs([c])},h=S.SetRangeValuesUndoMutationFactory(o,d),{startColumn:m,startRow:g}=u;return n.executeCommand(S.SetSelectionsOperation.id,{selections:[{primary:{startColumn:m,startRow:g,endColumn:m,endRow:g,actualRow:g,actualColumn:m,isMerge:!1,isMergedMainCell:!1},range:{...u}}],unitId:s,subUnitId:a}),n.syncExecuteCommand(S.SetRangeValuesMutation.id,d)?(i.pushUndoRedo({unitID:s,undoMutations:[{id:S.SetRangeValuesMutation.id,params:h}],redoMutations:[{id:S.SetRangeValuesMutation.id,params:d}]}),!0):!1}};function Zo(o){return o.getContextValue(l.FOCUSING_SHEET)}function ne(o){return o.getContextValue(l.FOCUSING_SHEET)&&o.getContextValue(l.FOCUSING_UNIVER_EDITOR)&&!o.getContextValue(l.EDITOR_ACTIVATED)}function _r(o){return o.getContextValue(l.FOCUSING_SHEET)&&o.getContextValue(l.FOCUSING_UNIVER_EDITOR)&&!o.getContextValue(l.EDITOR_ACTIVATED)&&!o.getContextValue(l.FOCUSING_FORMULA_EDITOR)}function ca(o){return o.getContextValue(l.FOCUSING_SHEET)&&o.getContextValue(l.FOCUSING_UNIVER_EDITOR)&&o.getContextValue(l.EDITOR_ACTIVATED)}function da(o){return o.getContextValue(l.FOCUSING_UNIVER_EDITOR)&&o.getContextValue(l.EDITOR_ACTIVATED)}function Sr(o){return o.getContextValue(l.FOCUSING_FORMULA_EDITOR)&&o.getContextValue(l.FOCUSING_UNIVER_EDITOR)}function ua(o){return o.getContextValue(l.FOCUSING_SHEET)&&o.getContextValue(l.EDITOR_ACTIVATED)&&o.getContextValue(l.FOCUSING_EDITOR_INPUT_FORMULA)&&o.getContextValue(l.FOCUSING_UNIVER_EDITOR)}function Zt(o){return o.getContextValue(l.FOCUSING_SHEET)&&o.getContextValue(l.FOCUSING_UNIVER_EDITOR)&&o.getContextValue(l.EDITOR_ACTIVATED)&&!o.getContextValue(l.FOCUSING_EDITOR_INPUT_FORMULA)&&!o.getContextValue(l.FOCUSING_EDITOR_STANDALONE)}var ie=(o=>(o.MAIN="__SpreadsheetRender__",o.ROW="__SpreadsheetRowHeader__",o.COLUMN="__SpreadsheetColumnHeader__",o.LEFT_TOP="__SpreadsheetLeftTopPlaceholder__",o))(ie||{}),W=(o=>(o.VIEW_MAIN="viewMain",o.VIEW_MAIN_LEFT_TOP="viewMainLeftTop",o.VIEW_MAIN_TOP="viewMainTop",o.VIEW_MAIN_LEFT="viewMainLeft",o.VIEW_ROW_TOP="viewRowTop",o.VIEW_ROW_BOTTOM="viewRowBottom",o.VIEW_COLUMN_LEFT="viewColumnLeft",o.VIEW_COLUMN_RIGHT="viewColumnRight",o.VIEW_LEFT_TOP="viewLeftTop",o))(W||{});const Ei=0,nt=2,ha=3,Eo=[10,400],yi=1001;var ma=Object.defineProperty,ga=Object.getOwnPropertyDescriptor,fa=(o,t,e,n)=>{for(var i=n>1?void 0:n?ga(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&ma(t,e,i),i},Oi=(o,t)=>(e,n)=>t(e,n,o);exports.SheetSkeletonManagerService=class{constructor(t,e){R(this,"_currentSkeleton",{unitId:"",sheetId:""});R(this,"_sheetSkeletonParam",[]);R(this,"_currentSkeleton$",new U.BehaviorSubject(null));R(this,"currentSkeleton$",this._currentSkeleton$.asObservable());R(this,"_currentSkeletonBefore$",new U.BehaviorSubject(null));R(this,"currentSkeletonBefore$",this._currentSkeletonBefore$.asObservable());this._univerInstanceService=t,this._injector=e}dispose(){this._currentSkeletonBefore$.complete(),this._currentSkeleton$.complete(),this._sheetSkeletonParam=[]}getCurrent(){return this._getSkeleton(this._currentSkeleton)}getUnitSkeleton(t,e){return this._getSkeleton({unitId:t,sheetId:e})}setCurrent(t){this._setCurrent(t)}removeSkeleton(t){const e=this._sheetSkeletonParam.findIndex(n=>n.unitId===t.unitId);e!==-1&&(this._sheetSkeletonParam[e].skeleton.dispose(),this._sheetSkeletonParam.splice(e,1),this._currentSkeletonBefore$.next(null),this._currentSkeleton$.next(null))}_compareSearch(t,e){return t==null||e==null?!1:t.commandId===e.commandId&&t.sheetId===e.sheetId&&t.unitId===e.unitId}_setCurrent(t){const e=this._getSkeleton(t);if(e!=null)this._reCalculate(e);else{const{unitId:i,sheetId:r}=t,s=this._univerInstanceService.getUniverSheetInstance(t.unitId),a=s==null?void 0:s.getSheetBySheetId(t.sheetId);if(a==null||s==null)return;const c=this._buildSkeleton(a,s);this._sheetSkeletonParam.push({unitId:i,sheetId:r,skeleton:c,dirty:!1})}this._currentSkeleton=t;const n=this.getCurrent();this._currentSkeletonBefore$.next(n),this._currentSkeleton$.next(n)}reCalculate(){const t=this.getCurrent();t!=null&&this._reCalculate(t)}_reCalculate(t){t.dirty&&(t.skeleton.makeDirty(!0),t.dirty=!1),t.skeleton.calculate()}makeDirtyCurrent(t=!0){this.makeDirty(this._currentSkeleton,t)}makeDirty(t,e=!0){const n=this._getSkeleton(t);n!=null&&(n.dirty=e)}getOrCreateSkeleton(t){const e=this._getSkeleton(t);if(e)return e.skeleton;const n=this._univerInstanceService.getUniverSheetInstance(t.unitId),i=n==null?void 0:n.getSheetBySheetId(t.sheetId);if(!i||!n)return;const r=this._buildSkeleton(i,n);return this._sheetSkeletonParam.push({unitId:t.unitId,sheetId:t.sheetId,skeleton:r,dirty:!1}),r}_getSkeleton(t){const e=this._sheetSkeletonParam.find(n=>n.unitId===t.unitId&&n.sheetId===t.sheetId);return e!=null&&(e.commandId=t.commandId),e}_buildSkeleton(t,e){const n=t.getConfig();return this._injector.createInstance(E.SpreadsheetSkeleton,t,n,t.getCellMatrix(),e.getStyles())}};exports.SheetSkeletonManagerService=fa([Oi(0,l.IUniverInstanceService),Oi(1,D.Inject(D.Injector))],exports.SheetSkeletonManagerService);class _a{constructor(){R(this,"_startColumn",-1);R(this,"_startRow",-1);R(this,"_endColumn",-1);R(this,"_endRow",-1);R(this,"_startX",0);R(this,"_startY",0);R(this,"_endX",0);R(this,"_endY",0);R(this,"_currentCell");R(this,"_rangeType",l.RANGE_TYPE.NORMAL)}get startColumn(){return this._startColumn}get startRow(){return this._startRow}get endColumn(){return this._endColumn}get endRow(){return this._endRow}get startX(){return this._startX}get startY(){return this._startY}get endX(){return this._endX}get endY(){return this._endY}get currentCell(){return this._currentCell}get rangeType(){return this._rangeType}isEqual(t){const{startColumn:e,startRow:n,endColumn:i,endRow:r}=this,{startColumn:s,startRow:a,endColumn:c,endRow:u}=t;return e===s&&n===a&&i===c&&r===u}isInclude(t){const{startColumn:e,startRow:n,endColumn:i,endRow:r}=this,{startColumn:s,startRow:a,endColumn:c,endRow:u}=t;return!(c<e||s>i||a>r||u<n)}highlightToSelection(){return l.makeCellToSelection(this._currentCell)}getRange(){return{startColumn:this._startColumn,startRow:this._startRow,endColumn:this._endColumn,endRow:this._endRow,startX:this._startX,startY:this._startY,endX:this._endX,endY:this._endY,rangeType:this.rangeType}}getCell(){return this._currentCell}getRangeType(){return this._rangeType}getValue(){return{rangeWithCoord:{startColumn:this._startColumn,startRow:this._startRow,endColumn:this._endColumn,endRow:this._endRow,startX:this._startX,startY:this._startY,endX:this._endX,endY:this._endY,rangeType:this._rangeType},primaryWithCoord:this._currentCell}}setValue(t,e){const{startColumn:n,startRow:i,endColumn:r,endRow:s,startX:a,startY:c,endX:u,endY:d,rangeType:h}=t;this._startColumn=n,this._startRow=i,this._endColumn=r,this._endRow=s,this._startX=a,this._startY=c,this._endX=u,this._endY=d,h!=null&&(this._rangeType=h),this.setCurrentCell(e)}setCurrentCell(t){t&&(this._currentCell=t)}clearCurrentCell(){this._currentCell=null}}const xi=.3;class Bn extends l.Disposable{constructor(e,n,i=!0,r){super();R(this,"_leftControl");R(this,"_rightControl");R(this,"_topControl");R(this,"_bottomControl");R(this,"_backgroundControlTop");R(this,"_backgroundControlBottom");R(this,"_backgroundControlMiddleLeft");R(this,"_backgroundControlMiddleRight");R(this,"_fillControl");R(this,"_selectionShape");R(this,"_rowHeaderBackground");R(this,"_rowHeaderBorder");R(this,"_rowHeaderGroup");R(this,"_rowHeaderHighlight");R(this,"_columnHeaderBackground");R(this,"_columnHeaderBorder");R(this,"_columnHeaderGroup");R(this,"_columnHeaderHighlight");R(this,"_topLeftWidget");R(this,"_topCenterWidget");R(this,"_topRightWidget");R(this,"_middleLeftWidget");R(this,"_middleRightWidget");R(this,"_bottomLeftWidget");R(this,"_bottomCenterWidget");R(this,"_bottomRightWidget");R(this,"_dashRect");R(this,"_selectionModel");R(this,"_selectionStyle");R(this,"_rowHeaderWidth",0);R(this,"_columnHeaderHeight",0);R(this,"_widgetRects",[]);R(this,"_dispose$",new U.BehaviorSubject(this));R(this,"dispose$",this._dispose$.asObservable());R(this,"selectionMoving$",new U.Subject);R(this,"selectionMoved$",new U.Subject);R(this,"selectionScaling$",new U.Subject);R(this,"selectionScaled$",new U.Subject);R(this,"selectionFilling$",new U.Subject);R(this,"_selectionFilled$",new U.Subject);R(this,"selectionFilled$",this._selectionFilled$.asObservable());R(this,"_defaultStyle");R(this,"_currentStyle");R(this,"_isHelperSelection",!0);R(this,"_antLineOffset",0);R(this,"_antRequestNewFrame",-1);this._scene=e,this._zIndex=n,this._isHeaderHighlight=i,this._themeService=r,this._initialize()}get zIndex(){return this._zIndex}get leftControl(){return this._leftControl}get rightControl(){return this._rightControl}get topControl(){return this._topControl}get bottomControl(){return this._bottomControl}get fillControl(){return this._fillControl}get backgroundControlTop(){return this._backgroundControlTop}get backgroundControlBottom(){return this._backgroundControlBottom}get backgroundControlMiddleLeft(){return this._backgroundControlMiddleLeft}get backgroundControlMiddleRight(){return this._backgroundControlMiddleRight}get selectionShape(){return this._selectionShape}get model(){return this._selectionModel}get topLeftWidget(){return this._topLeftWidget}get topCenterWidget(){return this._topCenterWidget}get topRightWidget(){return this._topRightWidget}get middleLeftWidget(){return this._middleLeftWidget}get middleRightWidget(){return this._middleRightWidget}get bottomLeftWidget(){return this._bottomLeftWidget}get bottomCenterWidget(){return this._bottomCenterWidget}get bottomRightWidget(){return this._bottomRightWidget}get selectionStyle(){return this._selectionStyle}get dashRect(){return this._dashRect}get isHelperSelection(){return this._isHelperSelection}setEvent(e){this.leftControl.evented=e,this.rightControl.evented=e,this.topControl.evented=e,this.bottomControl.evented=e}enableHeaderHighlight(){this._isHelperSelection=!0}disableHeaderHighlight(){this._isHeaderHighlight=!1}refreshSelectionFilled(e){this._selectionFilled$.next(e)}updateStyle(e){this._updateControl(e,this._rowHeaderWidth,this._columnHeaderHeight)}update(e,n=0,i=0,r,s){this._selectionModel.setValue(e,s),r==null&&(r=this._selectionStyle),this._updateControl(r,n,i)}clearHighlight(){this._selectionModel.clearCurrentCell(),this._updateControl(this._selectionStyle,this._rowHeaderWidth,this._columnHeaderHeight)}getScene(){return this._scene}dispose(){var e,n,i,r,s,a,c,u,d,h,m,g,f,_,p,v,M,b,T,w,y,O,x,A,F;(e=this._leftControl)==null||e.dispose(),(n=this._rightControl)==null||n.dispose(),(i=this._topControl)==null||i.dispose(),(r=this._bottomControl)==null||r.dispose(),(s=this._backgroundControlTop)==null||s.dispose(),(a=this._backgroundControlMiddleLeft)==null||a.dispose(),(c=this._backgroundControlMiddleRight)==null||c.dispose(),(u=this._backgroundControlBottom)==null||u.dispose(),(d=this._fillControl)==null||d.dispose(),(h=this._selectionShape)==null||h.dispose(),(m=this._rowHeaderBackground)==null||m.dispose(),(g=this._rowHeaderBorder)==null||g.dispose(),(f=this._rowHeaderGroup)==null||f.dispose(),(_=this._rowHeaderBackground)==null||_.dispose(),(p=this._columnHeaderBackground)==null||p.dispose(),(v=this._columnHeaderBorder)==null||v.dispose(),(M=this._columnHeaderGroup)==null||M.dispose(),(b=this._topLeftWidget)==null||b.dispose(),(T=this._topCenterWidget)==null||T.dispose(),(w=this._topRightWidget)==null||w.dispose(),(y=this._middleLeftWidget)==null||y.dispose(),(O=this._middleRightWidget)==null||O.dispose(),(x=this._bottomLeftWidget)==null||x.dispose(),(A=this._bottomCenterWidget)==null||A.dispose(),(F=this._bottomRightWidget)==null||F.dispose(),super.dispose(),this._dispose$.next(this),this._dispose$.complete()}getCurrentCellInfo(){const e=this.model.currentCell;if(e){let n;if(e.isMerged){const i=e.mergeInfo;n={startRow:i.startRow,endRow:i.endRow,startColumn:i.startColumn,endColumn:i.endColumn,startX:i.startX,endX:i.endX,startY:i.startY,endY:i.endY}}else{const{actualRow:i,actualColumn:r,startX:s,endX:a,startY:c,endY:u}=e;n={startRow:i,endRow:i,startColumn:r,endColumn:r,startX:s,endX:a,startY:c,endY:u}}return n}}getValue(){return{...this._selectionModel.getValue(),style:this._selectionStyle}}getRange(){return this._selectionModel.getValue().rangeWithCoord}enableHelperSelection(){this._isHelperSelection=!0}disableHelperSelection(){this._isHelperSelection=!1}updateStyleId(e){this._selectionStyle!=null&&(this._selectionStyle.id=e)}_updateControl(e,n,i){const{startX:r,startY:s,endX:a,endY:c}=this._selectionModel,u=this._defaultStyle;e==null&&(e=u),this._currentStyle=e;const{stroke:d=u.stroke,widgets:h=u.widgets,hasAutoFill:m=u.hasAutoFill,AutofillStroke:g=u.AutofillStroke,strokeDash:f,isAnimationDash:_}=e;let{strokeWidth:p=u.strokeWidth,AutofillSize:v=u.AutofillSize,AutofillStrokeWidth:M=u.AutofillStrokeWidth}=e;const b=this._getScale(),T=(p+S.SELECTION_CONTROL_BORDER_BUFFER_WIDTH)/2/b;p/=b,v/=b,M/=b<1?1:b;const w=S.SELECTION_CONTROL_BORDER_BUFFER_WIDTH/b,y=E.FIX_ONE_PIXEL_BLUR_OFFSET/b;if(this.leftControl.transformByState({height:c-s,left:-T+y,width:p,strokeWidth:w,top:-w/2+y}),this.leftControl.setProps({fill:d,stroke:S.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),this.rightControl.transformByState({height:c-s,left:a-r-T+y,width:p,strokeWidth:w,top:-w/2+y}),this.rightControl.setProps({fill:d,stroke:S.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),this.topControl.transformByState({width:a-r+p,top:-T+y,left:-T+y,height:p,strokeWidth:w}),this.topControl.setProps({fill:d,stroke:S.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),this.bottomControl.transformByState({width:a-r+p,top:c-s-T+y,height:p,left:-T+y,strokeWidth:w}),this.bottomControl.setProps({fill:d,stroke:S.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),f==null||c-s>1e6||a-r>1e5)this.dashRect.hide(),this._stopAntLineAnimation();else{const O=e.strokeWidth*2/b;this.dashRect.transformByState({height:c-s,width:a-r,strokeWidth:O,left:-O/2+y,top:-O/2+y}),this.dashRect.setProps({strokeDashArray:[0,f/b]}),this._stopAntLineAnimation(),_!==!1&&this._startAntLineAnimation(),this.dashRect.show()}m===!0&&!this._hasWidgets(h)?(this.fillControl.setProps({fill:d,stroke:g,strokeScaleEnabled:!1}),this.fillControl.transformByState({width:v-M,height:v-M,left:a-r-v/2+M/2-y,top:c-s-v/2+M/2-y,strokeWidth:M}),this.fillControl.show()):this.fillControl.hide(),this._updateBackgroundControl(e),this._updateBackgroundTitle(e,n,i),this._updateWidgets(e),this.selectionShape.show(),this.selectionShape.translate(r,s),this._selectionStyle=e,this._rowHeaderWidth=n||0,this._columnHeaderHeight=i||0,this.selectionShape.makeDirtyNoDebounce(!0)}_initialize(){this._defaultStyle=S.getNormalSelectionStyle(this._themeService),this._selectionModel=new _a;const e=this._zIndex;this._leftControl=new E.Rect("__SpreadsheetSelectionShapeLeftControl__"+e,{zIndex:e}),this._rightControl=new E.Rect("__SpreadsheetSelectionShapeRightControl__"+e,{zIndex:e}),this._topControl=new E.Rect("__SpreadsheetSelectionTopControl__"+e,{zIndex:e}),this._bottomControl=new E.Rect("__SpreadsheetSelectionBottomControl__"+e,{zIndex:e}),this._backgroundControlTop=new E.Rect("__SpreadsheetSelectionBackgroundControlTop__"+e,{zIndex:e-1,evented:!1}),this._backgroundControlBottom=new E.Rect("__SpreadsheetSelectionBackgroundControlBottom__"+e,{zIndex:e-1,evented:!1}),this._backgroundControlMiddleLeft=new E.Rect("__SpreadsheetSelectionBackgroundControlMiddleLeft__"+e,{zIndex:e-1,evented:!1}),this._backgroundControlMiddleRight=new E.Rect("__SpreadsheetSelectionBackgroundControlMiddleRight__"+e,{zIndex:e-1,evented:!1}),this._fillControl=new E.Rect("__SpreadsheetSelectionFillControl__"+e,{zIndex:e+1}),this._dashRect=new E.Rect("__SpreadsheetDragDashControl__"+e,{zIndex:e+2,evented:!1,stroke:"#fff"});const n=[this._fillControl,this._leftControl,this._rightControl,this._topControl,this._bottomControl,this._backgroundControlTop,this._backgroundControlMiddleLeft,this._backgroundControlMiddleRight,this._backgroundControlBottom,this._dashRect];this._widgetRects=this._initialWidget(),this._selectionShape=new E.Group("__SpreadsheetSelectionShape__"+e,...n,...this._widgetRects),this._selectionShape.hide(),this._selectionShape.evented=!1,this._selectionShape.zIndex=e;const i=this.getScene();i.addObject(this._selectionShape,ha),this.disposeWithMe(l.toDisposable(i.onTransformChangeObservable.add(r=>{r.type===E.TRANSFORM_CHANGE_OBSERVABLE_TYPE.scale&&this._updateControl(this._currentStyle,this._rowHeaderWidth,this._columnHeaderHeight)}))),this._initialTitle()}_initialTitle(){const e=this._zIndex;this._rowHeaderBackground=new E.Rect("__SpreadSheetSelectionRowHeaderBackground__"+e,{zIndex:e-1,evented:!1}),this._rowHeaderBorder=new E.Rect("__SpreadSheetSelectionRowHeaderBorder__"+e,{zIndex:e-1,evented:!1}),this._rowHeaderGroup=new E.Group("__SpreadSheetSelectionRowHeaderGroup__"+e,this._rowHeaderBackground,this._rowHeaderBorder),this._rowHeaderGroup.hide(),this._rowHeaderGroup.evented=!1,this._rowHeaderGroup.zIndex=e,this._columnHeaderBackground=new E.Rect("__SpreadSheetSelectionColumnHeaderBackground__"+e,{zIndex:e-1,evented:!1}),this._columnHeaderBorder=new E.Rect("__SpreadSheetSelectionColumnHeaderBorder__"+e,{zIndex:e-1,evented:!1}),this._columnHeaderGroup=new E.Group("__SpreadSheetSelectionColumnHeaderGroup__"+e,this._columnHeaderBackground,this._columnHeaderBorder),this._columnHeaderGroup.hide(),this._columnHeaderGroup.evented=!1,this._columnHeaderGroup.zIndex=e,this.getScene().addObjects([this._rowHeaderGroup,this._columnHeaderGroup],E.DEFAULT_SELECTION_LAYER_INDEX)}_initialWidget(){const e=this._zIndex;return this._topLeftWidget=new E.Rect("__SpreadSheetSelectionTopLeftWidget__"+e,{zIndex:e+1}),this._topCenterWidget=new E.Rect("__SpreadSheetSelectionTopCenterWidget__"+e,{zIndex:e+1}),this._topRightWidget=new E.Rect("__SpreadSheetSelectionTopRightWidget__"+e,{zIndex:e+1}),this._middleLeftWidget=new E.Rect("__SpreadSheetSelectionMiddleLeftWidget__"+e,{zIndex:e+1}),this._middleRightWidget=new E.Rect("__SpreadSheetSelectionMiddleRightWidget__"+e,{zIndex:e+1}),this._bottomLeftWidget=new E.Rect("__SpreadSheetSelectionBottomLeftWidget__"+e,{zIndex:e+1}),this._bottomCenterWidget=new E.Rect("__SpreadSheetSelectionBottomCenterWidget__"+e,{zIndex:e+1}),this._bottomRightWidget=new E.Rect("__SpreadSheetSelectionBottomRightWidget__"+e,{zIndex:e+1}),[this._topLeftWidget,this._topCenterWidget,this._topRightWidget,this._middleLeftWidget,this._middleRightWidget,this._bottomLeftWidget,this._bottomCenterWidget,this._bottomRightWidget]}_updateBackgroundTitle(e,n,i){const{startX:r,startY:s,endX:a,endY:c,rangeType:u}=this._selectionModel,d=this._defaultStyle;e==null&&(e=d);const h=this._getScale(),{stroke:m,hasRowHeader:g,rowHeaderFill:f=d.rowHeaderFill,rowHeaderStroke:_=d.rowHeaderStroke,hasColumnHeader:p,columnHeaderFill:v=d.columnHeaderFill,columnHeaderStroke:M=d.columnHeaderStroke}=e;let{rowHeaderStrokeWidth:b=d.rowHeaderStrokeWidth,columnHeaderStrokeWidth:T=d.columnHeaderStrokeWidth}=e;if(b/=h,T/=h,p===!0){let w=v;this._isHeaderHighlight&&u===l.RANGE_TYPE.COLUMN&&(w=new l.ColorKit(m).setAlpha(xi).toString()),this._columnHeaderBackground.setProps({fill:w}),this._columnHeaderBackground.resize(a-r,i),this._columnHeaderBorder.setProps({fill:M}),this._columnHeaderBorder.transformByState({width:a-r,height:T,top:i-T+1/h}),this._columnHeaderGroup.show(),this._columnHeaderGroup.translate(r,0)}else this._columnHeaderGroup.hide();if(this._columnHeaderGroup.makeDirty(!0),g===!0){let w=f;this._isHeaderHighlight&&u===l.RANGE_TYPE.ROW&&(w=new l.ColorKit(m).setAlpha(xi).toString()),this._rowHeaderBackground.setProps({fill:w}),this._rowHeaderBackground.resize(n,c-s),this._rowHeaderBorder.setProps({fill:_}),this._rowHeaderBorder.transformByState({width:b,height:c-s,left:n-b+1/h}),this._rowHeaderGroup.show(),this._rowHeaderGroup.translate(0,s)}else this._rowHeaderGroup.hide();this._rowHeaderGroup.makeDirty(!0)}_updateBackgroundControl(e){const{startX:n,startY:i,endX:r,endY:s}=this._selectionModel,a=this._defaultStyle;e==null&&(e=a);const c=this._getScale(),{fill:u=a.fill}=e;let{strokeWidth:d=a.strokeWidth}=e;d/=c;const h=this._selectionModel.highlightToSelection();if(!h){this._backgroundControlTop.resize(r-n,s-i),this._backgroundControlTop.setProps({fill:u}),this._backgroundControlBottom.resize(0,0),this._backgroundControlMiddleLeft.resize(0,0),this._backgroundControlMiddleRight.resize(0,0);return}const{startX:m,startY:g,endX:f,endY:_}=h,p=d/2,v={left:-p,top:-p,width:r-n+p*2,height:g-i+p};v.height<0&&(v.width=0,v.height=0),this._backgroundControlTop.transformByState(v);const M={left:-p,top:g-i,width:m-n+p,height:_-g};M.width<0&&(M.width=0,M.height=0),this._backgroundControlMiddleLeft.transformByState(M);const b={left:f-n-p,top:g-i,width:r-f+p*2,height:_-g};b.width<0&&(b.width=0,b.height=0),this._backgroundControlMiddleRight.transformByState(b);const T={left:-p,top:_-i,width:r-n+p*2,height:s-_+p};T.height<0&&(T.width=0,T.height=0),this._backgroundControlBottom.transformByState(T),this._backgroundControlTop.setProps({fill:u}),this._backgroundControlMiddleLeft.setProps({fill:u}),this._backgroundControlMiddleRight.setProps({fill:u}),this._backgroundControlBottom.setProps({fill:u})}_updateWidgets(e){const{startX:n,startY:i,endX:r,endY:s}=this._selectionModel,a=this._defaultStyle;e==null&&(e=a);const{stroke:c=a.stroke,widgets:u=a.widgets,widgetStroke:d=a.widgetStroke}=e,h=this._getScale();let{widgetSize:m=a.widgetSize,widgetStrokeWidth:g=a.widgetStrokeWidth}=e;m/=h,g/=h;const f={left:-m/2+g/2,center:(r-n)/2-m/2+g/2,right:r-n-m/2+g/2,top:-m/2,middle:(s-i)/2-m/2,bottom:s-i-m/2+g/2},_=m-g;this._widgetRects.forEach(p=>{p.setProps({fill:c,stroke:d})}),u.tl===!0?(this._topLeftWidget.transformByState({height:_,width:_,left:f.left,top:f.top,strokeWidth:g}),this._topLeftWidget.show()):this._topLeftWidget.hide(),u.tc===!0?(this._topCenterWidget.transformByState({height:_,width:_,left:f.center,top:f.top,strokeWidth:g}),this._topCenterWidget.show()):this._topCenterWidget.hide(),u.tr===!0?(this._topRightWidget.transformByState({height:_,width:_,left:f.right,top:f.top,strokeWidth:g}),this._topRightWidget.show()):this._topRightWidget.hide(),u.ml===!0?(this._middleLeftWidget.transformByState({height:_,width:_,left:f.left,top:f.middle,strokeWidth:g}),this._middleLeftWidget.show()):this._middleLeftWidget.hide(),u.mr===!0?(this._middleRightWidget.transformByState({height:_,width:_,left:f.right,top:f.middle,strokeWidth:g}),this._middleRightWidget.show()):this._middleRightWidget.hide(),u.bl===!0?(this._bottomLeftWidget.transformByState({height:_,width:_,left:f.left,top:f.bottom,strokeWidth:g}),this._bottomLeftWidget.show()):this._bottomLeftWidget.hide(),u.bc===!0?(this._bottomCenterWidget.transformByState({height:_,width:_,left:f.center,top:f.bottom,strokeWidth:g}),this._bottomCenterWidget.show()):this._bottomCenterWidget.hide(),u.br===!0?(this._bottomRightWidget.transformByState({height:_,width:_,left:f.right,top:f.bottom,strokeWidth:g}),this._bottomRightWidget.show()):this._bottomRightWidget.hide()}_hasWidgets(e){if(e==null)return!1;const n=Object.keys(e);if(n.length===0)return!1;for(const i of n)if(e[i]===!0)return!0;return!0}_getScale(){const{scaleX:e,scaleY:n}=this._scene.getAncestorScale();return Math.max(e,n)}_stopAntLineAnimation(){this._antLineOffset=0,E.cancelRequestFrame(this._antRequestNewFrame)}_startAntLineAnimation(){const e=this._getScale();this._antLineOffset+=.6/e,this._antLineOffset>16/e&&(this._antLineOffset=0),this.dashRect.setProps({strokeDashOffset:-this._antLineOffset}),this._antRequestNewFrame=E.requestNewFrame(()=>{this._startAntLineAnimation()})}}const Ni="__SpreadsheetHelperSelectionTempRect",Sa=35;class Ai{constructor(t,e,n,i,r){R(this,"_startOffsetX",0);R(this,"_startOffsetY",0);R(this,"_relativeSelectionPositionRow",0);R(this,"_relativeSelectionPositionColumn",0);R(this,"_relativeSelectionRowLength",0);R(this,"_relativeSelectionColumnLength",0);R(this,"_moveObserver");R(this,"_upObserver");R(this,"_helperSelection");R(this,"_scrollTimer");R(this,"_activeViewport");R(this,"_targetSelection",{startY:0,endY:0,startX:0,endX:0,startRow:-1,endRow:-1,startColumn:-1,endColumn:-1});R(this,"_isInMergeState",!1);R(this,"_fillControlColors",[]);this._control=t,this._skeleton=e,this._scene=n,this._themeService=i,this._injector=r,this._initialControl(),this._initialWidget(),this._initialFill(),this._control.dispose$.subscribe(()=>{this.dispose()})}get isHelperSelection(){return this._control.isHelperSelection}dispose(){var t,e;(t=this._scrollTimer)==null||t.dispose(),this._fillControlColors=[],this._clearObserverEvent(),(e=this._helperSelection)==null||e.dispose()}_getFreeze(){var e;return(e=this._injector.get(exports.SheetSkeletonManagerService).getCurrent())==null?void 0:e.skeleton.getWorksheetConfig().freeze}_isSelectionInViewport(t,e){const n=this._getFreeze()||{startRow:-1,startColumn:-1,xSplit:0,ySplit:0};switch(e.viewPortKey){case W.VIEW_MAIN:return t.endRow>=n.startRow&&t.endColumn>=n.startColumn;case W.VIEW_MAIN_TOP:case W.VIEW_COLUMN_RIGHT:return t.endColumn>=n.startColumn&&t.startRow<n.startRow;case W.VIEW_MAIN_LEFT:case W.VIEW_ROW_BOTTOM:return t.endRow>=n.startRow&&t.startColumn<n.startColumn;case W.VIEW_MAIN_LEFT_TOP:case W.VIEW_COLUMN_LEFT:case W.VIEW_ROW_TOP:case W.VIEW_LEFT_TOP:return t.startRow<n.startRow&&t.startColumn<n.startColumn}}_clearObserverEvent(){this._scene.onPointerMoveObserver.remove(this._moveObserver),this._scene.onPointerUpObserver.remove(this._upObserver),this._moveObserver=null,this._upObserver=null}_initialControl(){const{leftControl:t,rightControl:e,topControl:n,bottomControl:i}=this._control;[t,e,n,i].forEach(r=>{r.onPointerEnterObserver.add(()=>{r.setCursor(E.CURSOR_TYPE.MOVE)}),r.onPointerLeaveObserver.add(()=>{r.resetCursor()}),r.onPointerDownObserver.add(this._controlEvent.bind(this))})}_controlMoving(t,e){var y;const n=this._scene,i=n.getScrollXYByRelativeCoords(E.Vector2.FromArray([t,e])),{scaleX:r,scaleY:s}=n.getAncestorScale(),a=this._skeleton.getCellPositionByOffset(t,e,r,s,i),{row:c,column:u}=a,d=this._skeleton.getRowCount()-1,h=this._skeleton.getColumnCount()-1;let m=c+this._relativeSelectionPositionRow;m<0&&(m=0);let g=m+this._relativeSelectionRowLength;g>d&&(g=d,g-m<this._relativeSelectionRowLength&&(m=g-this._relativeSelectionRowLength));let f=u+this._relativeSelectionPositionColumn;f<0&&(f=0);let _=f+this._relativeSelectionColumnLength;_>h&&(_=h,_-f<this._relativeSelectionColumnLength&&(f=_-this._relativeSelectionColumnLength));const p=this._skeleton.getNoMergeCellPositionByIndex(m,f),v=this._skeleton.getNoMergeCellPositionByIndex(g,_),M=(p==null?void 0:p.startY)||0,b=(v==null?void 0:v.endY)||0,T=(p==null?void 0:p.startX)||0,w=(v==null?void 0:v.endX)||0;(y=this._helperSelection)==null||y.transformByState({left:T,top:M,width:w-T,height:b-M}),this._targetSelection={startY:M,endY:b,startX:T,endX:w,startRow:m,endRow:g,startColumn:f,endColumn:_},this._control.selectionMoving$.next(this._targetSelection)}_controlEvent(t){const{offsetX:e,offsetY:n}=t,i=this._scene,r=i.getRelativeCoord(E.Vector2.FromArray([e,n])),{x:s,y:a}=r,c=i.getScrollXYByRelativeCoords(r),{scaleX:u,scaleY:d}=i.getAncestorScale(),h=this._skeleton.getCellPositionByOffset(s,a,u,d,c);this._startOffsetX=s,this._startOffsetY=a;const{row:m,column:g}=h,{startRow:f,startColumn:_,endRow:p,endColumn:v}=this._control.model;let M=0,b=0;m<f?M-=1:m>p&&(M+=1),g<_?b-=1:g>v&&(b+=1),this._relativeSelectionPositionRow=f-m+M,this._relativeSelectionPositionColumn=_-g+b,this._relativeSelectionRowLength=p-f,this._relativeSelectionColumnLength=v-_;const T=this._control.selectionStyle,w=this._getScale();this.isHelperSelection&&(this._helperSelection=new E.Rect(Ni,{stroke:T.stroke,strokeWidth:T.strokeWidth/w}),i.addObject(this._helperSelection));const y=i.getViewport(W.VIEW_MAIN),O=E.ScrollTimer.create(i);O.startScroll(s,a,y),this._scrollTimer=O,i.disableEvent(),this._moveObserver=i.onPointerMoveObserver.add(x=>{const{offsetX:A,offsetY:F}=x,{x:N,y:L}=i.getRelativeCoord(E.Vector2.FromArray([A,F]));this._controlMoving(N,L),i.setCursor(E.CURSOR_TYPE.MOVE),O.scrolling(N,L,()=>{this._controlMoving(N,L)})}),this._upObserver=i.onPointerUpObserver.add(()=>{var A,F;(A=this._helperSelection)==null||A.dispose();const x=this._scene;x.resetCursor(),this._clearObserverEvent(),x.enableEvent(),(F=this._scrollTimer)==null||F.dispose(),this._control.selectionMoved$.next(this._targetSelection)})}_initialWidget(){const{topLeftWidget:t,topCenterWidget:e,topRightWidget:n,middleLeftWidget:i,middleRightWidget:r,bottomLeftWidget:s,bottomCenterWidget:a,bottomRightWidget:c}=this._control,u=[E.CURSOR_TYPE.NORTH_WEST_RESIZE,E.CURSOR_TYPE.NORTH_RESIZE,E.CURSOR_TYPE.NORTH_EAST_RESIZE,E.CURSOR_TYPE.WEST_RESIZE,E.CURSOR_TYPE.EAST_RESIZE,E.CURSOR_TYPE.SOUTH_WEST_RESIZE,E.CURSOR_TYPE.SOUTH_RESIZE,E.CURSOR_TYPE.SOUTH_EAST_RESIZE];[t,e,n,i,r,s,a,c].forEach((d,h)=>{d.onPointerEnterObserver.add(()=>{d.setCursor(u[h])}),d.onPointerLeaveObserver.add(()=>{d.resetCursor()}),d.onPointerDownObserver.add(m=>{this._widgetEvent(m,u[h])})})}_widgetMoving(t,e,n){const i=this._scene,r=i.getScrollXYByRelativeCoords(E.Vector2.FromArray([this._startOffsetX,this._startOffsetY])),{scaleX:s,scaleY:a}=i.getAncestorScale(),c=this._skeleton.getCellPositionByOffset(t,e,s,a,r),{row:u,column:d}=c,{rowHeaderWidth:h,columnHeaderHeight:m}=this._skeleton;let g=this._relativeSelectionPositionRow,f=this._relativeSelectionPositionColumn,_=u,p=d;n===E.CURSOR_TYPE.NORTH_WEST_RESIZE?(g=u,f=d,_=this._relativeSelectionPositionRow,p=this._relativeSelectionPositionColumn):n===E.CURSOR_TYPE.NORTH_RESIZE?(g=u,f=this._relativeSelectionPositionColumn,_=this._relativeSelectionPositionRow,p=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength):n===E.CURSOR_TYPE.NORTH_EAST_RESIZE?(g=u,f=this._relativeSelectionPositionColumn,_=this._relativeSelectionPositionRow,p=d):n===E.CURSOR_TYPE.WEST_RESIZE?(g=this._relativeSelectionPositionRow,f=d,_=this._relativeSelectionPositionRow+this._relativeSelectionRowLength,p=this._relativeSelectionPositionColumn):n===E.CURSOR_TYPE.EAST_RESIZE?_=this._relativeSelectionPositionRow+this._relativeSelectionRowLength:n===E.CURSOR_TYPE.SOUTH_WEST_RESIZE?(g=this._relativeSelectionPositionRow,f=d,_=u,p=this._relativeSelectionPositionColumn):n===E.CURSOR_TYPE.SOUTH_RESIZE&&(g=this._relativeSelectionPositionRow,f=this._relativeSelectionPositionColumn,_=u,p=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength);const{startRow:v,startColumn:M,endRow:b,endColumn:T}=this._swapPositions(g,f,_,p),w=this._skeleton.getNoMergeCellPositionByIndex(v,M),y=this._skeleton.getNoMergeCellPositionByIndex(b,T),O=(w==null?void 0:w.startY)||0,x=(y==null?void 0:y.endY)||0,A=(w==null?void 0:w.startX)||0,F=(y==null?void 0:y.endX)||0;this._targetSelection={startY:O,endY:x,startX:A,endX:F,startRow:g,endRow:_,startColumn:f,endColumn:p},this._control.update(this._targetSelection,h,m,this._control.selectionStyle),this._control.clearHighlight(),this._control.selectionScaling$.next(this._targetSelection)}_widgetEvent(t,e){const{offsetX:n,offsetY:i}=t,r=this._scene,s=r.getRelativeCoord(E.Vector2.FromArray([n,i])),{x:a,y:c}=s;this._startOffsetX=n,this._startOffsetY=i;const{startRow:u,startColumn:d,endRow:h,endColumn:m}=this._control.model;this._relativeSelectionPositionRow=u,this._relativeSelectionPositionColumn=d,this._relativeSelectionRowLength=h-u,this._relativeSelectionColumnLength=m-d,e===E.CURSOR_TYPE.NORTH_WEST_RESIZE?(this._relativeSelectionPositionRow=h,this._relativeSelectionPositionColumn=m):e===E.CURSOR_TYPE.NORTH_RESIZE?this._relativeSelectionPositionRow=h:e===E.CURSOR_TYPE.NORTH_EAST_RESIZE?this._relativeSelectionPositionRow=h:e===E.CURSOR_TYPE.WEST_RESIZE?this._relativeSelectionPositionColumn=m:e===E.CURSOR_TYPE.SOUTH_WEST_RESIZE&&(this._relativeSelectionPositionColumn=m);const g=E.ScrollTimer.create(r);g.startScroll(a,c),this._scrollTimer=g,r.disableEvent(),this._moveObserver=r.onPointerMoveObserver.add(f=>{const{offsetX:_,offsetY:p}=f,{x:v,y:M}=r.getRelativeCoord(E.Vector2.FromArray([_,p]));this._widgetMoving(v,M,e),r.setCursor(e),g.scrolling(v,M,()=>{this._widgetMoving(v,M,e)})}),this._upObserver=r.onPointerUpObserver.add(()=>{var _;const f=this._scene;f.resetCursor(),this._clearObserverEvent(),f.enableEvent(),(_=this._scrollTimer)==null||_.dispose(),this._control.selectionScaled$.next(this._targetSelection)})}_initialFill(){const{fillControl:t}=this._control;t.onPointerEnterObserver.add(()=>{t.setCursor(E.CURSOR_TYPE.CROSSHAIR)}),t.onPointerLeaveObserver.add(()=>{t.resetCursor()}),t.onPointerDownObserver.add(this._fillEvent.bind(this))}_fillMoving(t,e){var F,N,L;const n=this._scene,i=n.getScrollXY(this._activeViewport),{scaleX:r,scaleY:s}=n.getAncestorScale(),a=this._skeleton.getCellPositionByOffset(t,e,r,s,i),{row:c,column:u}=a,d=n.getRelativeCoord(E.Vector2.FromArray([t,e])),h=this._skeleton.getRowCount()-1,m=this._skeleton.getColumnCount()-1;let g=this._relativeSelectionPositionRow,f=this._relativeSelectionPositionColumn,_=this._relativeSelectionPositionRow+this._relativeSelectionRowLength,p=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength,v=!1,M=!0;if((u<f||u>p)&&c>=g&&c<=_){const B=this._fillRuler(u,f,p,this._relativeSelectionColumnLength,m);f=B.startRowOrColumn,p=B.endRowOrColumn,v=B.isLighten,M=!1}else if((c<g||c>_)&&u>=f&&u<=p){const B=this._fillRuler(c,g,_,this._relativeSelectionRowLength,h);g=B.startRowOrColumn,_=B.endRowOrColumn,v=B.isLighten}else if(Math.abs(this._startOffsetX-d.x-i.x)/2>Math.abs(this._startOffsetY-d.y-i.y)){const B=this._fillRuler(u,f,p,this._relativeSelectionColumnLength,m);f=B.startRowOrColumn,p=B.endRowOrColumn,v=B.isLighten,M=!1}else{const B=this._fillRuler(c,g,_,this._relativeSelectionRowLength,h);g=B.startRowOrColumn,_=B.endRowOrColumn,v=B.isLighten}const b=this._skeleton.getNoMergeCellPositionByIndex(g,f),T=this._skeleton.getNoMergeCellPositionByIndex(_,p),w=(b==null?void 0:b.startY)||0,y=(T==null?void 0:T.endY)||0,O=(b==null?void 0:b.startX)||0,x=(T==null?void 0:T.endX)||0;v?this._controlHandler((B,j)=>{const z=new l.ColorKit(this._fillControlColors[j]).lighten(Sa).toRgbString();B.setProps({fill:z})}):this._controlHandler((B,j)=>{B.setProps({fill:this._fillControlColors[j]})});const A=S.SELECTION_CONTROL_BORDER_BUFFER_WIDTH/this._getScale();g===_&&M===!0||f===p&&M===!1?(F=this._helperSelection)==null||F.hide():((N=this._helperSelection)==null||N.transformByState({left:O-A/2,top:w-A/2,width:x-O,height:y-w}),(L=this._helperSelection)==null||L.show()),this._targetSelection={startY:w,endY:y,startX:O,endX:x,startRow:g,endRow:_,startColumn:f,endColumn:p},this._control.selectionFilling$.next(this._targetSelection)}_fillEvent(t){const{offsetX:e,offsetY:n}=t,i=this._scene,r=i.getRelativeCoord(E.Vector2.FromArray([e,n])),{x:s,y:a}=r;this._startOffsetX=s,this._startOffsetY=a;const{startRow:c,startColumn:u,endRow:d,endColumn:h}=this._control.model;this._isInMergeState=this._hasMergeInRange(c,u,d,h),this._relativeSelectionPositionRow=c,this._relativeSelectionPositionColumn=u,this._relativeSelectionRowLength=d-c,this._relativeSelectionColumnLength=h-u;const m=this._control.selectionStyle;let g=m==null?void 0:m.stroke,f=m==null?void 0:m.strokeWidth;const _=S.getNormalSelectionStyle(this._themeService);g==null&&(g=_.stroke),f==null&&(f=_.strokeWidth);const p=this._getScale();f/=p;const v=S.SELECTION_CONTROL_BORDER_BUFFER_WIDTH/p,M=new l.ColorKit(g).darken(2).toRgbString();this.isHelperSelection&&(this._helperSelection=new E.Rect(Ni,{stroke:M,strokeWidth:f+v/2}),i.addObject(this._helperSelection)),this._activeViewport=i.getActiveViewportByCoord(E.Vector2.FromArray([e,n]));const b=i.getViewport(W.VIEW_MAIN),T=E.ScrollTimer.create(i,this._activeViewport.viewPortKey===W.VIEW_MAIN?E.ScrollTimerType.ALL:E.ScrollTimerType.NONE);T.startScroll(s,a,b),this._scrollTimer=T,i.disableEvent(),this._controlHandler(w=>{this._fillControlColors.push(w.fill)}),this._moveObserver=i.onPointerMoveObserver.add(w=>{var L;const{offsetX:y,offsetY:O}=w,x=i.getActiveViewportByCoord(E.Vector2.FromArray([y,O])),{x:A,y:F}=i.getRelativeCoord(E.Vector2.FromArray([y,O]));this._fillMoving(A,F),i.setCursor(E.CURSOR_TYPE.CROSSHAIR);const N=this._targetSelection;if(b&&x&&((L=this._activeViewport)==null?void 0:L.viewPortKey)!==(x==null?void 0:x.viewPortKey)){let B;N.startRow!==c?(T.scrollTimerType=E.ScrollTimerType.Y,B={...N,endRow:N.startRow}):N.endRow!==d?(T.scrollTimerType=E.ScrollTimerType.Y,B={...N,startRow:N.endRow}):N.startColumn!==u?(T.scrollTimerType=E.ScrollTimerType.X,B={...N,endColumn:N.startColumn}):(T.scrollTimerType=E.ScrollTimerType.X,B={...N,startColumn:N.endColumn}),this._isSelectionInViewport(B,x)&&(b.scrollTo({x:T.scrollTimerType===E.ScrollTimerType.X?0:void 0,y:T.scrollTimerType===E.ScrollTimerType.Y?0:void 0}),this._activeViewport=x)}T.scrolling(A,F,()=>{this._fillMoving(A,F)})}),this._upObserver=i.onPointerUpObserver.add(()=>{var y,O;(y=this._helperSelection)==null||y.dispose();const w=this._scene;w.resetCursor(),this._clearObserverEvent(),w.enableEvent(),(O=this._scrollTimer)==null||O.dispose(),this._control.refreshSelectionFilled(this._targetSelection),this._isInMergeState=!1,this._controlHandler((x,A)=>{x.setProps({fill:this._fillControlColors[A]})}),this._fillControlColors=[]})}_hasMergeInRange(t,e,n,i){const r=this._skeleton.mergeData;if(!r)return!1;for(const s of r){const{startRow:a,startColumn:c,endRow:u,endColumn:d}=s,h={left:e,top:t,right:i,bottom:n},m={left:c,top:a,right:d,bottom:u};if(E.isRectIntersect(h,m))return!0}return!1}_swapPositions(t,e,n,i){const r=Math.min(t,n),s=Math.min(e,i),a=Math.max(t,n),c=Math.max(e,i);return{startRow:r,startColumn:s,endRow:a,endColumn:c}}_controlHandler(t){const{leftControl:e,rightControl:n,topControl:i,bottomControl:r,backgroundControlTop:s,backgroundControlMiddleLeft:a,backgroundControlMiddleRight:c,backgroundControlBottom:u,fillControl:d}=this._control,h=[e,n,i,r,s,a,c,u,d];for(let m=0,g=h.length;m<g;m++){const f=h[m];t(f,m)}}_fillRuler(t,e,n,i,r){let s=!1;if(t<e)if(this._isInMergeState&&t<e){const a=e-t,c=i+1,u=Math.ceil(a/c);let d=e-u*c;d<0&&(d=e-(u-1)*c),e=d}else e=t;else if(t>=e&&t<=n)s=!0,this._isInMergeState||(n=t);else if(this._isInMergeState&&t>n){const a=t-n,c=i+1,u=Math.ceil(a/c);let d=n+u*c;d>r&&(d=n+(u-1)*c),n=d}else n=t;return{rowOrColumn:t,startRowOrColumn:e,endRowOrColumn:n,isLighten:s}}_getScale(){const{scaleX:t,scaleY:e}=this._scene.getAncestorScale();return Math.max(t,e)}}var pa=Object.defineProperty,Ca=Object.getOwnPropertyDescriptor,va=(o,t,e,n)=>{for(var i=n>1?void 0:n?Ca(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&pa(t,e,i),i},un=(o,t)=>(e,n)=>t(e,n,o);exports.SelectionRenderService=class{constructor(t,e,n,i){R(this,"hasSelection",!1);R(this,"_downObserver");R(this,"_moveObserver");R(this,"_upObserver");R(this,"_controlFillConfig$",new U.BehaviorSubject(null));R(this,"controlFillConfig$",this._controlFillConfig$.asObservable());R(this,"_selectionControls",[]);R(this,"_startSelectionRange",{startY:0,endY:0,startX:0,endX:0,startRow:-1,endRow:-1,startColumn:-1,endColumn:-1});R(this,"_startOffsetX",0);R(this,"_startOffsetY",0);R(this,"_scrollTimer");R(this,"_cancelDownObserver");R(this,"_cancelUpObserver");R(this,"_skeleton");R(this,"_scene");R(this,"_isHeaderHighlight",!0);R(this,"_isDetectMergedCell",!0);R(this,"_selectionStyle");R(this,"_isSelectionEnabled",!0);R(this,"_isShowPreviousEnable",0);R(this,"_isRemainLastEnable",!0);R(this,"_isSkipRemainLastEnable",!1);R(this,"_isSingleSelection",!1);R(this,"_selectionMoveEnd$",new U.BehaviorSubject([]));R(this,"selectionMoveEnd$",this._selectionMoveEnd$.asObservable());R(this,"_selectionMoving$",new U.Subject);R(this,"selectionMoving$",this._selectionMoving$.asObservable());R(this,"_selectionMoveStart$",new U.Subject);R(this,"selectionMoveStart$",this._selectionMoveStart$.asObservable());R(this,"_activeViewport");R(this,"_usable$",new U.BehaviorSubject(!1));R(this,"usable$",this._usable$.asObservable());this._themeService=t,this._shortcutService=e,this._sheetSkeletonManagerService=n,this._injector=i,this._selectionStyle=S.getNormalSelectionStyle(this._themeService)}enableHeaderHighlight(){this._isHeaderHighlight=!0}disableHeaderHighlight(){this._isHeaderHighlight=!1}enableDetectMergedCell(){this._isDetectMergedCell=!0}disableDetectMergedCell(){this._isDetectMergedCell=!1}setStyle(t){this._selectionStyle=t}resetStyle(){this.setStyle(S.getNormalSelectionStyle(this._themeService))}enableSelection(){this._isSelectionEnabled=!0}disableSelection(){this._isSelectionEnabled=!1}enableShowPrevious(){this._isShowPreviousEnable=!0}disableShowPrevious(){this._isShowPreviousEnable=!1}enableRemainLast(){this._isRemainLastEnable=!0}disableRemainLast(){this._isRemainLastEnable=!1}enableSkipRemainLast(){this._isSkipRemainLastEnable=!0}disableSkipRemainLast(){this._isSkipRemainLastEnable=!1}enableSingleSelection(){this._isSingleSelection=!0}disableSingleSelection(){this._isSingleSelection=!1}getViewPort(){return this._activeViewport}addControlToCurrentByRangeData(t){const e=this.getCurrentControls();if(!e)return;const{rangeWithCoord:n,primaryWithCoord:i}=t,r=this._skeleton;let s=t.style;s==null&&(s=S.getNormalSelectionStyle(this._themeService));const a=this._scene;if(a==null||r==null)return;const c=new Bn(a,e.length,this._isHeaderHighlight,this._themeService);new Ai(c,r,a,this._themeService,this._injector);const{rowHeaderWidth:u,columnHeaderHeight:d}=r;c.update(n,u,d,s,i),this._isHeaderHighlight?c.enableHeaderHighlight():c.disableHeaderHighlight(),e.push(c)}updateControlForCurrentByRangeData(t){const e=this.getCurrentControls();if(!e)return;const n=this._skeleton;if(n==null)return;const{rowHeaderWidth:i,columnHeaderHeight:r}=n;for(let s=0,a=t.length;s<a;s++){const{rangeWithCoord:c,primaryWithCoord:u,style:d}=t[s];e[s].update(c,i,r,d,u)}}refreshSelectionMoveStart(){this._selectionMoveStart$.next(this.getSelectionDataWithStyle())}changeRuntime(t,e,n){this._skeleton=t,this._scene=e,this._activeViewport=n||(e==null?void 0:e.getViewports()[0]),this._usable$.next(!!(t&&e))}getSelectionDataWithStyle(){return this._selectionControls.map(e=>e.getValue())}getCurrentControls(){return this._selectionControls}_clearSelectionControls(){const t=this.getCurrentControls();if(t.length>0){for(const e of t)e.dispose();t.length=0}}_getFreeze(){var e;return(e=this._sheetSkeletonManagerService.getCurrent())==null?void 0:e.skeleton.getWorksheetConfig().freeze}_getViewportByCell(t,e){if(!this._scene||t===void 0||e===void 0)return null;const n=this._getFreeze();if(!n||n.startRow<=0&&n.startColumn<=0)return this._scene.getViewport(W.VIEW_MAIN);if(t>n.startRow&&e>n.startColumn)return this._scene.getViewport(W.VIEW_MAIN);if(t<=n.startRow&&e<=n.startColumn)return this._scene.getViewport(W.VIEW_MAIN_LEFT_TOP);if(t<=n.startRow&&e>n.startColumn)return this._scene.getViewport(W.VIEW_MAIN_TOP);if(t>n.startRow&&e<=n.startColumn)return this._scene.getViewport(W.VIEW_MAIN_LEFT)}getActiveSelections(){const t=this.getCurrentControls();if(t&&t.length>0)return t==null?void 0:t.map(n=>{const i=n.model,r=i.currentCell;let s=null;return r&&(s={actualRow:r.actualRow,actualColumn:r.actualColumn,isMerged:r.isMerged,isMergedMainCell:r.isMergedMainCell,startRow:r.mergeInfo.startRow,startColumn:r.mergeInfo.startColumn,endRow:r.mergeInfo.endRow,endColumn:r.mergeInfo.endColumn}),{range:{startRow:i.startRow,startColumn:i.startColumn,endRow:i.endRow,endColumn:i.endColumn},primary:s}})}getActiveRange(){const t=this.getCurrentControls(),e=t&&t[t.length-1].model;return e&&{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn}}getActiveSelection(){const t=this.getCurrentControls();return t&&t[t.length-1]}endSelection(){this._endSelection(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),this._shortcutService.setDisable(!1)}reset(){var t,e,n;this._clearSelectionControls(),(t=this._moveObserver)==null||t.dispose(),(e=this._upObserver)==null||e.dispose(),(n=this._downObserver)==null||n.dispose(),this._moveObserver=null,this._upObserver=null,this._downObserver=null}resetAndEndSelection(){this.endSelection(),this.reset()}eventTrigger(t,e=0,n=l.RANGE_TYPE.NORMAL,i,r=E.ScrollTimerType.ALL){var X,J;if(this._isSelectionEnabled===!1)return;const s=this._skeleton,{offsetX:a,offsetY:c}=t,u=this._scene;if(u==null||s==null)return;i!=null&&(this._activeViewport=i);const d=u.getViewport(W.VIEW_MAIN),h=u.getRelativeCoord(E.Vector2.FromArray([a,c]));let{x:m,y:g}=h;this._startOffsetX=m,this._startOffsetY=g;const f=u.getScrollXYByRelativeCoords(h),{scaleX:_,scaleY:p}=u.getAncestorScale();n===l.RANGE_TYPE.ROW?m=0:n===l.RANGE_TYPE.COLUMN&&(g=0);const v=this._getSelectedRangeWithMerge(m,g,_,p,f);if(!v)return!1;const{rangeWithCoord:M,primaryWithCoord:b}=v,{startRow:T,startColumn:w,endColumn:y,endRow:O,startY:x,endY:A,startX:F,endX:N}=M,{rowHeaderWidth:L,columnHeaderHeight:B}=s,j={startColumn:w,startRow:T,endColumn:y,endRow:O,startY:x,endY:A,startX:F,endX:N,rangeType:n};this._startSelectionRange=j;let z=this.getActiveSelection();const q=this.getCurrentControls();if(!q)return!1;for(const ee of q){if(t.button===2&&ee.model.isInclude(j)){z=ee;return}if(ee.model.isEqual(j)){z=ee;break}t.shiftKey||ee.clearHighlight()}if(q.length>0&&!t.ctrlKey&&!t.shiftKey&&!this._isShowPreviousEnable&&!this._isRemainLastEnable||q.length>0&&this._isSingleSelection&&!t.shiftKey){for(const ee of q)ee.dispose();q.length=0}const K=z&&z.model.currentCell;if(z&&t.shiftKey&&K){const{actualRow:ee,actualColumn:ce,mergeInfo:Ce}=K,De=Math.min(ee,j.startRow,Ce.startRow),Pe=Math.max(ee,j.endRow,Ce.endRow),We=Math.min(ce,j.startColumn,Ce.startColumn),je=Math.max(ce,j.endColumn,Ce.endColumn),he=s.getMergeBounding(De,We,Pe,je),de=s.getNoMergeCellPositionByIndex(he.startRow,he.startColumn),se=s.getNoMergeCellPositionByIndex(he.endRow,he.endColumn),$e={startColumn:he.startColumn,startRow:he.startRow,endColumn:he.endColumn,endRow:he.endRow,startY:de.startY,endY:se.endY,startX:de.startX,endX:se.endX,rangeType:n},pe=s.getCellByIndex(ee,ce);this._startSelectionRange={startColumn:pe.mergeInfo.startColumn,startRow:pe.mergeInfo.startRow,endColumn:pe.mergeInfo.endColumn,endRow:pe.mergeInfo.endRow,startY:pe.mergeInfo.startY||0,endY:pe.mergeInfo.endY||0,startX:pe.mergeInfo.startX||0,endX:pe.mergeInfo.endX||0,rangeType:n},z.update($e,L,B,this._selectionStyle,K)}else this._isRemainLastEnable&&z&&!t.ctrlKey&&!t.shiftKey&&!this._isSkipRemainLastEnable&&!this._isSingleSelection?z.update(j,L,B,this._selectionStyle,b):(z=new Bn(u,q.length+e,this._isHeaderHighlight,this._themeService),new Ai(z,s,u,this._themeService,this._injector),z.update(j,L,B,this._selectionStyle,b),q.push(z));this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),this.hasSelection=!0,this._endSelection(),u.disableEvent();const $=u.getActiveViewportByCoord(E.Vector2.FromArray([m,g])),Q=E.ScrollTimer.create(this._scene,r);Q.startScroll((X=d==null?void 0:d.left)!=null?X:0,(J=d==null?void 0:d.top)!=null?J:0,d),this._scrollTimer=Q,this._addCancelObserver(),(n===l.RANGE_TYPE.ROW||n===l.RANGE_TYPE.COLUMN)&&this._moving(m,g,z,n);let P=0,H=0,k=m,Y=g;this._moveObserver=u.onPointerMoveObserver.add(ee=>{var pe,Ht,Lt,fi,_i,Si,pi,Ci,vi,Ii;const{offsetX:ce,offsetY:Ce}=ee,{x:De,y:Pe}=u.getRelativeCoord(E.Vector2.FromArray([ce,Ce]));this._moving(De,Pe,z,n);let We=De,je=Pe;const he=this.getActiveSelection(),de=(pe=this._sheetSkeletonManagerService.getCurrent())==null?void 0:pe.skeleton.getWorksheetConfig().freeze,se=he==null?void 0:he.model,$e=(Ht=u.getActiveViewportByCoord(E.Vector2.FromArray([ce,Ce])))!=null?Ht:this._getViewportByCell(se==null?void 0:se.endRow,se==null?void 0:se.endColumn);if($&&$e&&d){const oo=k<d.left&&De>d.left||k>d.left&&De<d.left,io=Y<d.top&&Pe>d.top||Y>d.top&&Pe<d.top;oo&&(P+=1),io&&(H+=1);const He=$.viewPortKey,Ut=$e.viewPortKey;if(He===W.VIEW_ROW_TOP)Ce<d.top&&((Lt=se==null?void 0:se.endRow)!=null?Lt:0)<((fi=de==null?void 0:de.startRow)!=null?fi:0)?je=d.top:io&&H%2===1&&d.scrollTo({y:0});else if(He===W.VIEW_COLUMN_LEFT)ce<d.left&&((_i=se==null?void 0:se.endColumn)!=null?_i:0)<((Si=de==null?void 0:de.startColumn)!=null?Si:0)?We=d.left:oo&&P%2===1&&d.scrollTo({x:0});else if(He===Ut){let ze=!1,rt=!1;He===W.VIEW_MAIN_LEFT_TOP?(ze=!0,rt=!0):He===W.VIEW_MAIN_TOP?rt=!0:He===W.VIEW_MAIN_LEFT&&(ze=!0),((pi=se==null?void 0:se.endRow)!=null?pi:0)>((Ci=de==null?void 0:de.startRow)!=null?Ci:0)&&(rt=!1),((vi=se==null?void 0:se.endColumn)!=null?vi:0)>((Ii=de==null?void 0:de.startColumn)!=null?Ii:0)&&(ze=!1),ze&&(We=d.left),rt&&(je=d.top)}else{const ze={x:$.scrollX,y:$.scrollY},rt={x:$e.scrollX,y:$e.scrollY},ro=ze.x!==rt.x&&oo&&P%2===1,so=ze.y!==rt.y&&io&&H%2===1;(ro||so)&&(d.scrollTo({x:ro?ze.x:void 0,y:so?ze.y:void 0}),ro||(We=d.left),so||(je=d.top)),(He===W.VIEW_MAIN_LEFT_TOP&&Ut===W.VIEW_MAIN_LEFT||Ut===W.VIEW_MAIN_LEFT_TOP&&He===W.VIEW_MAIN_LEFT)&&(We=d.left),(He===W.VIEW_MAIN_LEFT_TOP&&Ut===W.VIEW_MAIN_TOP||Ut===W.VIEW_MAIN_LEFT_TOP&&He===W.VIEW_MAIN_TOP)&&(je=d.top)}k=De,Y=Pe}Q.scrolling(We,je,()=>{this._moving(De,Pe,z,n)})}),this._upObserver=u.onPointerUpObserver.add(ee=>{this._endSelection(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),this._shortcutService.setDisable(!1)}),this._shortcutService.setDisable(!0)}convertSelectionToCoord(t){const{range:e,primary:n,style:i}=t;let r=this.convertRangeDataToSelection(e);return r==null&&(r={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1,startY:0,endY:0,startX:0,endX:0,rangeType:l.RANGE_TYPE.NORMAL}),{rangeWithCoord:r,primaryWithCoord:this.convertCellRangeToInfo(n),style:i}}convertRangeDataToSelection(t){const{startRow:e,startColumn:n,endRow:i,endColumn:r,rangeType:s}=t,a=this._scene,c=this._skeleton;if(a==null||c==null)return;a.getAncestorScale();const u=c.getNoMergeCellPositionByIndex(e,n),d=c.getNoMergeCellPositionByIndex(i,r);return{startRow:e,startColumn:n,endRow:i,endColumn:r,rangeType:s,startY:(u==null?void 0:u.startY)||0,endY:(d==null?void 0:d.endY)||0,startX:(u==null?void 0:u.startX)||0,endX:(d==null?void 0:d.endX)||0}}convertCellRangeToInfo(t){if(t==null)return;const e=this._scene,n=this._skeleton;if(e==null||n==null)return;const{actualRow:i,actualColumn:r,isMerged:s,isMergedMainCell:a,startRow:c,startColumn:u,endRow:d,endColumn:h}=t,m=n.getNoMergeCellPositionByIndex(i,r),g=n.getNoMergeCellPositionByIndex(c,u),f=n.getNoMergeCellPositionByIndex(d,h);return{actualRow:i,actualColumn:r,isMerged:s,isMergedMainCell:a,startX:m.startX,startY:m.startY,endX:m.endX,endY:m.endY,mergeInfo:{startRow:c,startColumn:u,endRow:d,endColumn:h,startY:(g==null?void 0:g.startY)||0,endY:(f==null?void 0:f.endY)||0,startX:(g==null?void 0:g.startX)||0,endX:(f==null?void 0:f.endX)||0}}}_moving(t,e,n,i){var J;const r=this._skeleton,s=this._scene;if(s==null||r==null)return!1;const{startRow:a,startColumn:c,endRow:u,endColumn:d}=this._startSelectionRange,{startRow:h,endRow:m,startColumn:g,endColumn:f}=(n==null?void 0:n.model)||{startRow:-1,endRow:-1,startColumn:-1,endColumn:-1},_=s.getViewport(W.VIEW_MAIN),p=(J=this._getViewportByCell(m,f))!=null?J:_,v=s.getScrollXYByRelativeCoords(E.Vector2.FromArray([this._startOffsetX,this._startOffsetY]),p),{scaleX:M,scaleY:b}=s.getAncestorScale(),{rowHeaderWidth:T,columnHeaderHeight:w}=r;i===l.RANGE_TYPE.ROW?t=Number.POSITIVE_INFINITY:i===l.RANGE_TYPE.COLUMN&&(e=Number.POSITIVE_INFINITY);const y=this._getSelectedRangeWithMerge(t,e,M,b,v);if(!y)return!1;const{rangeWithCoord:O,primaryWithCoord:x}=y,{startRow:A,startColumn:F,endColumn:N,endRow:L}=O,B=Math.min(A,a),j=Math.min(F,c),z=Math.max(L,u),q=Math.max(N,d);let K={startRow:B,startColumn:j,endRow:z,endColumn:q};if(this._isDetectMergedCell&&(K=r.getSelectionBounding(B,j,z,q)),!K)return!1;const{startRow:$,startColumn:Q,endRow:P,endColumn:H}=K,k=r.getNoMergeCellPositionByIndex($,Q),Y=r.getNoMergeCellPositionByIndex(P,H),X={startColumn:Q,startRow:$,endColumn:H,endRow:P,startY:(k==null?void 0:k.startY)||0,endY:(Y==null?void 0:Y.endY)||0,startX:(k==null?void 0:k.startX)||0,endX:(Y==null?void 0:Y.endX)||0};(g!==Q||h!==$||f!==H||m!==P)&&n!=null&&(n.update(X,T,w),this._selectionMoving$.next(this.getSelectionDataWithStyle()))}_endSelection(){var n,i;const t=this._scene;if(t==null)return;t.onPointerMoveObserver.remove(this._moveObserver),t.onPointerUpObserver.remove(this._upObserver),t.enableEvent(),(n=this._scrollTimer)==null||n.dispose();const e=(i=t.getEngine())==null?void 0:i.activeScene;e==null||e.onPointerDownObserver.remove(this._cancelDownObserver),e==null||e.onPointerUpObserver.remove(this._cancelUpObserver)}_addCancelObserver(){var n;const t=this._scene;if(t==null)return;const e=(n=t.getEngine())==null?void 0:n.activeScene;e==null||e===t||(e.onPointerDownObserver.remove(this._cancelDownObserver),e.onPointerUpObserver.remove(this._cancelUpObserver),this._cancelDownObserver=e.onPointerDownObserver.add(i=>{this._endSelection()}),this._cancelUpObserver=e.onPointerUpObserver.add(i=>{this._endSelection()}))}_getSelectedRangeWithMerge(t,e,n,i,r){var v;if(this._isDetectMergedCell){const M=(v=this._skeleton)==null?void 0:v.calculateCellIndexByPosition(t,e,n,i,r),b=l.makeCellToSelection(M);return b==null?void 0:{primaryWithCoord:M,rangeWithCoord:b}}const s=this._skeleton;if(s==null)return;const a=s.getCellPositionByOffset(t,e,n,i,r),{row:c,column:u}=a,d=s.getNoMergeCellPositionByIndex(c,u),{startX:h,startY:m,endX:g,endY:f}=d,_={startY:m,endY:f,startX:h,endX:g,startRow:c,endRow:c,startColumn:u,endColumn:u};return{primaryWithCoord:{actualRow:c,actualColumn:u,isMerged:!1,isMergedMainCell:!1,startY:m,endY:f,startX:h,endX:g,mergeInfo:_},rangeWithCoord:_}}};exports.SelectionRenderService=va([un(0,D.Inject(l.ThemeService)),un(1,I.IShortcutService),un(2,D.Inject(exports.SheetSkeletonManagerService)),un(3,D.Inject(D.Injector))],exports.SelectionRenderService);const Ne=D.createIdentifier("deprecated.univer.sheet.selection-render-service");var Ia=Object.defineProperty,Ra=Object.getOwnPropertyDescriptor,Ma=(o,t,e,n)=>{for(var i=n>1?void 0:n?Ra(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Ia(t,e,i),i},Vt=(o,t)=>(e,n)=>t(e,n,o);const ba=1e4,nn=D.createIdentifier("univer.mark-selection-service");exports.MarkSelectionService=class extends l.Disposable{constructor(e,n,i,r,s){super();R(this,"_shapeMap",new Map);this._currentService=e,this._renderManagerService=n,this._selectionRenderService=i,this._sheetSkeletonManagerService=r,this._themeService=s}addShape(e,n=[],i=ba){const r=this._currentService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),s=r.getActiveSheet().getSheetId(),a=l.Tools.generateRandomId();return this._shapeMap.set(a,{selection:e,subUnitId:s,unitId:r.getUnitId(),zIndex:i,control:null,exits:n}),this.refreshShapes(),a}refreshShapes(){const e=this._currentService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getUnitId(),n=this._currentService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getActiveSheet().getSheetId();this._shapeMap.forEach(i=>{var M;const{unitId:r,subUnitId:s,selection:a,control:c,zIndex:u}=i;if(c&&c.dispose(),r!==e||s!==n)return;const{style:d}=a,{scene:h}=this._renderManagerService.getRenderById(r)||{},{rangeWithCoord:m,primaryWithCoord:g}=this._selectionRenderService.convertSelectionToCoord(a),f=(M=this._sheetSkeletonManagerService.getCurrent())==null?void 0:M.skeleton;if(!h||!f)return;const{rowHeaderWidth:_,columnHeaderHeight:p}=f,v=new Bn(h,u,!1,this._themeService);v.update(m,_,p,d,g),i.control=v})}getShapeMap(){return this._shapeMap}removeShape(e){const n=this._shapeMap.get(e);if(!n)return;const{control:i}=n;i&&i.dispose(),this._shapeMap.delete(e)}removeAllShapes(){for(const e of this._shapeMap.values()){const{control:n}=e;n&&n.dispose()}this._shapeMap.clear()}};exports.MarkSelectionService=Ma([Vt(0,l.IUniverInstanceService),Vt(1,E.IRenderManagerService),Vt(2,Ne),Vt(3,D.Inject(exports.SheetSkeletonManagerService)),Vt(4,D.Inject(l.ThemeService))],exports.MarkSelectionService);const Ta=10,wa=6;function Ea(){return l.Tools.generateRandomId(wa)}function ya(o){const t=o.match(/data-copy-id="([^\s]+)"/);return t&&t[1]?t[1]:null}class Oa{constructor(){R(this,"_cache",new l.LRUMap(Ta))}set(t,e){this._cache.set(t,e)}get(t){return this._cache.get(t)}del(t){this._cache.delete(t)}clear(){this._cache.clear()}}function pr(o,t){const e=t!=null?t:o.style,n={},i=o.tagName.toLowerCase();switch(i){case"b":case"em":case"strong":{n.bl=l.BooleanNumber.TRUE;break}case"s":{n.st={s:l.BooleanNumber.TRUE};break}case"u":{n.ul={s:l.BooleanNumber.TRUE};break}case"i":{n.it=l.BooleanNumber.TRUE;break}case"sub":case"sup":{n.va=i==="sup"?l.BaselineOffset.SUPERSCRIPT:l.BaselineOffset.SUBSCRIPT;break}}return xa(e,n),n}function xa(o,t){for(let e=0;e<o.length;e++){const n=o[e],i=o.getPropertyValue(n);switch(n){case"font-family":{t.ff=i;break}case"font-size":{const r=Number.parseInt(i);if(!Number.isNaN(r)){if(i.endsWith("pt"))t.fs=r;else if(i.endsWith("px")){const s=r*.75;t.fs=s}}break}case"font-style":{i==="italic"&&(t.it=l.BooleanNumber.TRUE);break}case"font-weight":{(Number(i)>400||i==="bold")&&(t.bl=l.BooleanNumber.TRUE);break}case"text-decoration":{/underline/.test(i)?t.ul={s:l.BooleanNumber.TRUE}:/overline/.test(i)?t.ol={s:l.BooleanNumber.TRUE}:/line-through/.test(i)&&(t.st={s:l.BooleanNumber.TRUE});break}case"color":{const r=new l.ColorKit(i);r.isValid&&(t.cl={rgb:r.toRgbString()});break}case"background-color":{const r=new l.ColorKit(i),s=r.isValid?r.toRgbString():"";s!==I.DEFAULT_BACKGROUND_COLOR_RGB&&s!==I.DEFAULT_BACKGROUND_COLOR_RGBA&&(t.bg={rgb:r.toRgbString()});break}}}}function Na(o){const t=new DOMParser,e=`<x-univer id="univer-root">${o}</x-univer>`;return t.parseFromString(e,"text/html").querySelector("#univer-root")}function yo(o,t){const e=[];for(let n=0,i=o.length;n<i;n++)o[n]===l.DataStreamTreeTokenType.PARAGRAPH&&e.push({startIndex:n});if(t)for(const n of e)t.bullet&&(n.bullet=l.Tools.deepClone(t.bullet)),t.paragraphStyle&&(n.paragraphStyle=l.Tools.deepClone(t.paragraphStyle));return e}const Aa=["color_color","background_background","font-size_fontSize","text-align_textAlign","vertical-align_verticalAlign","font-weight_fontWeight","font-style_fontStyle","font-family_fontFamily","text-decoration_textDecoration","white-space_whiteSpace","word-wrap_wordWrap"],Da=["border-left_borderLeft","border-right_borderRight","border-top_borderTop","border-bottom_borderBottom"];function Di(o,t){const e=o.tagName.toLowerCase();return typeof t=="string"?e===t:Array.isArray(t)?t.some(n=>n===e):t(o)}function Pa(o){o.style.display="none",o.style.width="0",o.style.height="0",o.setAttribute("tabindex","-1"),o.setAttribute("aria-hidden","true"),o.setAttribute("title","hidden iframe")}const Xn=class Xn{constructor(t){R(this,"styleCache",new Map);R(this,"styleRules",[]);R(this,"afterProcessRules",[]);R(this,"htmlElement");R(this,"getCurrentSkeleton");this.getCurrentSkeleton=t.getCurrentSkeleton,this.htmlElement=document.createElement("iframe"),this.htmlElement.style.display="none",document.body.appendChild(this.htmlElement),Pa(this.htmlElement)}static use(t){if(this.pluginList.includes(t))throw new Error(`Univer paste plugin ${t.name} already added`);this.pluginList.push(t)}convert(t){this.htmlElement.contentDocument&&(this.htmlElement.contentDocument.open(),this.htmlElement.contentDocument.write(t),this.htmlElement.contentDocument.close()),t=t.replace(/<!--[\s\S]*?-->/g,"").replace(/<style[\s\S]*?<\/style>/g,"");const e=Xn.pluginList.find(g=>g.checkPasteType(t));e&&(this.styleRules=[...e.stylesRules],this.afterProcessRules=[...e.afterProcessRules]);const n=new l.ObjectMatrix,i=Na(t),r={dataStream:"",textRuns:[]},s=[],a=[],c=t.match(/<table\b[^>]*>([\s\S]*?)<\/table>/gi),u=[];this.process(null,i==null?void 0:i.childNodes,r,u);const{paragraphs:d,dataStream:h,textRuns:m}=r;if(d){const g=d.map(f=>f.startIndex+1);g.unshift(0);for(let f=0;f<g.length;f++){let _;f===g.length-1?_=`${h.substring(g[f])}\r
|
|
2
|
-
`:
|
|
3
|
-
`;const
|
|
4
|
-
`,f={dataStream:
|
|
5
|
-
`,d={...c,body:{dataStream:u,textRuns:s.textRuns,paragraphs:
|
|
6
|
-
<tbody>${a.join("")}</tbody></table>`}}const Xa=(o,t,e=!1)=>{const n=h=>h.endRow-h.startRow+1,i=h=>h.endColumn-h.startColumn+1,r=n(t)%n(o),s=i(t)%i(o),a={startRow:0,endRow:n(o)-1,startColumn:0,endColumn:i(o)-1},c=Math.floor(n(t)/n(o)),u=Math.floor(i(t)/i(o)),d=[];if(!r&&!s)for(let h=1;h<=c;h++)for(let m=1;m<=u;m++){const g=n(o)*(h-1),f=i(o)*(m-1),_={startRow:g+t.startRow,endRow:g+t.startRow,startColumn:f+t.startColumn,endColumn:f+t.startColumn};d.push({repeatRelativeRange:a,startRange:_})}else if(!r&&s&&!e)for(let h=1;h<=c;h++){const m=n(o)*(h-1),g=0,f={startRow:m+t.startRow,endRow:m+t.startRow,startColumn:g+t.startColumn,endColumn:g+t.startColumn};d.push({repeatRelativeRange:a,startRange:f})}else if(r&&!s&&!e)for(let h=1;h<=u;h++){const g=i(o)*(h-1),f={startRow:0+t.startRow,endRow:0+t.startRow,startColumn:g+t.startColumn,endColumn:g+t.startColumn};d.push({repeatRelativeRange:a,startRange:f})}else{const h={startRow:t.startRow,endRow:t.startRow,startColumn:t.startColumn,endColumn:t.startColumn};d.push({startRange:h,repeatRelativeRange:a})}return d};async function Ga(o){return o?/<td[^>]*class=".*?xl.*?"[^>]*>.*?<\/td>/.test(o):!1}function Za(...o){if(o.length===1)return o[0];const t=new l.ObjectMatrix;return o.forEach(e=>{e&&new l.ObjectMatrix(e).forValue((i,r,s)=>{t.setValue(i,r,{...t.getValue(i,r),...s})})}),t.getMatrix()}function Ka(o,t){return o.id===t.id&&o.params.unitId===t.params.unitId&&o.params.subUnitId===t.params.subUnitId}function Oo(o){const t=[];for(let e=0;e<o.length;){let n=1;if(o[e].id===S.SetRangeValuesMutation.id){const i=o[e],r=[i];for(;e+n<o.length&&Ka(i,o[e+n]);)r.push(o[e+n]),n+=1;const s=Za(...r.map(a=>a.params.cellValue||{}));t.push({...i,params:{...i.params,cellValue:s}})}else t.push(o[e]);e+=n}return t}function lo(o,t){const{startRow:e,endRow:n,startColumn:i,endColumn:r}=o;for(let s=e;s<=n;s++)for(let a=i;a<=r;a++)if(t.rows.includes(s)&&t.cols.includes(a))return!0}function Hi(o,t){const{startRow:e,endRow:n,startColumn:i,endColumn:r}=t;for(let s=e;s<=n;s++)if(!o.rows.includes(s))return!1;for(let s=i;s<=r;s++)if(!o.cols.includes(s))return!1;return!0}var qa=Object.defineProperty,Qa=Object.getOwnPropertyDescriptor,Ja=(o,t,e,n)=>{for(var i=n>1?void 0:n?Qa(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&qa(t,e,i),i},ve=(o,t)=>(e,n)=>t(e,n,o);const fe={DEFAULT_COPY:"default-copy",DEFAULT_PASTE:"default-paste",SPECIAL_PASTE_VALUE:"special-paste-value",SPECIAL_PASTE_FORMAT:"special-paste-format",SPECIAL_PASTE_COL_WIDTH:"special-paste-col-width",SPECIAL_PASTE_BESIDES_BORDER:"special-paste-besides-border"};wt.use(Go.PastePluginWord);wt.use(Go.PastePluginLark);wt.use(Go.PastePluginUniver);const Ot=D.createIdentifier("sheet.clipboard-service");exports.SheetClipboardService=class extends l.Disposable{constructor(e,n,i,r,s,a,c,u,d,h,m,g,f){super();R(this,"_clipboardHooks",[]);R(this,"_clipboardHooks$",new U.BehaviorSubject([]));R(this,"clipboardHooks$",this._clipboardHooks$.asObservable());R(this,"_htmlToUSM");R(this,"_usmToHtml");R(this,"_copyContentCache");R(this,"_copyMarkId",null);this._logService=e,this._univerInstanceService=n,this._selectionManagerService=i,this._clipboardInterfaceService=r,this._undoRedoService=s,this._commandService=a,this._markSelectionService=c,this._sheetSkeletonManagerService=u,this._notificationService=d,this._platformService=h,this._localeService=m,this._errorService=g,this._injector=f,this._htmlToUSM=new wt({getCurrentSkeleton:()=>this._sheetSkeletonManagerService.getCurrent()}),this._usmToHtml=new Ya,this._copyContentCache=new Oa,this.disposeWithMe(this._htmlToUSM)}copyContentCache(){return this._copyContentCache}generateCopyContent(e,n,i){const r=this._clipboardHooks;r.forEach(a=>{var c;return(c=a.onBeforeCopy)==null?void 0:c.call(a,e,n,i)});const s=this._generateCopyContent(e,n,i,r);return r.forEach(a=>{var c;return(c=a.onAfterCopy)==null?void 0:c.call(a)}),s}async copy(e=et.COPY){const n=this._selectionManagerService.getLast();if(!n)return!1;const i=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),r=i.getActiveSheet(),s=this.generateCopyContent(i.getUnitId(),r.getSheetId(),n.range);if(!s)return!1;const{html:a,plain:c,matrixFragment:u,copyId:d,discreteRange:h}=s;this._copyContentCache.set(d,{unitId:i.getUnitId(),subUnitId:r.getSheetId(),range:h,matrix:u,copyType:e}),await this._clipboardInterfaceService.write(c,a),this._markSelectionService.removeAllShapes();const m=this._selectionManagerService.createCopyPasteSelection();return this._copyMarkId=this._markSelectionService.addShape({...n,style:m}),!0}async cut(){return this.copy(et.CUT)}async paste(e,n=fe.DEFAULT_PASTE){const i=e.types,r=i.indexOf(I.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await e.getType(I.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(a=>a&&a.text()):"",s=i.indexOf(I.HTML_CLIPBOARD_MIME_TYPE)!==-1?await e.getType(I.HTML_CLIPBOARD_MIME_TYPE).then(a=>a&&a.text()):"";return s?this._platformService.isWindows&&await Ga(s)?(this._notificationService.show({type:"warning",title:this._localeService.t("clipboard.shortCutNotify.title"),content:this._localeService.t("clipboard.shortCutNotify.useShortCutInstead")}),!1):this._pasteHTML(s,n):r?this._pastePlainText(r,n):(this._logService.error("[SheetClipboardService]","No valid data on clipboard"),!1)}legacyPaste(e,n){return e?this._pasteHTML(e,fe.DEFAULT_PASTE):n?this._pastePlainText(n,fe.DEFAULT_PASTE):Promise.resolve(!1)}addClipboardHook(e){if(this._clipboardHooks.findIndex(i=>i.id===e.id)!==-1)return this._logService.error("[SheetClipboardService]","hook already exists",e.id),{dispose:()=>{}};const n=this._clipboardHooks.findIndex(i=>{const r=i.priority||0;return(e.priority||0)<r});return this._clipboardHooks.splice(n!==-1?n:this._clipboardHooks.length,0,e),this._notifyClipboardHook(),l.toDisposable(()=>{const i=this._clipboardHooks.indexOf(e);i>-1&&(this._clipboardHooks.splice(i,1),this._notifyClipboardHook())})}getClipboardHooks(){return this._clipboardHooks}_generateCopyContent(e,n,i,r){const s=this._univerInstanceService.getUniverSheetInstance(e),a=s==null?void 0:s.getSheetBySheetId(n);if(!s||!a)return null;const c=r.reduce((T,w)=>{var O;const y=(O=w.getFilteredOutRows)==null?void 0:O.call(w,i);return y==null||y.forEach(x=>T.add(x)),T},new Set),{startColumn:u,startRow:d,endColumn:h,endRow:m}=i,g=a.getMatrixWithMergedCells(d,u,m,h,!0),f=new l.ObjectMatrix;let _=d;const p={rows:[],cols:[]};for(let T=d;T<=m;T++)if(!c.has(T)){p.rows.push(T);for(let w=u;w<=h;w++){const y=g.getValue(T,w);y?f.setValue(_-d,w-u,{...Li(),...l.Tools.deepClone(y)}):f.setValue(_-d,w-u,Li())}_+=1}for(let T=u;T<=h;T++)p.cols.push(T);let v=this._usmToHtml.convert(g,i,r);const M=el(f),b=Ea();return v=v.replace(/(<[a-z]+)/,(T,w)=>`${w} data-copy-id="${b}"`),{copyId:b,plain:M,html:v,matrixFragment:f,discreteRange:p}}_notifyClipboardHook(){this._clipboardHooks$.next(this._clipboardHooks)}async _pastePlainText(e,n){const i=this._getPastingTarget();if(!i.selection)return!1;const r={get:this._injector.get.bind(this._injector)},s=Rt(i.selection.range,r,i.unitId,i.subUnitId);if(!s)return!1;const{unitId:a,subUnitId:c}=i,u=this._clipboardHooks,d=[];if(u.some(_=>{var p;return d.push(_)&&((p=_.onBeforePaste)==null?void 0:p.call(_,{unitId:a,subUnitId:c,range:s}))===!1}))return d.forEach(_=>{var p;return(p=_.onAfterPaste)==null?void 0:p.call(_,!1)}),!1;const m=[],g=[];d.forEach(_=>{var v;const p=(v=_.onPastePlainText)==null?void 0:v.call(_,{unitId:a,subUnitId:c,range:s},e,{pasteType:n});p&&(m.push(...p.redos),g.push(...p.undos))});const f=m.every(_=>this._commandService.executeCommand(_.id,_.params));return f&&this._undoRedoService.pushUndoRedo({unitID:this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getUnitId(),undoMutations:g,redoMutations:m}),f}async _pasteHTML(e,n){const i=ya(e);return i&&this._copyContentCache.get(i)?this._pasteInternal(i,n):this._pasteExternal(e,n)}async _pasteExternal(e,n){var d;const{rowProperties:i,colProperties:r,cellMatrix:s}=this._htmlToUSM.convert(e);if(!s)return!1;const a=this._getPastedRange(s);if(!a)return!1;const c=(d=this._univerInstanceService.getUniverSheetInstance(a.unitId))==null?void 0:d.getSheetBySheetId(a.subUnitId);if(!c)return!1;const u=c==null?void 0:c.getMergeData();return u&&u.some(m=>lo(m,a.pastedRange)&&!Hi(a.pastedRange,m))?(this._errorService.emit(this._localeService.t("clipboard.paste.overlappingMergedCells")),!1):this._pasteUSM({rowProperties:i,colProperties:r,cellMatrix:s},a,n)}async _pasteInternal(e,n){var T,w;const i=l.Tools.deepClone(this._copyContentCache.get(e)),{range:r,matrix:s,unitId:a,subUnitId:c}=i||{};if(!s||!i||!r||!a||!c||!s||!i)return!1;const u=(T=this._univerInstanceService.getUniverSheetInstance(a))==null?void 0:T.getStyles();s.forValue((y,O,x)=>{if(typeof x.s=="string"){const A=l.Tools.deepClone(x);A.s=u==null?void 0:u.getStyleByCell(x),s.setValue(y,O,A)}});const d=this._getPastedRange(s);if(!d)return!1;const h=(w=this._univerInstanceService.getUniverSheetInstance(d.unitId))==null?void 0:w.getSheetBySheetId(d.subUnitId);if(!h)return!1;const m=h==null?void 0:h.getMergeData();if(m&&m.some(O=>lo(O,d.pastedRange)&&!Hi(d.pastedRange,O)))return this._errorService.emit(this._localeService.t("clipboard.paste.overlappingMergedCells")),!1;const g=h.getColumnManager(),f=h.getRowManager(),_=h.getConfig().defaultColumnWidth,p=h.getConfig().defaultRowHeight,v=[],M=[];if(r.cols.forEach(y=>{const O=g.getColumnOrCreate(y);v.push({width:`${O.w||_}`})}),r.rows.forEach(y=>{const O=f.getRowOrCreate(y);M.push({height:`${O.ah||O.h||p}`})}),i.copyType===et.CUT){const y=d.pastedRange.rows[0],O=r.rows[r.rows.length-1]-r.rows[0]+y;d.pastedRange.rows=Array.from(new Array(O+1).keys()).slice(y)}const b=this._pasteUSM({cellMatrix:s,colProperties:v,rowProperties:M},d,n,{range:r,unitId:i.unitId,subUnitId:i.subUnitId,copyType:i.copyType,copyId:e});return i.copyType===et.CUT&&(this._copyContentCache.set(e,{...i,matrix:null}),this._copyMarkId&&this._markSelectionService.removeShape(this._copyMarkId),this._copyMarkId=null),b}_pasteUSM(e,n,i,r){const{rowProperties:s,colProperties:a,cellMatrix:c}=e,{unitId:u,subUnitId:d,pastedRange:h}=n,m=h.cols.length,g=this._clipboardHooks,f=[];if(g.some(O=>{var x;return f.push(O)&&((x=O.onBeforePaste)==null?void 0:x.call(O,{unitId:u,subUnitId:d,range:h}))===!1}))return f.forEach(O=>{var x;return(x=O.onAfterPaste)==null?void 0:x.call(O,!1)}),!1;if(!c)return!1;const p=r?{unitId:r.unitId,subUnitId:r.subUnitId,range:r.range}:null,v={copyType:(r==null?void 0:r.copyType)||et.COPY,copyId:r==null?void 0:r.copyId,pasteType:i};let M=[],b=[];f.filter(O=>!O.specialPasteInfo&&O.id!==fe.DEFAULT_PASTE||i===O.id).forEach(O=>{var F,N,L;if(s){const B=(F=O.onPasteRows)==null?void 0:F.call(O,{range:h,unitId:u,subUnitId:d},s,{pasteType:i});B&&(M.push(...B.redos),b.push(...B.undos))}const x=(N=O.onPasteColumns)==null?void 0:N.call(O,{range:h,unitId:u,subUnitId:d},a||new Array(m).map(()=>({})),{pasteType:i});x&&(M.push(...x.redos),b.push(...x.undos));const A=(L=O.onPasteCells)==null?void 0:L.call(O,p,{range:h,unitId:u,subUnitId:d},c,v);A&&(M.push(...A.redos),b.push(...A.undos))});const w=this._getSetSelectionOperation(u,d,h,c);w&&M.push(w),M=Oo(M),b=Oo(b),this._logService.log("[SheetClipboardService]","pasting mutations",{undoMutationsInfo:b,redoMutationsInfo:M});const y=M.every(O=>this._commandService.executeCommand(O.id,O.params));return y&&this._undoRedoService.pushUndoRedo({unitID:u,undoMutations:b,redoMutations:M}),y}_getSetSelectionOperation(e,n,i,r){var b;const s=(b=this._univerInstanceService.getUniverSheetInstance(e))==null?void 0:b.getSheetBySheetId(n);if(!s)return null;const{rows:a,cols:c}=i,u=a[0],d=c[0],h=a[a.length-1],m=c[c.length-1],g={startRow:u,endRow:u,startColumn:d,endColumn:d},f=S.getPrimaryForRange(g,s),_=r.getValue(0,0),p=(_==null?void 0:_.rowSpan)||1,v=(_==null?void 0:_.colSpan)||1;if(p>1||v>1){const T={startRow:u,endRow:u+p-1,startColumn:d,endColumn:d+v-1};f.startRow=T.startRow,f.endRow=T.endRow,f.startColumn=T.startColumn,f.endColumn=T.endColumn,f.isMerged=!0,f.isMergedMainCell=!0}const M={unitId:e,subUnitId:n,pluginName:S.NORMAL_SELECTION_PLUGIN_NAME,selections:[{range:{startRow:u,endRow:h,startColumn:d,endColumn:m},primary:f,style:null}]};return{id:S.SetSelectionsOperation.id,params:M}}_getPastingTarget(){const e=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),n=e.getActiveSheet(),i=this._selectionManagerService.getLast();return{unitId:e.getUnitId(),subUnitId:n.getSheetId(),selection:i}}_transformPastedData(e,n,i){const r=this._getPastingTarget(),{selection:s,unitId:a,subUnitId:c}=r;if(!s)return null;const u={get:this._injector.get.bind(this._injector)},d=Rt(s.range,u,a,c);if(!d)return null;const{ranges:[h],mapFunc:m}=tn([d]),{startRow:g,startColumn:f,endRow:_,endColumn:p}=h,v=_-g+1,M=p-f+1,b=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),T=b==null?void 0:b.getActiveSheet();if(!T)return null;const y=T.getMergeData().filter(L=>d.rows.includes(L.startRow)&&d.cols.includes(L.startColumn)),O=y[0];let x=0,A=0,F=0,N=0;if(O&&(x=O.startRow,A=O.startColumn,F=O.endRow,N=O.endColumn),v%e===0&&M%n===0)if(y.length>0&&(v!==e||M!==n))if(x===d.rows[0]&&A===d.cols[0]&&F===d.rows[v-1]&&N===d.cols[M-1])if(rl(i))for(let B=0;B<v;B++)for(let j=0;j<M;j++){const z=i.getValue(B%e,j%n);z&&i.setValue(B,j,z)}else i.forValue((B,j,z)=>{z.s=null,delete z.colSpan,delete z.rowSpan});else for(let L=0;L<v;L++)for(let B=0;B<M;B++){const j=i.getValue(L%e,B%n);j&&i.setValue(L,B,j)}else for(let L=0;L<v;L++)for(let B=0;B<M;B++){const j=i.getValue(L%e,B%n);j&&i.setValue(L,B,j)}else if(y.length>0){const{row:L,col:B}=m(g,f);if(this._topLeftCellsMatch(e,n,{topRow:L,leftCol:B})){const z=this._expandOrShrinkRowsCols(a,c,d,n,e);d.rows=z.rows,d.cols=z.cols}else{if(_>O.endRow||p>O.endColumn)return null;i.forValue((z,q,K)=>{K.s=null,delete K.colSpan,delete K.rowSpan})}}else{const L=this._expandOrShrinkRowsCols(a,c,d,n,e);d.rows=L.rows,d.cols=L.cols}return{pastedRange:d,unitId:a,subUnitId:c}}_getPastedRange(e){var T;const n=this._getPastingTarget(),{selection:i,unitId:r,subUnitId:s}=n;if(!i)return null;const a={get:this._injector.get.bind(this._injector)},c=Rt(i.range,a,r,s);if(!c)return null;const{startColumn:u,endColumn:d,startRow:h,endRow:m}=e.getDataRange(),g=m-h+1,f=d-u+1,_=c.rows.length,p=c.cols.length,v=(T=this._univerInstanceService.getUniverSheetInstance(r))==null?void 0:T.getSheetBySheetId(s);if(!v)return null;const M=v==null?void 0:v.getMergeData();if(_%g===0&&p%f===0&&!(M==null?void 0:M.some(y=>lo(y,c)))){for(let y=0;y<_;y++)for(let O=0;O<p;O++){const x=e.getValue(y%g,O%f);x&&e.setValue(y,O,x)}return{pastedRange:c,unitId:r,subUnitId:s}}const b=this._expandOrShrinkRowsCols(r,s,c,f,g);return c.rows=b.rows,c.cols=b.cols,{pastedRange:c,unitId:r,subUnitId:s}}_expandOrShrinkRowsCols(e,n,i,r,s){const{rows:a,cols:c}=i,u=this._univerInstanceService.getUniverSheetInstance(e),d=u==null?void 0:u.getSheetBySheetId(n);let h,m;if(a.length>=s)h=a.slice(0,s);else{h=a.slice(0);let g=a[a.length-1]+1;for(;h.length<s;)d.getRowFiltered(g)||h.push(g),g++}if(c.length>=r)m=c.slice(0,r);else{m=c.slice(0);let g=c[c.length-1]+1;for(;m.length<r;)m.push(g),g++}return{rows:h,cols:m}}_topLeftCellsMatch(e,n,i){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),s=r==null?void 0:r.getActiveSheet();if(!s)return!1;const{topRow:a,leftCol:c}=i,u=ol(a+e-1,c,c+n-1,s),d=il(c+n-1,a,a+e-1,s);return!u&&!d}};exports.SheetClipboardService=Ja([ve(0,l.ILogService),ve(1,l.IUniverInstanceService),ve(2,D.Inject(S.SelectionManagerService)),ve(3,I.IClipboardInterfaceService),ve(4,l.IUndoRedoService),ve(5,l.ICommandService),ve(6,nn),ve(7,D.Inject(exports.SheetSkeletonManagerService)),ve(8,I.INotificationService),ve(9,I.IPlatformService),ve(10,D.Inject(l.LocaleService)),ve(11,D.Inject(l.ErrorService)),ve(12,D.Inject(D.Injector))],exports.SheetClipboardService);function el(o){let t="";const e=o.getLength();return o.forRow((n,i)=>{const r=[];i.forEach(s=>{const a=o.getValue(n,s);if(a){const c=tl(a);r.push(c)}}),t+=r.join(" "),n!==e-1&&(t+=`
|
|
7
|
-
`)}),t}function tl(o){const t=l.extractPureTextFromCell(o);return nl((t==null?void 0:t.toString())||"")}const nl=o=>o.replace(/&/g,"&").replace(/\uFEFF/g,"").replace(/</g,"<").replace(/>/g,">");function ol(o,t,e,n){return n.getMergeData().some(i=>i.startRow<=o&&o<i.endRow&&t<=i.startColumn&&i.startColumn<=e)}function il(o,t,e,n){return n.getMergeData().some(i=>i.startColumn<=o&&o<i.endColumn&&t<=i.startRow&&i.startRow<=e)}function rl(o){let t=0;return o.forValue((e,n,i)=>{if(i&&t++,t>1)return!1}),t>1}function Li(){return{p:null,v:null,s:null,f:null,si:null,t:null}}const Qo=998,Ir={id:I.CopyCommand.id,name:"sheet.command.copy",type:l.CommandType.COMMAND,multi:!0,priority:Qo,preconditions:Zo,handler:async o=>o.get(Ot).copy()},sl={id:I.CutCommand.id,name:"sheet.command.cut",type:l.CommandType.COMMAND,multi:!0,priority:Qo,preconditions:Zo,handler:async o=>o.get(Ot).cut()},xt={id:I.PasteCommand.id,type:l.CommandType.COMMAND,multi:!0,name:"sheet.command.paste",priority:Qo,preconditions:Zo,handler:async(o,t)=>{const n=await o.get(I.IClipboardInterfaceService).read(),i=o.get(Ot);return n.length!==0?i.paste(n[0],t==null?void 0:t.value):!1}},Rr={id:"sheet.command.paste-value",type:l.CommandType.COMMAND,handler:async o=>o.get(l.ICommandService).executeCommand(xt.id,{value:fe.SPECIAL_PASTE_VALUE})},Mr={id:"sheet.command.paste-format",type:l.CommandType.COMMAND,handler:async o=>o.get(l.ICommandService).executeCommand(xt.id,{value:fe.SPECIAL_PASTE_FORMAT})},br={id:"sheet.command.paste-col-width",type:l.CommandType.COMMAND,handler:async o=>o.get(l.ICommandService).executeCommand(xt.id,{value:fe.SPECIAL_PASTE_COL_WIDTH})},Tr={id:"sheet.command.paste-besides-border",type:l.CommandType.COMMAND,handler:async o=>o.get(l.ICommandService).executeCommand(xt.id,{value:fe.SPECIAL_PASTE_BESIDES_BORDER})};var Zn=(o=>(o.MergeAll="mergeAll",o.MergeVertical="mergeVertical",o.MergeHorizontal="mergeHorizontal",o))(Zn||{});function tt(o,t,e,n,i=!0,r=1,s=!0){let a={...o};n==null&&(n={startRow:0,endRow:e.getRowCount()-1,startColumn:0,endColumn:e.getColumnCount()-1});let c;switch(t){case l.Direction.UP:for(c=o.startRow-r;c>-1&&!e.getRowVisible(c);)c-=1;c>=n.startRow?(a.startRow=c,a.endRow=c):s&&(a.startRow=n.endRow,a.endRow=n.endRow,i&&(a=tt(a,l.Direction.LEFT,e,n,!1)));break;case l.Direction.DOWN:for(c=o.endRow+r;c<e.getRowCount()&&!e.getRowVisible(c);)c+=1;c<=n.endRow?(a.startRow=c,a.endRow=c):s&&(a.startRow=n.startRow,a.endRow=n.startRow,i&&(a=tt(a,l.Direction.RIGHT,e,n,!1)));break;case l.Direction.LEFT:for(c=o.startColumn-r;c>-1&&!e.getColVisible(c);)c-=1;c>=n.startColumn?(a.startColumn=c,a.endColumn=c):s&&(a.startColumn=n.endColumn,a.endColumn=n.endColumn,i&&(a=tt(a,l.Direction.UP,e,n,!1)));break;case l.Direction.RIGHT:for(c=o.endColumn+r;c<e.getColumnCount()&&!e.getColVisible(c);)c+=1;c<=n.endColumn?(a.startColumn=c,a.endColumn=c):s&&(a.startColumn=n.startColumn,a.endColumn=n.startColumn,i&&(a=tt(a,l.Direction.DOWN,e,n,!1)));break}return a}function Jo(o,t,e){const n={...o},{startRow:i,startColumn:r,endRow:s,endColumn:a}=Kt(o,t,e);let c=Bt(e,i,r,s,a).hasValue,u=!0,d=!0;for(;d;){if(l.Direction.UP===t){let h=n.startRow-1;for(;h>-1&&!e.getRowVisible(h);)h-=1;if(h===-1){d=!1;break}const{hasValue:m,matrix:g}=Bt(e,h,n.startColumn,h,n.endColumn);if(c&&!m&&!u){d=!1;break}else{if(g.getLength()!==0){let f=h;g.forValue(_=>{f=Math.min(_,f)}),n.startRow=f}else n.startRow=h;if(n.endRow=n.startRow,!c&&m){d=!1;break}c=m,u=!1}}if(l.Direction.DOWN===t){let h=n.endRow+1;for(;h<e.getRowCount()&&!e.getRowVisible(h);)h+=1;if(h===e.getRowCount()){d=!1;break}const{hasValue:m,matrix:g}=Bt(e,h,n.startColumn,h,n.endColumn);if(c&&!m&&!u){d=!1;break}else{if(g.getLength()!==0){let f=h;g.forValue((_,p,v)=>{f=Math.max(_+(v.rowSpan||1)-1,f)}),n.endRow=f}else n.endRow=h;if(n.startRow=n.endRow,!c&&m){d=!1;break}c=m,u=!1}}if(l.Direction.LEFT===t){let h=n.startColumn-1;for(;h>-1&&!e.getColVisible(h);)h-=1;if(h===-1){d=!1;break}const{hasValue:m,matrix:g}=Bt(e,n.startRow,h,n.endRow,h);if(c&&!m&&!u){d=!1;break}else{if(g.getLength()!==0){let f=h;g.forValue((_,p)=>{f=Math.min(p,f)}),n.startColumn=f}else n.startColumn=h;if(n.endColumn=n.startColumn,!c&&m){d=!1;break}c=m,u=!1}}if(l.Direction.RIGHT===t){let h=n.endColumn+1;for(;h<e.getColumnCount()&&!e.getColVisible(h);)h+=1;if(h===e.getColumnCount()){d=!1;break}const{hasValue:m,matrix:g}=Bt(e,n.startRow,h,n.endRow,h);if(c&&!m&&!u){d=!1;break}else{if(g.getLength()!==0){let f=h;g.forValue((_,p,v)=>{f=Math.max(p+(v.colSpan||1)-1,f)}),n.endColumn=f}else n.endColumn=h;if(n.startColumn=n.endColumn,!c&&m){d=!1;break}c=m,u=!1}}}return S.alignToMergedCellsBorders(n,e,!0)}function wr(o,t,e){return tt(o,t,e,void 0,!1,1,!1)}function al(o,t,e){const n=Jo(o,t,e);return S.alignToMergedCellsBorders(l.Rectangle.union(n,o),e,!0)}function ll(o,t,e){const n=wr(o,t,e),i={startRow:Math.min(o.startRow,n.startRow),startColumn:Math.min(o.startColumn,n.startColumn),endRow:Math.max(o.endRow,n.endRow),endColumn:Math.max(o.endColumn,n.endColumn)};return S.alignToMergedCellsBorders(l.Rectangle.union(o,i),e)}function cl(o,t,e,n){const i=l.getReverseDirection(e),r=Jo(Kt(o,i,n),e,n);return e===l.Direction.UP&&r.startRow<=o.startRow?S.alignToMergedCellsBorders({...t,startColumn:o.startColumn,endColumn:o.endColumn},n,!0):e===l.Direction.DOWN&&r.endRow>=o.endRow?S.alignToMergedCellsBorders({...t,startColumn:o.startColumn,endColumn:o.endColumn},n,!0):e===l.Direction.LEFT&&r.startColumn<=o.startColumn?S.alignToMergedCellsBorders({...t,startRow:o.startRow,endRow:o.endRow},n,!0):e===l.Direction.RIGHT&&r.endColumn>=o.endColumn?S.alignToMergedCellsBorders({...t,startRow:o.startRow,endRow:o.endRow},n,!0):l.Rectangle.union(l.Rectangle.clone(t),r)}function dl(o,t,e){const n=l.getReverseDirection(t),i=Kt(o,n,e),r=Kt(o,t,e),s=wr(i,t,e);return S.alignToMergedCellsBorders(l.Rectangle.union(r,s),e,!1)}function Er(o,t,e){const{left:n,right:i,up:r,down:s}=t,a=e.getMaxRows(),c=e.getMaxColumns();let u=!0;const d={...o};for(;u;){if(u=!1,r&&d.startRow!==0){const h=d.startRow-1;e.getMatrixWithMergedCells(h,d.startColumn,h,d.endColumn).forValue((g,f,_)=>{jt(_)&&(d.startRow=Math.min(g,d.startRow),d.startColumn=Math.min(f,d.startColumn),d.endColumn=Math.max(f,d.endColumn),u=!0)})}if(s&&d.endRow!==a-1){const h=d.endRow+1;e.getMatrixWithMergedCells(h,d.startColumn,h,d.endColumn).forValue((g,f,_)=>{jt(_)&&(d.endRow=Math.max(g+(_.rowSpan!==void 0?_.rowSpan-1:0),d.endRow),d.startColumn=Math.min(f,d.startColumn),d.endColumn=Math.max(f,d.endColumn),u=!0)})}if(n&&d.startColumn!==0){const h=d.startColumn-1;e.getMatrixWithMergedCells(d.startRow,h,d.endRow,h).forValue((g,f,_)=>{jt(_)&&(d.startColumn=Math.min(f,d.startColumn),d.startRow=Math.min(g,d.startRow),d.endRow=Math.max(g,d.endRow),u=!0)})}if(i&&d.endColumn!==c-1){const h=d.endColumn+1;e.getMatrixWithMergedCells(d.startRow,h,d.endRow,h).forValue((g,f,_)=>{jt(_)&&(d.endColumn=Math.max(f+(_.colSpan!==void 0?_.colSpan-1:0),d.endColumn),d.startRow=Math.min(g,d.startRow),d.endRow=Math.max(g,d.endRow),u=!0)})}}return d}function Ui(o){return{startRow:0,startColumn:0,endRow:o.getRowCount()-1,endColumn:o.getColumnCount()-1,rangeType:l.RANGE_TYPE.ALL}}function Kt(o,t,e){let n;switch(t){case l.Direction.UP:n={startRow:o.startRow,startColumn:o.startColumn,endRow:o.startRow,endColumn:o.endColumn,rangeType:l.RANGE_TYPE.NORMAL};break;case l.Direction.DOWN:n={startRow:o.endRow,startColumn:o.startColumn,endRow:o.endRow,endColumn:o.endColumn,rangeType:l.RANGE_TYPE.NORMAL};break;case l.Direction.LEFT:n={startRow:o.startRow,startColumn:o.startColumn,endRow:o.endRow,endColumn:o.startColumn,rangeType:l.RANGE_TYPE.NORMAL};break;case l.Direction.RIGHT:n={startRow:o.startRow,startColumn:o.endColumn,endRow:o.endRow,endColumn:o.endColumn,rangeType:l.RANGE_TYPE.NORMAL};break;default:throw new Error("Invalid direction")}return S.alignToMergedCellsBorders(n,e,!1)}function Bt(o,t,e,n,i){let r=!1;const s=o.getMatrixWithMergedCells(t,e,n,i).forValue((a,c,u)=>{if(jt(u))return r=!0,!1});return{hasValue:r,matrix:s}}function xo(o,t,e){const n=l.Rectangle.clone(o);if(t==null)return n;switch(e){case l.Direction.UP:case l.Direction.DOWN:n.startColumn=n.endColumn=t.actualColumn;break;case l.Direction.LEFT:case l.Direction.RIGHT:n.startRow=n.endRow=t.actualRow;break}return n}function ul(o,t,e){const{primary:n,range:i}=o,r=l.Rectangle.clone(i);switch(t){case l.Direction.UP:case l.Direction.DOWN:r.startRow=n.startRow,r.endRow=n.endRow;break;case l.Direction.LEFT:case l.Direction.RIGHT:r.startColumn=n.startColumn,r.endColumn=n.endColumn;break}const s=Kt(r,t,e);switch(t){case l.Direction.DOWN:return i.startRow<s.startRow;case l.Direction.UP:return i.endRow>s.endRow;case l.Direction.LEFT:return s.endColumn<i.endColumn;case l.Direction.RIGHT:return s.startColumn>i.startColumn}}function yr(o,t){let e=o[0].startRow,n=o[0].endRow;o.forEach(r=>{const{startRow:s,endRow:a}=r;e=Math.min(e,s),n=Math.max(n,a)});const i=new Array(n-e+1).fill(!1);return t.forEach(r=>{const{startRow:s,endRow:a}=r;for(let c=Math.max(s,e);c<=Math.min(a,n);c++)i[c-e]=!0}),o.every(r=>{const{startRow:s,endRow:a}=r;for(let c=s;c<=a;c++)if(!i[c-e])return!1;return!0})}function Or(o,t){let e=o[0].startColumn,n=o[0].endColumn;o.forEach(r=>{const{startColumn:s,endColumn:a}=r;e=Math.min(e,s),n=Math.max(n,a)});const i=new Array(n-e+1).fill(!1);return t.forEach(r=>{const{startColumn:s,endColumn:a}=r;for(let c=Math.max(s,e);c<=Math.min(a,n);c++)i[c-e]=!0}),o.every(r=>{const{startColumn:s,endColumn:a}=r;for(let c=s;c<=a;c++)if(!i[c-e])return!1;return!0})}function ei(o,t){return t?o==="mergeAll"?t.filter(e=>!(e.startRow===e.endRow&&e.startColumn===e.endColumn)):o==="mergeVertical"?t.filter(e=>e.startRow!==e.endRow):o==="mergeHorizontal"?t.filter(e=>e.startColumn!==e.endColumn):t:null}function jt(o){return o.v!==void 0&&o.v!==null&&o.v!==""||o.p!==void 0}var hl=Object.defineProperty,ml=Object.getOwnPropertyDescriptor,gl=(o,t,e,n)=>{for(var i=n>1?void 0:n?ml(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&hl(t,e,i),i},Vi=(o,t)=>(e,n)=>t(e,n,o);let qt=class{constructor(o,t){R(this,"_current",null);R(this,"_shortcutParam",[]);this._univerInstanceService=o,this._localeService=t}dispose(){this._shortcutParam=[]}getCurrentBySearch(o){return this._getCurrentBySearch(o)}getCurrent(){return this._getCurrentBySearch(this._current)}addOrUpdate(o){const t=this._getCurrentBySearch({unitId:o.unitId,sheetId:o.sheetId,keycode:o.keycode});if(t!=null){const e=this._shortcutParam.indexOf(t);this._shortcutParam.splice(e,1)}return this._shortcutParam.push(o),t}remove(o){if(o==null)return;const t=this._getCurrentBySearch(o);if(t==null)return;const e=this._shortcutParam.indexOf(t);return this._shortcutParam.splice(e,1)[0]}_getCurrentBySearch(o){return o==null?void 0:this._shortcutParam.find(e=>e.unitId===o.unitId&&e.sheetId===o.sheetId&&e.keycode===o.keycode)}};qt=gl([Vi(0,l.IUniverInstanceService),Vi(1,D.Inject(l.LocaleService))],qt);var ke=(o=>(o[o.moveStopeOne=0]="moveStopeOne",o[o.moveGap=1]="moveGap",o[o.moveStepPage=2]="moveStepPage",o[o.moveStepEnd=3]="moveStepEnd",o))(ke||{});const we={id:"sheet.command.move-selection",type:l.CommandType.COMMAND,handler:async(o,t)=>{if(!t)return!1;const e=S.getSheetCommandTarget(o.get(l.IUniverInstanceService));if(!e)return!1;const{workbook:n,worksheet:i}=e,r=o.get(S.SelectionManagerService).getLast();if(!r)return!1;const{direction:s,jumpOver:a}=t,{range:c,primary:u}=r,d=xo(c,u,s),h=a===1?Jo(d,s,i):tt(d,s,i),m=S.getCellAtRowCol(h.startRow,h.startColumn,i);return l.Rectangle.equals(m,d)?!1:(o.get(qt).remove({unitId:n.getUnitId(),sheetId:i.getSheetId(),keycode:I.KeyCode.TAB}),o.get(l.ICommandService).executeCommand(S.SetSelectionsOperation.id,{unitId:n.getUnitId(),subUnitId:i.getSheetId(),pluginName:S.NORMAL_SELECTION_PLUGIN_NAME,selections:[{range:l.Rectangle.clone(m),primary:{startRow:m.startRow,startColumn:m.startColumn,endRow:m.endRow,endColumn:m.endColumn,actualRow:h.startRow,actualColumn:h.startColumn,isMerged:m.isMerged,isMergedMainCell:m.startRow===h.startRow&&m.startColumn===h.startColumn}}]}))}},gt={id:"sheet.command.move-selection-enter-tab",type:l.CommandType.COMMAND,handler:async(o,t)=>{if(!t)return!1;const e=S.getSheetCommandTarget(o.get(l.IUniverInstanceService));if(!e)return!1;const{workbook:n,worksheet:i}=e,r=o.get(S.SelectionManagerService).getLast();if(!r)return!1;const s=n.getUnitId(),a=i.getSheetId();if(!r)return!1;const{direction:c,keycode:u}=t,{range:d,primary:h}=r;let m=xo(d,h,c);const g=o.get(qt),f=g.getCurrentBySearch({unitId:s,sheetId:a,keycode:I.KeyCode.TAB});let _;const{startRow:p,endRow:v,startColumn:M,endColumn:b}=d;if(l.Rectangle.equals(d,h)){if(u===I.KeyCode.TAB)f==null&&g.addOrUpdate({unitId:s,sheetId:a,keycode:I.KeyCode.TAB,selection:r});else{const y=f==null?void 0:f.selection;if(y!=null){const{range:O,primary:x}=y;m=xo(O,x,c)}g.remove({unitId:s,sheetId:a,keycode:I.KeyCode.TAB})}const T=tt(m,c,i),w=S.getCellAtRowCol(T.startRow,T.startColumn,i);if(l.Rectangle.equals(w,m))return!1;_={range:l.Rectangle.clone(w),primary:{startRow:w.startRow,startColumn:w.startColumn,endRow:w.endRow,endColumn:w.endColumn,actualRow:T.startRow,actualColumn:T.startColumn,isMerged:w.isMerged,isMergedMainCell:w.startRow===T.startRow&&w.startColumn===T.startColumn}}}else{g.remove({unitId:s,sheetId:a,keycode:I.KeyCode.TAB});const T=l.Tools.deepClone(h),w=tt({startRow:T.startRow,startColumn:T.startColumn,endRow:T.endRow,endColumn:T.endColumn},c,i,{startRow:p,endRow:v,startColumn:M,endColumn:b}),y=S.getCellAtRowCol(w.startRow,w.startColumn,i);_={range:l.Rectangle.clone(d),primary:{startRow:y.startRow,startColumn:y.startColumn,endRow:y.endRow,endColumn:y.endColumn,actualRow:w.startRow,actualColumn:w.startColumn,isMerged:y.isMerged,isMergedMainCell:y.startRow===w.startRow&&y.startColumn===w.startColumn}}}return o.get(l.ICommandService).executeCommand(S.SetSelectionsOperation.id,{unitId:s,subUnitId:a,pluginName:S.NORMAL_SELECTION_PLUGIN_NAME,selections:[_]})}},Ae={id:"sheet.command.expand-selection",type:l.CommandType.COMMAND,handler:async(o,t)=>{if(!t)return!1;const e=S.getSheetCommandTarget(o.get(l.IUniverInstanceService));if(!e)return!1;const{worksheet:n,unitId:i,subUnitId:r}=e,s=o.get(S.SelectionManagerService).getLast();if(!s)return!1;const{range:a,primary:c}=s,{jumpOver:u,direction:d}=t,m=ul(s,d,n)?u===1?cl(a,{...l.Rectangle.clone(c),rangeType:l.RANGE_TYPE.NORMAL},d,n):dl(a,d,n):u===1?al(a,d,n):ll(a,d,n);return l.Rectangle.equals(m,a)?!1:o.get(l.ICommandService).executeCommand(S.SetSelectionsOperation.id,{unitId:i,subUnitId:r,pluginName:S.NORMAL_SELECTION_PLUGIN_NAME,selections:[{range:m,primary:c}]})}};let Le=[],co="";const xr={id:"sheet.command.select-all",type:l.CommandType.COMMAND,onDispose(){Le=[],co=""},handler:async(o,t={expandToGapFirst:!0,loop:!1})=>{const e=o.get(S.SelectionManagerService).getLast(),n=S.getSheetCommandTarget(o.get(l.IUniverInstanceService));if(!n)return!1;const{worksheet:i,unitId:r,subUnitId:s}=n;if(!e||!i)return!1;const a=`${r}|${s}`;a!==co&&(Le=[],co=a);const c=i.getMaxRows(),u=i.getMaxColumns(),{expandToGapFirst:d,loop:h}=t,{range:m,primary:g}=e,f=m.endColumn===u-1&&m.endRow===c-1&&m.startRow===0&&m.startColumn===0;Le.some(p=>l.Rectangle.equals(p,m))||(Le=[],Le.push(m));let _;if(f)if(h){if(Le.findIndex(v=>l.Rectangle.equals(v,m))!==Le.length-1)return!1;_=Le[0]}else return!1;else d?(_=Er(m,{left:!0,right:!0,up:!0,down:!0},i),l.Rectangle.equals(_,m)&&(_=Ui(i))):_=Ui(i);return Le.some(p=>l.Rectangle.equals(p,_))||Le.push(_),o.get(l.ICommandService).executeCommand(S.SetSelectionsOperation.id,{unitId:r,subUnitId:s,pluginName:S.NORMAL_SELECTION_PLUGIN_NAME,selections:[{range:_,primary:g}]})}};var fl=Object.defineProperty,_l=Object.getOwnPropertyDescriptor,Sl=(o,t,e,n)=>{for(var i=n>1?void 0:n?_l(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&fl(t,e,i),i},Ft=(o,t)=>(e,n)=>t(e,n,o);const pl=l.createInterceptorKey("BEFORE_CELL_EDIT"),Cl=l.createInterceptorKey("AFTER_CELL_EDIT"),vl=l.createInterceptorKey("AFTER_CELL_EDIT_ASYNC");exports.EditorBridgeService=class extends l.Disposable{constructor(e,n,i,r,s){super();R(this,"_editorUnitId",l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);R(this,"_isForceKeepVisible",!1);R(this,"_editorIsDirty",!1);R(this,"_visible",{visible:!1,eventType:E.DeviceInputEventType.Dblclick});R(this,"_currentEditCell",null);R(this,"_currentEditCellState",null);R(this,"_currentEditCellState$",new U.BehaviorSubject(null));R(this,"currentEditCellState$",this._currentEditCellState$.asObservable());R(this,"_visible$",new U.BehaviorSubject(this._visible));R(this,"visible$",this._visible$.asObservable());R(this,"_afterVisible$",new U.BehaviorSubject(this._visible));R(this,"afterVisible$",this._afterVisible$.asObservable());R(this,"interceptor",new l.InterceptorManager({BEFORE_CELL_EDIT:pl,AFTER_CELL_EDIT:Cl,AFTER_CELL_EDIT_ASYNC:vl}));this._sheetSkeletonManagerService=e,this._selectionRenderService=n,this._themeService=i,this._univerInstanceService=r,this._editorService=s,this.disposeWithMe(l.toDisposable(()=>{this._currentEditCellState$.complete(),this._currentEditCell=null})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().AFTER_CELL_EDIT,{priority:-1,handler:a=>a})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().BEFORE_CELL_EDIT,{priority:-1,handler:a=>a})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().AFTER_CELL_EDIT_ASYNC,{priority:-1,handler:a=>a}))}refreshEditCellState(){const e=this.getLatestEditCellState();this._currentEditCellState=e,this._currentEditCellState$.next(e)}setEditCell(e){this._currentEditCell=e;const n=this.getLatestEditCellState();this._currentEditCellState=n,this._currentEditCellState$.next(n)}getEditCellState(){return this._currentEditCellState}getLatestEditCellState(){var N,L;const e=this._currentEditCell;if(e==null)return;const n=this._sheetSkeletonManagerService.getCurrent();if(n==null)return;const{skeleton:i}=n,{primary:r,unitId:s,sheetId:a,scene:c,engine:u}=e,{startRow:d,startColumn:h}=r,m=this._selectionRenderService.convertCellRangeToInfo(r);if(m==null)return;const g=l.makeCellToSelection(m);if(g==null)return;const f=E.getCanvasOffsetByEngine(u);let{startX:_,startY:p,endX:v,endY:M}=g;const{scaleX:b,scaleY:T}=c.getAncestorScale(),w=c.getScrollXY(this._selectionRenderService.getViewPort());_=i.convertTransformToOffsetX(_,b,w),p=i.convertTransformToOffsetY(p,T,w),v=i.convertTransformToOffsetX(v,b,w),M=i.convertTransformToOffsetY(M,T,w);const y=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),O=y.getActiveSheet(),x={workbook:y,worksheet:O,unitId:y.getUnitId(),subUnitId:O.getSheetId(),row:d,col:h},A=this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().BEFORE_CELL_EDIT)(O.getCell(d,h),x);let F=A&&i.getCellDocumentModelWithFormula(A);if(!F||F.documentModel==null){const B=i.getBlankCellDocumentModel(A);if(F!=null){const{verticalAlign:j,horizontalAlign:z,wrapStrategy:q,textRotation:K,fill:$}=F,{centerAngle:Q,vertexAngle:P}=E.convertTextRotation(K);B.documentModel.documentStyle.renderConfig={verticalAlign:j,horizontalAlign:z,wrapStrategy:q,background:{rgb:$},centerAngle:Q,vertexAngle:P}}F=B}if((N=F.documentModel)==null||N.setZoomRatio(Math.max(b,T)),(A==null?void 0:A.isInArrayFormulaRange)===!0){const B=(L=F.documentModel)==null?void 0:L.getBody();B&&(B.textRuns=[{st:0,ed:B.dataStream.length-2,ts:{cl:{rgb:this._themeService.getCurrentTheme().textColorSecondary}}}])}return this._editorService.setOperationSheetUnitId(s),this._editorService.setOperationSheetSubUnitId(a),{position:{startX:_,startY:p,endX:v,endY:M},scaleX:b,scaleY:T,canvasOffset:f,row:d,column:h,unitId:s,sheetId:a,documentLayoutObject:F,editorUnitId:this._editorUnitId,isInArrayFormulaRange:A==null?void 0:A.isInArrayFormulaRange}}getCurrentEditorId(){return this._editorUnitId}changeVisible(e){this._visible=e,e.visible&&(this._editorIsDirty=!1),this._visible$.next(this._visible),this._afterVisible$.next(this._visible)}isVisible(){return this._visible}enableForceKeepVisible(){this._isForceKeepVisible=!0}disableForceKeepVisible(){this._isForceKeepVisible=!1}isForceKeepVisible(){return this._isForceKeepVisible}changeEditorDirty(e){this._editorIsDirty=e}getEditorDirty(){return this._editorIsDirty}};exports.EditorBridgeService=Sl([Ft(0,D.Inject(exports.SheetSkeletonManagerService)),Ft(1,Ne),Ft(2,D.Inject(l.ThemeService)),Ft(3,l.IUniverInstanceService),Ft(4,I.IEditorService)],exports.EditorBridgeService);const Ee=D.createIdentifier("univer.sheet-editor-bridge.service"),Te={id:"sheet.operation.set-cell-edit-visible",type:l.CommandType.OPERATION,handler:(o,t)=>{const e=o.get(Ee);return t==null?!1:(e.changeVisible(t),!0)}},ti={id:"sheet.operation.set-cell-edit-visible-f2",type:l.CommandType.OPERATION,handler:(o,t)=>(o.get(l.ICommandService).syncExecuteCommand(Te.id,t),!0)},Qt={id:"sheet.operation.set-cell-edit-visible-arrow",type:l.CommandType.OPERATION,handler:()=>!0};class Ze{constructor(){R(this,"_scrollInfo",new Map);R(this,"_scrollInfo$",new U.BehaviorSubject(null));R(this,"scrollInfo$",this._scrollInfo$.asObservable());R(this,"_currentScroll",null)}dispose(){this._scrollInfo$.complete()}setCurrentScroll(t){this._currentScroll=t,this._refresh(t)}getScrollByParam(t){return this._getCurrentScroll(t)}getCurrentScroll(){return this._getCurrentScroll(this._currentScroll)}addOrReplace(t){this._currentScroll!=null&&this._addByParam({...this._currentScroll,...t})}addOrReplaceNoRefresh(t){this._currentScroll!=null&&this._addByParam({...this._currentScroll,...t},!1)}addOrReplaceByParam(t){this._addByParam(t)}clear(){this._currentScroll!=null&&this._clearByParam(this._currentScroll)}_addByParam(t,e=!0){const{unitId:n,sheetId:i,sheetViewStartColumn:r,sheetViewStartRow:s,offsetX:a,offsetY:c}=t;this._scrollInfo.has(n)||this._scrollInfo.set(n,new Map),this._scrollInfo.get(n).set(i,{sheetViewStartRow:s,sheetViewStartColumn:r,offsetX:a,offsetY:c}),e===!0&&this._refresh({unitId:n,sheetId:i})}_clearByParam(t){this._addByParam({...t,sheetViewStartRow:0,sheetViewStartColumn:0,offsetX:0,offsetY:0}),this._refresh(t)}_getCurrentScroll(t){var i;if(t==null)return;const{unitId:e,sheetId:n}=t;return(i=this._scrollInfo.get(e))==null?void 0:i.get(n)}_refresh(t){this._scrollInfo$.next(this._getCurrentScroll(t))}}const ot={id:"sheet.operation.set-scroll",type:l.CommandType.OPERATION,handler:(o,t)=>{if(t==null)return!1;const e=o.get(Ze),r=o.get(l.IUniverInstanceService).getUniverSheetInstance(t.unitId).getSheetBySheetId(t.sheetId),{xSplit:s,ySplit:a}=r.getConfig().freeze;return e.addOrReplaceByParam({...t,sheetViewStartRow:t.sheetViewStartRow-a,sheetViewStartColumn:t.sheetViewStartColumn-s}),!0}},Xt={id:"sheet.command.set-scroll-relative",type:l.CommandType.COMMAND,handler:async(o,t={offsetX:0,offsetY:0})=>{const e=o.get(l.ICommandService),n=o.get(Ze),i=o.get(l.IUniverInstanceService),r=S.getSheetCommandTarget(i);if(!r)return!1;const{unitId:s,subUnitId:a,worksheet:c}=r,{xSplit:u,ySplit:d}=c.getConfig().freeze,h=n.getCurrentScroll(),{offsetX:m=0,offsetY:g=0}=t||{},{sheetViewStartRow:f=0,sheetViewStartColumn:_=0,offsetX:p=0,offsetY:v=0}=h||{};return e.executeCommand(ot.id,{unitId:s,sheetId:a,sheetViewStartRow:f+d,sheetViewStartColumn:_+u,offsetX:p+m,offsetY:v+g})}},dt={id:"sheet.command.scroll-view",type:l.CommandType.COMMAND,handler:(o,t)=>{if(!t)return!1;const e=o.get(l.IUniverInstanceService),n=o.get(Ze),i=S.getSheetCommandTarget(e);if(!i)return!1;const{workbook:r,worksheet:s}=i,a=n.getCurrentScroll();if(!s)return!1;const{sheetViewStartRow:c,sheetViewStartColumn:u,offsetX:d,offsetY:h}=t,{sheetViewStartColumn:m,sheetViewStartRow:g,offsetX:f,offsetY:_}=a||{},{xSplit:p,ySplit:v}=s.getConfig().freeze;return o.get(l.ICommandService).syncExecuteCommand(ot.id,{unitId:r.getUnitId(),sheetId:s.getSheetId(),sheetViewStartRow:c!=null?c:(g!=null?g:0)+v,sheetViewStartColumn:u!=null?u:(m!=null?m:0)+p,offsetX:d!=null?d:f,offsetY:h!=null?h:_})}},Nr={id:"sheet.command.scroll-to-cell",type:l.CommandType.COMMAND,handler:(o,t)=>{const e=o.get(l.IUniverInstanceService);return o.get(E.IRenderManagerService).getRenderById(e.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getUnitId()).with(exports.SheetsScrollRenderController).scrollToRange(t.range)}},Il={id:"sheet.command.scroll-view-reset",type:l.CommandType.COMMAND,handler:async o=>{const t=o.get(l.IUniverInstanceService),e=S.getSheetCommandTarget(t);if(!e)return!1;const{subUnitId:n,unitId:i}=e;return o.get(l.ICommandService).executeCommand(ot.id,{unitId:i,sheetId:n,sheetViewStartRow:0,sheetViewStartColumn:0})}};function Rl(o){return typeof o.isMainScene>"u"}function it(o,t){const e=o instanceof l.Workbook?o:o.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!e)return null;const n=e.getUnitId();let i,r,s,a;if(Rl(t)){const m=t.getRenderById(n);if(m==null)return null;i=m.components,i=m.components,r=m.mainComponent,s=m.scene,a=m.engine}else i=t.components,r=t.mainComponent,s=t.scene,a=t.engine;if(!i||!r)return null;const c=r,u=i.get(ie.ROW),d=i.get(ie.COLUMN),h=i.get(ie.LEFT_TOP);return{spreadsheet:c,spreadsheetRowHeader:u,spreadsheetColumnHeader:d,spreadsheetLeftTopPlaceholder:h,scene:s,engine:a}}function No(o,t,e,n){const{startX:i,startY:r,endX:s,endY:a}=n.getCellByIndex(o,t);return{startX:i,startY:r,endX:s,endY:a}}function Et(o,t,e,n,i,r){const s=e.getRelativeCoord(E.Vector2.FromArray([o,t])),{x:a,y:c}=s,u=e.getScrollXYByRelativeCoords(s,i),{scaleX:d,scaleY:h}=e.getAncestorScale(),m=n.getCellPositionByOffset(a,c,d,h,u,r),{row:g,column:f}=m,_=n.getNoMergeCellPositionByIndex(g,f),{startX:p,startY:v,endX:M,endY:b}=_;return{startX:p,startY:v,endX:M,endY:b,row:g,column:f}}function bn(o,t,e,n){const i=e.getRelativeCoord(E.Vector2.FromArray([o,t])),r=e.getViewport(W.VIEW_MAIN),s=e.getScrollXYByRelativeCoords(i,r),{scaleX:a,scaleY:c}=e.getAncestorScale(),{x:u,y:d}=s,h=o/a+u,m=t/c+d;return{x:h,y:m}}var Ml=Object.defineProperty,bl=Object.getOwnPropertyDescriptor,Tl=(o,t,e,n)=>{for(var i=n>1?void 0:n?bl(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Ml(t,e,i),i},_t=(o,t)=>(e,n)=>t(e,n,o);const wl=[we.id,gt.id];exports.SheetsScrollRenderController=class extends l.Disposable{constructor(t,e,n,i,r,s,a){super(),this._context=t,this._sheetSkeletonManagerService=e,this._univerInstanceService=n,this._commandService=i,this._renderManagerService=r,this._selectionManagerService=s,this._scrollManagerService=a,this._init()}scrollToRange(t){const{startRow:e,startColumn:n}=t;return this._scrollToCell(e,n)}_init(){this._initCommandListener(),this._initScrollEventListener(),this._scrollSubscribeBinding(),this._initSkeletonListener()}_initCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(wl.includes(t.id))this._scrollToSelection();else if(t.id===S.ScrollToCellOperation.id){const e=t.params;this._scrollToSelectionByDirection(e)}else if(t.id===Ae.id){const e=t.params;this._scrollToSelectionForExpand(e)}}))}_scrollToSelectionForExpand(t){setTimeout(()=>{const e=this._selectionManagerService.getLast();if(e==null)return;const{startRow:n,startColumn:i,endRow:r,endColumn:s}=e.range,a=this._getViewportBounding();if(a==null)return;const{startRow:c,startColumn:u,endRow:d,endColumn:h}=a;let m=0,g=0;n>c?m=r:r<d?m=n:m=c,i>u?g=s:s<h?g=i:g=u,t.direction===l.Direction.DOWN?m=r:t.direction===l.Direction.UP?m=n:t.direction===l.Direction.RIGHT?g=s:t.direction===l.Direction.LEFT&&(g=i),this._scrollToCell(m,g)},0)}_getFreeze(){var e;const t=(e=this._sheetSkeletonManagerService.getCurrent())==null?void 0:e.skeleton.getWorksheetConfig();if(t!=null)return t.freeze}_initScrollEventListener(){var n;const t=(n=this._getSheetObject())==null?void 0:n.scene;if(t==null)return;const e=t.getViewport(W.VIEW_MAIN);this.disposeWithMe(l.toDisposable(e==null?void 0:e.onScrollAfterObserver.add(i=>{var g;const r=(g=this._sheetSkeletonManagerService.getCurrent())==null?void 0:g.skeleton;if(r==null||i.isTrigger===!1)return;const s=this._getSheetObject();if(r==null||s==null)return;const{actualScrollX:a=0,actualScrollY:c=0}=i,{row:u,column:d,rowOffset:h,columnOffset:m}=r.getDecomposedOffset(a,c);this._scrollManagerService.addOrReplaceNoRefresh({sheetViewStartRow:u,sheetViewStartColumn:d,offsetX:m,offsetY:h})}))),this.disposeWithMe(l.toDisposable(e==null?void 0:e.onScrollByBarObserver.add(i=>{var f;const r=(f=this._sheetSkeletonManagerService.getCurrent())==null?void 0:f.skeleton;if(r==null||i.isTrigger===!1)return;const s=this._getSheetObject();if(r==null||s==null)return;const{actualScrollX:a=0,actualScrollY:c=0}=i,u=this._getFreeze(),{row:d,column:h,rowOffset:m,columnOffset:g}=r.getDecomposedOffset(a,c);this._commandService.executeCommand(dt.id,{sheetViewStartRow:d+((u==null?void 0:u.ySplit)||0),sheetViewStartColumn:h+((u==null?void 0:u.xSplit)||0),offsetX:g,offsetY:m})})))}_scrollSubscribeBinding(){this.disposeWithMe(l.toDisposable(this._scrollManagerService.scrollInfo$.subscribe(t=>{var _;const e=(_=this._sheetSkeletonManagerService.getCurrent())==null?void 0:_.skeleton,n=this._getSheetObject();if(e==null||n==null)return;const i=n.scene;n.scene.getAncestorScale();const r=i.getViewport(W.VIEW_MAIN);if(r==null)return;if(t==null){r.scrollTo({x:0,y:0});return}const{sheetViewStartRow:s,sheetViewStartColumn:a,offsetX:c,offsetY:u}=t,{startX:d,startY:h}=e.getCellByIndexWithNoHeader(s,a),m=d+c,g=h+u,f=r.getBarScroll(m,g);r.scrollTo(f)})))}_initSkeletonListener(){this.disposeWithMe(l.toDisposable(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(t=>{if(t==null)return;const{unitId:e,sheetId:n}=t;this._renderManagerService.getRenderById(e)!=null&&(this._updateSceneSize(t),this._scrollManagerService.setCurrentScroll({unitId:e,sheetId:n}))})))}_updateSceneSize(t){var u;if(t==null)return;const{skeleton:e,unitId:n}=t,i=(u=this._renderManagerService.getRenderById(n))==null?void 0:u.scene;if(e==null||i==null)return;const{rowTotalHeight:r,columnTotalWidth:s,rowHeaderWidthAndMarginLeft:a,columnHeaderHeightAndMarginTop:c}=e;i==null||i.transformByState({width:a+s,height:c+r})}_getSheetObject(){return it(this._context.unit,this._context)}_scrollToSelectionByDirection(t){const e=this._getViewportBounding();if(e==null)return!1;const{startRow:n,startColumn:i,endRow:r,endColumn:s}=e;let a=0,c=0;const{startRow:u,startColumn:d,endRow:h,endColumn:m}=t;u>=n&&(a=h),h<=r&&(a=u),d>=i&&(c=m),m<=s&&(c=d),this._scrollToCell(a,c)}_scrollToSelection(t=!0){const e=this._selectionManagerService.getLast();if(e==null)return;const{startRow:n,startColumn:i,actualRow:r,actualColumn:s}=e.primary,a=t?r:n,c=t?s:i;this._scrollToCell(a,c)}_getViewportBounding(){var r,s;const t=(r=this._getSheetObject())==null?void 0:r.scene;if(t==null)return;const e=t.getViewport(W.VIEW_MAIN);if(e==null)return;const n=(s=this._sheetSkeletonManagerService.getCurrent())==null?void 0:s.skeleton;if(n==null)return;const i=e.getBounding();return n.getRowColumnSegment(i)}_scrollToCell(t,e){var y,O,x,A;const{rowHeightAccumulation:n,columnWidthAccumulation:i}=(O=(y=this._sheetSkeletonManagerService.getCurrent())==null?void 0:y.skeleton)!=null?O:{};if(n==null||i==null)return!1;const r=(x=this._getSheetObject())==null?void 0:x.scene;if(r==null)return!1;const s=r.getViewport(W.VIEW_MAIN);if(s==null||((A=this._sheetSkeletonManagerService.getCurrent())==null?void 0:A.skeleton)==null)return!1;const c=this._context.unit.getActiveSheet(),{startColumn:u,startRow:d,ySplit:h,xSplit:m}=c.getFreeze(),g=this._getViewportBounding();if(g==null)return!1;const{startRow:f,startColumn:_,endRow:p,endColumn:v}=g;let M,b;if(t>=d&&e>=u-m&&(t<=f&&(M=t),t>=p)){const F=n[t]-s.height;for(let N=f;N<=t;N++)if(n[N]>=F){M=N+1;break}}if(e>=u&&t>=d-h&&(e<=_&&(b=e),e>=v)){const F=i[e]-s.width;for(let N=_;N<=e;N++)if(i[N]>=F){b=N+1;break}}if(M===void 0&&b===void 0)return!1;const{offsetX:T,offsetY:w}=this._scrollManagerService.getCurrentScroll()||{};return this._commandService.syncExecuteCommand(dt.id,{sheetViewStartRow:M,sheetViewStartColumn:b,offsetX:b===void 0?T:0,offsetY:M===void 0?w:0})}};exports.SheetsScrollRenderController=Tl([_t(1,D.Inject(exports.SheetSkeletonManagerService)),_t(2,l.IUniverInstanceService),_t(3,l.ICommandService),_t(4,E.IRenderManagerService),_t(5,D.Inject(S.SelectionManagerService)),_t(6,D.Inject(Ze))],exports.SheetsScrollRenderController);function El(o){return o.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET).pipe(U.switchMap(t=>t?t.activeSheet$.pipe(U.map(e=>e?{workbook:t,worksheet:e}:null)):U.of(null)))}function _e(o,t,e){return El(o).pipe(U.switchMap(n=>n?e(n):U.of(t)))}var yl=Object.defineProperty,Ol=Object.getOwnPropertyDescriptor,xl=(o,t,e,n)=>{for(var i=n>1?void 0:n?Ol(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&yl(t,e,i),i},kt=(o,t)=>(e,n)=>t(e,n,o);exports.SheetRenderController=class extends l.RxDisposable{constructor(e,n,i,r,s){super();R(this,"_skeletonChangeMutations",new Set);this._sheetSkeletonManagerService=e,this._contextService=n,this._univerInstanceService=i,this._renderManagerService=r,this._commandService=s,Promise.resolve().then(()=>this._init())}registerSkeletonChangingMutations(e){if(this._skeletonChangeMutations.has(e))throw new Error(`[SheetRenderController]: the mutationId ${e} has already been registered!`);return this._skeletonChangeMutations.add(e),l.toDisposable(()=>this._skeletonChangeMutations.delete(e))}_init(){this._initialRenderRefresh(),this._initWorkbookListener(),this._initCommandListener(),this._initContextListener()}_initialRenderRefresh(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(!e)return null;const{skeleton:n,unitId:i,sheetId:r}=e,s=this._univerInstanceService.getUniverSheetInstance(i),a=s==null?void 0:s.getSheetBySheetId(r);if(s==null||a==null)return;const c=this._renderManagerService.getRenderById(i);if(c==null)return;const{mainComponent:u,components:d}=c,h=u,m=d.get(ie.ROW),g=d.get(ie.COLUMN),f=d.get(ie.LEFT_TOP),{rowHeaderWidth:_,columnHeaderHeight:p}=n;h==null||h.updateSkeleton(n),m==null||m.updateSkeleton(n),g==null||g.updateSkeleton(n),f==null||f.transformByState({width:_,height:p})}))}_initWorkbookListener(){this._univerInstanceService.getTypeOfUnitAdded$(l.UniverInstanceType.UNIVER_SHEET).pipe(U.takeUntil(this.dispose$)).subscribe(e=>this._createSheetRenderer(e)),this._univerInstanceService.getTypeOfUnitDisposed$(l.UniverInstanceType.UNIVER_SHEET).pipe(U.takeUntil(this.dispose$)).subscribe(e=>{const n=e.getUnitId();this._sheetSkeletonManagerService.removeSkeleton({unitId:n}),this._renderManagerService.removeRender(n)}),this._univerInstanceService.getAllUnitsForType(l.UniverInstanceType.UNIVER_SHEET).forEach(e=>this._createSheetRenderer(e))}_createSheetRenderer(e){const n=e.getUnitId();this._renderManagerService.createRender(n),this._renderManagerService.setCurrent(n);const i=e.getActiveSheet().getSheetId();this._sheetSkeletonManagerService.setCurrent({sheetId:i,unitId:n})}_initCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{var r,s;const n=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!n)return;const i=n.getUnitId();if(S.COMMAND_LISTENER_SKELETON_CHANGE.includes(e.id)||this._skeletonChangeMutations.has(e.id)){const a=n.getActiveSheet(),c=a.getSheetId(),u=e.params,{unitId:d,subUnitId:h}=u;if(!(d===n.getUnitId()&&h===a.getSheetId()))return;e.id!==S.SetWorksheetActiveOperation.id&&this._sheetSkeletonManagerService.makeDirty({unitId:d,sheetId:c,commandId:e.id},!0),this._sheetSkeletonManagerService.setCurrent({unitId:d,sheetId:c,commandId:e.id})}else S.COMMAND_LISTENER_VALUE_CHANGE.includes(e.id)&&this._sheetSkeletonManagerService.reCalculate();e.type===l.CommandType.MUTATION&&((s=(r=this._renderManagerService.getRenderById(i))==null?void 0:r.mainComponent)==null||s.makeDirty())}))}_initContextListener(){this._contextService.subscribeContextValue$(E.RENDER_RAW_FORMULA_KEY).pipe(U.distinctUntilChanged(),U.takeUntil(this.dispose$)).subscribe(()=>{this._renderManagerService.getRenderAll().forEach(e=>{e.mainComponent instanceof E.Spreadsheet&&e.mainComponent.makeForceDirty(!0)})})}};exports.SheetRenderController=xl([l.OnLifecycle(l.LifecycleStages.Ready,exports.SheetRenderController),kt(0,D.Inject(exports.SheetSkeletonManagerService)),kt(1,l.IContextService),kt(2,l.IUniverInstanceService),kt(3,E.IRenderManagerService),kt(4,l.ICommandService)],exports.SheetRenderController);const Kn={id:"sheet.command.change-zoom-ratio",type:l.CommandType.COMMAND,handler:async(o,t)=>{if(!t)return!1;const e=o.get(l.IUniverInstanceService),n=S.getSheetCommandTarget(e);if(!n)return!1;const{worksheet:i,subUnitId:r,unitId:s}=n,{delta:a,reset:c}=t;let u=c?100:Math.round((i.getConfig().zoomRatio+a)*100);u=Math.max(Eo[0],u),u=Math.min(Eo[1],u);const d=u/100;return o.get(l.ICommandService).executeCommand(Fe.id,{unitId:s,subUnitId:r,zoomRatio:d})}},qn={id:"sheet.command.set-zoom-ratio",type:l.CommandType.COMMAND,handler:async(o,t)=>{if(!t)return!1;const{unitId:e,subUnitId:n,zoomRatio:i}=t;return o.get(l.ICommandService).executeCommand(Fe.id,{unitId:e,subUnitId:n,zoomRatio:i})}};var Nl=Object.defineProperty,Al=Object.getOwnPropertyDescriptor,Dl=(o,t,e,n)=>{for(var i=n>1?void 0:n?Al(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Nl(t,e,i),i},Bi=(o,t)=>(e,n)=>t(e,n,o);let Fn=class extends l.Disposable{constructor(o,t,e){super(),this._context=o,this._sheetSkeletonManagerService=t,this._commandService=e,this._skeletonListener(),this._zoomEventBinding()}updateZoom(o,t){const e=this._context.unit.getSheetBySheetId(o);return e?(e.getConfig().zoomRatio=t,e===this._context.unit.getActiveSheet()&&this._updateViewZoom(t),!0):!1}_zoomEventBinding(){var t;const o=(t=this._getSheetObject())==null?void 0:t.scene;o!=null&&this.disposeWithMe(o.onMouseWheelObserver.add(e=>{if(!e.ctrlKey)return;const n=Math.abs(e.deltaX);let i=n<40?.2:n<80?.4:.2;i*=e.deltaY>0?-1:1,o.scaleX<1&&(i/=2);const r=this._context.unit,s=r.getActiveSheet(),a=s.getZoomRatio();let c=+Number.parseFloat(`${a+i}`).toFixed(1);c=c>=4?4:c<=.1?.1:c,this._commandService.executeCommand(qn.id,{zoomRatio:Math.round(c*10)/10,unitId:r.getUnitId(),subUnitId:s.getSheetId()}),e.preventDefault()}))}_skeletonListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeletonBefore$.subscribe(o=>{if(o==null)return;const n=this._context.unit.getActiveSheet().getZoomRatio()||1;this._updateViewZoom(n)}))}_updateViewZoom(o){const t=this._getSheetObject();t==null||t.scene.scale(o,o),t==null||t.spreadsheet.makeForceDirty()}_getSheetObject(){return it(this._context.unit,this._context)}};Fn=Dl([Bi(1,D.Inject(exports.SheetSkeletonManagerService)),Bi(2,l.ICommandService)],Fn);const Fe={id:"sheet.operation.set-zoom-ratio",type:l.CommandType.OPERATION,handler:(o,t)=>{const n=o.get(E.IRenderManagerService).getRenderById(t.unitId);return n?n.with(Fn).updateZoom(t.subUnitId,t.zoomRatio):!1}};var Pl=Object.defineProperty,Hl=Object.getOwnPropertyDescriptor,Ll=(o,t,e,n)=>{for(var i=n>1?void 0:n?Hl(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Pl(t,e,i),i},qe=(o,t)=>(e,n)=>t(e,n,o);exports.AutoFillController=class extends l.Disposable{constructor(e,n,i,r,s,a,c,u){super();R(this,"_beforeApplyData",[]);R(this,"_currentLocation",null);R(this,"_copyData",[]);R(this,"_defaultHook");this._univerInstanceService=e,this._selectionRenderService=n,this._commandService=i,this._autoFillService=r,this._editorBridgeService=s,this._sheetInterceptorService=a,this._selectionManagerService=c,this._injector=u,this._defaultHook={id:"default",type:vt.Default,priority:0,onBeforeFillData:(d,h)=>{this._presetAndCacheData(d,h)},onFillData:(d,h,m)=>this._fillData(d,h,m)},this._init()}_init(){this._initDefaultHook(),this._onSelectionControlFillChanged(),this._onApplyTypeChanged(),this._initQuitListener()}_initDefaultHook(){this.disposeWithMe(this._autoFillService.addHook(this._defaultHook))}_initQuitListener(){const e=[Te.id,Mn.id,Fe.id,S.SetWorksheetActiveOperation.id,S.SetRangeValuesMutation.id,S.MoveRangeMutation.id,S.RemoveRowMutation.id,S.RemoveColMutation.id,S.InsertRowMutation.id,S.InsertColMutation.id,S.MoveRowsMutation.id,S.MoveColsMutation.id,S.SetWorksheetColWidthMutation.id,S.SetWorksheetRowHeightMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted((n,i)=>{var s,a;const r=i==null?void 0:i.fromCollab;e.includes(n.id)&&!r&&n.params.trigger!==Vn.id&&this._quit(),n.id===S.RemoveSheetMutation.id&&n.params.unitId===((s=this._currentLocation)==null?void 0:s.unitId)&&n.params.subUnitId===((a=this._currentLocation)==null?void 0:a.subUnitId)&&this._quit()})),this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(n=>{var i;n.getUnitId()===((i=this._currentLocation)==null?void 0:i.unitId)&&this._quit()}))}_quit(){this._currentLocation=null,this._beforeApplyData=[],this._copyData=[],this._autoFillService.setShowMenu(!1)}_onSelectionControlFillChanged(){const e=new l.DisposableCollection,n=i=>{const r=this._selectionManagerService.getCurrent();if((r==null?void 0:r.pluginName)!==S.NORMAL_SELECTION_PLUGIN_NAME)return;i.dispose(),this._selectionRenderService.getCurrentControls().forEach(a=>{i.add(l.toDisposable(a.selectionFilled$.subscribe(c=>{if(c==null||c.startColumn===-1||c.startRow===-1||c.endColumn===-1||c.endRow===-1)return;const u={startColumn:a.model.startColumn,endColumn:a.model.endColumn,startRow:a.model.startRow,endRow:a.model.endRow},d={startColumn:c.startColumn,endColumn:c.endColumn,startRow:c.startRow,endRow:c.endRow};this._triggerAutoFill(u,d)}))),i.add(l.toDisposable(a.fillControl.onDblclickObserver.add(()=>{const c={startColumn:a.model.startColumn,endColumn:a.model.endColumn,startRow:a.model.startRow,endRow:a.model.endRow};this._handleDbClickFill(c)}))),i.add(l.toDisposable(a.fillControl.onPointerDownObserver.add(()=>{this._editorBridgeService.isVisible().visible&&this._editorBridgeService.changeVisible({visible:!1,eventType:E.DeviceInputEventType.PointerDown})})))})};n(e),this.disposeWithMe(this._commandService.onCommandExecuted(i=>{i.id===S.SetSelectionsOperation.id&&n(e)}))}_onApplyTypeChanged(){this.disposeWithMe(l.toDisposable(this._autoFillService.applyType$.subscribe(()=>{this._handleFillData()})))}_triggerAutoFill(e,n){var g;if(e.startColumn===n.startColumn&&e.startRow===n.startRow&&e.endColumn===n.endColumn&&e.endRow===n.endRow)return;if(n.endColumn<e.endColumn&&n.endColumn>e.startColumn){this._commandService.executeCommand(Mn.id,{clearRange:{startRow:n.startRow,endRow:n.endRow,startColumn:n.endColumn+1,endColumn:e.endColumn},selectionRange:n});return}if(n.endRow<e.endRow&&n.endRow>e.startRow){this._commandService.executeCommand(Mn.id,{clearRange:{startRow:n.endRow+1,endRow:e.endRow,startColumn:n.startColumn,endColumn:n.endColumn},selectionRange:n});return}const i={startRow:n.startRow,endRow:n.endRow,startColumn:n.startColumn,endColumn:n.endColumn};let r=null;if(n.startRow<e.startRow)r=l.Direction.UP,i.endRow=e.startRow-1;else if(n.endRow>e.endRow)r=l.Direction.DOWN,i.startRow=e.endRow+1;else if(n.startColumn<e.startColumn)r=l.Direction.LEFT,i.endColumn=e.startColumn-1;else if(n.endColumn>e.endColumn)r=l.Direction.RIGHT,i.startColumn=e.endColumn+1;else return;const s=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!s)return;const a=s.getUnitId(),c=s.getActiveSheet().getSheetId();this._autoFillService.direction=r;const u={get:this._injector.get.bind(this._injector)},d=Rt(e,u),h=Rt(i,u);if(!d||!h)return;this._autoFillService.autoFillLocation={source:d,target:h,unitId:a,subUnitId:c},this._autoFillService.getActiveHooks().forEach(f=>{var _;(_=f==null?void 0:f.onBeforeFillData)==null||_.call(f,{source:d,target:h,unitId:a,subUnitId:c},r)}),(g=this._autoFillService.menu.find(f=>f.value===oe.SERIES))!=null&&g.disable?this._autoFillService.applyType=oe.COPY:this._autoFillService.applyType=oe.SERIES}_handleDbClickFill(e){const n=this._detectFillRange(e);n.endRow<=e.endRow||this._triggerAutoFill(e,n)}_detectFillRange(e){var m,g,f,_,p,v;const{startRow:n,endRow:i,startColumn:r,endColumn:s}=e,a=(m=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET))==null?void 0:m.getActiveSheet();if(!a)return e;const c=a.getCellMatrix(),u=a.getMaxRows()-1,d=a.getMaxColumns()-1;let h=i;if(r>0&&((g=c.getValue(n,r-1))==null?void 0:g.v)!=null){let M=n;for(;((f=c.getValue(M,r-1))==null?void 0:f.v)!=null&&M<u;)M+=1;h=M-1}else if(s<d&&((_=c.getValue(i,s+1))==null?void 0:_.v)!=null){let M=n;for(;((p=c.getValue(M,s+1))==null?void 0:p.v)!=null&&M<u;)M+=1;h=M-1}for(let M=i+1;M<=h;M++)for(let b=r;b<=s;b++)if(((v=c.getValue(M,b))==null?void 0:v.v)!=null){h=M-1;break}return{startColumn:r,endColumn:s,startRow:n,endRow:h}}_handleFillData(){var e,n;this._currentLocation&&this._commandService.executeCommand(Vn.id,{unitId:(e=this._currentLocation)==null?void 0:e.unitId,subUnitId:(n=this._currentLocation)==null?void 0:n.subUnitId})}_getApplyData(e,n,i,r,s,a=!0){const c=[],u=Math.floor(i/n),d=i%n,h=this._autoFillService.getRules();if(!a&&s===oe.ONLY_FORMAT)return console.error("ERROR: only format can not be applied when hasStyle is false"),[];const m={};h.forEach(g=>{m[g.type]=[]}),h.forEach(g=>{const{type:f,applyFunctions:_={}}=g,p=e[f];p&&p.forEach(v=>{const M=$s(v.index,d),b=v.index.length*u+M,T=this._applyFunctions(v,b,r,s,_,e),w=zs(n,i,v.index);m[f].push({data:T,index:w})})});for(let g=0;g<i;g++)h.forEach(f=>{const{type:_}=f,p=m[_];for(let v=0;v<p.length;v++)g in p[v].index&&c.push(p[v].data[p[v].index[g]])});return c}_applyFunctions(e,n,i,r,s,a){const{data:c}=e,u=i===l.Direction.UP||i===l.Direction.LEFT;if(r===oe.COPY){const d=s==null?void 0:s[oe.COPY];return d?d(e,n,i,a):(u&&c.reverse(),ht(c,n))}if(r===oe.SERIES){const d=s==null?void 0:s[oe.SERIES];return d?d(e,n,i,a):(u&&c.reverse(),s!=null&&s[oe.COPY]?s[oe.COPY](e,n,i,a):ht(c,n))}if(r===oe.ONLY_FORMAT){const d=s==null?void 0:s[oe.ONLY_FORMAT];return d?d(e,n,i,a):Ys(c,n)}}_getCopyData(e,n){const i=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getActiveSheet().getCellMatrix(),r=this._autoFillService.getRules(),s=[],a=n===l.Direction.DOWN||n===l.Direction.UP;let c,u;return a?(c=e.cols,u=e.rows):(c=e.rows,u=e.cols),c.forEach(d=>{const h=this._getEmptyCopyDataPiece(),m={type:void 0,cellData:void 0};u.forEach(g=>{let f;a?f=i.getValue(g,d):f=i.getValue(d,g);const{type:_,isContinue:p}=r.find(v=>v.match(f))||fr;if(p(m,f)){const v=h[_],M=v[v.length-1];M.data.push(f),M.index.push(g-u[0])}else{const v=h[_];v?v.push({data:[f],index:[g-u[0]]}):h[_]=[{data:[f],index:[g-u[0]]}]}m.type=_,m.cellData=f}),s.push(h)}),s}_getEmptyCopyDataPiece(){const e={};return this._autoFillService.getRules().forEach(n=>{e[n.type]=[]}),e}_getMergeApplyData(e,n,i,r){const s=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getActiveSheet().getMergeData(),a=[];for(let c=e.startRow;c<=e.endRow;c++)for(let u=e.startColumn;u<=e.endColumn;u++){const{isMergedMainCell:d,startRow:h,startColumn:m,endRow:g,endColumn:f}=E.getCellInfoInMergeData(c,u,s);if(d){if(i===l.Direction.DOWN){let _=h+r,p=g+r;for(;p<=n.endRow;)a.push({startRow:_,startColumn:m,endRow:p,endColumn:f}),_+=r,p+=r}else if(i===l.Direction.UP){let _=h-r,p=g-r;for(;_>=n.startRow;)a.push({startRow:_,startColumn:m,endRow:p,endColumn:f}),_-=r,p-=r}else if(i===l.Direction.RIGHT){let _=m+r,p=f+r;for(;p<=n.endColumn;)a.push({startRow:h,startColumn:_,endRow:g,endColumn:p}),_+=r,p+=r}else if(i===l.Direction.LEFT){let _=m-r,p=f-r;for(;_>=n.startColumn;)a.push({startRow:h,startColumn:_,endRow:g,endColumn:p}),_-=r,p-=r}}}return a}_presetAndCacheData(e,n){const{source:i,target:r}=e,s=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getActiveSheet().getCellMatrix(),a=[];r.rows.forEach(c=>{const u=[];r.cols.forEach(d=>{u.push(l.Tools.deepClone(s.getValue(c,d)))}),a.push(u)}),this._beforeApplyData=a,this._copyData=this._getCopyData(i,n),this._currentLocation=e,this._hasSeries(this._copyData)?this._autoFillService.setDisableApplyType(oe.SERIES,!1):this._autoFillService.setDisableApplyType(oe.SERIES,!0)}_fillData(e,n,i){var $,Q;const r=[],s=[];let a=!0;i===oe.NO_FORMAT&&(a=!1,i=oe.SERIES);const{source:c,target:u,unitId:d,subUnitId:h}=e;if(!c||!u||n==null)return{undos:r,redos:s};const m=mt(c),g=mt(u),{cols:f,rows:_}=u,{cols:p,rows:v}=c,M=this._copyData;let b;n===l.Direction.DOWN||n===l.Direction.UP?b=v.length:b=p.length;const T=[];if(n===l.Direction.DOWN||n===l.Direction.UP){const P=_.length,H=[];f.forEach((k,Y)=>{const X=M[Y],J=this._getApplyData(X,b,P,n,i,a);H.push(J)});for(let k=0;k<H[0].length;k++){const Y=[];for(let X=0;X<H.length;X++)Y.push({s:null,...H[X][k]});T.push(Y)}}else{const P=f.length;_.forEach((H,k)=>{const Y=M[k],X=this._getApplyData(Y,b,P,n,i,a),J=[];for(let ee=0;ee<X.length;ee++)J.push({s:null,...X[ee]});T.push(J)})}let w=[];const y=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getStyles();a?(w=this._getMergeApplyData(m,g,n,b),T.forEach(P=>{P.forEach(H=>{H&&y&&y&&(H.s=y.getStyleByCell(H))})})):T.forEach((P,H)=>{P.forEach((k,Y)=>{k&&y&&(k.s=y.getStyleByCell(this._beforeApplyData[H][Y])||null)})}),i===oe.ONLY_FORMAT&&T.forEach((P,H)=>{P.forEach((k,Y)=>{if(k){const X=this._beforeApplyData[H][Y]||{};k.f=X.f,k.si=X.si,k.t=X.t,k.v=X.v}})});const O={get:this._injector.get.bind(this._injector)},x=[],A=(Q=($=this._univerInstanceService.getUniverSheetInstance(d))==null?void 0:$.getSheetBySheetId(h))==null?void 0:Q.getMergeData();A&&A.forEach(P=>{l.Rectangle.intersects(P,g)&&x.push(P)});const F={unitId:d,subUnitId:h,ranges:x},N=S.RemoveMergeUndoMutationFactory(O,F);s.push({id:S.RemoveWorksheetMergeMutation.id,params:F}),r.push({id:S.AddWorksheetMergeMutation.id,params:N});const L={subUnitId:h,unitId:d,cellValue:Js([u])},B=S.SetRangeValuesUndoMutationFactory(O,L),j=this._sheetInterceptorService.onCommandExecute({id:S.ClearSelectionContentCommand.id});s.push({id:S.SetRangeValuesMutation.id,params:L},...j.redos),r.push(...j.undos,{id:S.SetRangeValuesMutation.id,params:B});const z=new l.ObjectMatrix;_.forEach((P,H)=>{f.forEach((k,Y)=>{T[H][Y]&&z.setValue(P,k,T[H][Y])})});const q={subUnitId:h,unitId:d,cellValue:z.getMatrix()},K=S.SetRangeValuesUndoMutationFactory(O,q);if(r.push({id:S.SetRangeValuesMutation.id,params:K}),s.push({id:S.SetRangeValuesMutation.id,params:q}),w!=null&&w.length){const P=S.getAddMergeMutationRangeByType(w),H={unitId:d,subUnitId:h,ranges:P},k=S.AddMergeUndoMutationFactory(O,H);r.push({id:S.RemoveWorksheetMergeMutation.id,params:k}),s.push({id:S.AddWorksheetMergeMutation.id,params:H})}return{undos:r,redos:s}}_hasSeries(e){return e.some(n=>Object.keys(n).some(r=>{var s;return!!((s=n[r])!=null&&s.length&&![ue.OTHER,ue.FORMULA].includes(r))}))}};exports.AutoFillController=Ll([l.OnLifecycle(l.LifecycleStages.Steady,exports.AutoFillController),qe(0,l.IUniverInstanceService),qe(1,Ne),qe(2,l.ICommandService),qe(3,yt),qe(4,Ee),qe(5,D.Inject(S.SheetInterceptorService)),qe(6,D.Inject(S.SelectionManagerService)),qe(7,D.Inject(D.Injector))],exports.AutoFillController);var Ul=Object.defineProperty,Vl=Object.getOwnPropertyDescriptor,Bl=(o,t,e,n)=>{for(var i=n>1?void 0:n?Vl(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Ul(t,e,i),i},uo=(o,t)=>(e,n)=>t(e,n,o);exports.CellCustomRenderController=class extends l.Disposable{constructor(e,n,i,r){super();R(this,"_enterActiveRender");this._context=e,this._sheetSkeletonManagerService=n,this._renderManagerService=i,this._univerInstanceService=r,this._initEventBinding()}_initEventBinding(){const e=new l.DisposableCollection,n=this._context.unit,i=r=>{if(e.dispose(),!r)return;const{unitId:s,skeleton:a}=r,c=this._renderManagerService.getRenderById(s);if(c&&c.mainComponent){const u=c.mainComponent,d=g=>{const{offsetX:f,offsetY:_}=g,p=c.scene,v=n.getActiveSheet(),M=p.getActiveViewportByCoord(E.Vector2.FromArray([f,_]));if(!M)return;const{scaleX:b,scaleY:T}=p.getAncestorScale(),w={x:M.actualScrollX,y:M.actualScrollY},y=a.getCellPositionByOffset(f,_,b,T,w),O=a.mergeData.find($=>{const{startColumn:Q,startRow:P,endColumn:H,endRow:k}=$;return y.row>=P&&y.column>=Q&&y.row<=k&&y.column<=H}),x={actualRow:O?O.startRow:y.row,actualCol:O?O.startColumn:y.column,mergeCell:O,row:y.row,col:y.column};if(!x||!a)return;const A=v.getCell(x.actualRow,x.actualCol);if(!A)return;const F=A.customRender;if(!(F!=null&&F.length))return;const N=x.actualRow,L=x.actualCol,B=F.sort(l.sortRules),j=n.getActiveSheet().getSheetId(),z={data:A,style:a.getsStyles().getStyleByCell(A),primaryWithCoord:a.getCellByIndex(x.actualRow,x.actualCol),unitId:s,subUnitId:j,row:N,col:L},q={x:w.x+f/b,y:w.y+_/T},K=B.find($=>{var Q;return(Q=$.isHit)==null?void 0:Q.call($,q,z)});if(K)return[K,z]},h=u.onPointerDownObserver.add(g=>{var _;const f=d(g);if(f){const[p,v]=f;(_=p.onPointerDown)==null||_.call(p,v,g)}}),m=u.onPointerMoveObserver.add(g=>{var _,p,v,M;const f=d(g);if(f){const[b,T]=f;this._enterActiveRender?this._enterActiveRender.render!==b&&((p=(_=this._enterActiveRender.render).onPointerLeave)==null||p.call(_,this._enterActiveRender.cellContext,g),this._enterActiveRender={render:b,cellContext:T},(v=b.onPointerEnter)==null||v.call(b,T,g)):(this._enterActiveRender={render:b,cellContext:T},(M=b.onPointerEnter)==null||M.call(b,T,g))}});h&&e.add(h),m&&e.add(m)}};this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(i)),i(this._sheetSkeletonManagerService.getCurrent()),this.disposeWithMe(e)}};exports.CellCustomRenderController=Bl([l.OnLifecycle(l.LifecycleStages.Rendered,exports.CellCustomRenderController),uo(1,D.Inject(exports.SheetSkeletonManagerService)),uo(2,E.IRenderManagerService),uo(3,l.IUniverInstanceService)],exports.CellCustomRenderController);const Ar={id:"sheet.command.hide-row-confirm",type:l.CommandType.COMMAND,handler:async o=>{var c;const e=(c=o.get(S.SelectionManagerService).getSelections())==null?void 0:c.map(u=>u.range);if(!(e!=null&&e.length))return!1;const n=o.get(l.ICommandService),i=o.get(l.IUniverInstanceService),r=S.getSheetCommandTarget(i);if(!r)return!1;const{worksheet:s}=r,a=s.getVisibleRows();if(yr(a,e)){const u=o.get(I.IConfirmService),d=o.get(l.LocaleService);return await u.confirm({id:"sheet.confirm.hide-row",title:{title:d.t("info.problem")},children:{title:d.t("rightClick.hideAllRowsAlert")},cancelText:d.t("button.cancel"),confirmText:d.t("button.confirm")}),!1}return await n.executeCommand(S.SetRowHiddenCommand.id),!0}},Dr={id:"sheet.command.hide-col-confirm",type:l.CommandType.COMMAND,handler:async o=>{var c;const e=(c=o.get(S.SelectionManagerService).getSelections())==null?void 0:c.map(u=>u.range);if(!(e!=null&&e.length))return!1;const n=o.get(l.ICommandService),i=o.get(l.IUniverInstanceService),r=S.getSheetCommandTarget(i);if(!r)return!1;const{worksheet:s}=r,a=s.getVisibleCols();if(Or(a,e)){const u=o.get(I.IConfirmService),d=o.get(l.LocaleService);return await u.confirm({id:"sheet.confirm.hide-col",title:{title:d.t("info.problem")},children:{title:d.t("rightClick.hideAllColumnsAlert")},cancelText:d.t("button.cancel"),confirmText:d.t("button.confirm")}),!1}return await n.executeCommand(S.SetColHiddenCommand.id),!0}},ni={type:l.CommandType.COMMAND,id:"sheet.command.set-range-bold",handler:async o=>{const t=o.get(l.ICommandService);return o.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?t.executeCommand(te.SetInlineFormatBoldCommand.id):t.executeCommand(S.SetBoldCommand.id)}},oi={type:l.CommandType.COMMAND,id:"sheet.command.set-range-italic",handler:async o=>{const t=o.get(l.ICommandService);return o.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?t.executeCommand(te.SetInlineFormatItalicCommand.id):t.executeCommand(S.SetItalicCommand.id)}},ii={type:l.CommandType.COMMAND,id:"sheet.command.set-range-underline",handler:async o=>{const t=o.get(l.ICommandService);return o.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?t.executeCommand(te.SetInlineFormatUnderlineCommand.id):t.executeCommand(S.SetUnderlineCommand.id)}},ri={type:l.CommandType.COMMAND,id:"sheet.command.set-range-stroke",handler:async o=>{const t=o.get(l.ICommandService);return o.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?t.executeCommand(te.SetInlineFormatStrikethroughCommand.id):t.executeCommand(S.SetStrikeThroughCommand.id)}},Fl={type:l.CommandType.COMMAND,id:"sheet.command.set-range-subscript",handler:async o=>{const t=o.get(l.ICommandService);return o.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?t.executeCommand(te.SetInlineFormatSubscriptCommand.id):!1}},kl={type:l.CommandType.COMMAND,id:"sheet.command.set-range-superscript",handler:async o=>{const t=o.get(l.ICommandService);return o.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?t.executeCommand(te.SetInlineFormatSuperscriptCommand.id):!1}},Pr={type:l.CommandType.COMMAND,id:"sheet.command.set-range-fontsize",handler:async(o,t)=>{const e=o.get(l.ICommandService);return o.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?e.executeCommand(te.SetInlineFormatFontSizeCommand.id,t):e.executeCommand(S.SetFontSizeCommand.id,t)}},Hr={type:l.CommandType.COMMAND,id:"sheet.command.set-range-font-family",handler:async(o,t)=>{const e=o.get(l.ICommandService);return o.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?e.executeCommand(te.SetInlineFormatFontFamilyCommand.id,t):e.executeCommand(S.SetFontFamilyCommand.id,t)}},kn={type:l.CommandType.COMMAND,id:"sheet.command.set-range-text-color",handler:async(o,t)=>{const e=o.get(l.ICommandService);return o.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?e.executeCommand(te.SetInlineFormatTextColorCommand.id,t):e.executeCommand(S.SetTextColorCommand.id,t)}};function Lr(o,t){return t.some(e=>Wl(o,e))}function Wl(o,t){const{startRow:e,startColumn:n,endColumn:i,endRow:r}=t,s=o.getMatrixWithMergedCells(e,n,r,i);let a=!1;return s.forValue((c,u,d)=>{if(d&&(c!==e||u!==n)&&o.cellHasValue(d))return a=!0,!1}),a}function Ur(o,t,e,n){const i=[],r=[],s=e.getSheetId();return n.forEach(a=>{const c=jl(e,a),u={unitId:t,subUnitId:s,cellValue:c.getData()},d=S.SetRangeValuesUndoMutationFactory(o,u);i.push({id:S.SetRangeValuesMutation.id,params:d}),r.push({id:S.SetRangeValuesMutation.id,params:u})}),{undos:i,redos:r}}function jl(o,t){const{startRow:e,startColumn:n,endColumn:i,endRow:r}=t,s=o.getMatrixWithMergedCells(e,n,r,i),a=new l.ObjectMatrix;return s.forValue((c,u,d)=>{d&&(c!==e||u!==n)&&a.setValue(c,u,null)}),a}function $l(o,t,e,n){const i=e.getActiveViewportByCoord(E.Vector2.FromArray([o,t]));if(!i)return;const{scaleX:r,scaleY:s}=e.getAncestorScale(),a={x:i.actualScrollX,y:i.actualScrollY},c=n.getCellPositionByOffset(o,t,r,s,a),u=n.mergeData.find(h=>{const{startColumn:m,startRow:g,endColumn:f,endRow:_}=h;return c.row>=g&&c.column>=m&&c.row<=_&&c.column<=f});return{actualRow:u?u.startRow:c.row,actualCol:u?u.startColumn:c.column,mergeCell:u,row:c.row,col:c.column}}function zl(o,t,e,n){const i=n.getFreeze();if(!i||i.startRow<=0&&i.startColumn<=0||o>i.startRow&&t>i.startColumn)return e.getViewport(W.VIEW_MAIN);if(o<=i.startRow&&t<=i.startColumn)return e.getViewport(W.VIEW_MAIN_LEFT_TOP);if(o<=i.startRow&&t>i.startColumn)return e.getViewport(W.VIEW_MAIN_TOP);if(o>i.startRow&&t<=i.startColumn)return e.getViewport(W.VIEW_MAIN_LEFT)}function Yl(o,t,e,n){const i=Fi(o.left,o.top,t,e,n),r=Fi(o.right,o.bottom,t,e,n);return{left:i.x,top:i.y,right:r.x,bottom:r.y}}function Fi(o,t,e,n,i){const{scaleX:r,scaleY:s}=e.getAncestorScale(),a=e.getViewport(W.VIEW_MAIN);if(!a)return{x:o,y:t};const c=i.getFreeze(),{startColumn:u,startRow:d,xSplit:h,ySplit:m}=c,g=n.getNoMergeCellPositionByIndexWithNoHeader(d-m,u-h),f=n.getNoMergeCellPositionByIndexWithNoHeader(d,u),{rowHeaderWidth:_,columnHeaderHeight:p}=n,v=f.startX-g.startX,M=f.startY-g.startY,{top:b,left:T,actualScrollX:w,actualScrollY:y}=a;let O;o>T?O=(o-w)*r:O=(v+_-(T-o))*r;let x;return t>b?x=(t-y)*s:x=(M+p-(b-t))*r,{x:O,y:x}}function Vr(o,t,e,n,i,r){const{scene:s}=o,{skeleton:a,sheetId:c,unitId:u}=n,d=$l(i,r,s,a);if(!d)return null;const{row:h,col:m,mergeCell:g,actualCol:f,actualRow:_}=d,p={unitId:u,subUnitId:c,workbook:t,worksheet:e,row:_,col:f};let v;g?v=g:v={startRow:h,endRow:h,startColumn:m,endColumn:m};const M=s.getActiveViewportByCoord(E.Vector2.FromArray([i,r]));if(!M)return;const{scaleX:b,scaleY:T}=s.getAncestorScale(),w={x:M.actualScrollX,y:M.actualScrollY};return{position:{startX:(a.getOffsetByPositionX(v.startColumn-1)-w.x)*b,endX:(a.getOffsetByPositionX(v.endColumn)-w.x)*b,startY:(a.getOffsetByPositionY(v.startRow-1)-w.y)*T,endY:(a.getOffsetByPositionY(v.endRow)-w.y)*T},location:p}}var Xl=Object.defineProperty,Gl=Object.getOwnPropertyDescriptor,Zl=(o,t,e,n)=>{for(var i=n>1?void 0:n?Gl(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Xl(t,e,i),i},ho=(o,t)=>(e,n)=>t(e,n,o),xe=(o=>(o[o.OFF=0]="OFF",o[o.ONCE=1]="ONCE",o[o.INFINITE=2]="INFINITE",o))(xe||{});const ft=D.createIdentifier("univer.format-painter-service");let Ao=class extends l.Disposable{constructor(t,e,n){super();R(this,"status$");R(this,"_selectionFormat");R(this,"_markId",null);R(this,"_status$");this._selectionManagerService=t,this._univerInstanceService=e,this._markSelectionService=n,this._status$=new U.BehaviorSubject(0),this.status$=this._status$.asObservable(),this._selectionFormat={styles:new l.ObjectMatrix,merges:[]}}setStatus(t){t!==0&&this._getSelectionRangeFormat(),this._updateRangeMark(t),this._status$.next(t)}getStatus(){return this._status$.getValue()}_updateRangeMark(t){if(this._markSelectionService.removeAllShapes(),this._markId=null,t!==0){const e=this._selectionManagerService.getLast();if(e){const n=this._selectionManagerService.createCopyPasteSelection();t===2?this._markId=this._markSelectionService.addShape({...e,style:n}):this._markId=this._markSelectionService.addShape({...e,style:n},[S.SetRangeValuesMutation.id])}}}_getSelectionRangeFormat(){const t=this._selectionManagerService.getLast(),e=t==null?void 0:t.range;if(!e)return;const{startRow:n,endRow:i,startColumn:r,endColumn:s}=e,a=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),u=(a==null?void 0:a.getActiveSheet()).getCellMatrix(),d=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getActiveSheet().getMergeData(),h=a.getStyles(),m=new l.ObjectMatrix;this._selectionFormat.merges=[];for(let g=n;g<=i;g++)for(let f=r;f<=s;f++){const _=u.getValue(g,f);m.setValue(g,f,h.getStyleByCell(_)||{});const{isMergedMainCell:p,...v}=E.getCellInfoInMergeData(g,f,d);p&&this._selectionFormat.merges.push({startRow:v.startRow,startColumn:v.startColumn,endRow:v.endRow,endColumn:v.endColumn})}this._selectionFormat.styles=m}getSelectionFormat(){return this._selectionFormat}};Ao=Zl([ho(0,D.Inject(S.SelectionManagerService)),ho(1,l.IUniverInstanceService),ho(2,nn)],Ao);const si={id:"sheet.operation.set-format-painter",type:l.CommandType.OPERATION,handler:(o,t)=>t?(o.get(ft).setStatus(t.status),!0):!1},Br={type:l.CommandType.COMMAND,id:"sheet.command.set-infinite-format-painter",handler:async o=>{const e=o.get(ft).getStatus();let n;return e!==xe.OFF?n=xe.OFF:n=xe.INFINITE,o.get(l.ICommandService).executeCommand(si.id,{status:n})}},ai={type:l.CommandType.COMMAND,id:"sheet.command.set-once-format-painter",handler:async o=>{const e=o.get(ft).getStatus();let n;return e!==xe.OFF?n=xe.OFF:n=xe.ONCE,o.get(l.ICommandService).executeCommand(si.id,{status:n})}},Fr={type:l.CommandType.COMMAND,id:"sheet.command.apply-format-painter",handler:async(o,t)=>{const e=o.get(l.ICommandService),n=o.get(l.IUndoRedoService),i=o.get(l.IUniverInstanceService),r=o.get(S.SelectionManagerService),s=o.get(S.SheetInterceptorService),a=S.getSheetCommandTarget(i,t);if(!a)return!1;const{worksheet:c,unitId:u,subUnitId:d}=a,h=o.get(S.SheetPermissionService),{styleValues:m,styleRange:g,mergeRanges:f}=t;if(!h.getSheetEditable(u,d))return!1;const _=g?[g]:r.getSelectionRanges();if(!_||!_.length)return!1;const p=new l.ObjectMatrix;let v;if(l.Tools.isArray(m))for(let q=0;q<_.length;q++){const{startRow:K,startColumn:$,endRow:Q,endColumn:P}=_[q];for(let H=0;H<=Q-K;H++)for(let k=0;k<=P-$;k++)p.setValue(H+K,k+$,m[H][k])}else if(l.isICellData(m))for(let q=0;q<_.length;q++){const{startRow:K,startColumn:$}=_[q];p.setValue(K,$,m)}else v=m;const M={subUnitId:d,unitId:u,cellValue:v!=null?v:p.getMatrix()},b=S.SetRangeValuesUndoMutationFactory(o,M),T=e.syncExecuteCommand(S.SetRangeValuesMutation.id,M),{undos:w,redos:y}=s.onCommandExecute({id:S.SetRangeValuesCommand.id,params:{...M,range:_}}),O=S.getAddMergeMutationRangeByType(f),x=[],A=[],F=Lr(c,O),N={unitId:u,subUnitId:d,ranges:O},L={unitId:u,subUnitId:d,ranges:O};x.push({id:S.RemoveWorksheetMergeMutation.id,params:N}),x.push({id:S.AddWorksheetMergeMutation.id,params:L});const B=S.RemoveMergeUndoMutationFactory(o,N),j=S.AddMergeUndoMutationFactory(o,L);if(A.push({id:S.RemoveWorksheetMergeMutation.id,params:j}),A.push({id:S.AddWorksheetMergeMutation.id,params:B}),F){const q=Ur(o,u,c,O);x.unshift(...q.redos),A.push(...q.undos)}const z=await l.sequenceExecute([...y,...x],e);return T&&z.result?(n.pushUndoRedo({unitID:u,undoMutations:[{id:S.SetRangeValuesMutation.id,params:b},...w,...A],redoMutations:[{id:S.SetRangeValuesMutation.id,params:M},...y,...x]}),!0):!1}},Qn={type:l.CommandType.COMMAND,id:"sheet.command.set-selection-frozen",handler:async(o,t)=>{const{type:e}=t||{},n=o.get(l.IUniverInstanceService),i=o.get(l.IUndoRedoService),r=S.getSheetCommandTarget(n);if(!r)return!1;const{unitId:s,subUnitId:a}=r,c=o.get(l.ICommandService),d=o.get(S.SelectionManagerService).getSelections();if(!d)return!1;const h=d[(d==null?void 0:d.length)-1],{range:m}=h,g=o.get(Ze),{sheetViewStartRow:f=0,sheetViewStartColumn:_=0}=g.getCurrentScroll()||{};let p,v,M,b;const{startRow:T,startColumn:w,rangeType:y}=m;if(y===l.RANGE_TYPE.ROW||e===1)p=T,M=T-f,v=-1,b=0;else if(y===l.RANGE_TYPE.COLUMN||e===2)p=-1,M=0,v=w,b=w-_;else if(y===l.RANGE_TYPE.NORMAL)p=T,M=T-f,v=w,b=w-_;else return!1;const O={unitId:s,subUnitId:a,startRow:p,startColumn:v,xSplit:v>0?Math.max(1,b):b,ySplit:p>0?Math.max(1,M):M},x=S.SetFrozenMutationFactory(o,O);return c.syncExecuteCommand(S.SetFrozenMutation.id,O)&&i.pushUndoRedo({unitID:s,undoMutations:[{id:S.SetFrozenMutation.id,params:x}],redoMutations:[{id:S.SetFrozenMutation.id,params:O}]}),!0}},kr={type:l.CommandType.COMMAND,id:"sheet.command.set-row-frozen",handler:async o=>(o.get(l.ICommandService).executeCommand(Qn.id,{type:1}),!0)},Wr={type:l.CommandType.COMMAND,id:"sheet.command.set-col-frozen",handler:async o=>(o.get(l.ICommandService).executeCommand(Qn.id,{type:2}),!0)},jr={type:l.CommandType.COMMAND,id:"sheet.command.cancel-frozen",handler:async o=>{const t=o.get(l.ICommandService),e=o.get(l.IUniverInstanceService),n=o.get(l.IUndoRedoService),i=S.getSheetCommandTarget(e);if(!i)return!1;const{unitId:r,subUnitId:s}=i,a={unitId:r,subUnitId:s,startRow:-1,startColumn:-1,xSplit:0,ySplit:0},c=S.SetFrozenMutationFactory(o,a);return t.syncExecuteCommand(S.SetFrozenMutation.id,a)&&n.pushUndoRedo({unitID:r,undoMutations:[{id:S.SetFrozenMutation.id,params:c}],redoMutations:[{id:S.SetFrozenMutation.id,params:a}]}),!0}},Nt="UI_PLUGIN_SHEETS",Jn=`${Nt}_COLOR_PICKER_COMPONENT`,$r=`${Nt}_FONT_FAMILY_COMPONENT`,zr=`${Nt}_FONT_FAMILY_ITEM_COMPONENT`,Yr=`${Nt}_FONT_SIZE_COMPONENT`,li=`${Nt}_MENU_ITEM_INPUT_COMPONENT`;var Xr={exports:{}},eo={};/**
|
|
1
|
+
"use strict";var $a=Object.defineProperty;var el=(n,i,e)=>i in n?$a(n,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[i]=e;var w=(n,i,e)=>(el(n,typeof i!="symbol"?i+"":i,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const re=require("@univerjs/docs"),l=require("@univerjs/core"),h=require("@univerjs/sheets"),k=require("@wendellhu/redi"),O=require("rxjs"),b=require("@univerjs/ui"),zo=require("@univerjs/docs-ui"),E=require("@univerjs/engine-render"),B=require("@wendellhu/redi/react-bindings"),Ri=require("rxjs/operators"),ie=require("@univerjs/design"),ii=require("@univerjs/engine-numfmt"),$=require("@univerjs/engine-formula"),V=require("react"),fe=require("clsx"),tl="SheetUI";function ki(n,i){if(n==null)return;const e=i.getRenderById(n);if(e==null)return;const{mainComponent:t,scene:o,engine:r,components:s}=e,a=t,c=s.get(re.DOCS_VIEW_KEY.BACKGROUND);return{document:a,docBackground:c,scene:o,engine:r}}const Ro={零:0,一:1,二:2,三:3,四:4,五:5,六:6,七:7,八:8,九:9},bi=["零","一","二","三","四","五","六","七","八","九"],Ir=["","万","亿","万亿","亿亿"],nl=["","十","百","千"],ps={十:{value:10,secUnit:!1},百:{value:100,secUnit:!1},千:{value:1e3,secUnit:!1},万:{value:1e4,secUnit:!0},亿:{value:1e8,secUnit:!0}};function at(n){if(!n)return 0;let i=0,e=0,t=0,o=!1;const r=n.split("");for(let s=0;s<r.length;s++){const a=Ro[r[s]];if(typeof a<"u")t=a,s===r.length-1&&(e+=t);else{const c=ps[r[s]],u=c.value;o=c.secUnit,o?(e=(e+t)*u,i+=e,e=0):e+=t*u,t=0}}return i+e}function il(n){let i="",e="",t=0,o=!0;for(;n>0;){const r=n%10;r===0?o||(o=!0,e=bi[r]+e):(o=!1,i=bi[r],i+=nl[t],e=i+e),t++,n=Math.floor(n/10)}return e}function ol(n){let i=0,e="",t="",o=!1;if(n===0)return bi[0];for(;n>0;){const r=n%1e4;o&&(t=bi[0]+t),e=il(r),e+=r!==0?Ir[i]:Ir[0],t=e+t,o=r<1e3&&r>0,n=Math.floor(n/1e4),i++}return t}function rl(n){if(!n)return!1;let i=!0;if(n)if(n.length===1)n==="日"||n in Ro?i=!0:i=!1;else{const e=n.split("");for(let t=0;t<e.length;t++)if(!(e[t]in Ro||e[t]in ps)){i=!1;break}}return i}function Bn(n){if(!n)return{isExtendNumber:!1};const i=/0|([1-9]+[0-9]*)/g,e=i.test(n);if(e){const t=n.match(i);if(t&&t.length>0){const o=t[t.length-1],r=n.lastIndexOf(o),s=n.substr(0,r),a=n.substr(r+o.length);return{isExtendNumber:!0,matchTxt:Number(o),beforeTxt:s,afterTxt:a}}return{isExtendNumber:!1}}return{isExtendNumber:e}}function sl(n){let i;return n.length===2&&(n==="周一"||n==="周二"||n==="周三"||n==="周四"||n==="周五"||n==="周六"||n==="周日")?i=!0:i=!1,i}function al(n){let i;return n.length===3&&(n==="星期一"||n==="星期二"||n==="星期三"||n==="星期四"||n==="星期五"||n==="星期六"||n==="星期日")?i=!0:i=!1,i}function ll(n,i){let e=0;for(let t=0;t<n.length&&n[t]<i;t++)e++;return e}function Mn(n){let i=!0;const e=n[1]-n[0];for(let t=1;t<n.length;t++)if(n[t]-n[t-1]!==e){i=!1;break}return i}function cl(n,i,e){const t=[],o=Math.floor(i/n),r=i%n;let s=0;if(o>0){for(let a=0;a<o;a++)for(let c=0;c<e.length;c++)t[e[c]+a*n]=s,s++;for(let a=0;a<e.length&&e[a]<r;a++)t[e[a]+n*o]=s,s++}else for(let a=0;a<e.length&&e[a]<r;a++)t[e[a]]=s,s++;return t}function Pt(n,i){const e=[];for(let t=1;t<=i;t++){const o=(t-1)%n.length,r=l.Tools.deepClone(n[o]);e.push({v:null,s:null,p:null,f:null,si:null,t:null,...r})}return e}function dl(n,i){var t;const e=[];for(let o=1;o<=i;o++){const r=(o-1)%n.length,s={s:(t=n[r])==null?void 0:t.s};e.push(s)}return e}function ul(n){let i=!0;const e=n[1]/n[0];for(let t=1;t<n.length;t++)if(n[t]/n[t-1]!==e){i=!1;break}return i}function hl(n){const i=[];for(let e=1;e<=n;e++)i.push(e);return i}function Rr(n,i,e){var r,s,a,c;const t=[],o=[];for(let u=0;u<n.length;u++)o.push(Number((r=n[u])==null?void 0:r.v));if(n.length>2&&ul(o))for(let u=1;u<=i;u++){const d=(u-1)%n.length,m=l.Tools.deepClone(n[d]),g=Number((s=n[n.length-1])==null?void 0:s.v)*(Number((a=n[1])==null?void 0:a.v)/Number((c=n[0])==null?void 0:c.v))**u;m&&(m.t!==l.CellValueType.BOOLEAN&&(m.v=g),t.push(m))}else{const u=hl(n.length);for(let d=1;d<=i;d++){const m=(d-1)%n.length,g=l.Tools.deepClone(n[m]),p=e===l.Direction.DOWN||e===l.Direction.RIGHT,f=ml(n.length+d,o,u,p);g&&(g.t!==l.CellValueType.BOOLEAN&&(g.v=f),t.push(g))}}return t}function ml(n,i,e,t=!0){function o(m){let g=0;for(let p=0;p<m.length;p++)g+=m[p];return g/m.length}const r=o(e),s=o(i);let a=0,c=0;for(let m=0;m<e.length;m++)a+=(e[m]-r)*(i[m]-s),c+=(e[m]-r)*(e[m]-r);let u;c===0?u=t?1:-1:u=a/c;const d=s-u*r;return Math.round((d+u*n)*1e5)/1e5}function br(n,i,e){var r;const t=[],o=/0|([1-9]+[0-9]*)/g;for(let s=1;s<=i;s++){const a=(s-1)%n.length,c=l.Tools.deepClone(n[a]),u=`${(r=n[n.length-1])==null?void 0:r.v}`,d=u==null?void 0:u.match(o),m=d==null?void 0:d[d.length-1],g=Math.abs(Number(m)+e*s);if(!u||!m)continue;const p=u.lastIndexOf(m),f=u.substr(0,p)+g.toString()+u.substr(p+m.length);c&&(c.v=f,t.push(c))}return t}function Xt(n,i,e,t=0){var a,c;const o=[["日","一","二","三","四","五","六"],["周日","周一","周二","周三","周四","周五","周六"],["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]];if(t>=o.length)return[];const r=o[t],s=[];for(let u=1;u<=i;u++){const d=(u-1)%n.length,m=l.Tools.deepClone(n[d]);let g=0;if(((a=n[n.length-1])==null?void 0:a.v)===r[0])g=7+e*u;else{const f=`${(c=n[n.length-1])==null?void 0:c.v}`;if(f){const S=f.substr(f.length-1,1);g=at(S)+e*u}}g<0&&(g=Math.ceil(Math.abs(g)/7)*7+g);const p=g%7;m&&(m.v=r[p],s.push(m))}return s}function _r(n,i,e){var o;const t=[];for(let r=1;r<=i;r++){const s=(r-1)%n.length,a=l.Tools.deepClone(n[s]),c=`${(o=n[n.length-1])==null?void 0:o.v}`,u=at(c)+e*r;let d;u<=0?d="零":d=ol(u),a&&(a.v=d,t.push(a))}return t}const fn={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 gl(n){let i=!1;return Object.keys(fn).forEach(e=>{fn[e].includes(n)&&(i=!0)}),i}function $i(n){let i="";const e=[];return Object.keys(fn).forEach(t=>{fn[t].includes(n)&&(i=t,e.push(...fn[t]))}),{name:i,series:e}}function Tr(n,i,e,t){var s;const o=t.length,r=[];for(let a=1;a<=i;a++){const c=(a-1)%n.length,u=l.Tools.deepClone(n[c]),d=`${(s=n[n.length-1])==null?void 0:s.v}`;let m=t.indexOf(d)+e*a;m<0&&(m+=Math.abs(e)*o);const g=m%o;u&&(u.v=t[g],r.push(u))}return r}function pl(n,i){const e=[];let t;if(i.startRow<n.startRow)t=l.Direction.UP;else if(i.endRow>n.endRow)t=l.Direction.DOWN;else if(i.startColumn<n.startColumn)t=l.Direction.LEFT;else if(i.endColumn>n.endColumn)t=l.Direction.RIGHT;else return[];if(t===l.Direction.DOWN||t===l.Direction.UP){const o=n.endRow-n.startRow+1,r=i.endRow-i.startRow+1,s=Math.floor(r/o),a=r%o,c={startRow:0,startColumn:0,endRow:n.endRow-n.startRow,endColumn:n.endColumn-n.startColumn};if(t===l.Direction.DOWN){for(let u=0;u<s;u++)e.push({repeatStartCell:{row:n.startRow+(u+1)*o,col:n.startColumn},relativeRange:c});a>0&&e.push({repeatStartCell:{row:n.startRow+(s+1)*o,col:n.startColumn},relativeRange:{startRow:0,startColumn:0,endRow:a-1,endColumn:n.endColumn-n.startColumn}})}else{for(let u=0;u<s;u++)e.push({repeatStartCell:{row:n.startRow-(u+1)*o,col:n.startColumn},relativeRange:c});a>0&&e.push({repeatStartCell:{row:n.startRow-(s+1)*o,col:n.startColumn},relativeRange:{startRow:o-a,endRow:o-1,startColumn:0,endColumn:n.endColumn-n.startColumn}})}}if(t===l.Direction.RIGHT||t===l.Direction.LEFT){const o=n.endColumn-n.startColumn+1,r=i.endColumn-i.startColumn+1,s=Math.floor(r/o),a=r%o,c={startRow:0,startColumn:0,endRow:n.endRow-n.startRow,endColumn:n.endColumn-n.startColumn};if(t===l.Direction.RIGHT){for(let u=0;u<s;u++)e.push({repeatStartCell:{row:n.startRow,col:n.startColumn+(u+1)*o},relativeRange:c});a>0&&e.push({repeatStartCell:{row:n.startRow,col:n.startColumn+(s+1)*o},relativeRange:{startRow:0,startColumn:0,endRow:n.endRow-n.startRow,endColumn:a-1}})}else{for(let u=0;u<s;u++)e.push({repeatStartCell:{row:n.startRow,col:n.startColumn-(u+1)*o},relativeRange:c});a>0&&e.push({repeatStartCell:{row:n.startRow,col:n.startColumn-(s+1)*o},relativeRange:{startRow:0,startColumn:o-a,endRow:n.endRow-n.startRow,endColumn:o-1}})}}return e}function fl(n){const i=new l.ObjectMatrix;return n.forEach(e=>{const{startRow:t,startColumn:o,endRow:r,endColumn:s}=e;for(let a=t;a<=r;a++)for(let c=o;c<=s;c++)i.setValue(a,c,{v:null,p:null,f:null,si:null})}),i.getData()}function Bt(n,i,e,t){const o=i.get(l.IUniverInstanceService),r=e?o.getUnit(e,l.UniverInstanceType.UNIVER_SHEET):o.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),s=t?r==null?void 0:r.getSheetBySheetId(t):r==null?void 0:r.getActiveSheet();if(!s)return null;const{startRow:a,endRow:c,startColumn:u,endColumn:d}=n,m=[],g=[];for(let p=a;p<=c;p++)s.getRowFiltered(p)||m.push(p);for(let p=u;p<=d;p++)g.push(p);return{rows:m,cols:g}}function Et(n){const{rows:i,cols:e}=n;return{startRow:i[0],endRow:i[i.length-1],startColumn:e[0],endColumn:e[e.length-1]}}function Zt(n){let i=[],e=[];const t=[];return n.forEach(o=>{i.push(...o.rows),e.push(...o.cols)}),i=Array.from(new Set(i)).sort((o,r)=>o-r),e=Array.from(new Set(e)).sort((o,r)=>o-r),n.forEach(o=>{t.push({startRow:i.findIndex(r=>r===o.rows[0]),endRow:i.findIndex(r=>r===o.rows[o.rows.length-1]),startColumn:e.findIndex(r=>r===o.cols[0]),endColumn:e.findIndex(r=>r===o.cols[o.cols.length-1])})}),{ranges:t,mapFunc:(o,r)=>({row:i[o],col:e[r]})}}function Sl(n){const i=new l.ObjectMatrix;return n.forEach(e=>{const{rows:t,cols:o}=e;t.forEach(r=>{o.forEach(s=>{i.setValue(r,s,{v:null,p:null,f:null,si:null})})})}),i.getData()}var Vt=(n=>(n.Append="APPEND",n.Default="DEFAULT",n.Only="ONLY",n))(Vt||{}),_e=(n=>(n.NUMBER="number",n.DATE="date",n.EXTEND_NUMBER="extendNumber",n.CHN_NUMBER="chnNumber",n.CHN_WEEK2="chnWeek2",n.CHN_WEEK3="chnWeek3",n.LOOP_SERIES="loopSeries",n.FORMULA="formula",n.OTHER="other",n))(_e||{}),ce=(n=>(n.COPY="0",n.SERIES="1",n.ONLY_FORMAT="2",n.NO_FORMAT="3",n))(ce||{});const vl={type:_e.NUMBER,priority:1e3,match:n=>typeof(n==null?void 0:n.v)=="number"||(n==null?void 0:n.t)===l.CellValueType.NUMBER,isContinue:(n,i)=>n.type===_e.NUMBER,applyFunctions:{[ce.SERIES]:(n,i,e)=>{const{data:t}=n;return e===l.Direction.LEFT||e===l.Direction.UP?(t.reverse(),Rr(t,i,e).reverse()):Rr(t,i,e)}}},fs={type:_e.OTHER,priority:0,match:()=>!0,isContinue:(n,i)=>n.type===_e.OTHER},Cl={type:_e.EXTEND_NUMBER,priority:900,match:n=>Bn(`${n==null?void 0:n.v}`||"").isExtendNumber,isContinue:(n,i)=>{var e;if(n.type===_e.EXTEND_NUMBER){const{beforeTxt:t,afterTxt:o}=Bn(`${(e=n.cellData)==null?void 0:e.v}`||""),{beforeTxt:r,afterTxt:s}=Bn(`${i==null?void 0:i.v}`||"");if(t===r&&o===s)return!0}return!1},applyFunctions:{[ce.SERIES]:(n,i,e)=>{var a;const{data:t}=n,o=e===l.Direction.UP||e===l.Direction.LEFT;let r;if(t.length===1)return r=o?-1:1,Be(br(t,i,r),o);const s=[];for(let c=0;c<t.length;c++){const u=`${(a=t[c])==null?void 0:a.v}`;u&&s.push(Number(Bn(u).matchTxt))}return o&&(t.reverse(),s.reverse()),Mn(s)?(r=s[1]-s[0],Be(br(t,i,r),o)):Pt(t,i)}}},Il={type:_e.CHN_NUMBER,priority:830,match:n=>!!rl(`${n==null?void 0:n.v}`||""),isContinue:(n,i)=>n.type===_e.CHN_NUMBER,applyFunctions:{[ce.SERIES]:(n,i,e)=>{var c,u,d;const{data:t}=n,o=e===l.Direction.LEFT||e===l.Direction.UP;if(t.length===1){const m=`${(c=t[0])==null?void 0:c.v}`;let g;return o?g=-1:g=1,m&&(m==="日"||at(m)<7)?Be(Xt(t,i,g),o):Be(_r(t,i,g),o)}let r=!1;for(let m=0;m<t.length;m++)if(((u=t[m])==null?void 0:u.v)==="日"){r=!0;break}const s=[];let a=0;for(let m=0;m<t.length;m++){const g=`${(d=t[m])==null?void 0:d.v}`;g==="日"?m===0?s.push(0):(a++,s.push(a*7)):r&&at(g)>0&&at(g)<7?s.push(at(g)+a*7):s.push(at(g))}if(o&&(t.reverse(),s.reverse()),Mn(s)){if(r||s[s.length-1]<6&&s[0]>0||s[0]<6&&s[s.length-1]>0){const g=s[1]-s[0];return Be(Xt(t,i,g),o)}const m=s[1]-s[0];return Be(_r(t,i,m),o)}return Pt(t,i)}}},Rl={type:_e.CHN_WEEK2,priority:820,match:n=>!!sl(`${n==null?void 0:n.v}`||""),isContinue:(n,i)=>n.type===_e.CHN_WEEK2,applyFunctions:{[ce.SERIES]:(n,i,e)=>{var a;const{data:t}=n,o=e===l.Direction.LEFT||e===l.Direction.UP;if(t.length===1){let c;return o?c=-1:c=1,Be(Xt(t,i,c,1),o)}const r=[];let s=0;for(let c=0;c<t.length;c++){const u=`${(a=t[c])==null?void 0:a.v}`,d=u==null?void 0:u.substr(u.length-1,1);u==="周日"?c===0?r.push(0):(s++,r.push(s*7)):r.push(at(d)+s*7)}if(o&&(t.reverse(),r.reverse()),Mn(r)){const c=r[1]-r[0];return Be(Xt(t,i,c,1),o)}return Pt(t,i)}}},bl={type:_e.CHN_WEEK3,priority:810,match:n=>al(`${n==null?void 0:n.v}`||""),isContinue:(n,i)=>n.type===_e.CHN_WEEK3,applyFunctions:{[ce.SERIES]:(n,i,e)=>{var a;const{data:t}=n,o=e===l.Direction.LEFT||e===l.Direction.UP;if(t.length===1){let c;return o?c=-1:c=1,Be(Xt(t,i,c,2),o)}const r=[];let s=0;for(let c=0;c<t.length;c++){const u=`${(a=t[c])==null?void 0:a.v}`;if(u){const d=u.substr(u.length-1,1);u==="星期日"?c===0?r.push(0):(s++,r.push(s*7)):r.push(at(d)+s*7)}}if(o&&(t.reverse(),r.reverse()),Mn(r)){const c=r[1]-r[0];return Be(Xt(t,i,c,2),o)}return Pt(t,i)}}},_l={type:_e.LOOP_SERIES,priority:800,match:n=>gl(`${n==null?void 0:n.v}`||""),isContinue:(n,i)=>{var e;return n.type===_e.LOOP_SERIES?$i(`${(e=n.cellData)==null?void 0:e.v}`||"").name===$i(`${i==null?void 0:i.v}`||"").name:!1},applyFunctions:{[ce.SERIES]:(n,i,e)=>{var c,u;const{data:t}=n,o=e===l.Direction.LEFT||e===l.Direction.UP,{series:r}=$i(`${(c=t[0])==null?void 0:c.v}`||"");if(t.length===1){let d;return o?d=-1:d=1,Be(Tr(t,i,d,r),o)}const s=[];let a=0;for(let d=0;d<t.length;d++){const m=`${(u=t[d])==null?void 0:u.v}`;m&&(m===r[0]?d===0?s.push(0):(a++,s.push(a*r.length)):s.push(r.indexOf(m)+a*7))}if(o&&(t.reverse(),s.reverse()),Mn(s)){const d=s[1]-s[0];return Be(Tr(t,i,d,r),o)}return Pt(t,i)}}};function Be(n,i){return i?n.reverse():n}var Tl=Object.defineProperty,wl=Object.getOwnPropertyDescriptor,Ml=(n,i,e,t)=>{for(var o=t>1?void 0:t?wl(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&Tl(i,e,o),o},Fn=(n,i)=>(e,t)=>i(e,t,n);exports.AutoFillService=class extends l.Disposable{constructor(e,t,o,r){super();w(this,"_rules",[]);w(this,"_hooks",[]);w(this,"_applyType$",new O.BehaviorSubject(ce.SERIES));w(this,"_isFillingStyle",!0);w(this,"_autoFillLocation$",new O.BehaviorSubject(null));w(this,"autoFillLocation$",this._autoFillLocation$.asObservable());w(this,"_showMenu$",new O.BehaviorSubject(!1));w(this,"showMenu$",this._showMenu$.asObservable());w(this,"_direction",l.Direction.DOWN);w(this,"applyType$",this._applyType$.asObservable());w(this,"_menu$",new O.BehaviorSubject([{label:"autoFill.copy",value:ce.COPY,disable:!1},{label:"autoFill.series",value:ce.SERIES,disable:!1},{label:"autoFill.formatOnly",value:ce.ONLY_FORMAT,disable:!1},{label:"autoFill.noFormat",value:ce.NO_FORMAT,disable:!1}]));w(this,"menu$",this._menu$.asObservable());this._univerInstanceService=e,this._selectionManagerService=t,this._commandService=o,this._undoRedoService=r,this._init()}_init(){this._rules=[vl,Cl,Il,Rl,bl,_l,fs].sort((e,t)=>t.priority-e.priority),this._isFillingStyle=!0}getOneByPriority(e){return e.length<=0?[]:[e.reduce((o,r)=>(r.priority||0)>(o.priority||0)?r:o,e[0])]}addHook(e){if(this._hooks.find(t=>t.id===e.id))throw new Error(`Add hook failed, hook id '${e.id}' already exist!`);return e.priority===void 0&&(e.priority=0),e.type===void 0&&(e.type=Vt.Append),this._hooks.push(e),l.toDisposable(()=>{const t=this._hooks.findIndex(o=>o===e);t>-1&&this._hooks.splice(t,1)})}registerRule(e){if(this._rules.find(o=>o.type===e.type))throw new Error(`Registry rule failed, type '${e.type}' already exist!`);const t=this._rules.findIndex(o=>o.priority<e.priority);this._rules.splice(t===-1?this._rules.length:t,0,e)}getRules(){return this._rules}getAllHooks(){return this._hooks}getActiveHooks(){const{source:e,target:t,unitId:o,subUnitId:r}=this.autoFillLocation||{};if(!e||!t||!o||!r)return[];const s=this._hooks.filter(d=>{var m;return!((m=d.disable)!=null&&m.call(d,{source:e,target:t,unitId:o,subUnitId:r},this._direction,this.applyType))}),a=s.filter(d=>d.type===Vt.Only);if(a.length>0)return this.getOneByPriority(a);const c=this.getOneByPriority(s.filter(d=>d.type===Vt.Default)),u=s.filter(d=>d.type===Vt.Append)||[];return[...c,...u]}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(o=>o.value===e?{...o,disable:t}:o))}setShowMenu(e){this._showMenu$.next(e)}fillData(e,t){var S,v;const{source:o,target:r,unitId:s=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getUnitId(),subUnitId:a=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getActiveSheet().getSheetId()}=this.autoFillLocation||{},c=this.direction;if(!o||!r||s!==e||a!==t)return!1;const u=l.Rectangle.union(Et(o),Et(r)),d=this.applyType,m=this.getActiveHooks();this._commandService.syncExecuteCommand(h.SetSelectionsOperation.id,{selections:[{primary:{...(v=(S=this._selectionManagerService.getLast())==null?void 0:S.primary)!=null?v:u},range:{...u,rangeType:l.RANGE_TYPE.NORMAL}}],unitId:s,subUnitId:a});const g=[],p=[];return m.forEach(I=>{var T;const{undos:R,redos:_}=((T=I.onFillData)==null?void 0:T.call(I,{source:o,target:r,unitId:s,subUnitId:a},c,d))||{};R&&g.push(...R),_&&p.push(..._)}),p.every(I=>this._commandService.syncExecuteCommand(I.id,I.params))&&this._undoRedoService.pushUndoRedo({unitID:s,undoMutations:g,redoMutations:p}),m.forEach(I=>{var R;(R=I.onAfterFillData)==null||R.call(I,{source:o,target:r,unitId:s,subUnitId:a},c,d)}),this.setShowMenu(!0),!0}};exports.AutoFillService=Ml([l.OnLifecycle(l.LifecycleStages.Rendered,exports.AutoFillService),Fn(0,k.Inject(l.IUniverInstanceService)),Fn(1,k.Inject(h.SelectionManagerService)),Fn(2,l.ICommandService),Fn(3,l.IUndoRedoService)],exports.AutoFillService);const Ot=k.createIdentifier("univer.auto-fill-service"),In={type:l.CommandType.COMMAND,id:"sheet.command.auto-fill",handler:async(n,i)=>n.get(Ot).fillData(i.unitId,i.subUnitId)},oi={id:"sheet.command.auto-clear-content",type:l.CommandType.COMMAND,handler:async(n,i)=>{const e=n.get(l.IUniverInstanceService),t=n.get(l.ICommandService),o=n.get(l.IUndoRedoService),r=h.getSheetCommandTarget(e);if(!r)return!1;const{unitId:s,subUnitId:a}=r,{clearRange:c,selectionRange:u}=i,d={subUnitId:a,unitId:s,cellValue:fl([c])},m=h.SetRangeValuesUndoMutationFactory(n,d),{startColumn:g,startRow:p}=u;return t.executeCommand(h.SetSelectionsOperation.id,{selections:[{primary:{startColumn:g,startRow:p,endColumn:g,endRow:p,actualRow:p,actualColumn:g,isMerge:!1,isMergedMainCell:!1},range:{...u}}],unitId:s,subUnitId:a}),t.syncExecuteCommand(h.SetRangeValuesMutation.id,d)?(o.pushUndoRedo({unitID:s,undoMutations:[{id:h.SetRangeValuesMutation.id,params:m}],redoMutations:[{id:h.SetRangeValuesMutation.id,params:d}]}),!0):!1}};function Yo(n){return n.getContextValue(l.FOCUSING_SHEET)}function le(n){return n.getContextValue(l.FOCUSING_SHEET)&&n.getContextValue(l.FOCUSING_UNIVER_EDITOR)&&!n.getContextValue(l.EDITOR_ACTIVATED)&&!n.getContextValue(l.FOCUSING_COMMON_DRAWINGS)}function Ss(n){return n.getContextValue(l.FOCUSING_SHEET)&&n.getContextValue(l.FOCUSING_UNIVER_EDITOR)&&!n.getContextValue(l.EDITOR_ACTIVATED)&&!n.getContextValue(l.FOCUSING_FORMULA_EDITOR)&&!n.getContextValue(l.FOCUSING_COMMON_DRAWINGS)}function yl(n){return n.getContextValue(l.FOCUSING_SHEET)&&n.getContextValue(l.FOCUSING_UNIVER_EDITOR)&&n.getContextValue(l.EDITOR_ACTIVATED)}function Pl(n){return n.getContextValue(l.FOCUSING_UNIVER_EDITOR)&&n.getContextValue(l.EDITOR_ACTIVATED)}function vs(n){return n.getContextValue(l.FOCUSING_FORMULA_EDITOR)&&n.getContextValue(l.FOCUSING_UNIVER_EDITOR)}function El(n){return n.getContextValue(l.FOCUSING_SHEET)&&n.getContextValue(l.EDITOR_ACTIVATED)&&n.getContextValue(l.FOCUSING_EDITOR_INPUT_FORMULA)&&n.getContextValue(l.FOCUSING_UNIVER_EDITOR)}function Rn(n){return n.getContextValue(l.FOCUSING_SHEET)&&n.getContextValue(l.FOCUSING_UNIVER_EDITOR)&&n.getContextValue(l.EDITOR_ACTIVATED)&&!n.getContextValue(l.FOCUSING_EDITOR_INPUT_FORMULA)&&!n.getContextValue(l.FOCUSING_EDITOR_STANDALONE)}var ue=(n=>(n.MAIN="__SpreadsheetRender__",n.ROW="__SpreadsheetRowHeader__",n.COLUMN="__SpreadsheetColumnHeader__",n.LEFT_TOP="__SpreadsheetLeftTopPlaceholder__",n))(ue||{}),Q=(n=>(n.VIEW_MAIN="viewMain",n.VIEW_MAIN_LEFT_TOP="viewMainLeftTop",n.VIEW_MAIN_TOP="viewMainTop",n.VIEW_MAIN_LEFT="viewMainLeft",n.VIEW_ROW_TOP="viewRowTop",n.VIEW_ROW_BOTTOM="viewRowBottom",n.VIEW_COLUMN_LEFT="viewColumnLeft",n.VIEW_COLUMN_RIGHT="viewColumnRight",n.VIEW_LEFT_TOP="viewLeftTop",n))(Q||{});const wr=0,Ol=1,pt=10,bo=[10,400],Al=11,Mr=12;var Nl=Object.defineProperty,xl=Object.getOwnPropertyDescriptor,Dl=(n,i,e,t)=>{for(var o=t>1?void 0:t?xl(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&Nl(i,e,o),o},yr=(n,i)=>(e,t)=>i(e,t,n);exports.SheetSkeletonManagerService=class{constructor(i,e){w(this,"_currentSkeleton",{unitId:"",sheetId:""});w(this,"_sheetSkeletonParam",[]);w(this,"_currentSkeleton$",new O.BehaviorSubject(null));w(this,"currentSkeleton$",this._currentSkeleton$.asObservable());w(this,"_currentSkeletonBefore$",new O.BehaviorSubject(null));w(this,"currentSkeletonBefore$",this._currentSkeletonBefore$.asObservable());this._univerInstanceService=i,this._injector=e}dispose(){this._currentSkeletonBefore$.complete(),this._currentSkeleton$.complete(),this._sheetSkeletonParam=[]}getCurrent(){return this._getSkeleton(this._currentSkeleton)}getUnitSkeleton(i,e){return this._getSkeleton({unitId:i,sheetId:e})}setCurrent(i){this._setCurrent(i)}removeSkeleton(i){const e=this._sheetSkeletonParam.findIndex(t=>t.unitId===i.unitId);e!==-1&&(this._sheetSkeletonParam[e].skeleton.dispose(),this._sheetSkeletonParam.splice(e,1),this._currentSkeletonBefore$.next(null),this._currentSkeleton$.next(null))}_compareSearch(i,e){return i==null||e==null?!1:i.commandId===e.commandId&&i.sheetId===e.sheetId&&i.unitId===e.unitId}_setCurrent(i){const e=this._getSkeleton(i);if(e!=null)this._reCalculate(e);else{const{unitId:o,sheetId:r}=i,s=this._univerInstanceService.getUniverSheetInstance(i.unitId),a=s==null?void 0:s.getSheetBySheetId(i.sheetId);if(a==null||s==null)return;const c=this._buildSkeleton(a,s);this._sheetSkeletonParam.push({unitId:o,sheetId:r,skeleton:c,dirty:!1})}this._currentSkeleton=i;const t=this.getCurrent();this._currentSkeletonBefore$.next(t),this._currentSkeleton$.next(t)}reCalculate(){const i=this.getCurrent();i!=null&&this._reCalculate(i)}_reCalculate(i){i.dirty&&(i.skeleton.makeDirty(!0),i.dirty=!1),i.skeleton.calculate()}makeDirtyCurrent(i=!0){this.makeDirty(this._currentSkeleton,i)}makeDirty(i,e=!0){const t=this._getSkeleton(i);t!=null&&(t.dirty=e)}getOrCreateSkeleton(i){const e=this._getSkeleton(i);if(e)return e.skeleton;const t=this._univerInstanceService.getUniverSheetInstance(i.unitId),o=t==null?void 0:t.getSheetBySheetId(i.sheetId);if(!o||!t)return;const r=this._buildSkeleton(o,t);return this._sheetSkeletonParam.push({unitId:i.unitId,sheetId:i.sheetId,skeleton:r,dirty:!1}),r}_getSkeleton(i){const e=this._sheetSkeletonParam.find(t=>t.unitId===i.unitId&&t.sheetId===i.sheetId);return e!=null&&(e.commandId=i.commandId),e}_buildSkeleton(i,e){const t=i.getConfig();return this._injector.createInstance(E.SpreadsheetSkeleton,i,t,i.getCellMatrix(),e.getStyles())}};exports.SheetSkeletonManagerService=Dl([yr(0,l.IUniverInstanceService),yr(1,k.Inject(k.Injector))],exports.SheetSkeletonManagerService);class kl{constructor(){w(this,"_startColumn",-1);w(this,"_startRow",-1);w(this,"_endColumn",-1);w(this,"_endRow",-1);w(this,"_startX",0);w(this,"_startY",0);w(this,"_endX",0);w(this,"_endY",0);w(this,"_currentCell");w(this,"_rangeType",l.RANGE_TYPE.NORMAL)}get startColumn(){return this._startColumn}get startRow(){return this._startRow}get endColumn(){return this._endColumn}get endRow(){return this._endRow}get startX(){return this._startX}get startY(){return this._startY}get endX(){return this._endX}get endY(){return this._endY}get currentCell(){return this._currentCell}get rangeType(){return this._rangeType}isEqual(i){const{startColumn:e,startRow:t,endColumn:o,endRow:r}=this,{startColumn:s,startRow:a,endColumn:c,endRow:u}=i;return e===s&&t===a&&o===c&&r===u}isInclude(i){const{startColumn:e,startRow:t,endColumn:o,endRow:r}=this,{startColumn:s,startRow:a,endColumn:c,endRow:u}=i;return!(c<e||s>o||a>r||u<t)}highlightToSelection(){return l.makeCellToSelection(this._currentCell)}getRange(){return{startColumn:this._startColumn,startRow:this._startRow,endColumn:this._endColumn,endRow:this._endRow,startX:this._startX,startY:this._startY,endX:this._endX,endY:this._endY,rangeType:this.rangeType}}getCell(){return this._currentCell}getRangeType(){return this._rangeType}getValue(){return{rangeWithCoord:{startColumn:this._startColumn,startRow:this._startRow,endColumn:this._endColumn,endRow:this._endRow,startX:this._startX,startY:this._startY,endX:this._endX,endY:this._endY,rangeType:this._rangeType},primaryWithCoord:this._currentCell}}setValue(i,e){const{startColumn:t,startRow:o,endColumn:r,endRow:s,startX:a,startY:c,endX:u,endY:d,rangeType:m}=i;this._startColumn=t,this._startRow=o,this._endColumn=r,this._endRow=s,this._startX=a,this._startY=c,this._endX=u,this._endY=d,m!=null&&(this._rangeType=m),this.setCurrentCell(e)}setCurrentCell(i){i&&(this._currentCell=i)}clearCurrentCell(){this._currentCell=null}}const Pr=.3;class _i extends l.Disposable{constructor(e,t,o=!0,r){super();w(this,"_leftControl");w(this,"_rightControl");w(this,"_topControl");w(this,"_bottomControl");w(this,"_backgroundControlTop");w(this,"_backgroundControlBottom");w(this,"_backgroundControlMiddleLeft");w(this,"_backgroundControlMiddleRight");w(this,"_fillControl");w(this,"_selectionShape");w(this,"_rowHeaderBackground");w(this,"_rowHeaderBorder");w(this,"_rowHeaderGroup");w(this,"_rowHeaderHighlight");w(this,"_columnHeaderBackground");w(this,"_columnHeaderBorder");w(this,"_columnHeaderGroup");w(this,"_columnHeaderHighlight");w(this,"_topLeftWidget");w(this,"_topCenterWidget");w(this,"_topRightWidget");w(this,"_middleLeftWidget");w(this,"_middleRightWidget");w(this,"_bottomLeftWidget");w(this,"_bottomCenterWidget");w(this,"_bottomRightWidget");w(this,"_dashRect");w(this,"_selectionModel");w(this,"_selectionStyle");w(this,"_rowHeaderWidth",0);w(this,"_columnHeaderHeight",0);w(this,"_widgetRects",[]);w(this,"_dispose$",new O.BehaviorSubject(this));w(this,"dispose$",this._dispose$.asObservable());w(this,"selectionMoving$",new O.Subject);w(this,"selectionMoved$",new O.Subject);w(this,"selectionScaling$",new O.Subject);w(this,"selectionScaled$",new O.Subject);w(this,"selectionFilling$",new O.Subject);w(this,"_selectionFilled$",new O.Subject);w(this,"selectionFilled$",this._selectionFilled$.asObservable());w(this,"_defaultStyle");w(this,"_currentStyle");w(this,"_isHelperSelection",!0);w(this,"_antLineOffset",0);w(this,"_antRequestNewFrame",-1);this._scene=e,this._zIndex=t,this._isHeaderHighlight=o,this._themeService=r,this._initialize()}get zIndex(){return this._zIndex}get leftControl(){return this._leftControl}get rightControl(){return this._rightControl}get topControl(){return this._topControl}get bottomControl(){return this._bottomControl}get fillControl(){return this._fillControl}get backgroundControlTop(){return this._backgroundControlTop}get backgroundControlBottom(){return this._backgroundControlBottom}get backgroundControlMiddleLeft(){return this._backgroundControlMiddleLeft}get backgroundControlMiddleRight(){return this._backgroundControlMiddleRight}get selectionShape(){return this._selectionShape}get model(){return this._selectionModel}get topLeftWidget(){return this._topLeftWidget}get topCenterWidget(){return this._topCenterWidget}get topRightWidget(){return this._topRightWidget}get middleLeftWidget(){return this._middleLeftWidget}get middleRightWidget(){return this._middleRightWidget}get bottomLeftWidget(){return this._bottomLeftWidget}get bottomCenterWidget(){return this._bottomCenterWidget}get bottomRightWidget(){return this._bottomRightWidget}get selectionStyle(){return this._selectionStyle}get dashRect(){return this._dashRect}get isHelperSelection(){return this._isHelperSelection}setEvent(e){this.leftControl.evented=e,this.rightControl.evented=e,this.topControl.evented=e,this.bottomControl.evented=e}enableHeaderHighlight(){this._isHelperSelection=!0}disableHeaderHighlight(){this._isHeaderHighlight=!1}refreshSelectionFilled(e){this._selectionFilled$.next(e)}updateStyle(e){this._updateControl(e,this._rowHeaderWidth,this._columnHeaderHeight)}update(e,t=0,o=0,r,s){this._selectionModel.setValue(e,s),r==null&&(r=this._selectionStyle),this._updateControl(r,t,o)}clearHighlight(){this._selectionModel.clearCurrentCell(),this._updateControl(this._selectionStyle,this._rowHeaderWidth,this._columnHeaderHeight)}getScene(){return this._scene}dispose(){var e,t,o,r,s,a,c,u,d,m,g,p,f,S,v,I,R,_,T,y,M,P,N,D,A;(e=this._leftControl)==null||e.dispose(),(t=this._rightControl)==null||t.dispose(),(o=this._topControl)==null||o.dispose(),(r=this._bottomControl)==null||r.dispose(),(s=this._backgroundControlTop)==null||s.dispose(),(a=this._backgroundControlMiddleLeft)==null||a.dispose(),(c=this._backgroundControlMiddleRight)==null||c.dispose(),(u=this._backgroundControlBottom)==null||u.dispose(),(d=this._fillControl)==null||d.dispose(),(m=this._selectionShape)==null||m.dispose(),(g=this._rowHeaderBackground)==null||g.dispose(),(p=this._rowHeaderBorder)==null||p.dispose(),(f=this._rowHeaderGroup)==null||f.dispose(),(S=this._rowHeaderBackground)==null||S.dispose(),(v=this._columnHeaderBackground)==null||v.dispose(),(I=this._columnHeaderBorder)==null||I.dispose(),(R=this._columnHeaderGroup)==null||R.dispose(),(_=this._topLeftWidget)==null||_.dispose(),(T=this._topCenterWidget)==null||T.dispose(),(y=this._topRightWidget)==null||y.dispose(),(M=this._middleLeftWidget)==null||M.dispose(),(P=this._middleRightWidget)==null||P.dispose(),(N=this._bottomLeftWidget)==null||N.dispose(),(D=this._bottomCenterWidget)==null||D.dispose(),(A=this._bottomRightWidget)==null||A.dispose(),super.dispose(),this._dispose$.next(this),this._dispose$.complete()}getCurrentCellInfo(){const e=this.model.currentCell;if(e){let t;if(e.isMerged){const o=e.mergeInfo;t={startRow:o.startRow,endRow:o.endRow,startColumn:o.startColumn,endColumn:o.endColumn,startX:o.startX,endX:o.endX,startY:o.startY,endY:o.endY}}else{const{actualRow:o,actualColumn:r,startX:s,endX:a,startY:c,endY:u}=e;t={startRow:o,endRow:o,startColumn:r,endColumn:r,startX:s,endX:a,startY:c,endY:u}}return t}}getValue(){return{...this._selectionModel.getValue(),style:this._selectionStyle}}getRange(){return this._selectionModel.getValue().rangeWithCoord}enableHelperSelection(){this._isHelperSelection=!0}disableHelperSelection(){this._isHelperSelection=!1}updateStyleId(e){this._selectionStyle!=null&&(this._selectionStyle.id=e)}_updateControl(e,t,o){const{startX:r,startY:s,endX:a,endY:c}=this._selectionModel,u=this._defaultStyle;e==null&&(e=u),this._currentStyle=e;const{stroke:d=u.stroke,widgets:m=u.widgets,hasAutoFill:g=u.hasAutoFill,AutofillStroke:p=u.AutofillStroke,strokeDash:f,isAnimationDash:S}=e;let{strokeWidth:v=u.strokeWidth,AutofillSize:I=u.AutofillSize,AutofillStrokeWidth:R=u.AutofillStrokeWidth}=e;const _=this._getScale(),T=(v+h.SELECTION_CONTROL_BORDER_BUFFER_WIDTH)/2/_;v/=_,I/=_,R/=_<1?1:_;const y=h.SELECTION_CONTROL_BORDER_BUFFER_WIDTH/_,M=E.FIX_ONE_PIXEL_BLUR_OFFSET/_;if(this.leftControl.transformByState({height:c-s,left:-T+M,width:v,strokeWidth:y,top:-y/2+M}),this.leftControl.setProps({fill:d,stroke:h.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),this.rightControl.transformByState({height:c-s,left:a-r-T+M,width:v,strokeWidth:y,top:-y/2+M}),this.rightControl.setProps({fill:d,stroke:h.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),this.topControl.transformByState({width:a-r+v,top:-T+M,left:-T+M,height:v,strokeWidth:y}),this.topControl.setProps({fill:d,stroke:h.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),this.bottomControl.transformByState({width:a-r+v,top:c-s-T+M,height:v,left:-T+M,strokeWidth:y}),this.bottomControl.setProps({fill:d,stroke:h.SELECTION_CONTROL_BORDER_BUFFER_COLOR}),f==null||c-s>1e6||a-r>1e5)this.dashRect.hide(),this._stopAntLineAnimation();else{const P=e.strokeWidth*2/_;this.dashRect.transformByState({height:c-s,width:a-r,strokeWidth:P,left:-P/2+M,top:-P/2+M}),this.dashRect.setProps({strokeDashArray:[0,f/_]}),this._stopAntLineAnimation(),S!==!1&&this._startAntLineAnimation(),this.dashRect.show()}g===!0&&!this._hasWidgets(m)?(this.fillControl.setProps({fill:d,stroke:p,strokeScaleEnabled:!1}),this.fillControl.transformByState({width:I-R,height:I-R,left:a-r-I/2+R/2-M,top:c-s-I/2+R/2-M,strokeWidth:R}),this.fillControl.show()):this.fillControl.hide(),this._updateBackgroundControl(e),this._updateBackgroundTitle(e,t,o),this._updateWidgets(e),this.selectionShape.show(),this.selectionShape.translate(r,s),this._selectionStyle=e,this._rowHeaderWidth=t||0,this._columnHeaderHeight=o||0,this.selectionShape.makeDirtyNoDebounce(!0)}_initialize(){this._defaultStyle=h.getNormalSelectionStyle(this._themeService),this._selectionModel=new kl;const e=this._zIndex;this._leftControl=new E.Rect("__SpreadsheetSelectionShapeLeftControl__"+e,{zIndex:e}),this._rightControl=new E.Rect("__SpreadsheetSelectionShapeRightControl__"+e,{zIndex:e}),this._topControl=new E.Rect("__SpreadsheetSelectionTopControl__"+e,{zIndex:e}),this._bottomControl=new E.Rect("__SpreadsheetSelectionBottomControl__"+e,{zIndex:e}),this._backgroundControlTop=new E.Rect("__SpreadsheetSelectionBackgroundControlTop__"+e,{zIndex:e-1,evented:!1}),this._backgroundControlBottom=new E.Rect("__SpreadsheetSelectionBackgroundControlBottom__"+e,{zIndex:e-1,evented:!1}),this._backgroundControlMiddleLeft=new E.Rect("__SpreadsheetSelectionBackgroundControlMiddleLeft__"+e,{zIndex:e-1,evented:!1}),this._backgroundControlMiddleRight=new E.Rect("__SpreadsheetSelectionBackgroundControlMiddleRight__"+e,{zIndex:e-1,evented:!1}),this._fillControl=new E.Rect("__SpreadsheetSelectionFillControl__"+e,{zIndex:e+1}),this._dashRect=new E.Rect("__SpreadsheetDragDashControl__"+e,{zIndex:e+2,evented:!1,stroke:"#fff"});const t=[this._fillControl,this._leftControl,this._rightControl,this._topControl,this._bottomControl,this._backgroundControlTop,this._backgroundControlMiddleLeft,this._backgroundControlMiddleRight,this._backgroundControlBottom,this._dashRect];this._widgetRects=this._initialWidget(),this._selectionShape=new E.Group("__SpreadsheetSelectionShape__"+e,...t,...this._widgetRects),this._selectionShape.hide(),this._selectionShape.evented=!1,this._selectionShape.zIndex=e;const o=this.getScene();o.addObject(this._selectionShape,Ol),this.disposeWithMe(l.toDisposable(o.onTransformChangeObservable.add(r=>{r.type===E.TRANSFORM_CHANGE_OBSERVABLE_TYPE.scale&&this._updateControl(this._currentStyle,this._rowHeaderWidth,this._columnHeaderHeight)}))),this._initialTitle()}_initialTitle(){const e=this._zIndex;this._rowHeaderBackground=new E.Rect("__SpreadSheetSelectionRowHeaderBackground__"+e,{zIndex:e-1,evented:!1}),this._rowHeaderBorder=new E.Rect("__SpreadSheetSelectionRowHeaderBorder__"+e,{zIndex:e-1,evented:!1}),this._rowHeaderGroup=new E.Group("__SpreadSheetSelectionRowHeaderGroup__"+e,this._rowHeaderBackground,this._rowHeaderBorder),this._rowHeaderGroup.hide(),this._rowHeaderGroup.evented=!1,this._rowHeaderGroup.zIndex=e,this._columnHeaderBackground=new E.Rect("__SpreadSheetSelectionColumnHeaderBackground__"+e,{zIndex:e-1,evented:!1}),this._columnHeaderBorder=new E.Rect("__SpreadSheetSelectionColumnHeaderBorder__"+e,{zIndex:e-1,evented:!1}),this._columnHeaderGroup=new E.Group("__SpreadSheetSelectionColumnHeaderGroup__"+e,this._columnHeaderBackground,this._columnHeaderBorder),this._columnHeaderGroup.hide(),this._columnHeaderGroup.evented=!1,this._columnHeaderGroup.zIndex=e,this.getScene().addObjects([this._rowHeaderGroup,this._columnHeaderGroup],Al)}_initialWidget(){const e=this._zIndex;return this._topLeftWidget=new E.Rect("__SpreadSheetSelectionTopLeftWidget__"+e,{zIndex:e+1}),this._topCenterWidget=new E.Rect("__SpreadSheetSelectionTopCenterWidget__"+e,{zIndex:e+1}),this._topRightWidget=new E.Rect("__SpreadSheetSelectionTopRightWidget__"+e,{zIndex:e+1}),this._middleLeftWidget=new E.Rect("__SpreadSheetSelectionMiddleLeftWidget__"+e,{zIndex:e+1}),this._middleRightWidget=new E.Rect("__SpreadSheetSelectionMiddleRightWidget__"+e,{zIndex:e+1}),this._bottomLeftWidget=new E.Rect("__SpreadSheetSelectionBottomLeftWidget__"+e,{zIndex:e+1}),this._bottomCenterWidget=new E.Rect("__SpreadSheetSelectionBottomCenterWidget__"+e,{zIndex:e+1}),this._bottomRightWidget=new E.Rect("__SpreadSheetSelectionBottomRightWidget__"+e,{zIndex:e+1}),[this._topLeftWidget,this._topCenterWidget,this._topRightWidget,this._middleLeftWidget,this._middleRightWidget,this._bottomLeftWidget,this._bottomCenterWidget,this._bottomRightWidget]}_updateBackgroundTitle(e,t,o){const{startX:r,startY:s,endX:a,endY:c,rangeType:u}=this._selectionModel,d=this._defaultStyle;e==null&&(e=d);const m=this._getScale(),{stroke:g,hasRowHeader:p,rowHeaderFill:f=d.rowHeaderFill,rowHeaderStroke:S=d.rowHeaderStroke,hasColumnHeader:v,columnHeaderFill:I=d.columnHeaderFill,columnHeaderStroke:R=d.columnHeaderStroke}=e;let{rowHeaderStrokeWidth:_=d.rowHeaderStrokeWidth,columnHeaderStrokeWidth:T=d.columnHeaderStrokeWidth}=e;if(_/=m,T/=m,v===!0){let y=I;this._isHeaderHighlight&&u===l.RANGE_TYPE.COLUMN&&(y=new l.ColorKit(g).setAlpha(Pr).toString()),this._columnHeaderBackground.setProps({fill:y}),this._columnHeaderBackground.resize(a-r,o),this._columnHeaderBorder.setProps({fill:R}),this._columnHeaderBorder.transformByState({width:a-r,height:T,top:o-T+1/m}),this._columnHeaderGroup.show(),this._columnHeaderGroup.translate(r,0)}else this._columnHeaderGroup.hide();if(this._columnHeaderGroup.makeDirty(!0),p===!0){let y=f;this._isHeaderHighlight&&u===l.RANGE_TYPE.ROW&&(y=new l.ColorKit(g).setAlpha(Pr).toString()),this._rowHeaderBackground.setProps({fill:y}),this._rowHeaderBackground.resize(t,c-s),this._rowHeaderBorder.setProps({fill:S}),this._rowHeaderBorder.transformByState({width:_,height:c-s,left:t-_+1/m}),this._rowHeaderGroup.show(),this._rowHeaderGroup.translate(0,s)}else this._rowHeaderGroup.hide();this._rowHeaderGroup.makeDirty(!0)}_updateBackgroundControl(e){const{startX:t,startY:o,endX:r,endY:s}=this._selectionModel,a=this._defaultStyle;e==null&&(e=a);const c=this._getScale(),{fill:u=a.fill}=e;let{strokeWidth:d=a.strokeWidth}=e;d/=c;const m=this._selectionModel.highlightToSelection();if(!m){this._backgroundControlTop.resize(r-t,s-o),this._backgroundControlTop.setProps({fill:u}),this._backgroundControlBottom.resize(0,0),this._backgroundControlMiddleLeft.resize(0,0),this._backgroundControlMiddleRight.resize(0,0);return}const{startX:g,startY:p,endX:f,endY:S}=m,v=d/2,I={left:-v,top:-v,width:r-t+v*2,height:p-o+v};I.height<0&&(I.width=0,I.height=0),this._backgroundControlTop.transformByState(I);const R={left:-v,top:p-o,width:g-t+v,height:S-p};R.width<0&&(R.width=0,R.height=0),this._backgroundControlMiddleLeft.transformByState(R);const _={left:f-t-v,top:p-o,width:r-f+v*2,height:S-p};_.width<0&&(_.width=0,_.height=0),this._backgroundControlMiddleRight.transformByState(_);const T={left:-v,top:S-o,width:r-t+v*2,height:s-S+v};T.height<0&&(T.width=0,T.height=0),this._backgroundControlBottom.transformByState(T),this._backgroundControlTop.setProps({fill:u}),this._backgroundControlMiddleLeft.setProps({fill:u}),this._backgroundControlMiddleRight.setProps({fill:u}),this._backgroundControlBottom.setProps({fill:u})}_updateWidgets(e){const{startX:t,startY:o,endX:r,endY:s}=this._selectionModel,a=this._defaultStyle;e==null&&(e=a);const{stroke:c=a.stroke,widgets:u=a.widgets,widgetStroke:d=a.widgetStroke}=e,m=this._getScale();let{widgetSize:g=a.widgetSize,widgetStrokeWidth:p=a.widgetStrokeWidth}=e;g/=m,p/=m;const f={left:-g/2+p/2,center:(r-t)/2-g/2+p/2,right:r-t-g/2+p/2,top:-g/2,middle:(s-o)/2-g/2,bottom:s-o-g/2+p/2},S=g-p;this._widgetRects.forEach(v=>{v.setProps({fill:c,stroke:d})}),u.tl===!0?(this._topLeftWidget.transformByState({height:S,width:S,left:f.left,top:f.top,strokeWidth:p}),this._topLeftWidget.show()):this._topLeftWidget.hide(),u.tc===!0?(this._topCenterWidget.transformByState({height:S,width:S,left:f.center,top:f.top,strokeWidth:p}),this._topCenterWidget.show()):this._topCenterWidget.hide(),u.tr===!0?(this._topRightWidget.transformByState({height:S,width:S,left:f.right,top:f.top,strokeWidth:p}),this._topRightWidget.show()):this._topRightWidget.hide(),u.ml===!0?(this._middleLeftWidget.transformByState({height:S,width:S,left:f.left,top:f.middle,strokeWidth:p}),this._middleLeftWidget.show()):this._middleLeftWidget.hide(),u.mr===!0?(this._middleRightWidget.transformByState({height:S,width:S,left:f.right,top:f.middle,strokeWidth:p}),this._middleRightWidget.show()):this._middleRightWidget.hide(),u.bl===!0?(this._bottomLeftWidget.transformByState({height:S,width:S,left:f.left,top:f.bottom,strokeWidth:p}),this._bottomLeftWidget.show()):this._bottomLeftWidget.hide(),u.bc===!0?(this._bottomCenterWidget.transformByState({height:S,width:S,left:f.center,top:f.bottom,strokeWidth:p}),this._bottomCenterWidget.show()):this._bottomCenterWidget.hide(),u.br===!0?(this._bottomRightWidget.transformByState({height:S,width:S,left:f.right,top:f.bottom,strokeWidth:p}),this._bottomRightWidget.show()):this._bottomRightWidget.hide()}_hasWidgets(e){if(e==null)return!1;const t=Object.keys(e);if(t.length===0)return!1;for(const o of t)if(e[o]===!0)return!0;return!0}_getScale(){const{scaleX:e,scaleY:t}=this._scene.getAncestorScale();return Math.max(e,t)}_stopAntLineAnimation(){this._antLineOffset=0,E.cancelRequestFrame(this._antRequestNewFrame)}_startAntLineAnimation(){const e=this._getScale();this._antLineOffset+=.6/e,this._antLineOffset>16/e&&(this._antLineOffset=0),this.dashRect.setProps({strokeDashOffset:-this._antLineOffset}),this._antRequestNewFrame=E.requestNewFrame(()=>{this._startAntLineAnimation()})}}const Er="__SpreadsheetHelperSelectionTempRect",Ll=35;class Or{constructor(i,e,t,o,r){w(this,"_startOffsetX",0);w(this,"_startOffsetY",0);w(this,"_relativeSelectionPositionRow",0);w(this,"_relativeSelectionPositionColumn",0);w(this,"_relativeSelectionRowLength",0);w(this,"_relativeSelectionColumnLength",0);w(this,"_moveObserver");w(this,"_upObserver");w(this,"_helperSelection");w(this,"_scrollTimer");w(this,"_activeViewport");w(this,"_targetSelection",{startY:0,endY:0,startX:0,endX:0,startRow:-1,endRow:-1,startColumn:-1,endColumn:-1});w(this,"_isInMergeState",!1);w(this,"_fillControlColors",[]);this._control=i,this._skeleton=e,this._scene=t,this._themeService=o,this._injector=r,this._initialControl(),this._initialWidget(),this._initialFill(),this._control.dispose$.subscribe(()=>{this.dispose()})}get isHelperSelection(){return this._control.isHelperSelection}dispose(){var i,e;(i=this._scrollTimer)==null||i.dispose(),this._fillControlColors=[],this._clearObserverEvent(),(e=this._helperSelection)==null||e.dispose()}_getFreeze(){var e;return(e=this._injector.get(exports.SheetSkeletonManagerService).getCurrent())==null?void 0:e.skeleton.getWorksheetConfig().freeze}_isSelectionInViewport(i,e){const t=this._getFreeze()||{startRow:-1,startColumn:-1,xSplit:0,ySplit:0};switch(e.viewportKey){case Q.VIEW_MAIN:return i.endRow>=t.startRow&&i.endColumn>=t.startColumn;case Q.VIEW_MAIN_TOP:case Q.VIEW_COLUMN_RIGHT:return i.endColumn>=t.startColumn&&i.startRow<t.startRow;case Q.VIEW_MAIN_LEFT:case Q.VIEW_ROW_BOTTOM:return i.endRow>=t.startRow&&i.startColumn<t.startColumn;case Q.VIEW_MAIN_LEFT_TOP:case Q.VIEW_COLUMN_LEFT:case Q.VIEW_ROW_TOP:case Q.VIEW_LEFT_TOP:return i.startRow<t.startRow&&i.startColumn<t.startColumn}}_clearObserverEvent(){this._scene.onPointerMoveObserver.remove(this._moveObserver),this._scene.onPointerUpObserver.remove(this._upObserver),this._moveObserver=null,this._upObserver=null}_initialControl(){const{leftControl:i,rightControl:e,topControl:t,bottomControl:o}=this._control;[i,e,t,o].forEach(r=>{r.onPointerEnterObserver.add(()=>{this._injector.get(Me).interceptor.fetchThroughInterceptors(_o)(!1,null)&&r.setCursor(E.CURSOR_TYPE.MOVE)}),r.onPointerLeaveObserver.add(()=>{r.resetCursor()}),r.onPointerDownObserver.add(this._controlEvent.bind(this))})}_controlMoving(i,e){var M;const t=this._scene,o=t.getScrollXYByRelativeCoords(E.Vector2.FromArray([i,e])),{scaleX:r,scaleY:s}=t.getAncestorScale(),a=this._skeleton.getCellPositionByOffset(i,e,r,s,o),{row:c,column:u}=a,d=this._skeleton.getRowCount()-1,m=this._skeleton.getColumnCount()-1;let g=c+this._relativeSelectionPositionRow;g<0&&(g=0);let p=g+this._relativeSelectionRowLength;p>d&&(p=d,p-g<this._relativeSelectionRowLength&&(g=p-this._relativeSelectionRowLength));let f=u+this._relativeSelectionPositionColumn;f<0&&(f=0);let S=f+this._relativeSelectionColumnLength;S>m&&(S=m,S-f<this._relativeSelectionColumnLength&&(f=S-this._relativeSelectionColumnLength));const v=this._skeleton.getNoMergeCellPositionByIndex(g,f),I=this._skeleton.getNoMergeCellPositionByIndex(p,S),R=(v==null?void 0:v.startY)||0,_=(I==null?void 0:I.endY)||0,T=(v==null?void 0:v.startX)||0,y=(I==null?void 0:I.endX)||0;(M=this._helperSelection)==null||M.transformByState({left:T,top:R,width:y-T,height:_-R}),this._targetSelection={startY:R,endY:_,startX:T,endX:y,startRow:g,endRow:p,startColumn:f,endColumn:S},this._control.selectionMoving$.next(this._targetSelection)}_controlEvent(i){const{offsetX:e,offsetY:t}=i,o=this._scene,r=o.getRelativeCoord(E.Vector2.FromArray([e,t])),{x:s,y:a}=r,c=o.getScrollXYByRelativeCoords(r),{scaleX:u,scaleY:d}=o.getAncestorScale(),m=this._skeleton.getCellPositionByOffset(s,a,u,d,c);this._startOffsetX=s,this._startOffsetY=a;const{row:g,column:p}=m,{startRow:f,startColumn:S,endRow:v,endColumn:I}=this._control.model;let R=0,_=0;g<f?R-=1:g>v&&(R+=1),p<S?_-=1:p>I&&(_+=1),this._relativeSelectionPositionRow=f-g+R,this._relativeSelectionPositionColumn=S-p+_,this._relativeSelectionRowLength=v-f,this._relativeSelectionColumnLength=I-S;const T=this._control.selectionStyle,y=this._getScale();this.isHelperSelection&&(this._helperSelection=new E.Rect(Er,{stroke:T.stroke,strokeWidth:T.strokeWidth/y}),o.addObject(this._helperSelection));const M=o.getViewport(Q.VIEW_MAIN),P=E.ScrollTimer.create(o);P.startScroll(s,a,M),this._scrollTimer=P,o.disableEvent(),this._moveObserver=o.onPointerMoveObserver.add(N=>{const{offsetX:D,offsetY:A}=N;if(!this._injector.get(Me).interceptor.fetchThroughInterceptors(_o)(!1,null))return;const{x:L,y:U}=o.getRelativeCoord(E.Vector2.FromArray([D,A]));this._controlMoving(L,U),o.setCursor(E.CURSOR_TYPE.MOVE),P.scrolling(L,U,()=>{this._controlMoving(L,U)})}),this._upObserver=o.onPointerUpObserver.add(()=>{var D,A;(D=this._helperSelection)==null||D.dispose();const N=this._scene;N.resetCursor(),this._clearObserverEvent(),N.enableEvent(),(A=this._scrollTimer)==null||A.dispose(),this._control.selectionMoved$.next(this._targetSelection)})}_initialWidget(){const{topLeftWidget:i,topCenterWidget:e,topRightWidget:t,middleLeftWidget:o,middleRightWidget:r,bottomLeftWidget:s,bottomCenterWidget:a,bottomRightWidget:c}=this._control,u=[E.CURSOR_TYPE.NORTH_WEST_RESIZE,E.CURSOR_TYPE.NORTH_RESIZE,E.CURSOR_TYPE.NORTH_EAST_RESIZE,E.CURSOR_TYPE.WEST_RESIZE,E.CURSOR_TYPE.EAST_RESIZE,E.CURSOR_TYPE.SOUTH_WEST_RESIZE,E.CURSOR_TYPE.SOUTH_RESIZE,E.CURSOR_TYPE.SOUTH_EAST_RESIZE];[i,e,t,o,r,s,a,c].forEach((d,m)=>{d.onPointerEnterObserver.add(()=>{d.setCursor(u[m])}),d.onPointerLeaveObserver.add(()=>{d.resetCursor()}),d.onPointerDownObserver.add(g=>{this._widgetEvent(g,u[m])})})}_widgetMoving(i,e,t){const o=this._scene,r=o.getScrollXYByRelativeCoords(E.Vector2.FromArray([this._startOffsetX,this._startOffsetY])),{scaleX:s,scaleY:a}=o.getAncestorScale(),c=this._skeleton.getCellPositionByOffset(i,e,s,a,r),{row:u,column:d}=c,{rowHeaderWidth:m,columnHeaderHeight:g}=this._skeleton;let p=this._relativeSelectionPositionRow,f=this._relativeSelectionPositionColumn,S=u,v=d;t===E.CURSOR_TYPE.NORTH_WEST_RESIZE?(p=u,f=d,S=this._relativeSelectionPositionRow,v=this._relativeSelectionPositionColumn):t===E.CURSOR_TYPE.NORTH_RESIZE?(p=u,f=this._relativeSelectionPositionColumn,S=this._relativeSelectionPositionRow,v=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength):t===E.CURSOR_TYPE.NORTH_EAST_RESIZE?(p=u,f=this._relativeSelectionPositionColumn,S=this._relativeSelectionPositionRow,v=d):t===E.CURSOR_TYPE.WEST_RESIZE?(p=this._relativeSelectionPositionRow,f=d,S=this._relativeSelectionPositionRow+this._relativeSelectionRowLength,v=this._relativeSelectionPositionColumn):t===E.CURSOR_TYPE.EAST_RESIZE?S=this._relativeSelectionPositionRow+this._relativeSelectionRowLength:t===E.CURSOR_TYPE.SOUTH_WEST_RESIZE?(p=this._relativeSelectionPositionRow,f=d,S=u,v=this._relativeSelectionPositionColumn):t===E.CURSOR_TYPE.SOUTH_RESIZE&&(p=this._relativeSelectionPositionRow,f=this._relativeSelectionPositionColumn,S=u,v=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength);const{startRow:I,startColumn:R,endRow:_,endColumn:T}=this._swapPositions(p,f,S,v),y=this._skeleton.getNoMergeCellPositionByIndex(I,R),M=this._skeleton.getNoMergeCellPositionByIndex(_,T),P=(y==null?void 0:y.startY)||0,N=(M==null?void 0:M.endY)||0,D=(y==null?void 0:y.startX)||0,A=(M==null?void 0:M.endX)||0;this._targetSelection={startY:P,endY:N,startX:D,endX:A,startRow:p,endRow:S,startColumn:f,endColumn:v},this._control.update(this._targetSelection,m,g,this._control.selectionStyle),this._control.clearHighlight(),this._control.selectionScaling$.next(this._targetSelection)}_widgetEvent(i,e){const{offsetX:t,offsetY:o}=i,r=this._scene,s=r.getRelativeCoord(E.Vector2.FromArray([t,o])),{x:a,y:c}=s;this._startOffsetX=t,this._startOffsetY=o;const{startRow:u,startColumn:d,endRow:m,endColumn:g}=this._control.model;this._relativeSelectionPositionRow=u,this._relativeSelectionPositionColumn=d,this._relativeSelectionRowLength=m-u,this._relativeSelectionColumnLength=g-d,e===E.CURSOR_TYPE.NORTH_WEST_RESIZE?(this._relativeSelectionPositionRow=m,this._relativeSelectionPositionColumn=g):e===E.CURSOR_TYPE.NORTH_RESIZE?this._relativeSelectionPositionRow=m:e===E.CURSOR_TYPE.NORTH_EAST_RESIZE?this._relativeSelectionPositionRow=m:e===E.CURSOR_TYPE.WEST_RESIZE?this._relativeSelectionPositionColumn=g:e===E.CURSOR_TYPE.SOUTH_WEST_RESIZE&&(this._relativeSelectionPositionColumn=g);const p=E.ScrollTimer.create(r);p.startScroll(a,c),this._scrollTimer=p,r.disableEvent(),this._moveObserver=r.onPointerMoveObserver.add(f=>{const{offsetX:S,offsetY:v}=f,{x:I,y:R}=r.getRelativeCoord(E.Vector2.FromArray([S,v]));this._widgetMoving(I,R,e),r.setCursor(e),p.scrolling(I,R,()=>{this._widgetMoving(I,R,e)})}),this._upObserver=r.onPointerUpObserver.add(()=>{var S;const f=this._scene;f.resetCursor(),this._clearObserverEvent(),f.enableEvent(),(S=this._scrollTimer)==null||S.dispose(),this._control.selectionScaled$.next(this._targetSelection)})}_initialFill(){const{fillControl:i}=this._control;i.onPointerEnterObserver.add(e=>{this._injector.get(Me).interceptor.fetchThroughInterceptors(To)(!1,{x:e.offsetX,y:e.offsetY,skeleton:this._skeleton})&&i.setCursor(E.CURSOR_TYPE.CROSSHAIR)}),i.onPointerLeaveObserver.add(()=>{i.resetCursor()}),i.onPointerDownObserver.add(this._fillEvent.bind(this))}_fillMoving(i,e){var A,x,L;const t=this._scene,o=t.getScrollXY(this._activeViewport),{scaleX:r,scaleY:s}=t.getAncestorScale(),a=this._skeleton.getCellPositionByOffset(i,e,r,s,o),{row:c,column:u}=a,d=t.getRelativeCoord(E.Vector2.FromArray([i,e])),m=this._skeleton.getRowCount()-1,g=this._skeleton.getColumnCount()-1;let p=this._relativeSelectionPositionRow,f=this._relativeSelectionPositionColumn,S=this._relativeSelectionPositionRow+this._relativeSelectionRowLength,v=this._relativeSelectionPositionColumn+this._relativeSelectionColumnLength,I=!1,R=!0;if((u<f||u>v)&&c>=p&&c<=S){const U=this._fillRuler(u,f,v,this._relativeSelectionColumnLength,g);f=U.startRowOrColumn,v=U.endRowOrColumn,I=U.isLighten,R=!1}else if((c<p||c>S)&&u>=f&&u<=v){const U=this._fillRuler(c,p,S,this._relativeSelectionRowLength,m);p=U.startRowOrColumn,S=U.endRowOrColumn,I=U.isLighten}else if(Math.abs(this._startOffsetX-d.x-o.x)/2>Math.abs(this._startOffsetY-d.y-o.y)){const U=this._fillRuler(u,f,v,this._relativeSelectionColumnLength,g);f=U.startRowOrColumn,v=U.endRowOrColumn,I=U.isLighten,R=!1}else{const U=this._fillRuler(c,p,S,this._relativeSelectionRowLength,m);p=U.startRowOrColumn,S=U.endRowOrColumn,I=U.isLighten}const _=this._skeleton.getNoMergeCellPositionByIndex(p,f),T=this._skeleton.getNoMergeCellPositionByIndex(S,v),y=(_==null?void 0:_.startY)||0,M=(T==null?void 0:T.endY)||0,P=(_==null?void 0:_.startX)||0,N=(T==null?void 0:T.endX)||0;I?this._controlHandler((U,H)=>{const W=new l.ColorKit(this._fillControlColors[H]).lighten(Ll).toRgbString();U.setProps({fill:W})}):this._controlHandler((U,H)=>{U.setProps({fill:this._fillControlColors[H]})});const D=h.SELECTION_CONTROL_BORDER_BUFFER_WIDTH/this._getScale();p===S&&R===!0||f===v&&R===!1?(A=this._helperSelection)==null||A.hide():((x=this._helperSelection)==null||x.transformByState({left:P-D/2,top:y-D/2,width:N-P,height:M-y}),(L=this._helperSelection)==null||L.show()),this._targetSelection={startY:y,endY:M,startX:P,endX:N,startRow:p,endRow:S,startColumn:f,endColumn:v},this._control.selectionFilling$.next(this._targetSelection)}_fillEvent(i){const{offsetX:e,offsetY:t}=i,o=this._scene,r=o.getRelativeCoord(E.Vector2.FromArray([e,t])),{x:s,y:a}=r;this._startOffsetX=s,this._startOffsetY=a;const{startRow:c,startColumn:u,endRow:d,endColumn:m}=this._control.model;this._isInMergeState=this._hasMergeInRange(c,u,d,m),this._relativeSelectionPositionRow=c,this._relativeSelectionPositionColumn=u,this._relativeSelectionRowLength=d-c,this._relativeSelectionColumnLength=m-u;const g=this._control.selectionStyle;let p=g==null?void 0:g.stroke,f=g==null?void 0:g.strokeWidth;const S=h.getNormalSelectionStyle(this._themeService);p==null&&(p=S.stroke),f==null&&(f=S.strokeWidth);const v=this._getScale();f/=v;const I=h.SELECTION_CONTROL_BORDER_BUFFER_WIDTH/v,R=new l.ColorKit(p).darken(2).toRgbString();this.isHelperSelection&&(this._helperSelection=new E.Rect(Er,{stroke:R,strokeWidth:f+I/2}),o.addObject(this._helperSelection)),this._activeViewport=o.getActiveViewportByCoord(E.Vector2.FromArray([e,t]));const _=o.getViewport(Q.VIEW_MAIN),T=E.ScrollTimer.create(o,this._activeViewport.viewportKey===Q.VIEW_MAIN?E.ScrollTimerType.ALL:E.ScrollTimerType.NONE);T.startScroll(s,a,_),this._scrollTimer=T,o.disableEvent(),this._controlHandler(y=>{this._fillControlColors.push(y.fill)}),this._moveObserver=o.onPointerMoveObserver.add(y=>{var U;const{offsetX:M,offsetY:P}=y,N=o.getActiveViewportByCoord(E.Vector2.FromArray([M,P]));if(!this._injector.get(Me).interceptor.fetchThroughInterceptors(To)(!1,{x:i.offsetX,y:i.offsetY,skeleton:this._skeleton}))return;const{x:A,y:x}=o.getRelativeCoord(E.Vector2.FromArray([M,P]));this._fillMoving(A,x),o.setCursor(E.CURSOR_TYPE.CROSSHAIR);const L=this._targetSelection;if(_&&N&&((U=this._activeViewport)==null?void 0:U.viewportKey)!==(N==null?void 0:N.viewportKey)){let H;L.startRow!==c?(T.scrollTimerType=E.ScrollTimerType.Y,H={...L,endRow:L.startRow}):L.endRow!==d?(T.scrollTimerType=E.ScrollTimerType.Y,H={...L,startRow:L.endRow}):L.startColumn!==u?(T.scrollTimerType=E.ScrollTimerType.X,H={...L,endColumn:L.startColumn}):(T.scrollTimerType=E.ScrollTimerType.X,H={...L,startColumn:L.endColumn}),this._isSelectionInViewport(H,N)&&(_.scrollTo({x:T.scrollTimerType===E.ScrollTimerType.X?0:void 0,y:T.scrollTimerType===E.ScrollTimerType.Y?0:void 0}),this._activeViewport=N)}T.scrolling(A,x,()=>{this._fillMoving(A,x)})}),this._upObserver=o.onPointerUpObserver.add(()=>{var M,P;(M=this._helperSelection)==null||M.dispose();const y=this._scene;y.resetCursor(),this._clearObserverEvent(),y.enableEvent(),(P=this._scrollTimer)==null||P.dispose(),this._control.refreshSelectionFilled(this._targetSelection),this._isInMergeState=!1,this._controlHandler((N,D)=>{N.setProps({fill:this._fillControlColors[D]})}),this._fillControlColors=[]})}_hasMergeInRange(i,e,t,o){const r=this._skeleton.mergeData;if(!r)return!1;for(const s of r){const{startRow:a,startColumn:c,endRow:u,endColumn:d}=s,m={left:e,top:i,right:o,bottom:t},g={left:c,top:a,right:d,bottom:u};if(E.isRectIntersect(m,g))return!0}return!1}_swapPositions(i,e,t,o){const r=Math.min(i,t),s=Math.min(e,o),a=Math.max(i,t),c=Math.max(e,o);return{startRow:r,startColumn:s,endRow:a,endColumn:c}}_controlHandler(i){const{leftControl:e,rightControl:t,topControl:o,bottomControl:r,backgroundControlTop:s,backgroundControlMiddleLeft:a,backgroundControlMiddleRight:c,backgroundControlBottom:u,fillControl:d}=this._control,m=[e,t,o,r,s,a,c,u,d];for(let g=0,p=m.length;g<p;g++){const f=m[g];i(f,g)}}_fillRuler(i,e,t,o,r){let s=!1;if(i<e)if(this._isInMergeState&&i<e){const a=e-i,c=o+1,u=Math.ceil(a/c);let d=e-u*c;d<0&&(d=e-(u-1)*c),e=d}else e=i;else if(i>=e&&i<=t)s=!0,this._isInMergeState||(t=i);else if(this._isInMergeState&&i>t){const a=i-t,c=o+1,u=Math.ceil(a/c);let d=t+u*c;d>r&&(d=t+(u-1)*c),t=d}else t=i;return{rowOrColumn:i,startRowOrColumn:e,endRowOrColumn:t,isLighten:s}}_getScale(){const{scaleX:i,scaleY:e}=this._scene.getAncestorScale();return Math.max(i,e)}}var Hl=Object.defineProperty,Vl=Object.getOwnPropertyDescriptor,Wl=(n,i,e,t)=>{for(var o=t>1?void 0:t?Vl(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&Hl(i,e,o),o},jn=(n,i)=>(e,t)=>i(e,t,n);const _o=l.createInterceptorKey("rangeMovePermissionCheck"),To=l.createInterceptorKey("rangeFillPermissionCheck");exports.SelectionRenderService=class{constructor(i,e,t,o){w(this,"hasSelection",!1);w(this,"_downObserver");w(this,"_moveObserver");w(this,"_upObserver");w(this,"_controlFillConfig$",new O.BehaviorSubject(null));w(this,"controlFillConfig$",this._controlFillConfig$.asObservable());w(this,"_selectionControls",[]);w(this,"_startSelectionRange",{startY:0,endY:0,startX:0,endX:0,startRow:-1,endRow:-1,startColumn:-1,endColumn:-1});w(this,"_startOffsetX",0);w(this,"_startOffsetY",0);w(this,"_scrollTimer");w(this,"_cancelDownObserver");w(this,"_cancelUpObserver");w(this,"_skeleton");w(this,"_scene");w(this,"_isHeaderHighlight",!0);w(this,"_isDetectMergedCell",!0);w(this,"_selectionStyle");w(this,"_isSelectionEnabled",!0);w(this,"_isShowPreviousEnable",0);w(this,"_isRemainLastEnable",!0);w(this,"_isSkipRemainLastEnable",!1);w(this,"_isSingleSelection",!1);w(this,"_selectionMoveEnd$",new O.BehaviorSubject([]));w(this,"selectionMoveEnd$",this._selectionMoveEnd$.asObservable());w(this,"_selectionMoving$",new O.Subject);w(this,"selectionMoving$",this._selectionMoving$.asObservable());w(this,"_selectionMoveStart$",new O.Subject);w(this,"selectionMoveStart$",this._selectionMoveStart$.asObservable());w(this,"_activeViewport");w(this,"_usable$",new O.BehaviorSubject(!1));w(this,"usable$",this._usable$.asObservable());w(this,"interceptor",new l.InterceptorManager({RANGE_MOVE_PERMISSION_CHECK:_o,RANGE_FILL_PERMISSION_CHECK:To}));this._themeService=i,this._shortcutService=e,this._sheetSkeletonManagerService=t,this._injector=o,this._selectionStyle=h.getNormalSelectionStyle(this._themeService)}enableHeaderHighlight(){this._isHeaderHighlight=!0}disableHeaderHighlight(){this._isHeaderHighlight=!1}enableDetectMergedCell(){this._isDetectMergedCell=!0}disableDetectMergedCell(){this._isDetectMergedCell=!1}setStyle(i){this._selectionStyle=i}resetStyle(){this.setStyle(h.getNormalSelectionStyle(this._themeService))}enableSelection(){this._isSelectionEnabled=!0}disableSelection(){this._isSelectionEnabled=!1}enableShowPrevious(){this._isShowPreviousEnable=!0}disableShowPrevious(){this._isShowPreviousEnable=!1}enableRemainLast(){this._isRemainLastEnable=!0}disableRemainLast(){this._isRemainLastEnable=!1}enableSkipRemainLast(){this._isSkipRemainLastEnable=!0}disableSkipRemainLast(){this._isSkipRemainLastEnable=!1}enableSingleSelection(){this._isSingleSelection=!0}disableSingleSelection(){this._isSingleSelection=!1}getViewPort(){return this._activeViewport}addControlToCurrentByRangeData(i){const e=this.getCurrentControls();if(!e)return;const{rangeWithCoord:t,primaryWithCoord:o}=i,r=this._skeleton;let{style:s}=i;s==null&&(s=h.getNormalSelectionStyle(this._themeService));const a=this._scene;if(a==null||r==null)return;const c=new _i(a,e.length,this._isHeaderHighlight,this._themeService);new Or(c,r,a,this._themeService,this._injector);const{rowHeaderWidth:u,columnHeaderHeight:d}=r;c.update(t,u,d,s,o),this._isHeaderHighlight?c.enableHeaderHighlight():c.disableHeaderHighlight(),e.push(c)}updateControlForCurrentByRangeData(i){const e=this.getCurrentControls();if(!e)return;const t=this._skeleton;if(t==null)return;const{rowHeaderWidth:o,columnHeaderHeight:r}=t;for(let s=0,a=i.length;s<a;s++){const{rangeWithCoord:c,primaryWithCoord:u,style:d}=i[s];e[s].update(c,o,r,d,u)}}refreshSelectionMoveStart(){this._selectionMoveStart$.next(this.getSelectionDataWithStyle())}changeRuntime(i,e,t){this._skeleton=i,this._scene=e,this._activeViewport=t||(e==null?void 0:e.getViewports()[0]),this._usable$.next(!!(i&&e))}getSelectionDataWithStyle(){return this._selectionControls.map(e=>e.getValue())}getCurrentControls(){return this._selectionControls}_clearSelectionControls(){const i=this.getCurrentControls();if(i.length>0){for(const e of i)e.dispose();i.length=0}}_getFreeze(){var e;return(e=this._sheetSkeletonManagerService.getCurrent())==null?void 0:e.skeleton.getWorksheetConfig().freeze}_getViewportByCell(i,e){if(!this._scene||i===void 0||e===void 0)return null;const t=this._getFreeze();if(!t||t.startRow<=0&&t.startColumn<=0)return this._scene.getViewport(Q.VIEW_MAIN);if(i>t.startRow&&e>t.startColumn)return this._scene.getViewport(Q.VIEW_MAIN);if(i<=t.startRow&&e<=t.startColumn)return this._scene.getViewport(Q.VIEW_MAIN_LEFT_TOP);if(i<=t.startRow&&e>t.startColumn)return this._scene.getViewport(Q.VIEW_MAIN_TOP);if(i>t.startRow&&e<=t.startColumn)return this._scene.getViewport(Q.VIEW_MAIN_LEFT)}getActiveSelections(){const i=this.getCurrentControls();if(i&&i.length>0)return i==null?void 0:i.map(t=>{const o=t.model,r=o.currentCell;let s=null;return r&&(s={actualRow:r.actualRow,actualColumn:r.actualColumn,isMerged:r.isMerged,isMergedMainCell:r.isMergedMainCell,startRow:r.mergeInfo.startRow,startColumn:r.mergeInfo.startColumn,endRow:r.mergeInfo.endRow,endColumn:r.mergeInfo.endColumn}),{range:{startRow:o.startRow,startColumn:o.startColumn,endRow:o.endRow,endColumn:o.endColumn},primary:s}})}getActiveRange(){const i=this.getCurrentControls(),e=i&&i[i.length-1].model;return e&&{startRow:e.startRow,startColumn:e.startColumn,endRow:e.endRow,endColumn:e.endColumn}}getActiveSelection(){const i=this.getCurrentControls();return i&&i[i.length-1]}endSelection(){this._endSelection(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),this._shortcutService.setDisable(!1)}reset(){var i,e,t;this._clearSelectionControls(),(i=this._moveObserver)==null||i.dispose(),(e=this._upObserver)==null||e.dispose(),(t=this._downObserver)==null||t.dispose(),this._moveObserver=null,this._upObserver=null,this._downObserver=null}resetAndEndSelection(){this.endSelection(),this.reset()}eventTrigger(i,e=0,t=l.RANGE_TYPE.NORMAL,o,r=E.ScrollTimerType.ALL){var j,F,te;if(this._isSelectionEnabled===!1)return;const s=this._skeleton,{offsetX:a,offsetY:c}=i,u=this._scene;if(u==null||s==null)return;o!=null&&(this._activeViewport=o);const d=u.getViewport(Q.VIEW_MAIN),m=u.getRelativeCoord(E.Vector2.FromArray([a,c]));let{x:g,y:p}=m;this._startOffsetX=g,this._startOffsetY=p;const f=u.getScrollXYByRelativeCoords(m),{scaleX:S,scaleY:v}=u.getAncestorScale();t===l.RANGE_TYPE.ROW?g=0:t===l.RANGE_TYPE.COLUMN&&(p=0);const I=this._getSelectedRangeWithMerge(g,p,S,v,f);if(!I)return!1;const{rangeWithCoord:R,primaryWithCoord:_}=I,{startRow:T,startColumn:y,endColumn:M,endRow:P,startY:N,endY:D,startX:A,endX:x}=R,{rowHeaderWidth:L,columnHeaderHeight:U}=s,H={startColumn:y,startRow:T,endColumn:M,endRow:P,startY:N,endY:D,startX:A,endX:x,rangeType:t};this._startSelectionRange=H;let W=this.getActiveSelection();const z=this.getCurrentControls();if(!z)return!1;for(const ne of z){if(i.button===2&&ne.model.isInclude(H)){W=ne;return}if(ne.model.isEqual(H)){W=ne;break}i.shiftKey||ne.clearHighlight()}if(z.length>0&&!i.ctrlKey&&!i.shiftKey&&!this._isShowPreviousEnable&&!this._isRemainLastEnable||z.length>0&&this._isSingleSelection&&!i.shiftKey){for(const ne of z)ne.dispose();z.length=0}const q=W&&W.model.currentCell;if(W&&i.shiftKey&&q){const{actualRow:ne,actualColumn:se,mergeInfo:de}=q,Se=Math.min(ne,H.startRow,de.startRow),Re=Math.max(ne,H.endRow,de.endRow),xe=Math.min(se,H.startColumn,de.startColumn),Ae=Math.max(se,H.endColumn,de.endColumn),ve=s.getMergeBounding(Se,xe,Re,Ae),be=s.getNoMergeCellPositionByIndex(ve.startRow,ve.startColumn),ge=s.getNoMergeCellPositionByIndex(ve.endRow,ve.endColumn),nt={startColumn:ve.startColumn,startRow:ve.startRow,endColumn:ve.endColumn,endRow:ve.endRow,startY:be.startY,endY:ge.endY,startX:be.startX,endX:ge.endX,rangeType:t},Ne=s.getCellByIndex(ne,se);this._startSelectionRange={startColumn:Ne.mergeInfo.startColumn,startRow:Ne.mergeInfo.startRow,endColumn:Ne.mergeInfo.endColumn,endRow:Ne.mergeInfo.endRow,startY:Ne.mergeInfo.startY||0,endY:Ne.mergeInfo.endY||0,startX:Ne.mergeInfo.startX||0,endX:Ne.mergeInfo.endX||0,rangeType:t},W.update(nt,L,U,this._selectionStyle,q)}else this._isRemainLastEnable&&W&&!i.ctrlKey&&!i.shiftKey&&!this._isSkipRemainLastEnable&&!this._isSingleSelection?W.update(H,L,U,this._selectionStyle,_):(W=new _i(u,z.length+e,this._isHeaderHighlight,this._themeService),new Or(W,s,u,this._themeService,this._injector),W.update(H,L,U,this._selectionStyle,_),z.push(W));this._selectionMoveStart$.next(this.getSelectionDataWithStyle()),this.hasSelection=!0,this._endSelection(),u.disableEvent();const Y=u.getActiveViewportByCoord(E.Vector2.FromArray([g,p])),X=E.ScrollTimer.create(this._scene,r);X.startScroll((j=d==null?void 0:d.left)!=null?j:0,(F=d==null?void 0:d.top)!=null?F:0,d),this._scrollTimer=X,this._addCancelObserver(),(te=u.getTransformer())==null||te.clearSelectedObjects(),(t===l.RANGE_TYPE.ROW||t===l.RANGE_TYPE.COLUMN)&&this._moving(g,p,W,t);let Z=0,G=0,K=g,ee=p;this._moveObserver=u.onPointerMoveObserver.add(ne=>{var Ne,en,tn,mr,gr,pr,fr,Sr,vr,Cr;const{offsetX:se,offsetY:de}=ne,{x:Se,y:Re}=u.getRelativeCoord(E.Vector2.FromArray([se,de]));this._moving(Se,Re,W,t);let xe=Se,Ae=Re;const ve=this.getActiveSelection(),be=(Ne=this._sheetSkeletonManagerService.getCurrent())==null?void 0:Ne.skeleton.getWorksheetConfig().freeze,ge=ve==null?void 0:ve.model,nt=(en=u.getActiveViewportByCoord(E.Vector2.FromArray([se,de])))!=null?en:this._getViewportByCell(ge==null?void 0:ge.endRow,ge==null?void 0:ge.endColumn);if(Y&&nt&&d){const qi=K<d.left&&Se>d.left||K>d.left&&Se<d.left,Ki=ee<d.top&&Re>d.top||ee>d.top&&Re<d.top;qi&&(Z+=1),Ki&&(G+=1);const Ze=Y.viewportKey,nn=nt.viewportKey;if(Ze===Q.VIEW_ROW_TOP)de<d.top&&((tn=ge==null?void 0:ge.endRow)!=null?tn:0)<((mr=be==null?void 0:be.startRow)!=null?mr:0)?Ae=d.top:Ki&&G%2===1&&d.scrollTo({y:0});else if(Ze===Q.VIEW_COLUMN_LEFT)se<d.left&&((gr=ge==null?void 0:ge.endColumn)!=null?gr:0)<((pr=be==null?void 0:be.startColumn)!=null?pr:0)?xe=d.left:qi&&Z%2===1&&d.scrollTo({x:0});else if(Ze===nn){let it=!1,Rt=!1;Ze===Q.VIEW_MAIN_LEFT_TOP?(it=!0,Rt=!0):Ze===Q.VIEW_MAIN_TOP?Rt=!0:Ze===Q.VIEW_MAIN_LEFT&&(it=!0),((fr=ge==null?void 0:ge.endRow)!=null?fr:0)>((Sr=be==null?void 0:be.startRow)!=null?Sr:0)&&(Rt=!1),((vr=ge==null?void 0:ge.endColumn)!=null?vr:0)>((Cr=be==null?void 0:be.startColumn)!=null?Cr:0)&&(it=!1),it&&(xe=d.left),Rt&&(Ae=d.top)}else{const it={x:Y.scrollX,y:Y.scrollY},Rt={x:nt.scrollX,y:nt.scrollY},Qi=it.x!==Rt.x&&qi&&Z%2===1,Ji=it.y!==Rt.y&&Ki&&G%2===1;(Qi||Ji)&&(d.scrollTo({x:Qi?it.x:void 0,y:Ji?it.y:void 0}),Qi||(xe=d.left),Ji||(Ae=d.top)),(Ze===Q.VIEW_MAIN_LEFT_TOP&&nn===Q.VIEW_MAIN_LEFT||nn===Q.VIEW_MAIN_LEFT_TOP&&Ze===Q.VIEW_MAIN_LEFT)&&(xe=d.left),(Ze===Q.VIEW_MAIN_LEFT_TOP&&nn===Q.VIEW_MAIN_TOP||nn===Q.VIEW_MAIN_LEFT_TOP&&Ze===Q.VIEW_MAIN_TOP)&&(Ae=d.top)}K=Se,ee=Re}X.scrolling(xe,Ae,()=>{this._moving(Se,Re,W,t)})}),this._upObserver=u.onPointerUpObserver.add(ne=>{this._endSelection(),this._selectionMoveEnd$.next(this.getSelectionDataWithStyle()),this._shortcutService.setDisable(!1)}),this._shortcutService.setDisable(!0)}attachSelectionWithCoord(i){const{range:e,primary:t,style:o}=i;let r=this.attachRangeWithCoord(e);return r==null&&(r={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1,startY:0,endY:0,startX:0,endX:0,rangeType:l.RANGE_TYPE.NORMAL}),{rangeWithCoord:r,primaryWithCoord:this.attachPrimaryWithCoord(t),style:o}}attachRangeWithCoord(i){const{startRow:e,startColumn:t,endRow:o,endColumn:r,rangeType:s}=i,a=this._scene,c=this._skeleton;if(a==null||c==null)return;a.getAncestorScale();const u=c.getNoMergeCellPositionByIndex(e,t),d=c.getNoMergeCellPositionByIndex(o,r);return{startRow:e,startColumn:t,endRow:o,endColumn:r,rangeType:s,startY:(u==null?void 0:u.startY)||0,endY:(d==null?void 0:d.endY)||0,startX:(u==null?void 0:u.startX)||0,endX:(d==null?void 0:d.endX)||0}}attachPrimaryWithCoord(i){if(i==null)return;const e=this._scene,t=this._skeleton;if(e==null||t==null)return;const{actualRow:o,actualColumn:r,isMerged:s,isMergedMainCell:a,startRow:c,startColumn:u,endRow:d,endColumn:m}=i,g=t.getNoMergeCellPositionByIndex(o,r),p=t.getNoMergeCellPositionByIndex(c,u),f=t.getNoMergeCellPositionByIndex(d,m);return{actualRow:o,actualColumn:r,isMerged:s,isMergedMainCell:a,startX:g.startX,startY:g.startY,endX:g.endX,endY:g.endY,mergeInfo:{startRow:c,startColumn:u,endRow:d,endColumn:m,startY:(p==null?void 0:p.startY)||0,endY:(f==null?void 0:f.endY)||0,startX:(p==null?void 0:p.startX)||0,endX:(f==null?void 0:f.endX)||0}}}getSelectionCellByPosition(i,e){var c;const t=this._scene;if(t==null)return;const o=(c=this._sheetSkeletonManagerService.getCurrent())==null?void 0:c.skeleton;if(o==null)return;const r=t.getScrollXY(t.getViewport(Q.VIEW_MAIN)),{scaleX:s,scaleY:a}=t.getAncestorScale();return o.calculateCellIndexByPosition(i,e,s,a,r)}_moving(i,e,t,o){var F;const r=this._skeleton,s=this._scene;if(s==null||r==null)return!1;const{startRow:a,startColumn:c,endRow:u,endColumn:d}=this._startSelectionRange,{startRow:m,endRow:g,startColumn:p,endColumn:f}=(t==null?void 0:t.model)||{startRow:-1,endRow:-1,startColumn:-1,endColumn:-1},S=s.getViewport(Q.VIEW_MAIN),v=(F=this._getViewportByCell(g,f))!=null?F:S,I=s.getScrollXYByRelativeCoords(E.Vector2.FromArray([this._startOffsetX,this._startOffsetY]),v),{scaleX:R,scaleY:_}=s.getAncestorScale(),{rowHeaderWidth:T,columnHeaderHeight:y}=r;o===l.RANGE_TYPE.ROW?i=Number.POSITIVE_INFINITY:o===l.RANGE_TYPE.COLUMN&&(e=Number.POSITIVE_INFINITY);const M=this._getSelectedRangeWithMerge(i,e,R,_,I);if(!M)return!1;const{rangeWithCoord:P,primaryWithCoord:N}=M,{startRow:D,startColumn:A,endColumn:x,endRow:L}=P,U=Math.min(D,a),H=Math.min(A,c),W=Math.max(L,u),z=Math.max(x,d);let q={startRow:U,startColumn:H,endRow:W,endColumn:z};if(this._isDetectMergedCell&&(q=r.getSelectionBounding(U,H,W,z)),!q)return!1;const{startRow:Y,startColumn:X,endRow:Z,endColumn:G}=q,K=r.getNoMergeCellPositionByIndex(Y,X),ee=r.getNoMergeCellPositionByIndex(Z,G),j={startColumn:X,startRow:Y,endColumn:G,endRow:Z,startY:(K==null?void 0:K.startY)||0,endY:(ee==null?void 0:ee.endY)||0,startX:(K==null?void 0:K.startX)||0,endX:(ee==null?void 0:ee.endX)||0};(p!==X||m!==Y||f!==G||g!==Z)&&t!=null&&(t.update(j,T,y),this._selectionMoving$.next(this.getSelectionDataWithStyle()))}_endSelection(){var t,o;const i=this._scene;if(i==null)return;i.onPointerMoveObserver.remove(this._moveObserver),i.onPointerUpObserver.remove(this._upObserver),i.enableEvent(),(t=this._scrollTimer)==null||t.dispose();const e=(o=i.getEngine())==null?void 0:o.activeScene;e==null||e.onPointerDownObserver.remove(this._cancelDownObserver),e==null||e.onPointerUpObserver.remove(this._cancelUpObserver)}_addCancelObserver(){var t;const i=this._scene;if(i==null)return;const e=(t=i.getEngine())==null?void 0:t.activeScene;e==null||e===i||(e.onPointerDownObserver.remove(this._cancelDownObserver),e.onPointerUpObserver.remove(this._cancelUpObserver),this._cancelDownObserver=e.onPointerDownObserver.add(o=>{this._endSelection()}),this._cancelUpObserver=e.onPointerUpObserver.add(o=>{this._endSelection()}))}_getSelectedRangeWithMerge(i,e,t,o,r){var I;if(this._isDetectMergedCell){const R=(I=this._skeleton)==null?void 0:I.calculateCellIndexByPosition(i,e,t,o,r),_=l.makeCellToSelection(R);return _==null?void 0:{primaryWithCoord:R,rangeWithCoord:_}}const s=this._skeleton;if(s==null)return;const a=s.getCellPositionByOffset(i,e,t,o,r),{row:c,column:u}=a,d=s.getNoMergeCellPositionByIndex(c,u),{startX:m,startY:g,endX:p,endY:f}=d,S={startY:g,endY:f,startX:m,endX:p,startRow:c,endRow:c,startColumn:u,endColumn:u};return{primaryWithCoord:{actualRow:c,actualColumn:u,isMerged:!1,isMergedMainCell:!1,startY:g,endY:f,startX:m,endX:p,mergeInfo:S},rangeWithCoord:S}}};exports.SelectionRenderService=Wl([jn(0,k.Inject(l.ThemeService)),jn(1,b.IShortcutService),jn(2,k.Inject(exports.SheetSkeletonManagerService)),jn(3,k.Inject(k.Injector))],exports.SelectionRenderService);const Me=k.createIdentifier("univer.sheet.selection-render-service");var Ul=Object.defineProperty,Bl=Object.getOwnPropertyDescriptor,Fl=(n,i,e,t)=>{for(var o=t>1?void 0:t?Bl(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&Ul(i,e,o),o},on=(n,i)=>(e,t)=>i(e,t,n);const jl=1e4,Gt=k.createIdentifier("univer.mark-selection-service");exports.MarkSelectionService=class extends l.Disposable{constructor(e,t,o,r,s){super();w(this,"_shapeMap",new Map);this._currentService=e,this._renderManagerService=t,this._selectionRenderService=o,this._sheetSkeletonManagerService=r,this._themeService=s}addShape(e,t=[],o=jl){const r=this._currentService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),s=r.getActiveSheet().getSheetId(),a=l.Tools.generateRandomId();return this._shapeMap.set(a,{selection:e,subUnitId:s,unitId:r.getUnitId(),zIndex:o,control:null,exits:t}),this.refreshShapes(),a}refreshShapes(){const e=this._currentService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getUnitId(),t=this._currentService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getActiveSheet().getSheetId();this._shapeMap.forEach(o=>{var R;const{unitId:r,subUnitId:s,selection:a,control:c,zIndex:u}=o;if(c&&c.dispose(),r!==e||s!==t)return;const{style:d}=a,{scene:m}=this._renderManagerService.getRenderById(r)||{},{rangeWithCoord:g,primaryWithCoord:p}=this._selectionRenderService.attachSelectionWithCoord(a),f=(R=this._sheetSkeletonManagerService.getCurrent())==null?void 0:R.skeleton;if(!m||!f)return;const{rowHeaderWidth:S,columnHeaderHeight:v}=f,I=new _i(m,u,!1,this._themeService);I.update(g,S,v,d,p),o.control=I})}getShapeMap(){return this._shapeMap}removeShape(e){const t=this._shapeMap.get(e);if(!t)return;const{control:o}=t;o&&o.dispose(),this._shapeMap.delete(e)}removeAllShapes(){for(const e of this._shapeMap.values()){const{control:t}=e;t&&t.dispose()}this._shapeMap.clear()}};exports.MarkSelectionService=Fl([on(0,l.IUniverInstanceService),on(1,E.IRenderManagerService),on(2,Me),on(3,k.Inject(exports.SheetSkeletonManagerService)),on(4,k.Inject(l.ThemeService))],exports.MarkSelectionService);const Xl=10,zl=6;function Yl(){return l.Tools.generateRandomId(zl)}function Zl(n){const i=n.match(/data-copy-id="([^\s]+)"/);return i&&i[1]?i[1]:null}class Gl{constructor(){w(this,"_cache",new l.LRUMap(Xl))}set(i,e){this._cache.set(i,e)}get(i){return this._cache.get(i)}del(i){this._cache.delete(i)}clear(){this._cache.clear()}}function Cs(n,i){const e=i!=null?i:n.style,t={},o=n.tagName.toLowerCase();switch(o){case"b":case"em":case"strong":{t.bl=l.BooleanNumber.TRUE;break}case"s":{t.st={s:l.BooleanNumber.TRUE};break}case"u":{t.ul={s:l.BooleanNumber.TRUE};break}case"i":{t.it=l.BooleanNumber.TRUE;break}case"sub":case"sup":{t.va=o==="sup"?l.BaselineOffset.SUPERSCRIPT:l.BaselineOffset.SUBSCRIPT;break}}return ql(e,t),t}function ql(n,i){for(let e=0;e<n.length;e++){const t=n[e],o=n.getPropertyValue(t);switch(t){case"font-family":{i.ff=o;break}case"font-size":{const r=Number.parseInt(o);if(!Number.isNaN(r)){if(o.endsWith("pt"))i.fs=r;else if(o.endsWith("px")){const s=r*.75;i.fs=s}}break}case"font-style":{o==="italic"&&(i.it=l.BooleanNumber.TRUE);break}case"font-weight":{(Number(o)>400||o==="bold")&&(i.bl=l.BooleanNumber.TRUE);break}case"text-decoration":{/underline/.test(o)?i.ul={s:l.BooleanNumber.TRUE}:/overline/.test(o)?i.ol={s:l.BooleanNumber.TRUE}:/line-through/.test(o)&&(i.st={s:l.BooleanNumber.TRUE});break}case"color":{const r=new l.ColorKit(o);r.isValid&&(i.cl={rgb:r.toRgbString()});break}case"background-color":{const r=new l.ColorKit(o),s=r.isValid?r.toRgbString():"";s!==b.DEFAULT_BACKGROUND_COLOR_RGB&&s!==b.DEFAULT_BACKGROUND_COLOR_RGBA&&(i.bg={rgb:r.toRgbString()});break}}}}function Kl(n){const i=new DOMParser,e=`<x-univer id="univer-root">${n}</x-univer>`;return i.parseFromString(e,"text/html").querySelector("#univer-root")}function wo(n,i){const e=[];for(let t=0,o=n.length;t<o;t++)n[t]===l.DataStreamTreeTokenType.PARAGRAPH&&e.push({startIndex:t});if(i)for(const t of e)i.bullet&&(t.bullet=l.Tools.deepClone(i.bullet)),i.paragraphStyle&&(t.paragraphStyle=l.Tools.deepClone(i.paragraphStyle));return e}const Ql=["color_color","background_background","font-size_fontSize","text-align_textAlign","vertical-align_verticalAlign","font-weight_fontWeight","font-style_fontStyle","font-family_fontFamily","text-decoration_textDecoration","white-space_whiteSpace","word-wrap_wordWrap"],Jl=["border-left_borderLeft","border-right_borderRight","border-top_borderTop","border-bottom_borderBottom"];function Ar(n,i){const e=n.tagName.toLowerCase();return typeof i=="string"?e===i:Array.isArray(i)?i.some(t=>t===e):i(n)}function $l(n){n.style.display="none",n.style.width="0",n.style.height="0",n.setAttribute("tabindex","-1"),n.setAttribute("aria-hidden","true"),n.setAttribute("title","hidden iframe")}const Di=class Di{constructor(i){w(this,"styleCache",new Map);w(this,"styleRules",[]);w(this,"afterProcessRules",[]);w(this,"htmlElement");w(this,"getCurrentSkeleton");this.getCurrentSkeleton=i.getCurrentSkeleton,this.htmlElement=document.createElement("iframe"),this.htmlElement.style.display="none",document.body.appendChild(this.htmlElement),$l(this.htmlElement)}static use(i){if(this.pluginList.includes(i))throw new Error(`Univer paste plugin ${i.name} already added`);this.pluginList.push(i)}convert(i){this.htmlElement.contentDocument&&(this.htmlElement.contentDocument.open(),this.htmlElement.contentDocument.write(i),this.htmlElement.contentDocument.close()),i=i.replace(/<!--[\s\S]*?-->/g,"").replace(/<style[\s\S]*?<\/style>/g,"");const e=Di.pluginList.find(p=>p.checkPasteType(i));e&&(this.styleRules=[...e.stylesRules],this.afterProcessRules=[...e.afterProcessRules]);const t=new l.ObjectMatrix,o=Kl(i),r={dataStream:"",textRuns:[]},s=[],a=[],c=i.match(/<table\b[^>]*>([\s\S]*?)<\/table>/gi),u=[];this.process(null,o==null?void 0:o.childNodes,r,u);const{paragraphs:d,dataStream:m,textRuns:g}=r;if(d){const p=d.map(f=>f.startIndex+1);p.unshift(0);for(let f=0;f<p.length;f++){let S;f===p.length-1?S=`${m.substring(p[f])}\r
|
|
2
|
+
`:S=`${m.substring(p[f],p[f+1]-1)}\r
|
|
3
|
+
`;const v=[];g==null||g.forEach(R=>{R.st>=p[f]&&R.ed<=p[f+1]&&v.push({st:R.st-p[f],ed:R.ed-p[f],ts:R.ts})});const I=this._generateDocumentDataModelSnapshot({body:{dataStream:S,textRuns:v,paragraphs:wo(S)}});t.setValue(t.getLength(),0,{v:S,p:I}),s.push({})}}else if(m){const p=`${m}\r
|
|
4
|
+
`,f={dataStream:p,textRuns:g,paragraphs:wo(p)},S=this._generateDocumentDataModelSnapshot({body:f});t.setValue(0,0,{v:m,p:S}),s.push({})}return c&&c.forEach(p=>{const f=t.getDataRange().endRow+1,{cellMatrix:S,rowProperties:v,colProperties:I}=this._parseTable(p);S&&S.forValue((R,_,T)=>{t.setValue(f+R,_,T)}),I&&a.push(...I),s.push(...v)}),{rowProperties:s,colProperties:a,cellMatrix:t}}_parseTable(i){var s,a;const e=new l.ObjectMatrix,t=(s=tc(i))!=null?s:[],{rowProperties:o=[]}=ec(i),r=ic(this.htmlElement,(a=this.getCurrentSkeleton())==null?void 0:a.skeleton);return r&&r.forValue((c,u,d)=>{var p,f,S,v,I,R,_,T,y,M,P,N,D,A,x,L,U,H,W,z,q,Y,X,Z;let m=b.handleStringToStyle(void 0,d.style);if((v=(S=(f=(p=d==null?void 0:d.richTextParma)==null?void 0:p.p)==null?void 0:f.body)==null?void 0:S.textRuns)!=null&&v.length){const G=(R=(I=d==null?void 0:d.richTextParma)==null?void 0:I.v)==null?void 0:R.length;for(let K=0;K<((M=(y=(T=(_=d==null?void 0:d.richTextParma)==null?void 0:_.p)==null?void 0:T.body)==null?void 0:y.textRuns)==null?void 0:M.length);K++){const ee=(D=(N=(P=d==null?void 0:d.richTextParma)==null?void 0:P.p)==null?void 0:N.body)==null?void 0:D.textRuns[K];ee.st===0&&ee.ed===G&&(m={...ee.ts,...m},(L=(x=(A=d==null?void 0:d.richTextParma)==null?void 0:A.p)==null?void 0:x.body)==null||L.textRuns.splice(K,1),K--)}((z=(W=(H=(U=d==null?void 0:d.richTextParma)==null?void 0:U.p)==null?void 0:H.body)==null?void 0:W.textRuns)==null?void 0:z.length)===0&&(d.content=(q=d==null?void 0:d.richTextParma)==null?void 0:q.v,delete d.richTextParma)}const g=(Z=(X=(Y=d==null?void 0:d.richTextParma)==null?void 0:Y.p)==null?void 0:X.body)!=null&&Z.textRuns?{v:d.richTextParma.v,p:d.richTextParma.p,s:m,rowSpan:d.rowSpan,colSpan:d.colSpan}:{v:d.content,s:m,rowSpan:d.rowSpan,colSpan:d.colSpan};e.setValue(c,u,g)}),{rowProperties:o,colProperties:t,cellMatrix:e}}_generateDocumentDataModelSnapshot(i){var a;const e=this.getCurrentSkeleton();if(e==null)return null;const{skeleton:t}=e,o=(a=t.getBlankCellDocumentModel())==null?void 0:a.documentModel,s={...o==null?void 0:o.getSnapshot(),...i};return o==null||o.reset(s),o==null?void 0:o.getSnapshot()}process(i,e,t,o){var r,s;for(const a of e)if(a.nodeName.toLowerCase()==="table")o.push({index:((r=t==null?void 0:t.paragraphs)==null?void 0:r.length)||0});else if(a.nodeType===Node.TEXT_NODE){const c=(s=a.nodeValue)==null?void 0:s.replace(/[\r\n]/g,"");let u;i&&this.styleCache.has(i)&&(u=this.styleCache.get(i));const d={dataStream:"",textRuns:[]};t.dataStream+=c,d.dataStream+=c,u&&Object.getOwnPropertyNames(u).length&&(t.textRuns.push({st:t.dataStream.length-c.length,ed:t.dataStream.length,ts:u}),d.textRuns.push({st:t.dataStream.length-c.length,ed:t.dataStream.length,ts:u}))}else if(a.nodeType===Node.ELEMENT_NODE){if(a.nodeName==="STYLE")continue;const c=i?this.styleCache.get(i):{},u=this.styleRules.find(({filter:p})=>Ar(a,p)),d=u?u.getStyle(a):Cs(a);this.styleCache.set(a,{...c,...d});const{childNodes:m}=a;this.process(a,m,t,o);const g=this.afterProcessRules.find(({filter:p})=>Ar(a,p));g&&g.handler(t,a)}}dispose(){document.body.removeChild(this.htmlElement)}};w(Di,"pluginList",[]);let zt=Di;function ec(n){const i=/<tr([\s\S]*?)>([\s\S]*?)<\/tr>/gi,e=n.matchAll(i);if(!e)return{rowProperties:[],rowCount:0};const o=Array.from(e).map(r=>Is(r[1]));return{rowProperties:o,rowCount:o.length}}function Is(n){if(!n)return{};const i={},e=/([\w-]+)\s*=\s*(?:(['"])([^'"]*)\2|(\S+))/g;let t;for(;(t=e.exec(n))!==null;){const[,o,,r,s]=t,a=r!==void 0?r:s;i[o]=a}return i}function tc(n){const i=/<colgroup([\s\S]*?)>(.*?)<\/colgroup>/,e=n.match(i),t=/<col([\s\S]*?)>/g;let o;return e!=null&&e[2]?o=e[2].matchAll(t):o=n.matchAll(t),o?Array.from(o).map(r=>Is(r[1])):null}function nc(n){const i={"<":"<",">":">","&":"&",""":'"',"'":"'"," ":" "};return n.replace(/<|>|&|"|'| |<br>/g,e=>i[e])}function Pe(n,i){if(!n)return"";const e=/border(-top|-right|-bottom|-left)?\s*:\s*([^;]+);/g,t={},o=n.replace(e,(s,a,c)=>{const u=`border${a||""}`;return t[u]=c.trim(),""});let r=i.map(s=>s==="border"&&t[s]?`border: ${t[s]};`:t[s]?`${s}: ${t[s]};`:"").filter(s=>s).join(" ");return r+=` ${o.trim()}`,r.trim()}function ic(n,i){var r,s,a;const e=new l.ObjectMatrix,t=(r=n.contentDocument)==null?void 0:r.querySelector("table");if(!t)return e;const o=t==null?void 0:t.querySelectorAll("tr");for(let c=0;c<o.length;c++){const d=o[c].querySelectorAll("td, th");let m=0;for(let g=0;g<d.length;){const p=d[g];let f="";const S=Number(p.getAttribute("rowSpan"))||1,v=Number(p.getAttribute("colSpan"))||1;if(f=oc(p),S>1&&v>1&&!f.includes("border-top")&&!f.includes("border-left")){const T=Nr((s=e.getValue(c-1,g))==null?void 0:s.style,"border-bottom"),y=Nr((a=e.getValue(c,g-1))==null?void 0:a.style,"border-right");T&&(f+=`border-top:${T};`),y&&(f+=`border-left:${y};`)}const{cellText:I,cellRichStyle:R}=rc(p,i),_=S>1||v>1?{rowSpan:S,colSpan:v,content:I,style:f,richTextParma:{p:R,v:I}}:{content:I,style:f,richTextParma:{p:R,v:I}};if(e.getValue(c,m)){m+=1;continue}else S>1||v>1?sc(e,f,_,{colSpan:v,rowSpan:S,rowIndex:c,colIndex:g,colSetValueIndex:m}):e.setValue(c,m,_),m+=v,g++}}return e}function Rs(n,i,e,t=new Map){var o;for(const r of i)if(r.nodeType===Node.TEXT_NODE){const s=(o=r.nodeValue)==null?void 0:o.replace(/[\r\n]/g,"");let a;n&&t.has(n)&&(a=t.get(n)),e.dataStream+=s,a&&Object.getOwnPropertyNames(a).length&&e.textRuns.push({st:e.dataStream.length-s.length,ed:e.dataStream.length,ts:a})}else{if(r.nodeType===Node.COMMENT_NODE||r.nodeName==="STYLE")continue;if(r.nodeType===Node.ELEMENT_NODE){const s=n?t.get(n):{},a=getComputedStyle(r),c=Cs(r,a);t.set(r,{...s,...c});const{childNodes:u}=r;Rs(r,u,e,t)}}}function Nr(n,i){if(!n||!i)return null;const e=new RegExp(`(${i}\\s*:\\s*[^;]+);`,"i"),t=n.match(e);return t?t[1]:null}function oc(n){let i="";const e=n.getAttribute("class"),t=getComputedStyle(n);if(e)Ql.forEach(o=>{const[r,s]=o.split("_"),a=t.getPropertyValue(r)||t[s];a&&(i+=`${r}:${a};`)});else{const r=/<\w+\s+[^>]*?style="([^"]*)"/gi.exec(n.outerHTML);r!=null&&r[1]&&(i=r[1])}return Jl.forEach(o=>{const[r,s]=o.split("_"),a=t.getPropertyValue(r)||t[s];a&&(i+=`${r}:${a};`)}),i}function rc(n,i){var r;let e="",t;if(/<[^>]+>/.test(n.innerHTML)&&i){const s={dataStream:"",textRuns:[]};Rs(null,n.childNodes,s);const a=(r=i.getBlankCellDocumentModel())==null?void 0:r.documentModel,c=a==null?void 0:a.getSnapshot(),u=`${s.dataStream}\r
|
|
5
|
+
`,d={...c,body:{dataStream:u,textRuns:s.textRuns,paragraphs:wo(u)}};a==null||a.reset(d),t=a==null?void 0:a.getSnapshot(),e=s.dataStream}else e=nc(n.innerHTML.replace(/[\r\n]/g,""));return{cellText:e,cellRichStyle:t}}function sc(n,i,e,t){const{rowSpan:o,colSpan:r,rowIndex:s,colSetValueIndex:a}=t;if(o===1){for(let c=a;c<a+r;c++)n.setValue(s,c,{style:Pe(i,["border-top","border-bottom"])});n.setValue(s,a+r-1,{style:Pe(i,["border-top","border-bottom","border-right"])}),n.setValue(s,a,{...e,style:Pe(i,["border-top","border-bottom","border-left"])})}else if(r===1){for(let c=s;c<s+o;c++)n.setValue(c,a,{style:Pe(i,["border-left","border-right"])});n.setValue(s+o-1,a,{style:Pe(i,["border-left","border-right","border-bottom"])}),n.setValue(s,a,{...e,style:Pe(i,["border-left","border-right","border-top"])})}else{for(let c=a;c<a+r;c++)n.setValue(s,c,{style:Pe(i,["border-top"])}),n.setValue(s+o-1,c,{style:Pe(i,["border-bottom"])});for(let c=s;c<s+o;c++)n.setValue(c,a,{style:Pe(i,["border-left"])}),n.setValue(c,a+r-1,{style:Pe(i,["border-right"])});n.setValue(s+o-1,a,{style:Pe(i,["border-left","border-bottom"])}),n.setValue(s,a+r-1,{style:Pe(i,["border-right","border-top"])}),n.setValue(s+o-1,a+r-1,{style:Pe(i,["border-right","border-bottom"])}),n.setValue(s,a,{...e,style:Pe(i,["border-top","border-left"])});for(let c=s;c<s+o;c++)for(let u=a;u<a+r;u++)n.getValue(c,u)||n.setValue(c,u,{style:Pe(i,[])})}}var mt=(n=>(n.COPY="COPY",n.CUT="CUT",n))(mt||{});function ac(n,i,e,t,o){const r=e.map(u=>{var d;return(d=u.onCopyRow)==null?void 0:d.call(u,n)}).filter(u=>!!u),s=Zo(r),a=Go(s),c=i.map(u=>{if(!o.has(`${n}-${u}`)){const d=t.getValue(n,u);if(d!=null&&d.rowSpan&&(d!=null&&d.colSpan))for(let m=n;m<n+d.rowSpan;m++)for(let g=u;g<u+d.colSpan;g++)o.add(`${m}-${g}`);return lc(n,u,e,t)}return null}).filter(u=>!!u).join("");return`<tr${a}>${c}</tr>`}function lc(n,i,e,t){const o=t.getValue(n,i),r=e.map(u=>{var d;return(d=u.onCopyCellStyle)==null?void 0:d.call(u,n,i,o==null?void 0:o.rowSpan,o==null?void 0:o.colSpan)}).filter(u=>!!u),s=Zo(r),a=Go(s),c=e.reduce((u,d)=>{var m;return u||((m=d.onCopyCellContent)==null?void 0:m.call(d,n,i))||""},"");return`<td${a}>${c}</td>`}function cc(n,i){return`<colgroup>${n.map(t=>{const o=i.map(a=>{var c;return(c=a.onCopyColumn)==null?void 0:c.call(a,t)}).filter(a=>!!a),r=Zo(o);return`<col ${Go(r)}>`}).join("")}</colgroup>`}function Zo(n){return n.reduce((i,e)=>(Object.keys(e).forEach(o=>{i[o]?i[o]+=`;${e[o]}`:i[o]=e[o]}),i),{})}function Go(n){return Object.keys(n).reduce((i,e)=>(i+=` ${e}="${n[e]}"`,i),"")}function dc(n,i){const e=[];for(let t=n;t<=i;t++)e.push(t);return e}class uc{convert(i,e,t){const{startColumn:o,endColumn:r}=e,s=cc(dc(o,r),t),a=[],c=new Set,{startRow:u,endRow:d,startColumn:m,endColumn:g}=i.getDataRange();for(let f=u;f<=d;f++){const S=Array.from({length:g-m+1},(v,I)=>m+I);a.push(ac(f,S,t,i,c))}return`<google-sheets-html-origin><table xmlns="http://www.w3.org/1999/xhtml" cellspacing="0" cellpadding="0" dir="ltr" style="table-layout:fixed;font-size:10pt;font-family:Arial;width:0px;border-collapse:collapse;border:none">${s}
|
|
6
|
+
<tbody>${a.join("")}</tbody></table>`}}const hc=(n,i,e=!1)=>{const t=m=>m.endRow-m.startRow+1,o=m=>m.endColumn-m.startColumn+1,r=t(i)%t(n),s=o(i)%o(n),a={startRow:0,endRow:t(n)-1,startColumn:0,endColumn:o(n)-1},c=Math.floor(t(i)/t(n)),u=Math.floor(o(i)/o(n)),d=[];if(!r&&!s)for(let m=1;m<=c;m++)for(let g=1;g<=u;g++){const p=t(n)*(m-1),f=o(n)*(g-1),S={startRow:p+i.startRow,endRow:p+i.startRow,startColumn:f+i.startColumn,endColumn:f+i.startColumn};d.push({repeatRelativeRange:a,startRange:S})}else if(!r&&s&&!e)for(let m=1;m<=c;m++){const g=t(n)*(m-1),p=0,f={startRow:g+i.startRow,endRow:g+i.startRow,startColumn:p+i.startColumn,endColumn:p+i.startColumn};d.push({repeatRelativeRange:a,startRange:f})}else if(r&&!s&&!e)for(let m=1;m<=u;m++){const p=o(n)*(m-1),f={startRow:0+i.startRow,endRow:0+i.startRow,startColumn:p+i.startColumn,endColumn:p+i.startColumn};d.push({repeatRelativeRange:a,startRange:f})}else{const m={startRow:i.startRow,endRow:i.startRow,startColumn:i.startColumn,endColumn:i.startColumn};d.push({startRange:m,repeatRelativeRange:a})}return d};async function mc(n){return n?/<td[^>]*class=".*?xl.*?"[^>]*>.*?<\/td>/.test(n):!1}function gc(...n){if(n.length===1)return n[0];const i=new l.ObjectMatrix;return n.forEach(e=>{e&&new l.ObjectMatrix(e).forValue((o,r,s)=>{i.setValue(o,r,{...i.getValue(o,r),...s})})}),i.getMatrix()}function pc(n,i){return n.id===i.id&&n.params.unitId===i.params.unitId&&n.params.subUnitId===i.params.subUnitId}function Mo(n){const i=[];for(let e=0;e<n.length;){let t=1;if(n[e].id===h.SetRangeValuesMutation.id){const o=n[e],r=[o];for(;e+t<n.length&&pc(o,n[e+t]);)r.push(n[e+t]),t+=1;const s=gc(...r.map(a=>a.params.cellValue||{}));i.push({...o,params:{...o.params,cellValue:s}})}else i.push(n[e]);e+=t}return i}function eo(n,i){const{startRow:e,endRow:t,startColumn:o,endColumn:r}=n;for(let s=e;s<=t;s++)for(let a=o;a<=r;a++)if(i.rows.includes(s)&&i.cols.includes(a))return!0}function xr(n,i){const{startRow:e,endRow:t,startColumn:o,endColumn:r}=i;for(let s=e;s<=t;s++)if(!n.rows.includes(s))return!1;for(let s=o;s<=r;s++)if(!n.cols.includes(s))return!1;return!0}var fc=Object.defineProperty,Sc=Object.getOwnPropertyDescriptor,vc=(n,i,e,t)=>{for(var o=t>1?void 0:t?Sc(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&fc(i,e,o),o},De=(n,i)=>(e,t)=>i(e,t,n);const Ee={DEFAULT_COPY:"default-copy",DEFAULT_PASTE:"default-paste",SPECIAL_PASTE_VALUE:"special-paste-value",SPECIAL_PASTE_FORMAT:"special-paste-format",SPECIAL_PASTE_COL_WIDTH:"special-paste-col-width",SPECIAL_PASTE_BESIDES_BORDER:"special-paste-besides-border"};zt.use(zo.PastePluginWord);zt.use(zo.PastePluginLark);zt.use(zo.PastePluginUniver);const Ct=k.createIdentifier("sheet.clipboard-service");exports.SheetClipboardService=class extends l.Disposable{constructor(e,t,o,r,s,a,c,u,d,m,g,p,f){super();w(this,"_clipboardHooks",[]);w(this,"_clipboardHooks$",new O.BehaviorSubject([]));w(this,"clipboardHooks$",this._clipboardHooks$.asObservable());w(this,"_htmlToUSM");w(this,"_usmToHtml");w(this,"_copyContentCache");w(this,"_copyMarkId",null);this._logService=e,this._univerInstanceService=t,this._selectionManagerService=o,this._clipboardInterfaceService=r,this._undoRedoService=s,this._commandService=a,this._markSelectionService=c,this._sheetSkeletonManagerService=u,this._notificationService=d,this._platformService=m,this._localeService=g,this._errorService=p,this._injector=f,this._htmlToUSM=new zt({getCurrentSkeleton:()=>this._sheetSkeletonManagerService.getCurrent()}),this._usmToHtml=new uc,this._copyContentCache=new Gl,this.disposeWithMe(this._htmlToUSM)}copyContentCache(){return this._copyContentCache}generateCopyContent(e,t,o){const r=this._clipboardHooks;r.forEach(a=>{var c;return(c=a.onBeforeCopy)==null?void 0:c.call(a,e,t,o)});const s=this._generateCopyContent(e,t,o,r);return r.forEach(a=>{var c;return(c=a.onAfterCopy)==null?void 0:c.call(a)}),s}async copy(e=mt.COPY){const t=this._selectionManagerService.getLast();if(!t)return!1;const o=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),r=o.getActiveSheet(),s=this.generateCopyContent(o.getUnitId(),r.getSheetId(),t.range);if(!s)return!1;const{html:a,plain:c,matrixFragment:u,copyId:d,discreteRange:m}=s;this._copyContentCache.set(d,{unitId:o.getUnitId(),subUnitId:r.getSheetId(),range:m,matrix:u,copyType:e}),await this._clipboardInterfaceService.write(c,a),this._markSelectionService.removeAllShapes();const g=this._selectionManagerService.createCopyPasteSelection();return this._copyMarkId=this._markSelectionService.addShape({...t,style:g}),!0}async cut(){return this.copy(mt.CUT)}async paste(e,t=Ee.DEFAULT_PASTE){const o=e.types,r=o.indexOf(b.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await e.getType(b.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(a=>a&&a.text()):"",s=o.indexOf(b.HTML_CLIPBOARD_MIME_TYPE)!==-1?await e.getType(b.HTML_CLIPBOARD_MIME_TYPE).then(a=>a&&a.text()):"";return s?this._platformService.isWindows&&await mc(s)?(this._notificationService.show({type:"warning",title:this._localeService.t("clipboard.shortCutNotify.title"),content:this._localeService.t("clipboard.shortCutNotify.useShortCutInstead")}),!1):this._pasteHTML(s,t):r?this._pastePlainText(r,t):(this._logService.error("[SheetClipboardService]","No valid data on clipboard"),!1)}legacyPaste(e,t){return e?this._pasteHTML(e,Ee.DEFAULT_PASTE):t?this._pastePlainText(t,Ee.DEFAULT_PASTE):Promise.resolve(!1)}addClipboardHook(e){if(this._clipboardHooks.findIndex(o=>o.id===e.id)!==-1)return this._logService.error("[SheetClipboardService]","hook already exists",e.id),{dispose:()=>{}};const t=this._clipboardHooks.findIndex(o=>{const r=o.priority||0;return(e.priority||0)<r});return this._clipboardHooks.splice(t!==-1?t:this._clipboardHooks.length,0,e),this._notifyClipboardHook(),l.toDisposable(()=>{const o=this._clipboardHooks.indexOf(e);o>-1&&(this._clipboardHooks.splice(o,1),this._notifyClipboardHook())})}getClipboardHooks(){return this._clipboardHooks}_generateCopyContent(e,t,o,r){const s=this._univerInstanceService.getUniverSheetInstance(e),a=s==null?void 0:s.getSheetBySheetId(t);if(!s||!a)return null;const c=r.reduce((T,y)=>{var P;const M=(P=y.getFilteredOutRows)==null?void 0:P.call(y,o);return M==null||M.forEach(N=>T.add(N)),T},new Set),{startColumn:u,startRow:d,endColumn:m,endRow:g}=o,p=a.getMatrixWithMergedCells(d,u,g,m,!0),f=new l.ObjectMatrix;let S=d;const v={rows:[],cols:[]};for(let T=d;T<=g;T++)if(!c.has(T)){v.rows.push(T);for(let y=u;y<=m;y++){const M=p.getValue(T,y);M?f.setValue(S-d,y-u,{...Dr(),...l.Tools.deepClone(M)}):f.setValue(S-d,y-u,Dr())}S+=1}for(let T=u;T<=m;T++)v.cols.push(T);let I=this._usmToHtml.convert(p,o,r);const R=Cc(f),_=Yl();return I=I.replace(/(<[a-z]+)/,(T,y)=>`${y} data-copy-id="${_}"`),{copyId:_,plain:R,html:I,matrixFragment:f,discreteRange:v}}_notifyClipboardHook(){this._clipboardHooks$.next(this._clipboardHooks)}async _pastePlainText(e,t){const o=this._getPastingTarget();if(!o.selection)return!1;const r={get:this._injector.get.bind(this._injector)},s=Bt(o.selection.range,r,o.unitId,o.subUnitId);if(!s)return!1;const{unitId:a,subUnitId:c}=o,u=this._clipboardHooks,d=[];if(u.some(S=>{var v;return d.push(S)&&((v=S.onBeforePaste)==null?void 0:v.call(S,{unitId:a,subUnitId:c,range:s}))===!1}))return d.forEach(S=>{var v;return(v=S.onAfterPaste)==null?void 0:v.call(S,!1)}),!1;const g=[],p=[];d.forEach(S=>{var I;const v=(I=S.onPastePlainText)==null?void 0:I.call(S,{unitId:a,subUnitId:c,range:s},e,{pasteType:t});v&&(g.push(...v.redos),p.push(...v.undos))});const f=g.every(S=>this._commandService.executeCommand(S.id,S.params));return f&&this._undoRedoService.pushUndoRedo({unitID:this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getUnitId(),undoMutations:p,redoMutations:g}),f}async _pasteHTML(e,t){const o=Zl(e);return o&&this._copyContentCache.get(o)?this._pasteInternal(o,t):this._pasteExternal(e,t)}async _pasteExternal(e,t){var d;const{rowProperties:o,colProperties:r,cellMatrix:s}=this._htmlToUSM.convert(e);if(!s)return!1;const a=this._getPastedRange(s);if(!a)return!1;const c=(d=this._univerInstanceService.getUniverSheetInstance(a.unitId))==null?void 0:d.getSheetBySheetId(a.subUnitId);if(!c)return!1;const u=c==null?void 0:c.getMergeData();return u&&u.some(g=>eo(g,a.pastedRange)&&!xr(a.pastedRange,g))?(this._errorService.emit(this._localeService.t("clipboard.paste.overlappingMergedCells")),!1):this._pasteUSM({rowProperties:o,colProperties:r,cellMatrix:s},a,t)}async _pasteInternal(e,t){var T,y;const o=l.Tools.deepClone(this._copyContentCache.get(e)),{range:r,matrix:s,unitId:a,subUnitId:c}=o||{};if(!s||!o||!r||!a||!c||!s||!o)return!1;const u=(T=this._univerInstanceService.getUniverSheetInstance(a))==null?void 0:T.getStyles();s.forValue((M,P,N)=>{if(typeof N.s=="string"){const D=l.Tools.deepClone(N);D.s=u==null?void 0:u.getStyleByCell(N),s.setValue(M,P,D)}});const d=this._getPastedRange(s);if(!d)return!1;const m=(y=this._univerInstanceService.getUniverSheetInstance(d.unitId))==null?void 0:y.getSheetBySheetId(d.subUnitId);if(!m)return!1;const g=m==null?void 0:m.getMergeData();if(g&&g.some(P=>eo(P,d.pastedRange)&&!xr(d.pastedRange,P)))return this._errorService.emit(this._localeService.t("clipboard.paste.overlappingMergedCells")),!1;const p=m.getColumnManager(),f=m.getRowManager(),S=m.getConfig().defaultColumnWidth,v=m.getConfig().defaultRowHeight,I=[],R=[];if(r.cols.forEach(M=>{const P=p.getColumnOrCreate(M);I.push({width:`${P.w||S}`})}),r.rows.forEach(M=>{const P=f.getRowOrCreate(M);R.push({height:`${P.ah||P.h||v}`})}),o.copyType===mt.CUT){const M=d.pastedRange.rows[0],P=r.rows[r.rows.length-1]-r.rows[0]+M;d.pastedRange.rows=Array.from(new Array(P+1).keys()).slice(M)}const _=this._pasteUSM({cellMatrix:s,colProperties:I,rowProperties:R},d,t,{range:r,unitId:o.unitId,subUnitId:o.subUnitId,copyType:o.copyType,copyId:e});return o.copyType===mt.CUT&&(this._copyContentCache.set(e,{...o,matrix:null}),this._copyMarkId&&this._markSelectionService.removeShape(this._copyMarkId),this._copyMarkId=null),_}_pasteUSM(e,t,o,r){const{rowProperties:s,colProperties:a,cellMatrix:c}=e,{unitId:u,subUnitId:d,pastedRange:m}=t,g=m.cols.length,p=this._clipboardHooks,f=[];if(p.some(P=>{var N;return f.push(P)&&((N=P.onBeforePaste)==null?void 0:N.call(P,{unitId:u,subUnitId:d,range:m}))===!1}))return f.forEach(P=>{var N;return(N=P.onAfterPaste)==null?void 0:N.call(P,!1)}),!1;if(!c)return!1;const v=r?{unitId:r.unitId,subUnitId:r.subUnitId,range:r.range}:null,I={copyType:(r==null?void 0:r.copyType)||mt.COPY,copyId:r==null?void 0:r.copyId,pasteType:o};let R=[],_=[];f.filter(P=>!P.specialPasteInfo&&P.id!==Ee.DEFAULT_PASTE||o===P.id).forEach(P=>{var A,x,L;if(s){const U=(A=P.onPasteRows)==null?void 0:A.call(P,{range:m,unitId:u,subUnitId:d},s,{pasteType:o});U&&(R.push(...U.redos),_.push(...U.undos))}const N=(x=P.onPasteColumns)==null?void 0:x.call(P,{range:m,unitId:u,subUnitId:d},a||new Array(g).map(()=>({})),{pasteType:o});N&&(R.push(...N.redos),_.push(...N.undos));const D=(L=P.onPasteCells)==null?void 0:L.call(P,v,{range:m,unitId:u,subUnitId:d},c,I);D&&(R.push(...D.redos),_.push(...D.undos))});const y=this._getSetSelectionOperation(u,d,m,c);y&&R.push(y),R=Mo(R),_=Mo(_),this._logService.log("[SheetClipboardService]","pasting mutations",{undoMutationsInfo:_,redoMutationsInfo:R});const M=R.every(P=>this._commandService.executeCommand(P.id,P.params));return M&&this._undoRedoService.pushUndoRedo({unitID:u,undoMutations:_,redoMutations:R}),M}_getSetSelectionOperation(e,t,o,r){var _;const s=(_=this._univerInstanceService.getUniverSheetInstance(e))==null?void 0:_.getSheetBySheetId(t);if(!s)return null;const{rows:a,cols:c}=o,u=a[0],d=c[0],m=a[a.length-1],g=c[c.length-1],p={startRow:u,endRow:u,startColumn:d,endColumn:d},f=h.getPrimaryForRange(p,s),S=r.getValue(0,0),v=(S==null?void 0:S.rowSpan)||1,I=(S==null?void 0:S.colSpan)||1;if(v>1||I>1){const T={startRow:u,endRow:u+v-1,startColumn:d,endColumn:d+I-1};f.startRow=T.startRow,f.endRow=T.endRow,f.startColumn=T.startColumn,f.endColumn=T.endColumn,f.isMerged=!0,f.isMergedMainCell=!0}const R={unitId:e,subUnitId:t,pluginName:h.NORMAL_SELECTION_PLUGIN_NAME,selections:[{range:{startRow:u,endRow:m,startColumn:d,endColumn:g},primary:f,style:null}]};return{id:h.SetSelectionsOperation.id,params:R}}_getPastingTarget(){const e=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),t=e.getActiveSheet(),o=this._selectionManagerService.getLast();return{unitId:e.getUnitId(),subUnitId:t.getSheetId(),selection:o}}_transformPastedData(e,t,o){const r=this._getPastingTarget(),{selection:s,unitId:a,subUnitId:c}=r;if(!s)return null;const u={get:this._injector.get.bind(this._injector)},d=Bt(s.range,u,a,c);if(!d)return null;const{ranges:[m],mapFunc:g}=Zt([d]),{startRow:p,startColumn:f,endRow:S,endColumn:v}=m,I=S-p+1,R=v-f+1,_=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),T=_==null?void 0:_.getActiveSheet();if(!T)return null;const M=T.getMergeData().filter(L=>d.rows.includes(L.startRow)&&d.cols.includes(L.startColumn)),P=M[0];let N=0,D=0,A=0,x=0;if(P&&(N=P.startRow,D=P.startColumn,A=P.endRow,x=P.endColumn),I%e===0&&R%t===0)if(M.length>0&&(I!==e||R!==t))if(N===d.rows[0]&&D===d.cols[0]&&A===d.rows[I-1]&&x===d.cols[R-1])if(Tc(o))for(let U=0;U<I;U++)for(let H=0;H<R;H++){const W=o.getValue(U%e,H%t);W&&o.setValue(U,H,W)}else o.forValue((U,H,W)=>{W.s=null,delete W.colSpan,delete W.rowSpan});else for(let L=0;L<I;L++)for(let U=0;U<R;U++){const H=o.getValue(L%e,U%t);H&&o.setValue(L,U,H)}else for(let L=0;L<I;L++)for(let U=0;U<R;U++){const H=o.getValue(L%e,U%t);H&&o.setValue(L,U,H)}else if(M.length>0){const{row:L,col:U}=g(p,f);if(this._topLeftCellsMatch(e,t,{topRow:L,leftCol:U})){const W=this._expandOrShrinkRowsCols(a,c,d,t,e);d.rows=W.rows,d.cols=W.cols}else{if(S>P.endRow||v>P.endColumn)return null;o.forValue((W,z,q)=>{q.s=null,delete q.colSpan,delete q.rowSpan})}}else{const L=this._expandOrShrinkRowsCols(a,c,d,t,e);d.rows=L.rows,d.cols=L.cols}return{pastedRange:d,unitId:a,subUnitId:c}}_getPastedRange(e){var T;const t=this._getPastingTarget(),{selection:o,unitId:r,subUnitId:s}=t;if(!o)return null;const a={get:this._injector.get.bind(this._injector)},c=Bt(o.range,a,r,s);if(!c)return null;const{startColumn:u,endColumn:d,startRow:m,endRow:g}=e.getDataRange(),p=g-m+1,f=d-u+1,S=c.rows.length,v=c.cols.length,I=(T=this._univerInstanceService.getUniverSheetInstance(r))==null?void 0:T.getSheetBySheetId(s);if(!I)return null;const R=I==null?void 0:I.getMergeData();if(S%p===0&&v%f===0&&!(R==null?void 0:R.some(M=>eo(M,c)))){for(let M=0;M<S;M++)for(let P=0;P<v;P++){const N=e.getValue(M%p,P%f);N&&e.setValue(M,P,N)}return{pastedRange:c,unitId:r,subUnitId:s}}const _=this._expandOrShrinkRowsCols(r,s,c,f,p);return c.rows=_.rows,c.cols=_.cols,{pastedRange:c,unitId:r,subUnitId:s}}_expandOrShrinkRowsCols(e,t,o,r,s){const{rows:a,cols:c}=o,u=this._univerInstanceService.getUniverSheetInstance(e),d=u==null?void 0:u.getSheetBySheetId(t);let m,g;if(a.length>=s)m=a.slice(0,s);else{m=a.slice(0);let p=a[a.length-1]+1;for(;m.length<s;)d.getRowFiltered(p)||m.push(p),p++}if(c.length>=r)g=c.slice(0,r);else{g=c.slice(0);let p=c[c.length-1]+1;for(;g.length<r;)g.push(p),p++}return{rows:m,cols:g}}_topLeftCellsMatch(e,t,o){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),s=r==null?void 0:r.getActiveSheet();if(!s)return!1;const{topRow:a,leftCol:c}=o,u=bc(a+e-1,c,c+t-1,s),d=_c(c+t-1,a,a+e-1,s);return!u&&!d}};exports.SheetClipboardService=vc([De(0,l.ILogService),De(1,l.IUniverInstanceService),De(2,k.Inject(h.SelectionManagerService)),De(3,b.IClipboardInterfaceService),De(4,l.IUndoRedoService),De(5,l.ICommandService),De(6,Gt),De(7,k.Inject(exports.SheetSkeletonManagerService)),De(8,b.INotificationService),De(9,b.IPlatformService),De(10,k.Inject(l.LocaleService)),De(11,k.Inject(l.ErrorService)),De(12,k.Inject(k.Injector))],exports.SheetClipboardService);function Cc(n){let i="";const e=n.getLength();return n.forRow((t,o)=>{const r=[];o.forEach(s=>{const a=n.getValue(t,s);if(a){const c=Ic(a);r.push(c)}}),i+=r.join(" "),t!==e-1&&(i+=`
|
|
7
|
+
`)}),i}function Ic(n){const i=l.extractPureTextFromCell(n);return Rc((i==null?void 0:i.toString())||"")}const Rc=n=>n.replace(/&/g,"&").replace(/\uFEFF/g,"").replace(/</g,"<").replace(/>/g,">");function bc(n,i,e,t){return t.getMergeData().some(o=>o.startRow<=n&&n<o.endRow&&i<=o.startColumn&&o.startColumn<=e)}function _c(n,i,e,t){return t.getMergeData().some(o=>o.startColumn<=n&&n<o.endColumn&&i<=o.startRow&&o.startRow<=e)}function Tc(n){let i=0;return n.forValue((e,t,o)=>{if(o&&i++,i>1)return!1}),i>1}function Dr(){return{p:null,v:null,s:null,f:null,si:null,t:null}}const qo=998,Ko={id:b.CopyCommand.id,name:"sheet.command.copy",type:l.CommandType.COMMAND,multi:!0,priority:qo,preconditions:Yo,handler:async n=>n.get(Ct).copy()},Qo={id:b.CutCommand.id,name:"sheet.command.cut",type:l.CommandType.COMMAND,multi:!0,priority:qo,preconditions:Yo,handler:async n=>n.get(Ct).cut()},qt={id:b.PasteCommand.id,type:l.CommandType.COMMAND,multi:!0,name:"sheet.command.paste",priority:qo,preconditions:Yo,handler:async(n,i)=>{const t=await n.get(b.IClipboardInterfaceService).read(),o=n.get(Ct);return t.length!==0?o.paste(t[0],i==null?void 0:i.value):!1}},Ti={id:"sheet.command.paste-bu-short-key",type:l.CommandType.COMMAND,handler:async(n,i)=>{const e=n.get(Ct),{htmlContent:t,textContent:o}=i;return e.legacyPaste(t,o),!0}},bs={id:"sheet.command.paste-value",type:l.CommandType.COMMAND,handler:async n=>n.get(l.ICommandService).executeCommand(qt.id,{value:Ee.SPECIAL_PASTE_VALUE})},_s={id:"sheet.command.paste-format",type:l.CommandType.COMMAND,handler:async n=>n.get(l.ICommandService).executeCommand(qt.id,{value:Ee.SPECIAL_PASTE_FORMAT})},Li={id:"sheet.command.paste-col-width",type:l.CommandType.COMMAND,handler:async n=>n.get(l.ICommandService).executeCommand(qt.id,{value:Ee.SPECIAL_PASTE_COL_WIDTH})},Ts={id:"sheet.command.paste-besides-border",type:l.CommandType.COMMAND,handler:async n=>n.get(l.ICommandService).executeCommand(qt.id,{value:Ee.SPECIAL_PASTE_BESIDES_BORDER})};var Hi=(n=>(n.MergeAll="mergeAll",n.MergeVertical="mergeVertical",n.MergeHorizontal="mergeHorizontal",n))(Hi||{});function gt(n,i,e,t,o=!0,r=1,s=!0){let a={...n};t==null&&(t={startRow:0,endRow:e.getRowCount()-1,startColumn:0,endColumn:e.getColumnCount()-1});let c;switch(i){case l.Direction.UP:for(c=n.startRow-r;c>-1&&!e.getRowVisible(c);)c-=1;c>=t.startRow?(a.startRow=c,a.endRow=c):s&&(a.startRow=t.endRow,a.endRow=t.endRow,o&&(a=gt(a,l.Direction.LEFT,e,t,!1)));break;case l.Direction.DOWN:for(c=n.endRow+r;c<e.getRowCount()&&!e.getRowVisible(c);)c+=1;c<=t.endRow?(a.startRow=c,a.endRow=c):s&&(a.startRow=t.startRow,a.endRow=t.startRow,o&&(a=gt(a,l.Direction.RIGHT,e,t,!1)));break;case l.Direction.LEFT:for(c=n.startColumn-r;c>-1&&!e.getColVisible(c);)c-=1;c>=t.startColumn?(a.startColumn=c,a.endColumn=c):s&&(a.startColumn=t.endColumn,a.endColumn=t.endColumn,o&&(a=gt(a,l.Direction.UP,e,t,!1)));break;case l.Direction.RIGHT:for(c=n.endColumn+r;c<e.getColumnCount()&&!e.getColVisible(c);)c+=1;c<=t.endColumn?(a.startColumn=c,a.endColumn=c):s&&(a.startColumn=t.startColumn,a.endColumn=t.startColumn,o&&(a=gt(a,l.Direction.DOWN,e,t,!1)));break}return a}function Jo(n,i,e){const t={...n},{startRow:o,startColumn:r,endRow:s,endColumn:a}=bn(n,i,e);let c=rn(e,o,r,s,a).hasValue,u=!0,d=!0;for(;d;){if(l.Direction.UP===i){let m=t.startRow-1;for(;m>-1&&!e.getRowVisible(m);)m-=1;if(m===-1){d=!1;break}const{hasValue:g,matrix:p}=rn(e,m,t.startColumn,m,t.endColumn);if(c&&!g&&!u){d=!1;break}else{if(p.getLength()!==0){let f=m;p.forValue(S=>{f=Math.min(S,f)}),t.startRow=f}else t.startRow=m;if(t.endRow=t.startRow,!c&&g){d=!1;break}c=g,u=!1}}if(l.Direction.DOWN===i){let m=t.endRow+1;for(;m<e.getRowCount()&&!e.getRowVisible(m);)m+=1;if(m===e.getRowCount()){d=!1;break}const{hasValue:g,matrix:p}=rn(e,m,t.startColumn,m,t.endColumn);if(c&&!g&&!u){d=!1;break}else{if(p.getLength()!==0){let f=m;p.forValue((S,v,I)=>{f=Math.max(S+(I.rowSpan||1)-1,f)}),t.endRow=f}else t.endRow=m;if(t.startRow=t.endRow,!c&&g){d=!1;break}c=g,u=!1}}if(l.Direction.LEFT===i){let m=t.startColumn-1;for(;m>-1&&!e.getColVisible(m);)m-=1;if(m===-1){d=!1;break}const{hasValue:g,matrix:p}=rn(e,t.startRow,m,t.endRow,m);if(c&&!g&&!u){d=!1;break}else{if(p.getLength()!==0){let f=m;p.forValue((S,v)=>{f=Math.min(v,f)}),t.startColumn=f}else t.startColumn=m;if(t.endColumn=t.startColumn,!c&&g){d=!1;break}c=g,u=!1}}if(l.Direction.RIGHT===i){let m=t.endColumn+1;for(;m<e.getColumnCount()&&!e.getColVisible(m);)m+=1;if(m===e.getColumnCount()){d=!1;break}const{hasValue:g,matrix:p}=rn(e,t.startRow,m,t.endRow,m);if(c&&!g&&!u){d=!1;break}else{if(p.getLength()!==0){let f=m;p.forValue((S,v,I)=>{f=Math.max(v+(I.colSpan||1)-1,f)}),t.endColumn=f}else t.endColumn=m;if(t.startColumn=t.endColumn,!c&&g){d=!1;break}c=g,u=!1}}}return h.alignToMergedCellsBorders(t,e,!0)}function ws(n,i,e){return gt(n,i,e,void 0,!1,1,!1)}function wc(n,i,e){const t=Jo(n,i,e);return h.alignToMergedCellsBorders(l.Rectangle.union(t,n),e,!0)}function Mc(n,i,e){const t=ws(n,i,e),o={startRow:Math.min(n.startRow,t.startRow),startColumn:Math.min(n.startColumn,t.startColumn),endRow:Math.max(n.endRow,t.endRow),endColumn:Math.max(n.endColumn,t.endColumn)};return h.alignToMergedCellsBorders(l.Rectangle.union(n,o),e)}function yc(n,i,e,t){const o=l.getReverseDirection(e),r=Jo(bn(n,o,t),e,t);return e===l.Direction.UP&&r.startRow<=n.startRow?h.alignToMergedCellsBorders({...i,startColumn:n.startColumn,endColumn:n.endColumn},t,!0):e===l.Direction.DOWN&&r.endRow>=n.endRow?h.alignToMergedCellsBorders({...i,startColumn:n.startColumn,endColumn:n.endColumn},t,!0):e===l.Direction.LEFT&&r.startColumn<=n.startColumn?h.alignToMergedCellsBorders({...i,startRow:n.startRow,endRow:n.endRow},t,!0):e===l.Direction.RIGHT&&r.endColumn>=n.endColumn?h.alignToMergedCellsBorders({...i,startRow:n.startRow,endRow:n.endRow},t,!0):l.Rectangle.union(l.Rectangle.clone(i),r)}function Pc(n,i,e){const t=l.getReverseDirection(i),o=bn(n,t,e),r=bn(n,i,e),s=ws(o,i,e);return h.alignToMergedCellsBorders(l.Rectangle.union(r,s),e,!1)}function Ms(n,i,e){const{left:t,right:o,up:r,down:s}=i,a=e.getMaxRows(),c=e.getMaxColumns();let u=!0;const d={...n};for(;u;){if(u=!1,r&&d.startRow!==0){const m=d.startRow-1;e.getMatrixWithMergedCells(m,d.startColumn,m,d.endColumn).forValue((p,f,S)=>{mn(S)&&(d.startRow=Math.min(p,d.startRow),d.startColumn=Math.min(f,d.startColumn),d.endColumn=Math.max(f,d.endColumn),u=!0)})}if(s&&d.endRow!==a-1){const m=d.endRow+1;e.getMatrixWithMergedCells(m,d.startColumn,m,d.endColumn).forValue((p,f,S)=>{mn(S)&&(d.endRow=Math.max(p+(S.rowSpan!==void 0?S.rowSpan-1:0),d.endRow),d.startColumn=Math.min(f,d.startColumn),d.endColumn=Math.max(f,d.endColumn),u=!0)})}if(t&&d.startColumn!==0){const m=d.startColumn-1;e.getMatrixWithMergedCells(d.startRow,m,d.endRow,m).forValue((p,f,S)=>{mn(S)&&(d.startColumn=Math.min(f,d.startColumn),d.startRow=Math.min(p,d.startRow),d.endRow=Math.max(p,d.endRow),u=!0)})}if(o&&d.endColumn!==c-1){const m=d.endColumn+1;e.getMatrixWithMergedCells(d.startRow,m,d.endRow,m).forValue((p,f,S)=>{mn(S)&&(d.endColumn=Math.max(f+(S.colSpan!==void 0?S.colSpan-1:0),d.endColumn),d.startRow=Math.min(p,d.startRow),d.endRow=Math.max(p,d.endRow),u=!0)})}}return d}function kr(n){return{startRow:0,startColumn:0,endRow:n.getRowCount()-1,endColumn:n.getColumnCount()-1,rangeType:l.RANGE_TYPE.ALL}}function bn(n,i,e){let t;switch(i){case l.Direction.UP:t={startRow:n.startRow,startColumn:n.startColumn,endRow:n.startRow,endColumn:n.endColumn,rangeType:l.RANGE_TYPE.NORMAL};break;case l.Direction.DOWN:t={startRow:n.endRow,startColumn:n.startColumn,endRow:n.endRow,endColumn:n.endColumn,rangeType:l.RANGE_TYPE.NORMAL};break;case l.Direction.LEFT:t={startRow:n.startRow,startColumn:n.startColumn,endRow:n.endRow,endColumn:n.startColumn,rangeType:l.RANGE_TYPE.NORMAL};break;case l.Direction.RIGHT:t={startRow:n.startRow,startColumn:n.endColumn,endRow:n.endRow,endColumn:n.endColumn,rangeType:l.RANGE_TYPE.NORMAL};break;default:throw new Error("Invalid direction")}return h.alignToMergedCellsBorders(t,e,!1)}function rn(n,i,e,t,o){let r=!1;const s=n.getMatrixWithMergedCells(i,e,t,o).forValue((a,c,u)=>{if(mn(u))return r=!0,!1});return{hasValue:r,matrix:s}}function yo(n,i,e){const t=l.Rectangle.clone(n);if(i==null)return t;switch(e){case l.Direction.UP:case l.Direction.DOWN:t.startColumn=t.endColumn=i.actualColumn;break;case l.Direction.LEFT:case l.Direction.RIGHT:t.startRow=t.endRow=i.actualRow;break}return t}function Ec(n,i,e){const{primary:t,range:o}=n,r=l.Rectangle.clone(o);switch(i){case l.Direction.UP:case l.Direction.DOWN:r.startRow=t.startRow,r.endRow=t.endRow;break;case l.Direction.LEFT:case l.Direction.RIGHT:r.startColumn=t.startColumn,r.endColumn=t.endColumn;break}const s=bn(r,i,e);switch(i){case l.Direction.DOWN:return o.startRow<s.startRow;case l.Direction.UP:return o.endRow>s.endRow;case l.Direction.LEFT:return s.endColumn<o.endColumn;case l.Direction.RIGHT:return s.startColumn>o.startColumn}}function ys(n,i){let e=n[0].startRow,t=n[0].endRow;n.forEach(r=>{const{startRow:s,endRow:a}=r;e=Math.min(e,s),t=Math.max(t,a)});const o=new Array(t-e+1).fill(!1);return i.forEach(r=>{const{startRow:s,endRow:a}=r;for(let c=Math.max(s,e);c<=Math.min(a,t);c++)o[c-e]=!0}),n.every(r=>{const{startRow:s,endRow:a}=r;for(let c=s;c<=a;c++)if(!o[c-e])return!1;return!0})}function Ps(n,i){let e=n[0].startColumn,t=n[0].endColumn;n.forEach(r=>{const{startColumn:s,endColumn:a}=r;e=Math.min(e,s),t=Math.max(t,a)});const o=new Array(t-e+1).fill(!1);return i.forEach(r=>{const{startColumn:s,endColumn:a}=r;for(let c=Math.max(s,e);c<=Math.min(a,t);c++)o[c-e]=!0}),n.every(r=>{const{startColumn:s,endColumn:a}=r;for(let c=s;c<=a;c++)if(!o[c-e])return!1;return!0})}function $o(n,i){return i?n==="mergeAll"?i.filter(e=>!(e.startRow===e.endRow&&e.startColumn===e.endColumn)):n==="mergeVertical"?i.filter(e=>e.startRow!==e.endRow):n==="mergeHorizontal"?i.filter(e=>e.startColumn!==e.endColumn):i:null}function mn(n){return n.v!==void 0&&n.v!==null&&n.v!==""||n.p!==void 0}var Oc=Object.defineProperty,Ac=Object.getOwnPropertyDescriptor,Nc=(n,i,e,t)=>{for(var o=t>1?void 0:t?Ac(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&Oc(i,e,o),o},Lr=(n,i)=>(e,t)=>i(e,t,n);let _n=class{constructor(n,i){w(this,"_current",null);w(this,"_shortcutParam",[]);this._univerInstanceService=n,this._localeService=i}dispose(){this._shortcutParam=[]}getCurrentBySearch(n){return this._getCurrentBySearch(n)}getCurrent(){return this._getCurrentBySearch(this._current)}addOrUpdate(n){const i=this._getCurrentBySearch({unitId:n.unitId,sheetId:n.sheetId,keycode:n.keycode});if(i!=null){const e=this._shortcutParam.indexOf(i);this._shortcutParam.splice(e,1)}return this._shortcutParam.push(n),i}remove(n){if(n==null)return;const i=this._getCurrentBySearch(n);if(i==null)return;const e=this._shortcutParam.indexOf(i);return this._shortcutParam.splice(e,1)[0]}_getCurrentBySearch(n){return n==null?void 0:this._shortcutParam.find(e=>e.unitId===n.unitId&&e.sheetId===n.sheetId&&e.keycode===n.keycode)}};_n=Nc([Lr(0,l.IUniverInstanceService),Lr(1,k.Inject(l.LocaleService))],_n);var et=(n=>(n[n.moveStopeOne=0]="moveStopeOne",n[n.moveGap=1]="moveGap",n[n.moveStepPage=2]="moveStepPage",n[n.moveStepEnd=3]="moveStepEnd",n))(et||{});const Fe={id:"sheet.command.move-selection",type:l.CommandType.COMMAND,handler:async(n,i)=>{if(!i)return!1;const e=h.getSheetCommandTarget(n.get(l.IUniverInstanceService));if(!e)return!1;const{workbook:t,worksheet:o}=e,r=n.get(h.SelectionManagerService).getLast();if(!r)return!1;const{direction:s,jumpOver:a}=i,{range:c,primary:u}=r,d=yo(c,u,s),m=a===1?Jo(d,s,o):gt(d,s,o),g=h.getCellAtRowCol(m.startRow,m.startColumn,o);return l.Rectangle.equals(g,d)?!1:(n.get(_n).remove({unitId:t.getUnitId(),sheetId:o.getSheetId(),keycode:b.KeyCode.TAB}),n.get(l.ICommandService).executeCommand(h.SetSelectionsOperation.id,{unitId:t.getUnitId(),subUnitId:o.getSheetId(),pluginName:h.NORMAL_SELECTION_PLUGIN_NAME,selections:[{range:l.Rectangle.clone(g),primary:{startRow:g.startRow,startColumn:g.startColumn,endRow:g.endRow,endColumn:g.endColumn,actualRow:m.startRow,actualColumn:m.startColumn,isMerged:g.isMerged,isMergedMainCell:g.startRow===m.startRow&&g.startColumn===m.startColumn}}]}))}},At={id:"sheet.command.move-selection-enter-tab",type:l.CommandType.COMMAND,handler:async(n,i)=>{if(!i)return!1;const e=h.getSheetCommandTarget(n.get(l.IUniverInstanceService));if(!e)return!1;const{workbook:t,worksheet:o}=e,r=n.get(h.SelectionManagerService).getLast();if(!r)return!1;const s=t.getUnitId(),a=o.getSheetId();if(!r)return!1;const{direction:c,keycode:u}=i,{range:d,primary:m}=r;let g=yo(d,m,c);const p=n.get(_n),f=p.getCurrentBySearch({unitId:s,sheetId:a,keycode:b.KeyCode.TAB});let S;const{startRow:v,endRow:I,startColumn:R,endColumn:_}=d;if(l.Rectangle.equals(d,m)){if(u===b.KeyCode.TAB)f==null&&p.addOrUpdate({unitId:s,sheetId:a,keycode:b.KeyCode.TAB,selection:r});else{const M=f==null?void 0:f.selection;if(M!=null){const{range:P,primary:N}=M;g=yo(P,N,c)}p.remove({unitId:s,sheetId:a,keycode:b.KeyCode.TAB})}const T=gt(g,c,o),y=h.getCellAtRowCol(T.startRow,T.startColumn,o);if(l.Rectangle.equals(y,g))return!1;S={range:l.Rectangle.clone(y),primary:{startRow:y.startRow,startColumn:y.startColumn,endRow:y.endRow,endColumn:y.endColumn,actualRow:T.startRow,actualColumn:T.startColumn,isMerged:y.isMerged,isMergedMainCell:y.startRow===T.startRow&&y.startColumn===T.startColumn}}}else{p.remove({unitId:s,sheetId:a,keycode:b.KeyCode.TAB});const T=l.Tools.deepClone(m),y=gt({startRow:T.startRow,startColumn:T.startColumn,endRow:T.endRow,endColumn:T.endColumn},c,o,{startRow:v,endRow:I,startColumn:R,endColumn:_}),M=h.getCellAtRowCol(y.startRow,y.startColumn,o);S={range:l.Rectangle.clone(d),primary:{startRow:M.startRow,startColumn:M.startColumn,endRow:M.endRow,endColumn:M.endColumn,actualRow:y.startRow,actualColumn:y.startColumn,isMerged:M.isMerged,isMergedMainCell:M.startRow===y.startRow&&M.startColumn===y.startColumn}}}return n.get(l.ICommandService).executeCommand(h.SetSelectionsOperation.id,{unitId:s,subUnitId:a,pluginName:h.NORMAL_SELECTION_PLUGIN_NAME,selections:[S]})}},Ye={id:"sheet.command.expand-selection",type:l.CommandType.COMMAND,handler:async(n,i)=>{if(!i)return!1;const e=h.getSheetCommandTarget(n.get(l.IUniverInstanceService));if(!e)return!1;const{worksheet:t,unitId:o,subUnitId:r}=e,s=n.get(h.SelectionManagerService).getLast();if(!s)return!1;const{range:a,primary:c}=s,{jumpOver:u,direction:d}=i,g=Ec(s,d,t)?u===1?yc(a,{...l.Rectangle.clone(c),rangeType:l.RANGE_TYPE.NORMAL},d,t):Pc(a,d,t):u===1?wc(a,d,t):Mc(a,d,t);return l.Rectangle.equals(g,a)?!1:n.get(l.ICommandService).executeCommand(h.SetSelectionsOperation.id,{unitId:o,subUnitId:r,pluginName:h.NORMAL_SELECTION_PLUGIN_NAME,selections:[{range:g,primary:c}]})}};let Ge=[],to="";const Es={id:"sheet.command.select-all",type:l.CommandType.COMMAND,onDispose(){Ge=[],to=""},handler:async(n,i={expandToGapFirst:!0,loop:!1})=>{const e=n.get(h.SelectionManagerService).getLast(),t=h.getSheetCommandTarget(n.get(l.IUniverInstanceService));if(!t)return!1;const{worksheet:o,unitId:r,subUnitId:s}=t;if(!e||!o)return!1;const a=`${r}|${s}`;a!==to&&(Ge=[],to=a);const c=o.getMaxRows(),u=o.getMaxColumns(),{expandToGapFirst:d,loop:m}=i,{range:g,primary:p}=e,f=g.endColumn===u-1&&g.endRow===c-1&&g.startRow===0&&g.startColumn===0;Ge.some(v=>l.Rectangle.equals(v,g))||(Ge=[],Ge.push(g));let S;if(f)if(m){if(Ge.findIndex(I=>l.Rectangle.equals(I,g))!==Ge.length-1)return!1;S=Ge[0]}else return!1;else d?(S=Ms(g,{left:!0,right:!0,up:!0,down:!0},o),l.Rectangle.equals(S,g)&&(S=kr(o))):S=kr(o);return Ge.some(v=>l.Rectangle.equals(v,S))||Ge.push(S),n.get(l.ICommandService).executeCommand(h.SetSelectionsOperation.id,{unitId:r,subUnitId:s,pluginName:h.NORMAL_SELECTION_PLUGIN_NAME,selections:[{range:S,primary:p}]})}};var xc=Object.defineProperty,Dc=Object.getOwnPropertyDescriptor,kc=(n,i,e,t)=>{for(var o=t>1?void 0:t?Dc(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&xc(i,e,o),o},sn=(n,i)=>(e,t)=>i(e,t,n);const Lc=l.createInterceptorKey("BEFORE_CELL_EDIT"),Hc=l.createInterceptorKey("AFTER_CELL_EDIT"),Vc=l.createInterceptorKey("AFTER_CELL_EDIT_ASYNC");exports.EditorBridgeService=class extends l.Disposable{constructor(e,t,o,r,s){super();w(this,"_editorUnitId",l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);w(this,"_isForceKeepVisible",!1);w(this,"_editorIsDirty",!1);w(this,"_visible",{visible:!1,eventType:E.DeviceInputEventType.Dblclick});w(this,"_currentEditCell",null);w(this,"_currentEditCellState",null);w(this,"_currentEditCellState$",new O.BehaviorSubject(null));w(this,"currentEditCellState$",this._currentEditCellState$.asObservable());w(this,"_visible$",new O.BehaviorSubject(this._visible));w(this,"visible$",this._visible$.asObservable());w(this,"_afterVisible$",new O.BehaviorSubject(this._visible));w(this,"afterVisible$",this._afterVisible$.asObservable());w(this,"interceptor",new l.InterceptorManager({BEFORE_CELL_EDIT:Lc,AFTER_CELL_EDIT:Hc,AFTER_CELL_EDIT_ASYNC:Vc}));this._sheetSkeletonManagerService=e,this._selectionRenderService=t,this._themeService=o,this._univerInstanceService=r,this._editorService=s,this.disposeWithMe(l.toDisposable(()=>{this._currentEditCellState$.complete(),this._currentEditCell=null})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().AFTER_CELL_EDIT,{priority:-1,handler:a=>a})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().BEFORE_CELL_EDIT,{priority:-1,handler:a=>a})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().AFTER_CELL_EDIT_ASYNC,{priority:-1,handler:a=>a}))}refreshEditCellState(){const e=this.getLatestEditCellState();this._currentEditCellState=e,this._currentEditCellState$.next(e)}setEditCell(e){this._currentEditCell=e;const t=this.getLatestEditCellState();this._currentEditCellState=t,this._currentEditCellState$.next(t)}getEditCellState(){return this._currentEditCellState}getLatestEditCellState(){var L,U,H;const e=this._currentEditCell;if(e==null)return;const t=this._sheetSkeletonManagerService.getCurrent();if(t==null)return;const{skeleton:o}=t,{primary:r,unitId:s,sheetId:a,scene:c,engine:u}=e,{startRow:d,startColumn:m}=r,g=this._selectionRenderService.attachPrimaryWithCoord(r);if(g==null)return;const p=l.makeCellToSelection(g);if(p==null)return;const f=E.getCanvasOffsetByEngine(u);let{startX:S,startY:v,endX:I,endY:R}=p;const{scaleX:_,scaleY:T}=c.getAncestorScale(),y=c.getScrollXY(this._selectionRenderService.getViewPort());S=o.convertTransformToOffsetX(S,_,y),v=o.convertTransformToOffsetY(v,T,y),I=o.convertTransformToOffsetX(I,_,y),R=o.convertTransformToOffsetY(R,T,y);const M=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),P=M.getActiveSheet(),N={workbook:M,worksheet:P,unitId:M.getUnitId(),subUnitId:P.getSheetId(),row:d,col:m},D=this.interceptor.fetchThroughInterceptors(this.interceptor.getInterceptPoints().BEFORE_CELL_EDIT)(P.getCell(d,m),N);let A=D&&o.getCellDocumentModelWithFormula(D);const x=(L=A==null?void 0:A.documentModel)==null?void 0:L.documentStyle.renderConfig;if(x!=null&&(x.cellValueType=l.CellValueType.STRING),!A||A.documentModel==null){const W=o.getBlankCellDocumentModel(D);if(A!=null){const{verticalAlign:z,horizontalAlign:q,wrapStrategy:Y,textRotation:X,fill:Z}=A,{centerAngle:G,vertexAngle:K}=E.convertTextRotation(X);W.documentModel.documentStyle.renderConfig={verticalAlign:z,horizontalAlign:q,wrapStrategy:Y,background:{rgb:Z},centerAngle:G,vertexAngle:K}}A=W}if((U=A.documentModel)==null||U.setZoomRatio(Math.max(_,T)),(D==null?void 0:D.isInArrayFormulaRange)===!0){const W=(H=A.documentModel)==null?void 0:H.getBody();W&&(W.textRuns=[{st:0,ed:W.dataStream.length-2,ts:{cl:{rgb:this._themeService.getCurrentTheme().textColorSecondary}}}])}return this._editorService.setOperationSheetUnitId(s),this._editorService.setOperationSheetSubUnitId(a),{position:{startX:S,startY:v,endX:I,endY:R},scaleX:_,scaleY:T,canvasOffset:f,row:d,column:m,unitId:s,sheetId:a,documentLayoutObject:A,editorUnitId:this._editorUnitId,isInArrayFormulaRange:D==null?void 0:D.isInArrayFormulaRange}}getCurrentEditorId(){return this._editorUnitId}changeVisible(e){this._visible=e,e.visible&&(this._editorIsDirty=!1),this._visible$.next(this._visible),this._afterVisible$.next(this._visible)}isVisible(){return this._visible}enableForceKeepVisible(){this._isForceKeepVisible=!0}disableForceKeepVisible(){this._isForceKeepVisible=!1}isForceKeepVisible(){return this._isForceKeepVisible}changeEditorDirty(e){this._editorIsDirty=e}getEditorDirty(){return this._editorIsDirty}};exports.EditorBridgeService=kc([sn(0,k.Inject(exports.SheetSkeletonManagerService)),sn(1,Me),sn(2,k.Inject(l.ThemeService)),sn(3,l.IUniverInstanceService),sn(4,b.IEditorService)],exports.EditorBridgeService);const je=k.createIdentifier("univer.sheet-editor-bridge.service"),Le={id:"sheet.operation.set-cell-edit-visible",type:l.CommandType.OPERATION,handler:(n,i)=>{const e=n.get(je);return i==null?!1:(e.changeVisible(i),!0)}},er={id:"sheet.operation.set-cell-edit-visible-f2",type:l.CommandType.OPERATION,handler:(n,i)=>(n.get(l.ICommandService).syncExecuteCommand(Le.id,i),!0)},Tn={id:"sheet.operation.set-cell-edit-visible-arrow",type:l.CommandType.OPERATION,handler:()=>!0};class tt{constructor(){w(this,"_scrollInfo",new Map);w(this,"_scrollInfo$",new O.BehaviorSubject(null));w(this,"scrollInfo$",this._scrollInfo$.asObservable());w(this,"_currentScroll",null)}dispose(){this._scrollInfo$.complete()}setCurrentScroll(i){this._currentScroll=i,this._refresh(i)}getScrollByParam(i){return this._getCurrentScroll(i)}getCurrentScroll(){return this._getCurrentScroll(this._currentScroll)}addOrReplace(i){this._currentScroll!=null&&this._addByParam({...this._currentScroll,...i})}addOrReplaceNoRefresh(i){this._currentScroll!=null&&this._addByParam({...this._currentScroll,...i},!1)}addOrReplaceByParam(i){this._addByParam(i)}clear(){this._currentScroll!=null&&this._clearByParam(this._currentScroll)}_addByParam(i,e=!0){const{unitId:t,sheetId:o,sheetViewStartColumn:r,sheetViewStartRow:s,offsetX:a,offsetY:c}=i;this._scrollInfo.has(t)||this._scrollInfo.set(t,new Map),this._scrollInfo.get(t).set(o,{sheetViewStartRow:s,sheetViewStartColumn:r,offsetX:a,offsetY:c}),e===!0&&this._refresh({unitId:t,sheetId:o})}_clearByParam(i){this._addByParam({...i,sheetViewStartRow:0,sheetViewStartColumn:0,offsetX:0,offsetY:0}),this._refresh(i)}_getCurrentScroll(i){var o;if(i==null)return;const{unitId:e,sheetId:t}=i;return(o=this._scrollInfo.get(e))==null?void 0:o.get(t)}_refresh(i){this._scrollInfo$.next(this._getCurrentScroll(i))}}const ft={id:"sheet.operation.set-scroll",type:l.CommandType.OPERATION,handler:(n,i)=>{if(i==null)return!1;const e=n.get(tt),r=n.get(l.IUniverInstanceService).getUniverSheetInstance(i.unitId).getSheetBySheetId(i.sheetId),{xSplit:s,ySplit:a}=r.getConfig().freeze;return e.addOrReplaceByParam({...i,sheetViewStartRow:i.sheetViewStartRow-a,sheetViewStartColumn:i.sheetViewStartColumn-s}),!0}},Sn={id:"sheet.command.set-scroll-relative",type:l.CommandType.COMMAND,handler:async(n,i={offsetX:0,offsetY:0})=>{const e=n.get(l.ICommandService),t=n.get(tt),o=n.get(l.IUniverInstanceService),r=h.getSheetCommandTarget(o);if(!r)return!1;const{unitId:s,subUnitId:a,worksheet:c}=r,{xSplit:u,ySplit:d}=c.getConfig().freeze,m=t.getCurrentScroll(),{offsetX:g=0,offsetY:p=0}=i||{},{sheetViewStartRow:f=0,sheetViewStartColumn:S=0,offsetX:v=0,offsetY:I=0}=m||{};return e.executeCommand(ft.id,{unitId:s,sheetId:a,sheetViewStartRow:f+d,sheetViewStartColumn:S+u,offsetX:v+g,offsetY:I+p})}},Mt={id:"sheet.command.scroll-view",type:l.CommandType.COMMAND,handler:(n,i)=>{if(!i)return!1;const e=n.get(l.IUniverInstanceService),t=n.get(tt),o=h.getSheetCommandTarget(e);if(!o)return!1;const{workbook:r,worksheet:s}=o,a=t.getCurrentScroll();if(!s)return!1;const{sheetViewStartRow:c,sheetViewStartColumn:u,offsetX:d,offsetY:m}=i,{sheetViewStartColumn:g,sheetViewStartRow:p,offsetX:f,offsetY:S}=a||{},{xSplit:v,ySplit:I}=s.getConfig().freeze;return n.get(l.ICommandService).syncExecuteCommand(ft.id,{unitId:r.getUnitId(),sheetId:s.getSheetId(),sheetViewStartRow:c!=null?c:(p!=null?p:0)+I,sheetViewStartColumn:u!=null?u:(g!=null?g:0)+v,offsetX:d!=null?d:f,offsetY:m!=null?m:S})}},Os={id:"sheet.command.scroll-to-cell",type:l.CommandType.COMMAND,handler:(n,i)=>{const e=n.get(l.IUniverInstanceService);return n.get(E.IRenderManagerService).getRenderById(e.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getUnitId()).with(exports.SheetsScrollRenderController).scrollToRange(i.range)}},Wc={id:"sheet.command.scroll-view-reset",type:l.CommandType.COMMAND,handler:async n=>{const i=n.get(l.IUniverInstanceService),e=h.getSheetCommandTarget(i);if(!e)return!1;const{subUnitId:t,unitId:o}=e;return n.get(l.ICommandService).executeCommand(ft.id,{unitId:o,sheetId:t,sheetViewStartRow:0,sheetViewStartColumn:0})}};function Uc(n){return typeof n.isMainScene>"u"}function It(n,i){const e=n instanceof l.Workbook?n:n.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!e)return null;const t=e.getUnitId();let o,r,s,a;if(Uc(i)){const g=i.getRenderById(t);if(g==null)return null;o=g.components,o=g.components,r=g.mainComponent,s=g.scene,a=g.engine}else o=i.components,r=i.mainComponent,s=i.scene,a=i.engine;if(!o||!r)return null;const c=r,u=o.get(ue.ROW),d=o.get(ue.COLUMN),m=o.get(ue.LEFT_TOP);return{spreadsheet:c,spreadsheetRowHeader:u,spreadsheetColumnHeader:d,spreadsheetLeftTopPlaceholder:m,scene:s,engine:a}}function Po(n,i,e,t){const{startX:o,startY:r,endX:s,endY:a}=t.getCellByIndex(n,i);return{startX:o,startY:r,endX:s,endY:a}}function Yt(n,i,e,t,o,r){const s=e.getRelativeCoord(E.Vector2.FromArray([n,i])),{x:a,y:c}=s,u=e.getScrollXYByRelativeCoords(s,o),{scaleX:d,scaleY:m}=e.getAncestorScale(),g=t.getCellPositionByOffset(a,c,d,m,u,r),{row:p,column:f}=g,S=t.getNoMergeCellPositionByIndex(p,f),{startX:v,startY:I,endX:R,endY:_}=S;return{startX:v,startY:I,endX:R,endY:_,row:p,column:f}}function ri(n,i,e,t){const o=e.getRelativeCoord(E.Vector2.FromArray([n,i])),r=e.getViewport(Q.VIEW_MAIN),s=e.getScrollXYByRelativeCoords(o,r),{scaleX:a,scaleY:c}=e.getAncestorScale(),{x:u,y:d}=s,m=n/a+u,g=i/c+d;return{x:m,y:g}}var Bc=Object.defineProperty,Fc=Object.getOwnPropertyDescriptor,jc=(n,i,e,t)=>{for(var o=t>1?void 0:t?Fc(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&Bc(i,e,o),o},xt=(n,i)=>(e,t)=>i(e,t,n);const Xc=[Fe.id,At.id];exports.SheetsScrollRenderController=class extends l.Disposable{constructor(i,e,t,o,r,s,a){super(),this._context=i,this._sheetSkeletonManagerService=e,this._univerInstanceService=t,this._commandService=o,this._renderManagerService=r,this._selectionManagerService=s,this._scrollManagerService=a,this._init()}scrollToRange(i){let{endRow:e,endColumn:t,startColumn:o,startRow:r}=i;const s=this._getViewportBounding();if(i.rangeType===l.RANGE_TYPE.ROW?(o=0,t=0):i.rangeType===l.RANGE_TYPE.COLUMN&&(r=0,e=0),s){const a=s.startRow>e?r:e,c=s.startColumn>t?o:t;return this._scrollToCell(a,c)}else return this._scrollToCell(r,o)}_init(){this._initCommandListener(),this._initScrollEventListener(),this._scrollSubscribeBinding(),this._initSkeletonListener()}_initCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(Xc.includes(i.id))this._scrollToSelection();else if(i.id===h.ScrollToCellOperation.id){const e=i.params;this._scrollToSelectionByDirection(e)}else if(i.id===Ye.id){const e=i.params;this._scrollToSelectionForExpand(e)}}))}_scrollToSelectionForExpand(i){setTimeout(()=>{const e=this._selectionManagerService.getLast();if(e==null)return;const{startRow:t,startColumn:o,endRow:r,endColumn:s}=e.range,a=this._getViewportBounding();if(a==null)return;const{startRow:c,startColumn:u,endRow:d,endColumn:m}=a;let g=0,p=0;t>c?g=r:r<d?g=t:g=c,o>u?p=s:s<m?p=o:p=u,i.direction===l.Direction.DOWN?g=r:i.direction===l.Direction.UP?g=t:i.direction===l.Direction.RIGHT?p=s:i.direction===l.Direction.LEFT&&(p=o),this._scrollToCell(g,p)},0)}_getFreeze(){var e;const i=(e=this._sheetSkeletonManagerService.getCurrent())==null?void 0:e.skeleton.getWorksheetConfig();if(i!=null)return i.freeze}_initScrollEventListener(){var t;const i=(t=this._getSheetObject())==null?void 0:t.scene;if(i==null)return;const e=i.getViewport(Q.VIEW_MAIN);this.disposeWithMe(l.toDisposable(e==null?void 0:e.onScrollAfterObserver.add(o=>{var p;const r=(p=this._sheetSkeletonManagerService.getCurrent())==null?void 0:p.skeleton;if(r==null||o.isTrigger===!1)return;const s=this._getSheetObject();if(r==null||s==null)return;const{actualScrollX:a=0,actualScrollY:c=0}=o,{row:u,column:d,rowOffset:m,columnOffset:g}=r.getDecomposedOffset(a,c);this._scrollManagerService.addOrReplaceNoRefresh({sheetViewStartRow:u,sheetViewStartColumn:d,offsetX:g,offsetY:m})}))),this.disposeWithMe(l.toDisposable(e==null?void 0:e.onScrollByBarObserver.add(o=>{var f;const r=(f=this._sheetSkeletonManagerService.getCurrent())==null?void 0:f.skeleton;if(r==null||o.isTrigger===!1)return;const s=this._getSheetObject();if(r==null||s==null)return;const{actualScrollX:a=0,actualScrollY:c=0}=o,u=this._getFreeze(),{row:d,column:m,rowOffset:g,columnOffset:p}=r.getDecomposedOffset(a,c);this._commandService.executeCommand(Mt.id,{sheetViewStartRow:d+((u==null?void 0:u.ySplit)||0),sheetViewStartColumn:m+((u==null?void 0:u.xSplit)||0),offsetX:p,offsetY:g})})))}_scrollSubscribeBinding(){this.disposeWithMe(l.toDisposable(this._scrollManagerService.scrollInfo$.subscribe(i=>{var S;const e=(S=this._sheetSkeletonManagerService.getCurrent())==null?void 0:S.skeleton,t=this._getSheetObject();if(e==null||t==null)return;const o=t.scene;t.scene.getAncestorScale();const r=o.getViewport(Q.VIEW_MAIN);if(r==null)return;if(i==null){r.scrollTo({x:0,y:0});return}const{sheetViewStartRow:s,sheetViewStartColumn:a,offsetX:c,offsetY:u}=i,{startX:d,startY:m}=e.getCellByIndexWithNoHeader(s,a),g=d+c,p=m+u,f=r.getBarScroll(g,p);r.scrollTo(f)})))}_initSkeletonListener(){this.disposeWithMe(l.toDisposable(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(i=>{if(i==null)return;const{unitId:e,sheetId:t}=i;this._renderManagerService.getRenderById(e)!=null&&(this._updateSceneSize(i),this._scrollManagerService.setCurrentScroll({unitId:e,sheetId:t}))})))}_updateSceneSize(i){var u;if(i==null)return;const{skeleton:e,unitId:t}=i,o=(u=this._renderManagerService.getRenderById(t))==null?void 0:u.scene;if(e==null||o==null)return;const{rowTotalHeight:r,columnTotalWidth:s,rowHeaderWidthAndMarginLeft:a,columnHeaderHeightAndMarginTop:c}=e;o==null||o.transformByState({width:a+s,height:c+r})}_getSheetObject(){return It(this._context.unit,this._context)}_scrollToSelectionByDirection(i){const e=this._getViewportBounding();if(e==null)return!1;const{startRow:t,startColumn:o,endRow:r,endColumn:s}=e;let a=0,c=0;const{startRow:u,startColumn:d,endRow:m,endColumn:g}=i;u>=t&&(a=m),m<=r&&(a=u),d>=o&&(c=g),g<=s&&(c=d),this._scrollToCell(a,c)}_scrollToSelection(i=!0){const e=this._selectionManagerService.getLast();if(e==null)return;const{startRow:t,startColumn:o,actualRow:r,actualColumn:s}=e.primary,a=i?r:t,c=i?s:o;this._scrollToCell(a,c)}_getViewportBounding(){var r,s;const i=(r=this._getSheetObject())==null?void 0:r.scene;if(i==null)return;const e=i.getViewport(Q.VIEW_MAIN);if(e==null)return;const t=(s=this._sheetSkeletonManagerService.getCurrent())==null?void 0:s.skeleton;if(t==null)return;const o=e.getBounding();return t.getRowColumnSegment(o)}_scrollToCell(i,e){var M,P,N,D;const{rowHeightAccumulation:t,columnWidthAccumulation:o}=(P=(M=this._sheetSkeletonManagerService.getCurrent())==null?void 0:M.skeleton)!=null?P:{};if(t==null||o==null)return!1;const r=(N=this._getSheetObject())==null?void 0:N.scene;if(r==null)return!1;const s=r.getViewport(Q.VIEW_MAIN);if(s==null||((D=this._sheetSkeletonManagerService.getCurrent())==null?void 0:D.skeleton)==null)return!1;const c=this._context.unit.getActiveSheet(),{startColumn:u,startRow:d,ySplit:m,xSplit:g}=c.getFreeze(),p=this._getViewportBounding();if(p==null)return!1;const{startRow:f,startColumn:S,endRow:v,endColumn:I}=p;let R,_;if(i>=d&&e>=u-g&&(i<=f&&(R=i),i>=v)){const A=t[i]-s.height;for(let x=f;x<=i;x++)if(t[x]>=A){R=x+1;break}}if(e>=u&&i>=d-m&&(e<=S&&(_=e),e>=I)){const A=o[e]-s.width;for(let x=S;x<=e;x++)if(o[x]>=A){_=x+1;break}}if(R===void 0&&_===void 0)return!1;const{offsetX:T,offsetY:y}=this._scrollManagerService.getCurrentScroll()||{};return this._commandService.syncExecuteCommand(Mt.id,{sheetViewStartRow:R,sheetViewStartColumn:_,offsetX:_===void 0?T:0,offsetY:R===void 0?y:0})}};exports.SheetsScrollRenderController=jc([xt(1,k.Inject(exports.SheetSkeletonManagerService)),xt(2,l.IUniverInstanceService),xt(3,l.ICommandService),xt(4,E.IRenderManagerService),xt(5,k.Inject(h.SelectionManagerService)),xt(6,k.Inject(tt))],exports.SheetsScrollRenderController);var wi=(n=>(n[n.UNIVER_UNKNOWN=0]="UNIVER_UNKNOWN",n[n.UNIVER_DOC=1]="UNIVER_DOC",n[n.UNIVER_SHEET=2]="UNIVER_SHEET",n[n.UNIVER_SLIDE=3]="UNIVER_SLIDE",n[n.UNRECOGNIZED=-1]="UNRECOGNIZED",n))(wi||{}),J=(n=>(n[n.View=0]="View",n[n.Edit=1]="Edit",n[n.ManageCollaborator=2]="ManageCollaborator",n[n.Print=3]="Print",n[n.Duplicate=4]="Duplicate",n[n.Comment=5]="Comment",n[n.Copy=6]="Copy",n[n.Share=7]="Share",n[n.Export=8]="Export",n[n.MoveWorksheet=9]="MoveWorksheet",n[n.DeleteWorksheet=10]="DeleteWorksheet",n[n.HideWorksheet=11]="HideWorksheet",n[n.RenameWorksheet=12]="RenameWorksheet",n[n.CreateWorksheet=13]="CreateWorksheet",n[n.SetWorksheetStyle=14]="SetWorksheetStyle",n[n.EditWorksheetCell=15]="EditWorksheetCell",n[n.InsertHyperlink=16]="InsertHyperlink",n[n.Sort=17]="Sort",n[n.Filter=18]="Filter",n[n.PivotTable=19]="PivotTable",n[n.FloatImg=20]="FloatImg",n[n.History=21]="History",n[n.RwHgtClWdt=22]="RwHgtClWdt",n[n.ViemRwHgtClWdt=23]="ViemRwHgtClWdt",n[n.ViewFilter=24]="ViewFilter",n[n.MoveSheet=25]="MoveSheet",n[n.DeleteSheet=26]="DeleteSheet",n[n.HideSheet=27]="HideSheet",n[n.CopySheet=28]="CopySheet",n[n.RenameSheet=29]="RenameSheet",n[n.CreateSheet=30]="CreateSheet",n[n.SelectProtectedCells=31]="SelectProtectedCells",n[n.SelectUnProtectedCells=32]="SelectUnProtectedCells",n[n.SetCellStyle=33]="SetCellStyle",n[n.SetCellValue=34]="SetCellValue",n[n.SetRowStyle=35]="SetRowStyle",n[n.SetColumnStyle=36]="SetColumnStyle",n[n.InsertRow=37]="InsertRow",n[n.InsertColumn=38]="InsertColumn",n[n.DeleteRow=39]="DeleteRow",n[n.DeleteColumn=40]="DeleteColumn",n[n.EditExtraObject=41]="EditExtraObject",n[n.UNRECOGNIZED=-1]="UNRECOGNIZED",n))(J||{}),we=(n=>(n[n.Reader=0]="Reader",n[n.Editor=1]="Editor",n[n.Owner=2]="Owner",n[n.UNRECOGNIZED=-1]="UNRECOGNIZED",n))(we||{}),ae=(n=>(n[n.Unkonwn=0]="Unkonwn",n[n.Workbook=1]="Workbook",n[n.Worksheet=2]="Worksheet",n[n.SelectRange=3]="SelectRange",n[n.Document=4]="Document",n[n.Slide=5]="Slide",n[n.UNRECOGNIZED=-1]="UNRECOGNIZED",n))(ae||{});function zc(n){return n.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET).pipe(O.switchMap(i=>i?i.activeSheet$.pipe(O.map(e=>e?{workbook:i,worksheet:e}:null)):O.of(null)))}function Oe(n,i,e){return zc(n).pipe(O.switchMap(t=>t?e(t):O.of(i)))}function oe(n,i={}){const e=n.get(l.IUniverInstanceService),t=n.get(h.SelectionManagerService),o=n.get(h.RangeProtectionRuleModel),r=n.get(h.WorksheetProtectionRuleModel),s=e.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),a=n.get(l.UserManagerService),u=n.get(l.IContextService).subscribeContextValue$(l.FOCUSING_COMMON_DRAWINGS);return s?O.combineLatest([a.currentUser$,s.activeSheet$,t.selectionMoveEnd$,u]).pipe(O.switchMap(([d,m,g,p])=>{var D;if(p)return O.of(!0);const f=s.getActiveSheet(),S=s.getUnitId(),v=f.getSheetId(),I=n.get(l.IPermissionService),{workbookTypes:R=[h.WorkbookEditablePermission],worksheetTypes:_,rangeTypes:T}=i,y=[];if(R==null||R.forEach(A=>{y.push(new A(S).id)}),_==null||_.forEach(A=>{y.push(new A(S,v).id)}),r.getRule(S,v))return I.composePermission$(y).pipe(O.map(A=>A.some(x=>x.value===!1)));const P=(D=t.getSelections())==null?void 0:D.map(A=>A.range),N=o.getSubunitRuleList(S,v).filter(A=>P==null?void 0:P.some(x=>A.ranges.some(L=>l.Rectangle.intersects(x,L))));return T==null||T.forEach(A=>{N.forEach(x=>{y.push(new A(S,v,x.permissionId).id)})}),I.composePermission$(y).pipe(O.map(A=>A.some(x=>x.value===!1)))})):O.of(!0)}function Yc(n,i={}){const e=n.get(l.IUniverInstanceService),t=n.get(h.SelectionManagerService),o=n.get(h.RangeProtectionRuleModel),r=n.get(h.WorksheetProtectionRuleModel),s=n.get(l.UserManagerService),c=n.get(l.IContextService).subscribeContextValue$(l.FOCUSING_COMMON_DRAWINGS);return O.combineLatest([s.currentUser$,t.selectionMoveEnd$,c]).pipe(O.switchMap(([u,d,m])=>{var N;const g=e.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!g||m)return O.of(!0);const p=g.getActiveSheet(),f=g.getUnitId(),S=p.getSheetId(),v=n.get(l.IPermissionService),{workbookTypes:I=[h.WorkbookEditablePermission],worksheetTypes:R,rangeTypes:_}=i,T=[];if(I==null||I.forEach(D=>{T.push(new D(f).id)}),R==null||R.forEach(D=>{T.push(new D(f,S).id)}),r.getRule(f,S))return v.composePermission$(T).pipe(O.map(D=>D.some(A=>A.value===!1)));const M=(N=t.getSelections())==null?void 0:N.map(D=>D.range),P=o.getSubunitRuleList(f,S).filter(D=>M==null?void 0:M.some(A=>D.ranges.some(x=>l.Rectangle.intersects(A,x))));return _==null||_.forEach(D=>{P.forEach(A=>{T.push(new D(f,S,A.permissionId).id)})}),v.composePermission$(T).pipe(O.map(D=>D.some(A=>A.value===!1)))}))}function Vi(n){const i=n.get(l.IUniverInstanceService),e=n.get(h.SelectionManagerService),t=n.get(h.RangeProtectionRuleModel);return e.selectionMoveEnd$.pipe(O.map(()=>{var d;const o=(d=e.getLast())==null?void 0:d.range;if(!o)return!0;const r=i.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),s=r.getActiveSheet(),a=r.getUnitId(),c=s.getSheetId();return t.getSubunitRuleList(a,c).reduce((m,g)=>[...m,...g.ranges],[]).filter(m=>l.Rectangle.intersects(o,m)).some(m=>{var v,I;const{startRow:g,startColumn:p,endRow:f,endColumn:S}=m;for(let R=g;R<=f;R++)for(let _=p;_<=S;_++){const T=(I=(v=s.getCell(R,_))==null?void 0:v.selectionProtection)==null?void 0:I[0];if((T==null?void 0:T[J.Edit])===!1)return!0}return!1})}))}function As(n,i){const e=n.get(l.IUniverInstanceService),t=n.get(h.SelectionManagerService),o=n.get(h.RangeProtectionRuleModel);return t.selectionMoveEnd$.pipe(O.map(()=>{var m;const r=(m=t.getLast())==null?void 0:m.range;if(!r)return!0;const s=e.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),a=s.getActiveSheet(),c=s.getUnitId(),u=a.getSheetId();return o.getSubunitRuleList(c,u).reduce((g,p)=>[...g,...p.ranges],[]).filter(g=>i==="row"?r.endRow>g.startRow&&r.endRow<=g.endRow:r.endColumn>g.startColumn&&r.endColumn<=g.endColumn).some(g=>{var I,R;const{startRow:p,startColumn:f,endRow:S,endColumn:v}=g;for(let _=p;_<=S;_++)for(let T=f;T<=v;T++){const y=(R=(I=a.getCell(_,T))==null?void 0:I.selectionProtection)==null?void 0:R[0];if((y==null?void 0:y[J.Edit])===!1)return!0}return!1})}))}function Ns(n,i){const e=n.get(l.IUniverInstanceService),t=n.get(h.SelectionManagerService),o=n.get(h.RangeProtectionRuleModel);return t.selectionMoveEnd$.pipe(O.map(()=>{var m;const r=(m=t.getLast())==null?void 0:m.range;if(!r)return!0;const s=e.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),a=s.getActiveSheet(),c=s.getUnitId(),u=a.getSheetId();return o.getSubunitRuleList(c,u).reduce((g,p)=>[...g,...p.ranges],[]).filter(g=>i==="row"?r.startRow>g.startRow&&r.startRow<=g.endRow:r.startColumn>g.startColumn&&r.startColumn<=g.endColumn).some(g=>{var I,R;const{startRow:p,startColumn:f,endRow:S,endColumn:v}=g;for(let _=p;_<=S;_++)for(let T=f;T<=v;T++){const y=(R=(I=a.getCell(_,T))==null?void 0:I.selectionProtection)==null?void 0:R[0];if((y==null?void 0:y[J.Edit])===!1)return!0}return!1})}))}function xs(n,i){const e=n.get(l.IUniverInstanceService),t=n.get(h.SelectionManagerService),o=n.get(h.RangeProtectionRuleModel);return t.selectionMoveEnd$.pipe(O.map(()=>{var g;const r=(g=t.getLast())==null?void 0:g.range;if(!r)return!0;const s=e.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),a=s.getActiveSheet(),c=s.getUnitId(),u=a.getSheetId(),d=l.Tools.deepClone(r);return i==="row"?(d.startColumn=0,d.endColumn=a.getColumnCount()-1):(d.startRow=0,d.endRow=a.getRowCount()-1),o.getSubunitRuleList(c,u).reduce((p,f)=>[...p,...f.ranges],[]).filter(p=>l.Rectangle.intersects(d,p)).some(p=>{var R,_;const{startRow:f,startColumn:S,endRow:v,endColumn:I}=p;for(let T=f;T<=v;T++)for(let y=S;y<=I;y++){const M=(_=(R=a.getCell(T,y))==null?void 0:R.selectionProtection)==null?void 0:_[0];if((M==null?void 0:M[J.Edit])===!1)return!0}return!1})}))}function Wi(n,i){const e=n.get(l.IUniverInstanceService),t=n.get(h.SelectionManagerService),o=n.get(h.RangeProtectionRuleModel);return t.selectionMoveEnd$.pipe(O.map(()=>{var g;const r=(g=t.getLast())==null?void 0:g.range;if(!r)return!0;const s=e.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),a=s.getActiveSheet(),c=s.getUnitId(),u=a.getSheetId(),d=l.Tools.deepClone(r);return i==="row"?d.endRow=a.getRowCount()-1:d.endColumn=a.getColumnCount()-1,o.getSubunitRuleList(c,u).reduce((p,f)=>[...p,...f.ranges],[]).filter(p=>l.Rectangle.intersects(p,d)).some(p=>{var R,_;const{startRow:f,startColumn:S,endRow:v,endColumn:I}=p;for(let T=f;T<=v;T++)for(let y=S;y<=I;y++){const M=(_=(R=a.getCell(T,y))==null?void 0:R.selectionProtection)==null?void 0:_[0];if((M==null?void 0:M[J.Edit])===!1)return!0}return!1})}))}function Kt(n){const e=n.get(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),t=n.get(h.WorksheetProtectionRuleModel),o=n.get(h.RangeProtectionRuleModel),r=n.get(l.IPermissionService),s=e.getUnitId(),a=e.activeSheet$,c=n.get(l.UserManagerService);return O.combineLatest([c.currentUser$,a]).pipe(O.switchMap(([u,d])=>{var p,f,S,v;if(!d)return O.of(!0);const m=(f=(p=r.getPermissionPoint$(new h.WorkbookEditablePermission(s).id))==null?void 0:p.pipe(O.map(I=>I.value)))!=null?f:O.of(!1),g=(v=(S=r.getPermissionPoint$(new h.WorkbookManageCollaboratorPermission(s).id))==null?void 0:S.pipe(O.map(I=>I.value)))!=null?v:O.of(!1);return O.combineLatest([m,g]).pipe(O.map(([I,R])=>{if(!I)return!0;const _=d.getSheetId(),T=t.getRule(s,_),y=o.getSubunitRuleList(s,_);return T||y.length?!R:!1}))}))}var Zc=Object.defineProperty,Gc=Object.getOwnPropertyDescriptor,qc=(n,i,e,t)=>{for(var o=t>1?void 0:t?Gc(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&Zc(i,e,o),o},an=(n,i)=>(e,t)=>i(e,t,n);exports.SheetRenderController=class extends l.RxDisposable{constructor(e,t,o,r,s){super();w(this,"_skeletonChangeMutations",new Set);this._sheetSkeletonManagerService=e,this._contextService=t,this._univerInstanceService=o,this._renderManagerService=r,this._commandService=s,Promise.resolve().then(()=>this._init())}registerSkeletonChangingMutations(e){if(this._skeletonChangeMutations.has(e))throw new Error(`[SheetRenderController]: the mutationId ${e} has already been registered!`);return this._skeletonChangeMutations.add(e),l.toDisposable(()=>this._skeletonChangeMutations.delete(e))}_init(){this._initialRenderRefresh(),this._initWorkbookListener(),this._initCommandListener(),this._initContextListener()}_initialRenderRefresh(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(!e)return null;const{skeleton:t,unitId:o,sheetId:r}=e,s=this._univerInstanceService.getUniverSheetInstance(o),a=s==null?void 0:s.getSheetBySheetId(r);if(s==null||a==null)return;const c=this._renderManagerService.getRenderById(o);if(c==null)return;const{mainComponent:u,components:d}=c,m=u,g=d.get(ue.ROW),p=d.get(ue.COLUMN),f=d.get(ue.LEFT_TOP),{rowHeaderWidth:S,columnHeaderHeight:v}=t;m==null||m.updateSkeleton(t),g==null||g.updateSkeleton(t),p==null||p.updateSkeleton(t),f==null||f.transformByState({width:S,height:v})}))}_initWorkbookListener(){this._univerInstanceService.getTypeOfUnitAdded$(l.UniverInstanceType.UNIVER_SHEET).pipe(O.takeUntil(this.dispose$)).subscribe(e=>this._createSheetRenderer(e)),this._univerInstanceService.getTypeOfUnitDisposed$(l.UniverInstanceType.UNIVER_SHEET).pipe(O.takeUntil(this.dispose$)).subscribe(e=>{const t=e.getUnitId();this._sheetSkeletonManagerService.removeSkeleton({unitId:t}),this._renderManagerService.removeRender(t)}),this._univerInstanceService.getAllUnitsForType(l.UniverInstanceType.UNIVER_SHEET).forEach(e=>this._createSheetRenderer(e))}_createSheetRenderer(e){const t=e.getUnitId();this._renderManagerService.createRender(t),this._renderManagerService.setCurrent(t);const o=e.getActiveSheet().getSheetId();this._sheetSkeletonManagerService.setCurrent({sheetId:o,unitId:t})}_initCommandListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{const t=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!t)return;const o=t.getUnitId();if(h.COMMAND_LISTENER_SKELETON_CHANGE.includes(e.id)||this._skeletonChangeMutations.has(e.id)){const r=t.getActiveSheet(),s=r.getSheetId(),a=e.params,{unitId:c,subUnitId:u}=a;if(!(c===t.getUnitId()&&u===r.getSheetId()))return;e.id!==h.SetWorksheetActiveOperation.id&&this._sheetSkeletonManagerService.makeDirty({unitId:c,sheetId:s,commandId:e.id},!0),this._sheetSkeletonManagerService.setCurrent({unitId:c,sheetId:s,commandId:e.id})}else h.COMMAND_LISTENER_VALUE_CHANGE.includes(e.id)&&this._sheetSkeletonManagerService.reCalculate();e.type===l.CommandType.MUTATION&&this._markSpreadsheetDirty(o,e)}))}_initContextListener(){this._contextService.subscribeContextValue$(E.RENDER_RAW_FORMULA_KEY).pipe(O.distinctUntilChanged(),O.takeUntil(this.dispose$)).subscribe(()=>{this._renderManagerService.getRenderAll().forEach(e=>{e.mainComponent instanceof E.Spreadsheet&&e.mainComponent.makeForceDirty(!0)})})}_spreadsheetViewports(e){return e.getViewports().filter(t=>["viewMain","viewMainLeftTop","viewMainTop","viewMainLeft"].includes(t.viewportKey))}_markSpreadsheetDirty(e,t){const o=this._renderManagerService.getRenderById(e);if(!o)return;const{mainComponent:r,scene:s}=o;if(r&&r.makeDirty(),s.makeDirty(),!t.params)return;const a=t.params,c=this._spreadsheetViewports(s);if(t.id===h.SetRangeValuesMutation.id&&a.cellValue){const u=this._cellValueToRange(a.cellValue),d=this._rangeToBounds([u]);this._markViewportDirty(c,d),r.setDirtyArea(d)}if(t.id===h.MoveRangeMutation.id&&a.from&&a.to){const u=this._cellValueToRange(a.from.value),d=this._cellValueToRange(a.to.value),m=this._rangeToBounds([u,d]);this._markViewportDirty(c,m),r.setDirtyArea(m)}}_cellValueToRange(e){const t=Object.keys(e).map(Number),o=[];for(const[u,d]of Object.entries(e))for(const m in d)o.push(Number(m));const r=Math.min(...t),s=Math.max(...t),a=Math.min(...o),c=Math.max(...o);return{startRow:r,endRow:s,startColumn:a,endColumn:c}}_rangeToBounds(e){var u;const t=(u=this._sheetSkeletonManagerService.getCurrent())==null?void 0:u.skeleton,{rowHeightAccumulation:o,columnWidthAccumulation:r,rowHeaderWidth:s,columnHeaderHeight:a}=t,c=[];for(const d of e){const{startRow:m,endRow:g,startColumn:p,endColumn:f}=d,S=m===0?0:o[m-1]+a,v=o[g]+a,I=p===0?0:r[p-1]+s,R=r[f]+s;c.push({top:S,left:I,bottom:v,right:R,width:R-I,height:v-S})}return c}_markViewportDirty(e,t){const o=e.filter(r=>r.isActive&&r.cacheBound);for(const r of o)for(const s of t)l.Rectangle.hasIntersectionBetweenTwoBounds(r.cacheBound,s)&&r.markDirty(!0)}};exports.SheetRenderController=qc([l.OnLifecycle(l.LifecycleStages.Ready,exports.SheetRenderController),an(0,k.Inject(exports.SheetSkeletonManagerService)),an(1,l.IContextService),an(2,l.IUniverInstanceService),an(3,E.IRenderManagerService),an(4,l.ICommandService)],exports.SheetRenderController);const Ui={id:"sheet.command.change-zoom-ratio",type:l.CommandType.COMMAND,handler:async(n,i)=>{if(!i)return!1;const e=n.get(l.IUniverInstanceService),t=h.getSheetCommandTarget(e);if(!t)return!1;const{worksheet:o,subUnitId:r,unitId:s}=t,{delta:a,reset:c}=i;let u=c?100:Math.round((o.getConfig().zoomRatio+a)*100);u=Math.max(bo[0],u),u=Math.min(bo[1],u);const d=u/100;return n.get(l.ICommandService).executeCommand($e.id,{unitId:s,subUnitId:r,zoomRatio:d})}},Bi={id:"sheet.command.set-zoom-ratio",type:l.CommandType.COMMAND,handler:async(n,i)=>{if(!i)return!1;const{unitId:e,subUnitId:t,zoomRatio:o}=i;return n.get(l.ICommandService).executeCommand($e.id,{unitId:e,subUnitId:t,zoomRatio:o})}};var Kc=Object.defineProperty,Qc=Object.getOwnPropertyDescriptor,Jc=(n,i,e,t)=>{for(var o=t>1?void 0:t?Qc(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&Kc(i,e,o),o},Hr=(n,i)=>(e,t)=>i(e,t,n);let Mi=class extends l.Disposable{constructor(n,i,e){super(),this._context=n,this._sheetSkeletonManagerService=i,this._commandService=e,this._skeletonListener(),this._zoomEventBinding()}updateZoom(n,i){const e=this._context.unit.getSheetBySheetId(n);return e?(e.getConfig().zoomRatio=i,e===this._context.unit.getActiveSheet()&&this._updateViewZoom(i),!0):!1}_zoomEventBinding(){var i;const n=(i=this._getSheetObject())==null?void 0:i.scene;n!=null&&this.disposeWithMe(n.onMouseWheelObserver.add(e=>{if(!e.ctrlKey)return;const t=Math.abs(e.deltaX);let o=t<40?.2:t<80?.4:.2;o*=e.deltaY>0?-1:1,n.scaleX<1&&(o/=2);const r=this._context.unit,s=r.getActiveSheet(),a=s.getZoomRatio();let c=+Number.parseFloat(`${a+o}`).toFixed(1);c=c>=4?4:c<=.1?.1:c,this._commandService.executeCommand(Bi.id,{zoomRatio:Math.round(c*10)/10,unitId:r.getUnitId(),subUnitId:s.getSheetId()}),e.preventDefault()}))}_skeletonListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeletonBefore$.subscribe(n=>{if(n==null)return;const t=this._context.unit.getActiveSheet().getZoomRatio()||1;this._updateViewZoom(t)}))}_updateViewZoom(n){const i=this._getSheetObject();i==null||i.scene.scale(n,n),i==null||i.spreadsheet.makeForceDirty()}_getSheetObject(){return It(this._context.unit,this._context)}};Mi=Jc([Hr(1,k.Inject(exports.SheetSkeletonManagerService)),Hr(2,l.ICommandService)],Mi);const $e={id:"sheet.operation.set-zoom-ratio",type:l.CommandType.OPERATION,handler:(n,i)=>{const t=n.get(E.IRenderManagerService).getRenderById(i.unitId);return t?t.with(Mi).updateZoom(i.subUnitId,i.zoomRatio):!1}};var $c=Object.defineProperty,ed=Object.getOwnPropertyDescriptor,td=(n,i,e,t)=>{for(var o=t>1?void 0:t?ed(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&$c(i,e,o),o},ct=(n,i)=>(e,t)=>i(e,t,n);exports.AutoFillController=class extends l.Disposable{constructor(e,t,o,r,s,a,c,u){super();w(this,"_beforeApplyData",[]);w(this,"_currentLocation",null);w(this,"_copyData",[]);w(this,"_defaultHook");this._univerInstanceService=e,this._selectionRenderService=t,this._commandService=o,this._autoFillService=r,this._editorBridgeService=s,this._sheetInterceptorService=a,this._selectionManagerService=c,this._injector=u,this._defaultHook={id:"default",type:Vt.Default,priority:0,onBeforeFillData:(d,m)=>{this._presetAndCacheData(d,m)},onFillData:(d,m,g)=>this._fillData(d,m,g)},this._init()}_init(){this._initDefaultHook(),this._onSelectionControlFillChanged(),this._onApplyTypeChanged(),this._initQuitListener()}_initDefaultHook(){this.disposeWithMe(this._autoFillService.addHook(this._defaultHook))}_initQuitListener(){const e=[Le.id,oi.id,$e.id,h.SetWorksheetActiveOperation.id,h.SetRangeValuesMutation.id,h.MoveRangeMutation.id,h.RemoveRowMutation.id,h.RemoveColMutation.id,h.InsertRowMutation.id,h.InsertColMutation.id,h.MoveRowsMutation.id,h.MoveColsMutation.id,h.SetWorksheetColWidthMutation.id,h.SetWorksheetRowHeightMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted((t,o)=>{var s,a;const r=o==null?void 0:o.fromCollab;e.includes(t.id)&&!r&&t.params.trigger!==In.id&&this._quit(),t.id===h.RemoveSheetMutation.id&&t.params.unitId===((s=this._currentLocation)==null?void 0:s.unitId)&&t.params.subUnitId===((a=this._currentLocation)==null?void 0:a.subUnitId)&&this._quit()})),this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(t=>{var o;t.getUnitId()===((o=this._currentLocation)==null?void 0:o.unitId)&&this._quit()}))}_quit(){this._currentLocation=null,this._beforeApplyData=[],this._copyData=[],this._autoFillService.setShowMenu(!1)}_onSelectionControlFillChanged(){const e=new l.DisposableCollection,t=o=>{const r=this._selectionManagerService.getCurrent();if((r==null?void 0:r.pluginName)!==h.NORMAL_SELECTION_PLUGIN_NAME)return;o.dispose(),this._selectionRenderService.getCurrentControls().forEach(a=>{o.add(l.toDisposable(a.selectionFilled$.subscribe(c=>{if(c==null||c.startColumn===-1||c.startRow===-1||c.endColumn===-1||c.endRow===-1)return;const u={startColumn:a.model.startColumn,endColumn:a.model.endColumn,startRow:a.model.startRow,endRow:a.model.endRow},d={startColumn:c.startColumn,endColumn:c.endColumn,startRow:c.startRow,endRow:c.endRow};this._triggerAutoFill(u,d)}))),o.add(l.toDisposable(a.fillControl.onDblclickObserver.add(()=>{const c={startColumn:a.model.startColumn,endColumn:a.model.endColumn,startRow:a.model.startRow,endRow:a.model.endRow};this._handleDbClickFill(c)}))),o.add(l.toDisposable(a.fillControl.onPointerDownObserver.add(()=>{this._editorBridgeService.isVisible().visible&&this._editorBridgeService.changeVisible({visible:!1,eventType:E.DeviceInputEventType.PointerDown})})))})};t(e),this.disposeWithMe(this._commandService.onCommandExecuted(o=>{o.id===h.SetSelectionsOperation.id&&t(e)}))}_onApplyTypeChanged(){this.disposeWithMe(l.toDisposable(this._autoFillService.applyType$.subscribe(()=>{this._handleFillData()})))}_triggerAutoFill(e,t){var p;if(e.startColumn===t.startColumn&&e.startRow===t.startRow&&e.endColumn===t.endColumn&&e.endRow===t.endRow)return;if(t.endColumn<e.endColumn&&t.endColumn>e.startColumn){this._commandService.executeCommand(oi.id,{clearRange:{startRow:t.startRow,endRow:t.endRow,startColumn:t.endColumn+1,endColumn:e.endColumn},selectionRange:t});return}if(t.endRow<e.endRow&&t.endRow>e.startRow){this._commandService.executeCommand(oi.id,{clearRange:{startRow:t.endRow+1,endRow:e.endRow,startColumn:t.startColumn,endColumn:t.endColumn},selectionRange:t});return}const o={startRow:t.startRow,endRow:t.endRow,startColumn:t.startColumn,endColumn:t.endColumn};let r=null;if(t.startRow<e.startRow)r=l.Direction.UP,o.endRow=e.startRow-1;else if(t.endRow>e.endRow)r=l.Direction.DOWN,o.startRow=e.endRow+1;else if(t.startColumn<e.startColumn)r=l.Direction.LEFT,o.endColumn=e.startColumn-1;else if(t.endColumn>e.endColumn)r=l.Direction.RIGHT,o.startColumn=e.endColumn+1;else return;const s=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!s)return;const a=s.getUnitId(),c=s.getActiveSheet().getSheetId();this._autoFillService.direction=r;const u={get:this._injector.get.bind(this._injector)},d=Bt(e,u),m=Bt(o,u);if(!d||!m)return;this._autoFillService.autoFillLocation={source:d,target:m,unitId:a,subUnitId:c},this._autoFillService.getActiveHooks().forEach(f=>{var S;(S=f==null?void 0:f.onBeforeFillData)==null||S.call(f,{source:d,target:m,unitId:a,subUnitId:c},r)}),(p=this._autoFillService.menu.find(f=>f.value===ce.SERIES))!=null&&p.disable?this._autoFillService.applyType=ce.COPY:this._autoFillService.applyType=ce.SERIES}_handleDbClickFill(e){const t=this._detectFillRange(e);t.endRow<=e.endRow||this._triggerAutoFill(e,t)}_detectFillRange(e){var g,p,f,S,v,I;const{startRow:t,endRow:o,startColumn:r,endColumn:s}=e,a=(g=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET))==null?void 0:g.getActiveSheet();if(!a)return e;const c=a.getCellMatrix(),u=a.getMaxRows()-1,d=a.getMaxColumns()-1;let m=o;if(r>0&&((p=c.getValue(t,r-1))==null?void 0:p.v)!=null){let R=t;for(;((f=c.getValue(R,r-1))==null?void 0:f.v)!=null&&R<u;)R+=1;m=R-1}else if(s<d&&((S=c.getValue(o,s+1))==null?void 0:S.v)!=null){let R=t;for(;((v=c.getValue(R,s+1))==null?void 0:v.v)!=null&&R<u;)R+=1;m=R-1}for(let R=o+1;R<=m;R++)for(let _=r;_<=s;_++)if(((I=c.getValue(R,_))==null?void 0:I.v)!=null){m=R-1;break}return{startColumn:r,endColumn:s,startRow:t,endRow:m}}_handleFillData(){var e,t;this._currentLocation&&this._commandService.executeCommand(In.id,{unitId:(e=this._currentLocation)==null?void 0:e.unitId,subUnitId:(t=this._currentLocation)==null?void 0:t.subUnitId})}_getApplyData(e,t,o,r,s,a=!0){const c=[],u=Math.floor(o/t),d=o%t,m=this._autoFillService.getRules();if(!a&&s===ce.ONLY_FORMAT)return console.error("ERROR: only format can not be applied when hasStyle is false"),[];const g={};m.forEach(p=>{g[p.type]=[]}),m.forEach(p=>{const{type:f,applyFunctions:S={}}=p,v=e[f];v&&v.forEach(I=>{const R=ll(I.index,d),_=I.index.length*u+R,T=this._applyFunctions(I,_,r,s,S,e),y=cl(t,o,I.index);g[f].push({data:T,index:y})})});for(let p=0;p<o;p++)m.forEach(f=>{const{type:S}=f,v=g[S];for(let I=0;I<v.length;I++)p in v[I].index&&c.push(v[I].data[v[I].index[p]])});return c}_applyFunctions(e,t,o,r,s,a){const{data:c}=e,u=o===l.Direction.UP||o===l.Direction.LEFT;if(r===ce.COPY){const d=s==null?void 0:s[ce.COPY];return d?d(e,t,o,a):(u&&c.reverse(),Pt(c,t))}if(r===ce.SERIES){const d=s==null?void 0:s[ce.SERIES];return d?d(e,t,o,a):(u&&c.reverse(),s!=null&&s[ce.COPY]?s[ce.COPY](e,t,o,a):Pt(c,t))}if(r===ce.ONLY_FORMAT){const d=s==null?void 0:s[ce.ONLY_FORMAT];return d?d(e,t,o,a):dl(c,t)}}_getCopyData(e,t){const o=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getActiveSheet().getCellMatrix(),r=this._autoFillService.getRules(),s=[],a=t===l.Direction.DOWN||t===l.Direction.UP;let c,u;return a?(c=e.cols,u=e.rows):(c=e.rows,u=e.cols),c.forEach(d=>{const m=this._getEmptyCopyDataPiece(),g={type:void 0,cellData:void 0};u.forEach(p=>{let f;a?f=o.getValue(p,d):f=o.getValue(d,p);const{type:S,isContinue:v}=r.find(I=>I.match(f))||fs;if(v(g,f)){const I=m[S],R=I[I.length-1];R.data.push(f),R.index.push(p-u[0])}else{const I=m[S];I?I.push({data:[f],index:[p-u[0]]}):m[S]=[{data:[f],index:[p-u[0]]}]}g.type=S,g.cellData=f}),s.push(m)}),s}_getEmptyCopyDataPiece(){const e={};return this._autoFillService.getRules().forEach(t=>{e[t.type]=[]}),e}_getMergeApplyData(e,t,o,r){const s=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getActiveSheet().getMergeData(),a=[];for(let c=e.startRow;c<=e.endRow;c++)for(let u=e.startColumn;u<=e.endColumn;u++){const{isMergedMainCell:d,startRow:m,startColumn:g,endRow:p,endColumn:f}=E.getCellInfoInMergeData(c,u,s);if(d){if(o===l.Direction.DOWN){let S=m+r,v=p+r;for(;v<=t.endRow;)a.push({startRow:S,startColumn:g,endRow:v,endColumn:f}),S+=r,v+=r}else if(o===l.Direction.UP){let S=m-r,v=p-r;for(;S>=t.startRow;)a.push({startRow:S,startColumn:g,endRow:v,endColumn:f}),S-=r,v-=r}else if(o===l.Direction.RIGHT){let S=g+r,v=f+r;for(;v<=t.endColumn;)a.push({startRow:m,startColumn:S,endRow:p,endColumn:v}),S+=r,v+=r}else if(o===l.Direction.LEFT){let S=g-r,v=f-r;for(;S>=t.startColumn;)a.push({startRow:m,startColumn:S,endRow:p,endColumn:v}),S-=r,v-=r}}}return a}_presetAndCacheData(e,t){const{source:o,target:r}=e,s=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getActiveSheet().getCellMatrix(),a=[];r.rows.forEach(c=>{const u=[];r.cols.forEach(d=>{u.push(l.Tools.deepClone(s.getValue(c,d)))}),a.push(u)}),this._beforeApplyData=a,this._copyData=this._getCopyData(o,t),this._currentLocation=e,this._hasSeries(this._copyData)?this._autoFillService.setDisableApplyType(ce.SERIES,!1):this._autoFillService.setDisableApplyType(ce.SERIES,!0)}_fillData(e,t,o){var q,Y;const r=[],s=[];let a=!0;o===ce.NO_FORMAT&&(a=!1,o=ce.SERIES);const{source:c,target:u,unitId:d,subUnitId:m}=e;if(!c||!u||t==null)return{undos:r,redos:s};const g=Et(c),p=Et(u),{cols:f,rows:S}=u,{cols:v,rows:I}=c,R=this._copyData;let _;t===l.Direction.DOWN||t===l.Direction.UP?_=I.length:_=v.length;const T=[];if(t===l.Direction.DOWN||t===l.Direction.UP){const X=S.length,Z=[];f.forEach((G,K)=>{const ee=R[K],j=this._getApplyData(ee,_,X,t,o,a);Z.push(j)});for(let G=0;G<Z[0].length;G++){const K=[];for(let ee=0;ee<Z.length;ee++)K.push({s:null,...Z[ee][G]});T.push(K)}}else{const X=f.length;S.forEach((Z,G)=>{const K=R[G],ee=this._getApplyData(K,_,X,t,o,a),j=[];for(let F=0;F<ee.length;F++)j.push({s:null,...ee[F]});T.push(j)})}let y=[];const M=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getStyles();a?(y=this._getMergeApplyData(g,p,t,_),T.forEach(X=>{X.forEach(Z=>{Z&&M&&M&&(Z.s=M.getStyleByCell(Z))})})):T.forEach((X,Z)=>{X.forEach((G,K)=>{G&&M&&(G.s=M.getStyleByCell(this._beforeApplyData[Z][K])||null)})}),o===ce.ONLY_FORMAT&&T.forEach((X,Z)=>{X.forEach((G,K)=>{if(G){const ee=this._beforeApplyData[Z][K]||{};G.f=ee.f,G.si=ee.si,G.t=ee.t,G.v=ee.v}})});const P={get:this._injector.get.bind(this._injector)},N=[],D=(Y=(q=this._univerInstanceService.getUniverSheetInstance(d))==null?void 0:q.getSheetBySheetId(m))==null?void 0:Y.getMergeData();D&&D.forEach(X=>{l.Rectangle.intersects(X,p)&&N.push(X)});const A={unitId:d,subUnitId:m,ranges:N},x=h.RemoveMergeUndoMutationFactory(P,A);N.length&&(s.push({id:h.RemoveWorksheetMergeMutation.id,params:A}),r.push({id:h.AddWorksheetMergeMutation.id,params:x}));const L={subUnitId:m,unitId:d,cellValue:Sl([u])},U=h.SetRangeValuesUndoMutationFactory(P,L);s.push({id:h.SetRangeValuesMutation.id,params:L}),r.push({id:h.SetRangeValuesMutation.id,params:U});const H=new l.ObjectMatrix;S.forEach((X,Z)=>{f.forEach((G,K)=>{T[Z][K]&&H.setValue(X,G,T[Z][K])})});const W={subUnitId:m,unitId:d,cellValue:H.getMatrix()},z=h.SetRangeValuesUndoMutationFactory(P,W);if(r.push({id:h.SetRangeValuesMutation.id,params:z}),s.push({id:h.SetRangeValuesMutation.id,params:W}),y!=null&&y.length){const X=h.getAddMergeMutationRangeByType(y),Z={unitId:d,subUnitId:m,ranges:X},G=h.AddMergeUndoMutationFactory(P,Z);r.push({id:h.RemoveWorksheetMergeMutation.id,params:G}),s.push({id:h.AddWorksheetMergeMutation.id,params:Z})}return{undos:r,redos:s}}_hasSeries(e){return e.some(t=>Object.keys(t).some(r=>{var s;return!!((s=t[r])!=null&&s.length&&![_e.OTHER,_e.FORMULA].includes(r))}))}};exports.AutoFillController=td([l.OnLifecycle(l.LifecycleStages.Steady,exports.AutoFillController),ct(0,l.IUniverInstanceService),ct(1,Me),ct(2,l.ICommandService),ct(3,Ot),ct(4,je),ct(5,k.Inject(h.SheetInterceptorService)),ct(6,k.Inject(h.SelectionManagerService)),ct(7,k.Inject(k.Injector))],exports.AutoFillController);var nd=Object.defineProperty,id=Object.getOwnPropertyDescriptor,od=(n,i,e,t)=>{for(var o=t>1?void 0:t?id(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&nd(i,e,o),o},no=(n,i)=>(e,t)=>i(e,t,n);exports.CellCustomRenderController=class extends l.Disposable{constructor(e,t,o,r){super();w(this,"_enterActiveRender");this._context=e,this._sheetSkeletonManagerService=t,this._renderManagerService=o,this._univerInstanceService=r,this._initEventBinding()}_initEventBinding(){const e=new l.DisposableCollection,t=this._context.unit,o=r=>{if(e.dispose(),!r)return;const{unitId:s,skeleton:a}=r,c=this._renderManagerService.getRenderById(s);if(c&&c.mainComponent){const u=c.mainComponent,d=p=>{const{offsetX:f,offsetY:S}=p,v=c.scene,I=t.getActiveSheet(),R=v.getActiveViewportByCoord(E.Vector2.FromArray([f,S]));if(!R)return;const{scaleX:_,scaleY:T}=v.getAncestorScale(),y={x:R.viewportScrollX,y:R.viewportScrollY},M=a.getCellPositionByOffset(f,S,_,T,y),P=a.mergeData.find(Y=>{const{startColumn:X,startRow:Z,endColumn:G,endRow:K}=Y;return M.row>=Z&&M.column>=X&&M.row<=K&&M.column<=G}),N={actualRow:P?P.startRow:M.row,actualCol:P?P.startColumn:M.column,mergeCell:P,row:M.row,col:M.column};if(!N||!a)return;const D=I.getCell(N.actualRow,N.actualCol);if(!D)return;const A=D.customRender;if(!(A!=null&&A.length))return;const x=N.actualRow,L=N.actualCol,U=A.sort(l.sortRules),H=t.getActiveSheet().getSheetId(),W={data:D,style:a.getsStyles().getStyleByCell(D),primaryWithCoord:a.getCellByIndex(N.actualRow,N.actualCol),unitId:s,subUnitId:H,row:x,col:L},z={x:y.x+f/_,y:y.y+S/T},q=U.find(Y=>{var X;return(X=Y.isHit)==null?void 0:X.call(Y,z,W)});if(q)return[q,W]},m=u.onPointerDownObserver.add(p=>{var S,v;const f=d(p);if(f){const[I,R]=f;if((S=R.data.dataValidation)!=null&&S.isSkip)return;(v=I.onPointerDown)==null||v.call(I,R,p)}}),g=u.onPointerMoveObserver.add(p=>{var S,v,I,R;const f=d(p);if(f){const[_,T]=f;this._enterActiveRender?this._enterActiveRender.render!==_&&((v=(S=this._enterActiveRender.render).onPointerLeave)==null||v.call(S,this._enterActiveRender.cellContext,p),this._enterActiveRender={render:_,cellContext:T},(I=_.onPointerEnter)==null||I.call(_,T,p)):(this._enterActiveRender={render:_,cellContext:T},(R=_.onPointerEnter)==null||R.call(_,T,p))}});m&&e.add(m),g&&e.add(g)}};this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(o)),o(this._sheetSkeletonManagerService.getCurrent()),this.disposeWithMe(e)}};exports.CellCustomRenderController=od([l.OnLifecycle(l.LifecycleStages.Rendered,exports.CellCustomRenderController),no(1,k.Inject(exports.SheetSkeletonManagerService)),no(2,E.IRenderManagerService),no(3,l.IUniverInstanceService)],exports.CellCustomRenderController);const Ds={id:"sheet.command.hide-row-confirm",type:l.CommandType.COMMAND,handler:async n=>{var c;const e=(c=n.get(h.SelectionManagerService).getSelections())==null?void 0:c.map(u=>u.range);if(!(e!=null&&e.length))return!1;const t=n.get(l.ICommandService),o=n.get(l.IUniverInstanceService),r=h.getSheetCommandTarget(o);if(!r)return!1;const{worksheet:s}=r,a=s.getVisibleRows();if(ys(a,e)){const u=n.get(b.IConfirmService),d=n.get(l.LocaleService);return await u.confirm({id:"sheet.confirm.hide-row",title:{title:d.t("info.problem")},children:{title:d.t("rightClick.hideAllRowsAlert")},cancelText:d.t("button.cancel"),confirmText:d.t("button.confirm")}),!1}return await t.executeCommand(h.SetRowHiddenCommand.id),!0}},ks={id:"sheet.command.hide-col-confirm",type:l.CommandType.COMMAND,handler:async n=>{var c;const e=(c=n.get(h.SelectionManagerService).getSelections())==null?void 0:c.map(u=>u.range);if(!(e!=null&&e.length))return!1;const t=n.get(l.ICommandService),o=n.get(l.IUniverInstanceService),r=h.getSheetCommandTarget(o);if(!r)return!1;const{worksheet:s}=r,a=s.getVisibleCols();if(Ps(a,e)){const u=n.get(b.IConfirmService),d=n.get(l.LocaleService);return await u.confirm({id:"sheet.confirm.hide-col",title:{title:d.t("info.problem")},children:{title:d.t("rightClick.hideAllColumnsAlert")},cancelText:d.t("button.cancel"),confirmText:d.t("button.confirm")}),!1}return await t.executeCommand(h.SetColHiddenCommand.id),!0}},yn={type:l.CommandType.COMMAND,id:"sheet.command.set-range-bold",handler:async n=>{const i=n.get(l.ICommandService);return n.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?i.executeCommand(re.SetInlineFormatBoldCommand.id):i.executeCommand(h.SetBoldCommand.id)}},Pn={type:l.CommandType.COMMAND,id:"sheet.command.set-range-italic",handler:async n=>{const i=n.get(l.ICommandService);return n.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?i.executeCommand(re.SetInlineFormatItalicCommand.id):i.executeCommand(h.SetItalicCommand.id)}},En={type:l.CommandType.COMMAND,id:"sheet.command.set-range-underline",handler:async n=>{const i=n.get(l.ICommandService);return n.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?i.executeCommand(re.SetInlineFormatUnderlineCommand.id):i.executeCommand(h.SetUnderlineCommand.id)}},On={type:l.CommandType.COMMAND,id:"sheet.command.set-range-stroke",handler:async n=>{const i=n.get(l.ICommandService);return n.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?i.executeCommand(re.SetInlineFormatStrikethroughCommand.id):i.executeCommand(h.SetStrikeThroughCommand.id)}},rd={type:l.CommandType.COMMAND,id:"sheet.command.set-range-subscript",handler:async n=>{const i=n.get(l.ICommandService);return n.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?i.executeCommand(re.SetInlineFormatSubscriptCommand.id):!1}},sd={type:l.CommandType.COMMAND,id:"sheet.command.set-range-superscript",handler:async n=>{const i=n.get(l.ICommandService);return n.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?i.executeCommand(re.SetInlineFormatSuperscriptCommand.id):!1}},Ls={type:l.CommandType.COMMAND,id:"sheet.command.set-range-fontsize",handler:async(n,i)=>{const e=n.get(l.ICommandService);return n.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?e.executeCommand(re.SetInlineFormatFontSizeCommand.id,i):e.executeCommand(h.SetFontSizeCommand.id,i)}},Hs={type:l.CommandType.COMMAND,id:"sheet.command.set-range-font-family",handler:async(n,i)=>{const e=n.get(l.ICommandService);return n.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?e.executeCommand(re.SetInlineFormatFontFamilyCommand.id,i):e.executeCommand(h.SetFontFamilyCommand.id,i)}},yi={type:l.CommandType.COMMAND,id:"sheet.command.set-range-text-color",handler:async(n,i)=>{const e=n.get(l.ICommandService);return n.get(l.IContextService).getContextValue(l.EDITOR_ACTIVATED)?e.executeCommand(re.SetInlineFormatTextColorCommand.id,i):e.executeCommand(h.SetTextColorCommand.id,i)}};function ad(n,i){if(n.length!==i.length)return!1;const e=n.sort((o,r)=>o.id.localeCompare(r.id)),t=i.sort((o,r)=>o.id.localeCompare(r.id));return e.every((o,r)=>{var s,a;return((s=o.subject)==null?void 0:s.userID)===((a=t[r].subject)==null?void 0:a.userID)&&o.role===t[r].role})}function Vs(n,i){return i.some(e=>ld(n,e))}function ld(n,i){const{startRow:e,startColumn:t,endColumn:o,endRow:r}=i,s=n.getMatrixWithMergedCells(e,t,r,o);let a=!1;return s.forValue((c,u,d)=>{if(d&&(c!==e||u!==t)&&n.cellHasValue(d))return a=!0,!1}),a}function Ws(n,i,e,t){const o=[],r=[],s=e.getSheetId();return t.forEach(a=>{const c=cd(e,a),u={unitId:i,subUnitId:s,cellValue:c.getData()},d=h.SetRangeValuesUndoMutationFactory(n,u);o.push({id:h.SetRangeValuesMutation.id,params:d}),r.push({id:h.SetRangeValuesMutation.id,params:u})}),{undos:o,redos:r}}function cd(n,i){const{startRow:e,startColumn:t,endColumn:o,endRow:r}=i,s=n.getMatrixWithMergedCells(e,t,r,o),a=new l.ObjectMatrix;return s.forValue((c,u,d)=>{d&&(c!==e||u!==t)&&a.setValue(c,u,null)}),a}function dd(n,i,e,t){const o=e.getActiveViewportByCoord(E.Vector2.FromArray([n,i]));if(!o)return;const{scaleX:r,scaleY:s}=e.getAncestorScale(),a={x:o.viewportScrollX,y:o.viewportScrollY},c=t.getCellPositionByOffset(n,i,r,s,a),u=t.mergeData.find(m=>{const{startColumn:g,startRow:p,endColumn:f,endRow:S}=m;return c.row>=p&&c.column>=g&&c.row<=S&&c.column<=f});return{actualRow:u?u.startRow:c.row,actualCol:u?u.startColumn:c.column,mergeCell:u,row:c.row,col:c.column}}function ud(n,i,e,t){const o=t.getFreeze();if(!o||o.startRow<=0&&o.startColumn<=0||n>o.startRow&&i>o.startColumn)return e.getViewport(Q.VIEW_MAIN);if(n<=o.startRow&&i<=o.startColumn)return e.getViewport(Q.VIEW_MAIN_LEFT_TOP);if(n<=o.startRow&&i>o.startColumn)return e.getViewport(Q.VIEW_MAIN_TOP);if(n>o.startRow&&i<=o.startColumn)return e.getViewport(Q.VIEW_MAIN_LEFT)}function hd(n,i,e,t){const o=Vr(n.left,n.top,i,e,t),r=Vr(n.right,n.bottom,i,e,t);return{left:o.x,top:o.y,right:r.x,bottom:r.y}}function Vr(n,i,e,t,o){const{scaleX:r,scaleY:s}=e.getAncestorScale(),a=e.getViewport(Q.VIEW_MAIN);if(!a)return{x:n,y:i};const c=o.getFreeze(),{startColumn:u,startRow:d,xSplit:m,ySplit:g}=c,p=t.getNoMergeCellPositionByIndexWithNoHeader(d-g,u-m),f=t.getNoMergeCellPositionByIndexWithNoHeader(d,u),{rowHeaderWidth:S,columnHeaderHeight:v}=t,I=f.startX-p.startX,R=f.startY-p.startY,{top:_,left:T,viewportScrollX:y,viewportScrollY:M}=a;let P;n>T?P=(n-y)*r:P=(I+S-(T-n))*r;let N;return i>_?N=(i-M)*s:N=(R+v-(_-i))*r,{x:P,y:N}}function Us(n,i,e,t,o,r){const{scene:s}=n,{skeleton:a,sheetId:c,unitId:u}=t,d=dd(o,r,s,a);if(!d)return null;const{row:m,col:g,mergeCell:p,actualCol:f,actualRow:S}=d,v={unitId:u,subUnitId:c,workbook:i,worksheet:e,row:S,col:f};let I;p?I=p:I={startRow:m,endRow:m,startColumn:g,endColumn:g};const R=s.getActiveViewportByCoord(E.Vector2.FromArray([o,r]));if(!R)return;const{scaleX:_,scaleY:T}=s.getAncestorScale(),y={x:R.viewportScrollX,y:R.viewportScrollY};return{position:{startX:(a.getOffsetByPositionX(I.startColumn-1)-y.x)*_,endX:(a.getOffsetByPositionX(I.endColumn)-y.x)*_,startY:(a.getOffsetByPositionY(I.startRow-1)-y.y)*T,endY:(a.getOffsetByPositionY(I.endRow)-y.y)*T},location:v}}var md=Object.defineProperty,gd=Object.getOwnPropertyDescriptor,pd=(n,i,e,t)=>{for(var o=t>1?void 0:t?gd(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&md(i,e,o),o},io=(n,i)=>(e,t)=>i(e,t,n),ze=(n=>(n[n.OFF=0]="OFF",n[n.ONCE=1]="ONCE",n[n.INFINITE=2]="INFINITE",n))(ze||{});const Nt=k.createIdentifier("univer.format-painter-service");let Eo=class extends l.Disposable{constructor(i,e,t){super();w(this,"status$");w(this,"_selectionFormat");w(this,"_markId",null);w(this,"_status$");this._selectionManagerService=i,this._univerInstanceService=e,this._markSelectionService=t,this._status$=new O.BehaviorSubject(0),this.status$=this._status$.asObservable(),this._selectionFormat={styles:new l.ObjectMatrix,merges:[]}}setStatus(i){i!==0&&this._getSelectionRangeFormat(),this._updateRangeMark(i),this._status$.next(i)}getStatus(){return this._status$.getValue()}_updateRangeMark(i){if(this._markSelectionService.removeAllShapes(),this._markId=null,i!==0){const e=this._selectionManagerService.getLast();if(e){const t=this._selectionManagerService.createCopyPasteSelection();i===2?this._markId=this._markSelectionService.addShape({...e,style:t}):this._markId=this._markSelectionService.addShape({...e,style:t},[h.SetRangeValuesMutation.id])}}}_getSelectionRangeFormat(){const i=this._selectionManagerService.getLast(),e=i==null?void 0:i.range;if(!e)return;const{startRow:t,endRow:o,startColumn:r,endColumn:s}=e,a=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),u=(a==null?void 0:a.getActiveSheet()).getCellMatrix(),d=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getActiveSheet().getMergeData(),m=a.getStyles(),g=new l.ObjectMatrix;this._selectionFormat.merges=[];for(let p=t;p<=o;p++)for(let f=r;f<=s;f++){const S=u.getValue(p,f);g.setValue(p,f,m.getStyleByCell(S)||{});const{isMergedMainCell:v,...I}=E.getCellInfoInMergeData(p,f,d);v&&this._selectionFormat.merges.push({startRow:I.startRow,startColumn:I.startColumn,endRow:I.endRow,endColumn:I.endColumn})}this._selectionFormat.styles=g}getSelectionFormat(){return this._selectionFormat}};Eo=pd([io(0,k.Inject(h.SelectionManagerService)),io(1,l.IUniverInstanceService),io(2,Gt)],Eo);const tr={id:"sheet.operation.set-format-painter",type:l.CommandType.OPERATION,handler:(n,i)=>i?(n.get(Nt).setStatus(i.status),!0):!1},Bs={type:l.CommandType.COMMAND,id:"sheet.command.set-infinite-format-painter",handler:async n=>{const e=n.get(Nt).getStatus();let t;return e!==ze.OFF?t=ze.OFF:t=ze.INFINITE,n.get(l.ICommandService).executeCommand(tr.id,{status:t})}},nr={type:l.CommandType.COMMAND,id:"sheet.command.set-once-format-painter",handler:async n=>{const e=n.get(Nt).getStatus();let t;return e!==ze.OFF?t=ze.OFF:t=ze.ONCE,n.get(l.ICommandService).executeCommand(tr.id,{status:t})}},Fi={type:l.CommandType.COMMAND,id:"sheet.command.apply-format-painter",handler:async(n,i)=>{const e=n.get(l.ICommandService),t=n.get(l.IUndoRedoService),o=n.get(l.IUniverInstanceService),r=n.get(h.SelectionManagerService),s=n.get(h.SheetInterceptorService),a=h.getSheetCommandTarget(o,i);if(!a)return!1;const{worksheet:c,unitId:u,subUnitId:d}=a,{styleValues:m,styleRange:g,mergeRanges:p}=i,f=g?[g]:r.getSelectionRanges();if(!f||!f.length)return!1;const S=new l.ObjectMatrix;let v;if(l.Tools.isArray(m))for(let W=0;W<f.length;W++){const{startRow:z,startColumn:q,endRow:Y,endColumn:X}=f[W];for(let Z=0;Z<=Y-z;Z++)for(let G=0;G<=X-q;G++)S.setValue(Z+z,G+q,m[Z][G])}else if(l.isICellData(m))for(let W=0;W<f.length;W++){const{startRow:z,startColumn:q}=f[W];S.setValue(z,q,m)}else v=m;const I={subUnitId:d,unitId:u,cellValue:v!=null?v:S.getMatrix()},R=h.SetRangeValuesUndoMutationFactory(n,I),_=e.syncExecuteCommand(h.SetRangeValuesMutation.id,I),{undos:T,redos:y}=s.onCommandExecute({id:h.SetRangeValuesCommand.id,params:{...I,range:f}}),M=h.getAddMergeMutationRangeByType(p),P=[],N=[],D=Vs(c,M),A={unitId:u,subUnitId:d,ranges:M},x={unitId:u,subUnitId:d,ranges:M};P.push({id:h.RemoveWorksheetMergeMutation.id,params:A}),P.push({id:h.AddWorksheetMergeMutation.id,params:x});const L=h.RemoveMergeUndoMutationFactory(n,A),U=h.AddMergeUndoMutationFactory(n,x);if(N.push({id:h.RemoveWorksheetMergeMutation.id,params:U}),N.push({id:h.AddWorksheetMergeMutation.id,params:L}),D){const W=Ws(n,u,c,M);P.unshift(...W.redos),N.push(...W.undos)}const H=await l.sequenceExecute([...y,...P],e);return _&&H.result?(t.pushUndoRedo({unitID:u,undoMutations:[{id:h.SetRangeValuesMutation.id,params:R},...T,...N],redoMutations:[{id:h.SetRangeValuesMutation.id,params:I},...y,...P]}),!0):!1}},ji={type:l.CommandType.COMMAND,id:"sheet.command.set-selection-frozen",handler:async(n,i)=>{const{type:e}=i||{},t=n.get(l.IUniverInstanceService),o=n.get(l.IUndoRedoService),r=h.getSheetCommandTarget(t);if(!r)return!1;const{unitId:s,subUnitId:a}=r,c=n.get(l.ICommandService),d=n.get(h.SelectionManagerService).getSelections();if(!d)return!1;const m=d[(d==null?void 0:d.length)-1],{range:g}=m,p=n.get(tt),{sheetViewStartRow:f=0,sheetViewStartColumn:S=0}=p.getCurrentScroll()||{};let v,I,R,_;const{startRow:T,startColumn:y,rangeType:M}=g;if(M===l.RANGE_TYPE.ROW||e===1)v=T,R=T-f,I=-1,_=0;else if(M===l.RANGE_TYPE.COLUMN||e===2)v=-1,R=0,I=y,_=y-S;else if(M===l.RANGE_TYPE.NORMAL)v=T,R=T-f,I=y,_=y-S;else return!1;const P={unitId:s,subUnitId:a,startRow:v,startColumn:I,xSplit:I>0?Math.max(1,_):_,ySplit:v>0?Math.max(1,R):R},N=h.SetFrozenMutationFactory(n,P);return c.syncExecuteCommand(h.SetFrozenMutation.id,P)&&o.pushUndoRedo({unitID:s,undoMutations:[{id:h.SetFrozenMutation.id,params:N}],redoMutations:[{id:h.SetFrozenMutation.id,params:P}]}),!0}},Fs={type:l.CommandType.COMMAND,id:"sheet.command.set-row-frozen",handler:async n=>(n.get(l.ICommandService).executeCommand(ji.id,{type:1}),!0)},js={type:l.CommandType.COMMAND,id:"sheet.command.set-col-frozen",handler:async n=>(n.get(l.ICommandService).executeCommand(ji.id,{type:2}),!0)},Xs={type:l.CommandType.COMMAND,id:"sheet.command.cancel-frozen",handler:async n=>{const i=n.get(l.ICommandService),e=n.get(l.IUniverInstanceService),t=n.get(l.IUndoRedoService),o=h.getSheetCommandTarget(e);if(!o)return!1;const{unitId:r,subUnitId:s}=o,a={unitId:r,subUnitId:s,startRow:-1,startColumn:-1,xSplit:0,ySplit:0},c=h.SetFrozenMutationFactory(n,a);return i.syncExecuteCommand(h.SetFrozenMutation.id,a)&&t.pushUndoRedo({unitID:r,undoMutations:[{id:h.SetFrozenMutation.id,params:c}],redoMutations:[{id:h.SetFrozenMutation.id,params:a}]}),!0}},Qt="UI_PLUGIN_SHEETS",Xi=`${Qt}_COLOR_PICKER_COMPONENT`,zs=`${Qt}_FONT_FAMILY_COMPONENT`,Ys=`${Qt}_FONT_FAMILY_ITEM_COMPONENT`,Zs=`${Qt}_FONT_SIZE_COMPONENT`,ir=`${Qt}_MENU_ITEM_INPUT_COMPONENT`;var Gs={exports:{}},zi={};/**
|
|
8
8
|
* @license React
|
|
9
9
|
* react-jsx-runtime.production.min.js
|
|
10
10
|
*
|
|
@@ -12,10 +12,9 @@
|
|
|
12
12
|
*
|
|
13
13
|
* This source code is licensed under the MIT license found in the
|
|
14
14
|
* LICENSE file in the root directory of this source tree.
|
|
15
|
-
*/var Kl=V,ql=Symbol.for("react.element"),Ql=Symbol.for("react.fragment"),Jl=Object.prototype.hasOwnProperty,ec=Kl.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,tc={key:!0,ref:!0,__self:!0,__source:!0};function Gr(o,t,e){var n,i={},r=null,s=null;e!==void 0&&(r=""+e),t.key!==void 0&&(r=""+t.key),t.ref!==void 0&&(s=t.ref);for(n in t)Jl.call(t,n)&&!tc.hasOwnProperty(n)&&(i[n]=t[n]);if(o&&o.defaultProps)for(n in t=o.defaultProps,t)i[n]===void 0&&(i[n]=t[n]);return{$$typeof:ql,type:o,key:r,ref:s,props:i,_owner:ec.current}}eo.Fragment=Ql;eo.jsx=Gr;eo.jsxs=Gr;Xr.exports=eo;var C=Xr.exports;const nc="univer-sheets-ui-context-menu-input",oc="univer-sheets-ui-context-menu-input-container",ic="univer-sheets-ui-context-menu-input-number",mo={sheetsUiContextMenuInput:nc,sheetsUiContextMenuInputContainer:oc,sheetsUiContextMenuInputNumber:ic},rc=o=>{const{prefix:t,suffix:e,value:n,onChange:i,min:r=Number.MIN_SAFE_INTEGER,max:s=Number.MAX_SAFE_INTEGER}=o,a=G.useDependency(l.LocaleService),[c,u]=V.useState(),d=m=>{var g;u(m==null?void 0:m.toString()),i((g=m==null?void 0:m.toString())!=null?g:"")};V.useEffect(()=>{u(n)},[n]);function h(m){m.key==="Backspace"&&m.stopPropagation()}return C.jsxs("div",{className:mo.sheetsUiContextMenuInput,children:[a.t(t),C.jsx("span",{className:mo.sheetsUiContextMenuInputContainer,onClick:m=>m.stopPropagation(),children:C.jsx(re.InputNumber,{className:mo.sheetsUiContextMenuInputNumber,value:Number(c),precision:0,onKeyDown:h,onChange:d,min:r,max:s})}),a.t(e)]})};var le=(o=>(o.ROW_HEADER_CONTEXT_MENU="rowHeaderContextMenu",o.COL_HEADER_CONTEXT_MENU="colHeaderContextMenu",o.SHEET_BAR="sheetBar",o))(le||{});function sc(o){const t=o.get(ft);return{id:ai.id,subId:Br.id,group:I.MenuGroup.TOOLBAR_FORMAT,type:I.MenuItemType.BUTTON,icon:"BrushSingle",title:"Format Painter",tooltip:"toolbar.formatPainter",positions:[I.MenuPosition.TOOLBAR_START],activated$:new U.Observable(e=>{let n=!1;const i=t.status$.subscribe(r=>{n=r!==xe.OFF,e.next(n)});return e.next(n),()=>{i.unsubscribe()}}),hidden$:I.getMenuHiddenObservable(o,l.UniverInstanceType.UNIVER_SHEET),disabled$:S.getCurrentSheetDisabled$(o)}}function ac(o){const t=o.get(l.ICommandService),e=o.get(l.IUniverInstanceService),n=o.get(l.IContextService),i=o.get(S.SelectionManagerService);return{id:ni.id,group:I.MenuGroup.TOOLBAR_FORMAT,type:I.MenuItemType.BUTTON,icon:"BoldSingle",title:"Set bold",tooltip:"toolbar.bold",positions:[I.MenuPosition.TOOLBAR_START],disabled$:S.getCurrentSheetDisabled$(o),activated$:_e(e,!1,({worksheet:r})=>new U.Observable(s=>{var d;const a=t.onCommandExecuted(h=>{var g,f;const m=h.id;if(m===S.SetRangeValuesMutation.id||m===S.SetSelectionsOperation.id||m===S.SetWorksheetActiveOperation.id){const _=(g=i.getLast())==null?void 0:g.primary;let p=l.FontWeight.NORMAL;if(_!=null){const v=r.getRange(_.startRow,_.startColumn);p=v==null?void 0:v.getFontWeight()}s.next(p===l.FontWeight.BOLD)}if((m===te.SetTextSelectionsOperation.id||m===te.SetInlineFormatCommand.id)&&n.getContextValue(l.EDITOR_ACTIVATED)&&n.getContextValue(l.FOCUSING_SHEET)){const _=rn(o);if(_==null)return;const p=(f=_.ts)==null?void 0:f.bl;s.next(p===l.BooleanNumber.TRUE)}}),c=(d=i.getLast())==null?void 0:d.primary;if(!r){s.next(!1);return}let u=l.FontWeight.NORMAL;if(c!=null){const h=r.getRange(c.startRow,c.startColumn);u=h==null?void 0:h.getFontWeight()}return s.next(u===l.FontWeight.BOLD),a.dispose})),hidden$:I.getMenuHiddenObservable(o,l.UniverInstanceType.UNIVER_SHEET)}}function lc(o){const t=o.get(l.ICommandService),e=o.get(l.IUniverInstanceService),n=o.get(S.SelectionManagerService),i=o.get(l.IContextService);return{id:oi.id,group:I.MenuGroup.TOOLBAR_FORMAT,type:I.MenuItemType.BUTTON,icon:"ItalicSingle",title:"Set italic",tooltip:"toolbar.italic",positions:[I.MenuPosition.TOOLBAR_START],disabled$:S.getCurrentSheetDisabled$(o),activated$:_e(e,!1,({worksheet:r})=>new U.Observable(s=>{var d;const a=t.onCommandExecuted(h=>{var g,f;const m=h.id;if(m===S.SetRangeValuesMutation.id||m===S.SetSelectionsOperation.id||m===S.SetWorksheetActiveOperation.id){const _=(g=n.getLast())==null?void 0:g.primary;let p=l.FontItalic.NORMAL;if(_!=null){const v=r.getRange(_.startRow,_.startColumn);p=v==null?void 0:v.getFontStyle()}s.next(p===l.FontItalic.ITALIC)}if((m===te.SetTextSelectionsOperation.id||m===te.SetInlineFormatCommand.id)&&i.getContextValue(l.EDITOR_ACTIVATED)&&i.getContextValue(l.FOCUSING_SHEET)){const _=rn(o);if(_==null)return;const p=(f=_.ts)==null?void 0:f.it;s.next(p===l.BooleanNumber.TRUE)}}),c=(d=n.getLast())==null?void 0:d.primary;let u=l.FontItalic.NORMAL;if(c!=null){const h=r.getRange(c.startRow,c.startColumn);u=h==null?void 0:h.getFontStyle()}return s.next(u===l.FontItalic.ITALIC),a.dispose})),hidden$:I.getMenuHiddenObservable(o,l.UniverInstanceType.UNIVER_SHEET)}}function cc(o){const t=o.get(l.ICommandService),e=o.get(l.IUniverInstanceService),n=o.get(S.SelectionManagerService),i=o.get(l.IContextService);return{id:ii.id,group:I.MenuGroup.TOOLBAR_FORMAT,type:I.MenuItemType.BUTTON,icon:"UnderlineSingle",title:"Set underline",tooltip:"toolbar.underline",positions:[I.MenuPosition.TOOLBAR_START],disabled$:S.getCurrentSheetDisabled$(o),activated$:_e(e,!1,({worksheet:r})=>new U.Observable(s=>{var d;const a=t.onCommandExecuted(h=>{var g,f;const m=h.id;if(m===S.SetRangeValuesMutation.id||m===S.SetSelectionsOperation.id||m===S.SetWorksheetActiveOperation.id){const _=(g=n.getLast())==null?void 0:g.primary;let p;if(_!=null){const v=r.getRange(_.startRow,_.startColumn);p=v==null?void 0:v.getUnderline()}s.next(!!(p&&p.s))}if((m===te.SetTextSelectionsOperation.id||m===te.SetInlineFormatCommand.id)&&i.getContextValue(l.EDITOR_ACTIVATED)&&i.getContextValue(l.FOCUSING_SHEET)){const _=rn(o);if(_==null)return;const p=(f=_.ts)==null?void 0:f.ul;s.next((p==null?void 0:p.s)===l.BooleanNumber.TRUE)}}),c=(d=n.getLast())==null?void 0:d.primary;let u;if(c!=null){const h=r.getRange(c.startRow,c.startColumn);u=h==null?void 0:h.getUnderline()}return s.next(!!(u&&u.s)),a.dispose})),hidden$:I.getMenuHiddenObservable(o,l.UniverInstanceType.UNIVER_SHEET)}}function dc(o){const t=o.get(l.ICommandService),e=o.get(l.IUniverInstanceService),n=o.get(S.SelectionManagerService),i=o.get(l.IContextService);return{id:ri.id,group:I.MenuGroup.TOOLBAR_FORMAT,type:I.MenuItemType.BUTTON,icon:"StrikethroughSingle",title:"Set strike through",tooltip:"toolbar.strikethrough",positions:[I.MenuPosition.TOOLBAR_START],disabled$:S.getCurrentSheetDisabled$(o),activated$:_e(e,!1,({worksheet:r})=>new U.Observable(s=>{var d;const a=t.onCommandExecuted(h=>{var g,f;const m=h.id;if(m===S.SetRangeValuesMutation.id||m===S.SetSelectionsOperation.id||m===S.SetWorksheetActiveOperation.id){const _=(g=n.getLast())==null?void 0:g.primary;let p;if(_!=null){const v=r.getRange(_.startRow,_.startColumn);p=v==null?void 0:v.getStrikeThrough()}s.next(!!(p&&p.s))}if((m===te.SetTextSelectionsOperation.id||m===te.SetInlineFormatCommand.id)&&i.getContextValue(l.EDITOR_ACTIVATED)&&i.getContextValue(l.FOCUSING_SHEET)){const _=rn(o);if(_==null)return;const p=(f=_.ts)==null?void 0:f.st;s.next((p==null?void 0:p.s)===l.BooleanNumber.TRUE)}}),c=(d=n.getLast())==null?void 0:d.primary;let u;if(c!=null){const h=r.getRange(c.startRow,c.startColumn);u=h==null?void 0:h.getStrikeThrough()}return s.next(!!(u&&u.s)),a.dispose})),hidden$:I.getMenuHiddenObservable(o,l.UniverInstanceType.UNIVER_SHEET)}}function uc(o){const t=o.get(l.ICommandService),e=o.get(l.IUniverInstanceService),n=o.get(S.SelectionManagerService),i=l.DEFAULT_STYLES.ff;return{id:Hr.id,tooltip:"toolbar.font",group:I.MenuGroup.TOOLBAR_FORMAT,type:I.MenuItemType.SELECTOR,label:$r,positions:[I.MenuPosition.TOOLBAR_START],selections:I.FONT_FAMILY_LIST.map(r=>({label:{name:zr,hoverable:!0},value:r.value})),disabled$:S.getCurrentSheetDisabled$(o),value$:_e(e,i,({worksheet:r})=>new U.Observable(s=>{var d;const a=t.onCommandExecuted(h=>{var _;const m=h.id;if(m!==S.SetRangeValuesMutation.id&&m!==S.SetSelectionsOperation.id&&m!==S.SetWorksheetActiveOperation.id)return;const g=(_=n.getLast())==null?void 0:_.primary;let f;if(g!=null){const p=r.getRange(g.startRow,g.startColumn);f=p==null?void 0:p.getFontFamily()}s.next(f!=null?f:i)}),c=(d=n.getLast())==null?void 0:d.primary;let u;if(c!=null){const h=r.getRange(c.startRow,c.startColumn);u=h==null?void 0:h.getFontFamily()}return s.next(u!=null?u:i),a.dispose})),hidden$:I.getMenuHiddenObservable(o,l.UniverInstanceType.UNIVER_SHEET)}}function hc(o){const t=o.get(l.ICommandService),e=o.get(l.IUniverInstanceService),n=o.get(S.SelectionManagerService),i=o.get(l.IContextService),r=S.getCurrentSheetDisabled$(o),s=l.DEFAULT_STYLES.fs;return{id:Pr.id,group:I.MenuGroup.TOOLBAR_FORMAT,type:I.MenuItemType.SELECTOR,tooltip:"toolbar.fontSize",label:{name:Yr,props:{min:1,max:400,disabled$:r}},positions:[I.MenuPosition.TOOLBAR_START],selections:I.FONT_SIZE_LIST,disabled$:r,value$:_e(e,s,({worksheet:a})=>new U.Observable(c=>{var m;const u=t.onCommandExecuted(g=>{var _,p;const f=g.id;if(f===S.SetRangeValuesMutation.id||f===S.SetSelectionsOperation.id||f===S.SetWorksheetActiveOperation.id){const v=(_=n.getLast())==null?void 0:_.primary;let M;if(v!=null){const b=a.getRange(v.startRow,v.startColumn);M=b==null?void 0:b.getFontSize()}c.next(M!=null?M:s)}if((f===te.SetTextSelectionsOperation.id||f===te.SetInlineFormatCommand.id)&&i.getContextValue(l.EDITOR_ACTIVATED)&&i.getContextValue(l.FOCUSING_SHEET)){const v=rn(o);if(v==null)return;const M=(p=v.ts)==null?void 0:p.fs;c.next(M!=null?M:s)}}),d=(m=n.getLast())==null?void 0:m.primary;let h;if(d!=null){const g=a.getRange(d.startRow,d.startColumn);h=g==null?void 0:g.getFontSize()}return c.next(h!=null?h:s),u.dispose})),hidden$:I.getMenuHiddenObservable(o,l.UniverInstanceType.UNIVER_SHEET)}}function mc(o){return{id:S.ResetTextColorCommand.id,type:I.MenuItemType.BUTTON,title:"toolbar.resetColor",icon:"NoColor",positions:kn.id,disabled$:S.getCurrentSheetDisabled$(o)}}function gc(o){const t=o.get(l.ICommandService),e=o.get(l.ThemeService);return{id:kn.id,icon:"FontColor",tooltip:"toolbar.textColor.main",group:I.MenuGroup.TOOLBAR_FORMAT,type:I.MenuItemType.BUTTON_SELECTOR,positions:[I.MenuPosition.TOOLBAR_START],selections:[{label:{name:Jn,hoverable:!1}}],value$:new U.Observable(n=>{const i=e.getCurrentTheme().textColor,r=t.onCommandExecuted(s=>{if(s.id===kn.id){const a=s.params.value;n.next(a!=null?a:i)}});return n.next(i),r.dispose}),hidden$:I.getMenuHiddenObservable(o,l.UniverInstanceType.UNIVER_SHEET),disabled$:S.getCurrentSheetDisabled$(o)}}function fc(o){return{id:S.ResetBackgroundColorCommand.id,type:I.MenuItemType.BUTTON,title:"toolbar.resetColor",icon:"NoColor",positions:S.SetBackgroundColorCommand.id,disabled$:S.getCurrentSheetDisabled$(o)}}function _c(o){const t=o.get(l.ICommandService),e=o.get(l.ThemeService);return{id:S.SetBackgroundColorCommand.id,tooltip:"toolbar.fillColor.main",group:I.MenuGroup.TOOLBAR_FORMAT,type:I.MenuItemType.BUTTON_SELECTOR,positions:[I.MenuPosition.TOOLBAR_START],icon:"PaintBucket",selections:[{label:{name:Jn,hoverable:!1}}],value$:new U.Observable(n=>{const i=e.getCurrentTheme().primaryColor,r=t.onCommandExecuted(s=>{if(s.id===S.SetBackgroundColorCommand.id){const a=s.params.value;n.next(a!=null?a:i)}});return n.next(i),r.dispose}),hidden$:I.getMenuHiddenObservable(o,l.UniverInstanceType.UNIVER_SHEET),disabled$:S.getCurrentSheetDisabled$(o)}}const ki=[{label:"align.left",icon:"LeftJustifyingSingle",value:l.HorizontalAlign.LEFT},{label:"align.center",icon:"HorizontallySingle",value:l.HorizontalAlign.CENTER},{label:"align.right",icon:"RightJustifyingSingle",value:l.HorizontalAlign.RIGHT}];function Sc(o){const t=o.get(l.IUniverInstanceService),e=o.get(S.SelectionManagerService),n=l.HorizontalAlign.LEFT;return{id:S.SetHorizontalTextAlignCommand.id,icon:ki[0].icon,positions:[I.MenuPosition.TOOLBAR_START],tooltip:"toolbar.horizontalAlignMode.main",group:I.MenuGroup.TOOLBAR_LAYOUT,type:I.MenuItemType.SELECTOR,selections:ki,value$:_e(t,n,({worksheet:i})=>new U.Observable(r=>{var u;const s=o.get(l.ICommandService).onCommandExecuted(d=>{var f;const h=d.id;if(h!==S.SetHorizontalTextAlignCommand.id&&h!==S.SetSelectionsOperation.id&&h!==S.SetWorksheetActiveOperation.id)return;const m=(f=e.getLast())==null?void 0:f.primary;let g;if(m!=null){const _=i.getRange(m.startRow,m.startColumn);g=_==null?void 0:_.getHorizontalAlignment()}r.next(g!=null?g:n)}),a=(u=e.getLast())==null?void 0:u.primary;let c;if(a!=null){const d=i.getRange(a.startRow,a.startColumn);c=d==null?void 0:d.getHorizontalAlignment()}return r.next(c!=null?c:n),s.dispose})),hidden$:I.getMenuHiddenObservable(o,l.UniverInstanceType.UNIVER_SHEET),disabled$:S.getCurrentSheetDisabled$(o)}}const Wi=[{label:"align.top",icon:"AlignTopSingle",value:l.VerticalAlign.TOP},{label:"align.middle",icon:"VerticalCenterSingle",value:l.VerticalAlign.MIDDLE},{label:"align.bottom",icon:"AlignBottomSingle",value:l.VerticalAlign.BOTTOM}];function pc(o){const t=o.get(l.IUniverInstanceService),e=o.get(S.SelectionManagerService),n=l.VerticalAlign.BOTTOM;return{id:S.SetVerticalTextAlignCommand.id,icon:Wi[2].icon,tooltip:"toolbar.verticalAlignMode.main",group:I.MenuGroup.TOOLBAR_LAYOUT,type:I.MenuItemType.SELECTOR,positions:[I.MenuPosition.TOOLBAR_START],selections:Wi,value$:_e(t,n,({worksheet:i})=>new U.Observable(r=>{var u;const s=o.get(l.ICommandService).onCommandExecuted(d=>{var f;const h=d.id;if(h!==S.SetVerticalTextAlignCommand.id&&h!==S.SetSelectionsOperation.id&&h!==S.SetWorksheetActiveOperation.id)return;const m=(f=e.getLast())==null?void 0:f.primary;let g;if(m!=null){const _=i.getRange(m.startRow,m.startColumn);g=_==null?void 0:_.getVerticalAlignment()}r.next(g!=null?g:n)}),a=(u=e.getLast())==null?void 0:u.primary;let c;if(a!=null){const d=i.getRange(a.startRow,a.startColumn);c=d==null?void 0:d.getVerticalAlignment()}return r.next(c!=null?c:n),s.dispose})),hidden$:I.getMenuHiddenObservable(o,l.UniverInstanceType.UNIVER_SHEET),disabled$:S.getCurrentSheetDisabled$(o)}}const ji=[{label:"textWrap.overflow",icon:"OverflowSingle",value:l.WrapStrategy.OVERFLOW},{label:"textWrap.wrap",icon:"AutowrapSingle",value:l.WrapStrategy.WRAP},{label:"textWrap.clip",icon:"TruncationSingle",value:l.WrapStrategy.CLIP}];function Cc(o){const t=o.get(S.SelectionManagerService),e=o.get(l.IUniverInstanceService),n=l.WrapStrategy.OVERFLOW;return{id:S.SetTextWrapCommand.id,tooltip:"toolbar.textWrapMode.main",icon:ji[0].icon,group:I.MenuGroup.TOOLBAR_LAYOUT,type:I.MenuItemType.SELECTOR,positions:[I.MenuPosition.TOOLBAR_START],selections:ji,value$:_e(e,n,({worksheet:i})=>new U.Observable(r=>{var u;const s=o.get(l.ICommandService).onCommandExecuted(d=>{var f;const h=d.id;if(h!==S.SetTextWrapCommand.id&&h!==S.SetSelectionsOperation.id&&h!==S.SetWorksheetActiveOperation.id)return;const m=(f=t.getLast())==null?void 0:f.primary;let g;if(m!=null){const _=i.getRange(m.startRow,m.startColumn);g=_==null?void 0:_.getWrapStrategy()}r.next(g!=null?g:n)}),a=(u=t.getLast())==null?void 0:u.primary;let c;if(a!=null){const d=i.getRange(a.startRow,a.startColumn);c=d==null?void 0:d.getWrapStrategy()}return r.next(c!=null?c:n),s.dispose})),hidden$:I.getMenuHiddenObservable(o,l.UniverInstanceType.UNIVER_SHEET),disabled$:S.getCurrentSheetDisabled$(o)}}const $i=[{label:"textRotate.none",icon:"NoRotationSingle",value:0},{label:"textRotate.angleUp",icon:"LeftRotationFortyFiveDegreesSingle",value:-45},{label:"textRotate.angleDown",icon:"RightRotationFortyFiveDegreesSingle",value:45},{label:"textRotate.vertical",icon:"VerticalTextSingle",value:"v"},{label:"textRotate.rotationUp",icon:"LeftRotationNinetyDegreesSingle",value:-90},{label:"textRotate.rotationDown",icon:"RightRotationNinetyDegreesSingle",value:90}];function vc(o){const t=o.get(S.SelectionManagerService),e=o.get(l.IUniverInstanceService),n=0;return{id:S.SetTextRotationCommand.id,tooltip:"toolbar.textRotateMode.main",icon:$i[0].icon,group:I.MenuGroup.TOOLBAR_LAYOUT,type:I.MenuItemType.SELECTOR,selections:$i,positions:[I.MenuPosition.TOOLBAR_START],value$:_e(e,n,({worksheet:i})=>new U.Observable(r=>{var u,d;const s=o.get(l.ICommandService).onCommandExecuted(h=>{var _,p;const m=h.id;if(m!==S.SetTextRotationCommand.id&&m!==S.SetSelectionsOperation.id&&m!==S.SetWorksheetActiveOperation.id)return;const g=(_=t.getLast())==null?void 0:_.primary;let f;if(g!=null){const v=i.getRange(g.startRow,g.startColumn);f=v==null?void 0:v.getTextRotation()}(f==null?void 0:f.v)===l.BooleanNumber.TRUE?r.next("v"):r.next((p=f&&f.a)!=null?p:n)}),a=(u=t.getLast())==null?void 0:u.primary;let c;if(a!=null){const h=i.getRange(a.startRow,a.startColumn);c=h==null?void 0:h.getTextRotation()}return(c==null?void 0:c.v)===l.BooleanNumber.TRUE?r.next("v"):r.next((d=c&&c.a)!=null?d:n),s.dispose})),hidden$:I.getMenuHiddenObservable(o,l.UniverInstanceType.UNIVER_SHEET),disabled$:S.getCurrentSheetDisabled$(o)}}function At(o){return new U.Observable(t=>t.next(!o.get(I.IClipboardInterfaceService).supportClipboard))}function Ic(o){return{id:I.CopyCommand.id,group:I.MenuGroup.CONTEXT_MENU_FORMAT,type:I.MenuItemType.BUTTON,title:"rightClick.copy",icon:"Copy",positions:[I.MenuPosition.CONTEXT_MENU,"colHeaderContextMenu","rowHeaderContextMenu"]}}function Rc(o){return{id:I.PasteCommand.id,group:I.MenuGroup.CONTEXT_MENU_FORMAT,type:I.MenuItemType.BUTTON,title:"rightClick.paste",icon:"PasteSpecial",disabled$:At(o),positions:[I.MenuPosition.CONTEXT_MENU,"colHeaderContextMenu","rowHeaderContextMenu"]}}const Dt="sheet.menu.paste-special";function Mc(o){return{id:Dt,group:I.MenuGroup.CONTEXT_MENU_FORMAT,type:I.MenuItemType.SUBITEMS,icon:"PasteSpecial",title:"rightClick.pasteSpecial",disabled$:At(o),positions:[I.MenuPosition.CONTEXT_MENU,"colHeaderContextMenu","rowHeaderContextMenu"]}}function bc(o){return{id:Rr.id,type:I.MenuItemType.BUTTON,title:"rightClick.pasteValue",positions:[Dt],disabled$:At(o)}}function Tc(o){return{id:Mr.id,type:I.MenuItemType.BUTTON,title:"rightClick.pasteFormat",positions:[Dt],disabled$:At(o)}}function wc(o){return{id:br.id,type:I.MenuItemType.BUTTON,title:"rightClick.pasteColWidth",positions:[Dt],disabled$:At(o)}}function Ec(o){return{id:Tr.id,type:I.MenuItemType.BUTTON,title:"rightClick.pasteBesidesBorder",positions:[Dt],disabled$:At(o)}}function yc(o){return{id:S.SetWorksheetRowIsAutoHeightCommand.id,group:I.MenuGroup.CONTEXT_MENU_LAYOUT,type:I.MenuItemType.BUTTON,positions:["rowHeaderContextMenu"],icon:"AutoHeight",title:"rightClick.fitContent"}}const on="sheet.menu.sheet-frozen";function Oc(o){return{id:on,group:I.MenuGroup.CONTEXT_MENU_LAYOUT,type:I.MenuItemType.SUBITEMS,title:"rightClick.freeze",icon:"FreezeToSelectedSingle",positions:[I.MenuPosition.CONTEXT_MENU]}}const ci="sheet.header-menu.sheet-frozen";function xc(o){return{id:ci,group:I.MenuGroup.CONTEXT_MENU_LAYOUT,type:I.MenuItemType.SUBITEMS,title:"rightClick.freeze",icon:"FreezeToSelectedSingle",positions:["rowHeaderContextMenu","colHeaderContextMenu"]}}function Nc(o){return{id:Qn.id,type:I.MenuItemType.BUTTON,positions:[on,ci],title:"rightClick.freeze",icon:"FreezeToSelectedSingle"}}function Ac(o){return{id:kr.id,type:I.MenuItemType.BUTTON,positions:[on],title:"rightClick.freezeRow",icon:"FreezeRowSingle"}}function Dc(o){return{id:Wr.id,type:I.MenuItemType.BUTTON,positions:[on],title:"rightClick.freezeCol",icon:"FreezeColumnSingle"}}function Pc(o){return{id:jr.id,type:I.MenuItemType.BUTTON,positions:[on,ci],title:"rightClick.cancelFreeze",icon:"CancelFreezeSingle"}}function Hc(o){return{id:Ar.id,group:I.MenuGroup.CONTEXT_MENU_LAYOUT,type:I.MenuItemType.BUTTON,positions:["rowHeaderContextMenu"],icon:"Hide",title:"rightClick.hideSelectedRow"}}function Lc(o){return{id:Dr.id,group:I.MenuGroup.CONTEXT_MENU_LAYOUT,type:I.MenuItemType.BUTTON,positions:["colHeaderContextMenu"],icon:"Hide",title:"rightClick.hideSelectedColumn"}}function Uc(o){const t=o.get(l.IUniverInstanceService),e=o.get(S.SelectionManagerService),n=o.get(l.ICommandService),i=[S.SetSelectionsOperation,S.SetRowHiddenMutation,S.SetRowVisibleMutation].map(r=>r.id);return{id:S.SetSelectedRowsVisibleCommand.id,group:I.MenuGroup.CONTEXT_MENU_LAYOUT,type:I.MenuItemType.BUTTON,positions:["rowHeaderContextMenu"],title:"rightClick.showHideRow",hidden$:_e(t,!0,({worksheet:r})=>new U.Observable(s=>{function a(){var d;const u=(d=e.getSelections())==null?void 0:d.map(h=>h.range).filter(h=>h.rangeType===l.RANGE_TYPE.ROW);return!!(u!=null&&u.some(h=>{for(let m=h.startRow;m<=h.endRow;m++)if(!r.getRowRawVisible(m))return!0;return!1}))}const c=n.onCommandExecuted(u=>{i.findIndex(d=>d===u.id)!==-1&&s.next(!a())});return s.next(!a()),()=>c.dispose()}))}}function Vc(o){const t=o.get(l.IUniverInstanceService),e=o.get(S.SelectionManagerService),n=o.get(l.ICommandService),i=[S.SetSelectionsOperation,S.SetColHiddenMutation,S.SetColVisibleMutation].map(r=>r.id);return{id:S.SetSelectedColsVisibleCommand.id,group:I.MenuGroup.CONTEXT_MENU_LAYOUT,type:I.MenuItemType.BUTTON,positions:["colHeaderContextMenu"],title:"rightClick.showHideColumn",hidden$:_e(t,!0,({worksheet:r})=>new U.Observable(s=>{function a(){var d;const u=(d=e.getSelections())==null?void 0:d.map(h=>h.range).filter(h=>h.rangeType===l.RANGE_TYPE.COLUMN);return!u||u.length===0?!1:!!u.some(h=>{for(let m=h.startColumn;m<=h.endColumn;m++)if(!r.getColVisible(m))return!0;return!1})}const c=n.onCommandExecuted(u=>{i.findIndex(d=>d===u.id)!==-1&&s.next(!a())});return s.next(!a()),()=>c.dispose()}))}}function Bc(o){const t=o.get(l.ICommandService),e=o.get(l.IUniverInstanceService),n=o.get(S.SelectionManagerService),i=0;return{id:S.SetRowHeightCommand.id,group:I.MenuGroup.CONTEXT_MENU_LAYOUT,type:I.MenuItemType.BUTTON,icon:"AdjustHeight",positions:["rowHeaderContextMenu"],label:{name:li,props:{prefix:"rightClick.rowHeight",suffix:"px",min:2,max:1e3}},value$:_e(e,i,({worksheet:r})=>new U.Observable(s=>{function a(){var h;const u=(h=n.getLast())==null?void 0:h.primary,d=u?r.getRowHeight(u.startRow):i;s.next(d)}const c=t.onCommandExecuted(u=>{const d=u.id;if(d===S.SetRangeValuesMutation.id||d===S.SetSelectionsOperation.id||d===S.SetWorksheetRowIsAutoHeightMutation.id)return a()});return a(),c.dispose}))}}function Fc(o){const t=o.get(l.ICommandService),e=o.get(l.IUniverInstanceService),n=o.get(S.SelectionManagerService),i=0;return{id:S.SetColWidthCommand.id,group:I.MenuGroup.CONTEXT_MENU_LAYOUT,type:I.MenuItemType.BUTTON,icon:"AdjustWidth",positions:["colHeaderContextMenu"],label:{name:li,props:{prefix:"rightClick.columnWidth",suffix:"px",min:2,max:1e3}},value$:_e(e,i,({worksheet:r})=>new U.Observable(s=>{function a(){var h;const u=(h=n.getLast())==null?void 0:h.primary;let d=i;u!=null&&(d=r.getColumnWidth(u.startColumn)),s.next(d)}const c=t.onCommandExecuted(u=>{const d=u.id;if(d===S.SetRangeValuesMutation.id||d===S.SetSelectionsOperation.id||d===S.SetWorksheetColWidthMutation.id)return a()});return a(),c.dispose}))}}function rn(o){var c;const t=o.get(l.IUniverInstanceService),e=o.get(te.TextSelectionManagerService),n=t.getUniverDocInstance(l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY),i=e.getActiveRange();if(n==null||i==null)return null;const r=(c=n.getBody())==null?void 0:c.textRuns;if(r==null)return;const{startOffset:s}=i;return r.find(({st:u,ed:d})=>s>=u&&s<=d)}function kc(){const o=G.useDependency(l.IUniverInstanceService),t=I.useObservable(()=>o.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET),void 0,void 0,[]);return t!=null?t:null}function Wc(o){return I.useObservable(()=>{var e;return(e=o==null?void 0:o.activeSheet$)!=null?e:U.of(null)},void 0,void 0,[o])}const jc={spreadsheetLabel:"Spreadsheet",spreadsheetRightLabel:"more Sheets",toolbar:{undo:"Undo",redo:"Redo",formatPainter:"Paint format",currencyFormat:"Format as currency",percentageFormat:"Format as percent",numberDecrease:"Decrease decimal places",numberIncrease:"Increase decimal places",moreFormats:"More formats",font:"Font",fontSize:"Font size",bold:"Bold",italic:"Italic",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript",underline:"Underline",textColor:{main:"Text color",right:"Choose color"},resetColor:"Reset",customColor:"CUSTOM",alternatingColors:"Alternating colors",confirmColor:"OK",cancelColor:"Cancel",collapse:"Collapse",fillColor:{main:"Fill color",right:"Choose color"},border:{main:"Border",right:"Border style"},mergeCell:{main:"Merge cells",right:"Choose merge type"},horizontalAlignMode:{main:"Horizontal align",right:"Alignment"},verticalAlignMode:{main:"Vertical align",right:"Alignment"},textWrapMode:{main:"Text wrap",right:"Text wrap mode"},textRotateMode:{main:"Text rotate",right:"Text rotate mode"},freezeTopRow:"Freeze top row",sortAndFilter:"Sort and filter",findAndReplace:"Find and replace",sum:"SUM",autoSum:"Auto SUM",moreFunction:"More functions",conditionalFormatting:"Conditional formatting",comment:"Comment",pivotTable:"Pivot Table",chart:"Chart",screenshot:"Screenshot",splitColumn:"Split text",insertImage:"Insert image",insertLink:"Insert link",dataValidation:"Data validation",protection:"Protect the sheet",clearText:"Clear color",noColorSelectedText:"No color is selected",toolMore:"More",toolLess:"Less",toolClose:"Close",toolMoreTip:"More features",moreOptions:"More options",cellFormat:"Cell format config",print:"Print",borderMethod:{top:"Upper frame line",bottom:"Lower frame line",left:"Left frame line",right:"Right frame line"},more:"More"},defaultFmt:{Automatic:{text:"Automatic",value:"General",example:""},Number:{text:"Number",value:"##0.00",example:"1000.12"},Percent:{text:"Percent",value:"#0.00%",example:"12.21%"},PlainText:{text:"Plain text",value:"@",example:""},Scientific:{text:"Scientific",value:"0.00E+00",example:"1.01E+5"},Accounting:{text:"Accounting",value:"¥(0.00)",example:"¥(1200.09)"},Thousand:{text:"Ten Thousand",value:"w",example:"1亿2000万2500"},Currency:{text:"Currency",value:"¥0.00",example:"¥1200.09"},Digit:{text:"万元2位小数",value:"w0.00",example:"2万2500.55"},Date:{text:"Date",value:"yyyy-MM-dd",example:"2017-11-29"},Time:{text:"Time",value:"hh:mm AM/PM",example:"3:00 PM"},Time24H:{text:"Time 24H",value:"hh:mm",example:"15:00"},DateTime:{text:"Date time",value:"yyyy-MM-dd hh:mm AM/PM",example:"2017-11-29 3:00 PM"},DateTime24H:{text:"Date time 24H",value:"yyyy-MM-dd hh:mm",example:"2017-11-29 15:00"},CustomFormats:{text:"Custom Formats",value:"fmtOtherSelf",example:""}},format:{moreCurrency:"More currency formats",moreDateTime:"More date and time formats",moreNumber:"More number formats",titleCurrency:"Currency formats",decimalPlaces:"Decimal places",titleDateTime:"Date and time formats",titleNumber:"Number formats"},print:{normalBtn:"Normal",layoutBtn:"Page Layout",pageBtn:"Page break preview",menuItemPrint:"Print (Ctrl+P)",menuItemAreas:"Print areas",menuItemRows:"Print title rows",menuItemColumns:"Print title columns"},align:{left:"left",center:"center",right:"right",top:"top",middle:"middle",bottom:"bottom"},button:{confirm:"OK",cancel:"Cancel",close:"Close",update:"Update",delete:"Delete",insert:"Insert",prevPage:"Previous",nextPage:"Next",total:"total:"},punctuation:{tab:"Tab",semicolon:"semicolond",comma:"comma",space:"space"},colorPicker:{collapse:"Collapse",customColor:"CUSTOM",change:"Change",confirmColor:"OK",cancelColor:"Cancel"},borderLine:{borderTop:"borderTop",borderBottom:"borderBottom",borderLeft:"borderLeft",borderRight:"borderRight",borderNone:"borderNone",borderAll:"borderAll",borderOutside:"borderOutside",borderInside:"borderInside",borderHorizontal:"borderHorizontal",borderVertical:"borderVertical",borderColor:"borderColor",borderSize:"borderSize",borderType:"borderType"},merge:{all:"Merge all",vertical:"Vertical merge",horizontal:"Horizontal merge",cancel:"Cancel merge",overlappingError:"Cannot merge overlapping areas",partiallyError:"Cannot perform this operation on partially merged cells",confirm:{title:"Continue merging would only keep the upper-left cell value, discard other values. Are you sure to continue?",cancel:"Cancel merging",confirm:"Continue merging",waring:"Waring",dismantleMergeCellWaring:"This will cause some merged cells to be split. Do you want to continue?"}},filter:{confirm:{error:"There was a problem",notAllowedToInsertRange:"Not allowed to move cells here until filter is cleared"}},textWrap:{overflow:"Overflow",wrap:"Wrap",clip:"Clip"},textRotate:{none:"None",angleUp:"Tilt Up",angleDown:"Tilt Down",vertical:"Stack Vertically",rotationUp:"Rotate Up",rotationDown:"Rotate Down"},sheetConfig:{delete:"Delete",copy:"Copy",rename:"Rename",changeColor:"Change color",hide:"Hide",unhide:"Unhide",moveLeft:"Move left",moveRight:"Move right",resetColor:"Reset color",cancelText:"Cancel",chooseText:"Confirm color",tipNameRepeat:"The name of the tab page cannot be repeated! Please revise",noMoreSheet:"The workbook contains at least one visual worksheet. To delete the selected worksheet, please insert a new worksheet or show a hidden worksheet.",confirmDelete:"Are you sure to delete",redoDelete:"Can be undo by Ctrl+Z",noHide:"Can't hide, at least keep one sheet tag",chartEditNoOpt:"This operation is not allowed in chart editing mode!",sheetNameErrorTitle:"There was a problem",sheetNameSpecCharError:`The name cannot contain:[ ] : ? * / ' "`,sheetNameCannotIsEmptyError:"The sheet name cannot be empty.",sheetNameAlreadyExistsError:"The sheet name already exists. Please enter another name.",deleteSheet:"Delete worksheet",deleteSheetContent:"Confirm to delete this worksheet. It will not be retrieved after deletion. Are you sure you want to delete it?"},rightClick:{copy:"Copy",copyAs:"Copy as",cut:"Cut",paste:"Paste",pasteSpecial:"Paste Special",pasteValue:"Paste Value",pasteFormat:"Paste Format",pasteColWidth:"Paste Column Width",pasteBesidesBorder:"Paste Besides Border Styles",insert:"Insert",insertRow:"Insert Row",insertRowBefore:"Insert Row Before",insertColumn:"Insert Column",insertColumnBefore:"Insert Column Before",delete:"Delete",deleteCell:"Delete Cell",insertCell:"Insert Cell",deleteSelected:"Delete Selected ",hide:"Hide",hideSelected:"Hide Selected ",showHide:"Show Hidden",toTopAdd:"Towards Top Add",toBottomAdd:"Towards Bottom Add",toLeftAdd:"Towards Left Add",toRightAdd:"Towards Right Add",deleteSelectedRow:"Delete Selected row",deleteSelectedColumn:"Delete Selected column",hideSelectedRow:"Hide Selected Row",showHideRow:"Show Selected Row",rowHeight:"Row Height",hideSelectedColumn:"Hide Selected Column",showHideColumn:"Show Hide Column",columnWidth:"Column Width",to:"Towards",left:"Left",right:"Right",top:"Top",bottom:"Bottom",moveLeft:"Move Left",moveUp:"Move up",moveRight:"Move Right",moveDown:"Move Down",add:"Add",row:"Row",column:"Column",width:"Width",height:"Height",number:"Number",confirm:"Confirm",orderAZ:"A-Z order",orderZA:"Z-A order",clearSelection:"Clear",clearContent:"Clear Contents",clearFormat:"Clear Formats",clearAll:"Clear All",matrix:"Matrix operation",sortSelection:"Sort",filterSelection:"Filter",chartGeneration:"Create Chart",firstLineTitle:"First Line Title",untitled:"Untitled",array1:"One-dimensional array",array2:"Two-dimensional array",array3:"Multidimensional Arrays",diagonal:"Diagonal",antiDiagonal:"Anti-diagonal",diagonalOffset:"Diagonal offset",offset:"Offset",boolean:"Boolean",flip:"Flip",upAndDown:"Up and down",leftAndRight:"Left and right",clockwise:"Clockwise",counterclockwise:"Counterclockwise",transpose:"Transpose",matrixCalculation:"Matrix Calculation",plus:"Plus",minus:"Minus",multiply:"Multiply",divided:"Divided",power:"Power",root:"Root",log:"Log",delete0:"Delete 0 values at both ends",removeDuplicate:"Remove duplicate values",byRow:"By row",byCol:"By column",generateNewMatrix:"Generate new matrix",fitContent:"Fit for data",freeze:"Freeze",freezeCol:"Freeze to this column",freezeRow:"Freeze to this row",cancelFreeze:"Cancel freeze",zenEditor:"Full Screen Editor",deleteAllRowsAlert:"You can't delete all the rows on the sheet",deleteAllColumnsAlert:"You can't delete all the columns on the sheet",hideAllRowsAlert:"You can't hide all the rows on the sheet",hideAllColumnsAlert:"You can't hide all the columns on the sheet"},info:{tooltip:"Tooltip",error:"Error",notChangeMerge:"You cannot make partial changes to the merged cells",detailUpdate:"New opened",detailSave:"Local cache restored",row:"",column:"",loading:"Loading...",copy:"Copy",return:"Exit",rename:"Rename",tips:"Rename",noName:"Untitled spreadsheet",wait:"waiting for update",add:"Add",addLast:"more rows at bottom",backTop:"Back to the top",pageInfo:"Total ${total}, ${totalPage} page, current ${currentPage}",nextPage:"Next",tipInputNumber:"Please enter the number",tipInputNumberLimit:"The increase range is limited to 1-100",tipRowHeightLimit:"Row height must be between 0 ~ 545",tipColumnWidthLimit:"The column width must be between 0 ~ 2038",pageInfoFull:"Total ${total}, ${totalPage} page, All data displayed",problem:"There was a problem",forceStringInfo:"Number stored as text"},clipboard:{paste:{exceedMaxCells:"The number of cells pasted exceeds the maximum number of cells",overlappingMergedCells:"The paste area overlaps with merged cells"},shortCutNotify:{title:"Kindly paste using keyboard shortcuts.",useShortCutInstead:"Detected Excel content. Use keyboard shortcut to paste."}},statusbar:{sum:"Sum",average:"Average",min:"Min",max:"Max",count:"Numerical Count",countA:"Count",clickToCopy:"Click to Copy",copied:"Copied"},autoFill:{copy:"Copy Cell",series:"Fill Series",formatOnly:"Format Only",noFormat:"No Format"},rangeSelector:{placeholder:"Select range or input value",tooltip:"Select range"},shortcut:{sheet:{"zoom-in":"Zoom in","zoom-out":"Zoom out","reset-zoom":"Reset zoom level","select-below-cell":"Select the cell below","select-up-cell":"Select the cell above","select-left-cell":"Select the left cell","select-right-cell":"Select the right cell","select-next-cell":"Select the next cell","select-previous-cell":"Select the previous cell","select-up-value-cell":"Select the cell above that has value","select-below-value-cell":"Select the cell below that has value","select-left-value-cell":"Select the cell left that has value","select-right-value-cell":"Select the cell right that has value","expand-selection-down":"Expand selection down","expand-selection-up":"Expand selection up","expand-selection-left":"Expand selection left","expand-selection-right":"Expand selection right","expand-selection-to-left-gap":"Expand selection to the left gap","expand-selection-to-below-gap":"Expand selection to the below gap","expand-selection-to-right-gap":"Expand selection to the right gap","expand-selection-to-up-gap":"Expand selection to the up gap","select-all":"Select all","toggle-editing":"Toggle editing","delete-and-start-editing":"Clear and start editing","abort-editing":"Abort editing","break-line":"Break line","set-bold":"Toggle bold","start-editing":"Start Editing (Selection into the Editor)","set-italic":"Toggle italic","set-underline":"Toggle underline","set-strike-through":"Toggle strike through"}},"sheet-view":"Sheet View","sheet-edit":"Sheet Edit",definedName:{managerTitle:"Manager named",managerDescription:"Create a defined name by selecting cells or formulas, and entering the desired name into the text box.",addButton:"Add a defined name",featureTitle:"Defined names",ratioRange:"Range",ratioFormula:"Formula",confirm:"Confirm",cancel:"Cancel",scopeWorkbook:"Workbook",inputNamePlaceholder:"Please enter a name(No space allowed)",inputCommentPlaceholder:"Please enter a comment",inputRangePlaceholder:"Please input range(No space allowed)",inputFormulaPlaceholder:"Please input a formula(No space allowed)",nameEmpty:"Name cannot be empty",nameDuplicate:"Name already exists",formulaOrRefStringEmpty:"Formula or reference string cannot be empty",formulaOrRefStringInvalid:"Invalid formula or reference string",defaultName:"DefinedName",updateButton:"Update",deleteButton:"Delete",deleteConfirmText:"Are you sure you want to delete this defined name?",nameConflict:"The name conflicts with the function name",nameInvalid:"The name is invalid",nameSheetConflict:"The name conflicts with the sheet name"}},$c=jc,zc={spreadsheetLabel:"插件",spreadsheetRightLabel:"更多 Sheets",toolbar:{undo:"撤销",redo:"重做",formatPainter:"格式刷",currencyFormat:"货币格式",percentageFormat:"百分比格式",numberDecrease:"减少小数位数",numberIncrease:"增加小数位数",moreFormats:"更多格式",font:"字体",fontSize:"字号",bold:"粗体",italic:"斜体",strikethrough:"删除线",subscript:"下标",superscript:"上标",underline:"下划线",textColor:{main:"文本颜色",right:"颜色选择"},resetColor:"重置颜色",customColor:"自定义",alternatingColors:"交替颜色",confirmColor:"确定颜色",cancelColor:"取消",collapse:"收起",fillColor:{main:"单元格颜色",right:"颜色选择"},border:{main:"边框",right:"边框类型"},mergeCell:{main:"合并单元格",right:"选择合并类型"},horizontalAlignMode:{main:"水平对齐",right:"对齐方式"},verticalAlignMode:{main:"垂直对齐",right:"对齐方式"},textWrapMode:{main:"文本换行",right:"换行方式"},textRotateMode:{main:"文本旋转",right:"旋转方式"},freezeTopRow:"冻结首行",sortAndFilter:"排序和筛选",findAndReplace:"查找替换",sum:"求和",autoSum:"自动求和",moreFunction:"更多函数",conditionalFormatting:"条件格式",comment:"批注",pivotTable:"数据透视表",chart:"图表",screenshot:"截图",splitColumn:"分列",insertImage:"插入图片",insertLink:"插入链接",dataValidation:"数据验证",protection:"保护工作表内容",clearText:"清除颜色选择",noColorSelectedText:"没有颜色被选择",toolMore:"更多",toolLess:"少于",toolClose:"收起",toolMoreTip:"更多功能",moreOptions:"更多选项",cellFormat:"设置单元格格式",print:"打印",borderMethod:{top:"上框线",bottom:"下框线",left:"左框线",right:"右框线"},more:"更多"},defaultFmt:{Automatic:{text:"自动",value:"General",example:""},Number:{text:"数字",value:"##0.00",example:"1000.12"},Percent:{text:"百分比",value:"#0.00%",example:"12.21%"},PlainText:{text:"纯文本",value:"@",example:""},Scientific:{text:"科学计数",value:"0.00E+00",example:"1.01E+5"},Accounting:{text:"会计",value:"¥(0.00)",example:"¥(1200.09)"},Thousand:{text:"万元",value:"w",example:"1亿2000万2500"},Currency:{text:"货币",value:"¥0.00",example:"¥1200.09"},Digit:{text:"万元2位小数",value:"w0.00",example:"2万2500.55"},Date:{text:"日期",value:"yyyy-MM-dd",example:"2017-11-29"},Time:{text:"时间",value:"hh:mm AM/PM",example:"3:00 PM"},Time24H:{text:"时间24H",value:"hh:mm",example:"15:00"},DateTime:{text:"日期时间",value:"yyyy-MM-dd hh:mm AM/PM",example:"2017-11-29 3:00 PM"},DateTime24H:{text:"日期时间24H",value:"yyyy-MM-dd hh:mm",example:"2017-11-29 15:00"},CustomFormats:{text:"自定义格式",value:"fmtOtherSelf",example:""}},format:{moreCurrency:"更多货币格式",moreDateTime:"更多日期与时间格式",moreNumber:"更多数字格式",titleCurrency:"货币格式",decimalPlaces:"小数位数",titleDateTime:"日期与时间格式",titleNumber:"数字格式"},print:{normalBtn:"常规视图",layoutBtn:"页面布局",pageBtn:"分页预览",menuItemPrint:"打印(Ctrl+P)",menuItemAreas:"打印区域",menuItemRows:"打印标题行",menuItemColumns:"打印标题列"},align:{left:"左对齐",center:"中间对齐",right:"右对齐",top:"顶部对齐",middle:"居中对齐",bottom:"底部对齐"},button:{confirm:"确定",cancel:"取消",close:"关闭",update:"Update",delete:"Delete",insert:"新建",prevPage:"上一页",nextPage:"下一页",total:"总共:"},punctuation:{tab:"Tab 键",semicolon:"分号",comma:"逗号",space:"空格"},colorPicker:{collapse:"收起",customColor:"自定义",change:"切换",confirmColor:"确定",cancelColor:"取消"},borderLine:{borderTop:"上框线",borderBottom:"下框线",borderLeft:"左框线",borderRight:"右框线",borderNone:"无",borderAll:"所有",borderOutside:"外侧",borderInside:"内侧",borderHorizontal:"内侧横线",borderVertical:"内侧竖线",borderColor:"边框颜色",borderSize:"边框粗细",borderType:"边框线类型"},merge:{all:"全部合并",vertical:"垂直合并",horizontal:"水平合并",cancel:"取消合并",overlappingError:"不能合并重叠区域",partiallyError:"无法对部分合并单元格执行此操作",confirm:{title:"合并单元格仅保存左上角单元格的值,是否继续?",cancel:"取消合并",confirm:"继续合并",waring:"警告",dismantleMergeCellWaring:"此操作会导致一些合并单元格被拆散,是否继续?"}},filter:{confirm:{error:"出现了一个问题",notAllowedToInsertRange:"要移动这些单元格,请清除该区域的筛选器"}},textWrap:{overflow:"溢出",wrap:"自动换行",clip:"截断"},textRotate:{none:"无旋转",angleUp:"向上倾斜",angleDown:"向下倾斜",vertical:"竖排文字",rotationUp:"向上90°",rotationDown:"向下90°"},sheetConfig:{delete:"删除",copy:"复制",rename:"重命名",changeColor:"更改颜色",hide:"隐藏",unhide:"取消隐藏",moveLeft:"向左移",moveRight:"向右移",resetColor:"重置颜色",cancelText:"取消",chooseText:"确定颜色",tipNameRepeat:"标签页的名称不能重复!请重新修改",noMoreSheet:"工作薄内至少含有一张可视工作表。若需删除选定的工作表,请先插入一张新工作表或显示一张隐藏的工作表。",confirmDelete:"是否删除",redoDelete:"可以通过Ctrl+Z撤销删除",noHide:"不能隐藏, 至少保留一个sheet标签",chartEditNoOpt:"图表编辑模式下不允许该操作!",sheetNameErrorTitle:"错误",sheetNameSpecCharError:`名称不能超过31个字符,首尾不能是' 且名称不能包含:\r
|
|
16
|
-
[ ] : \\ ? * /`,sheetNameCannotIsEmptyError:"名称不能为空。",sheetNameAlreadyExistsError:"工作表已存在,请输入其它名称。",deleteSheet:"删除工作表",deleteSheetContent:"确认删除此工作表,删除后将不可找回,确定要删除吗?"},rightClick:{copy:"复制",copyAs:"复制为",cut:"剪切",paste:"粘贴",pasteSpecial:"选择性粘贴",pasteValue:"仅粘贴值",pasteFormat:"仅粘贴格式",pasteColWidth:"仅粘贴列宽",pasteBesidesBorder:"仅粘贴边框以外内容",insert:"插入",delete:"删除",insertRow:"插入行",insertRowBefore:"在上方插入行",insertColumn:"插入列",insertColumnBefore:"在左侧插入列",deleteCell:"删除单元格",insertCell:"插入单元格",deleteSelected:"删除选中",hide:"隐藏",hideSelected:"隐藏选中",showHide:"显示隐藏",toTopAdd:"向上增加",toBottomAdd:"向下增加",toLeftAdd:"向左增加",toRightAdd:"向右增加",deleteSelectedRow:"删除选中行",deleteSelectedColumn:"删除选中列",hideSelectedRow:"隐藏选中行",showHideRow:"显示隐藏行",rowHeight:"行高",hideSelectedColumn:"隐藏选中列",showHideColumn:"显示隐藏列",columnWidth:"列宽",to:"向",left:"左",right:"右",top:"上",bottom:"下",moveLeft:"左移",moveUp:"上移",moveRight:"右移",moveDown:"下移",add:"增加",row:"行",column:"列",width:"宽",height:"高",number:"数字",confirm:"确认",orderAZ:"A-Z顺序排列",orderZA:"Z-A降序排列",clearSelection:"清除",clearContent:"清除内容",clearFormat:"清除格式",clearAll:"清除全部",matrix:"矩阵操作选区",sortSelection:"排序选区",filterSelection:"筛选选区",chartGeneration:"图表生成",firstLineTitle:"首行为标题",untitled:"无标题",array1:"一维数组",array2:"二维数组",array3:"多维数组",diagonal:"对角线",antiDiagonal:"反对角线",diagonalOffset:"对角偏移",offset:"偏移量",boolean:"布尔值",flip:"翻转",upAndDown:"上下",leftAndRight:"左右",clockwise:"顺时针",counterclockwise:"逆时针",transpose:"转置",matrixCalculation:"矩阵计算",plus:"加",minus:"减",multiply:"乘",divided:"除",power:"次方",root:"次方根",log:"log",delete0:"删除两端0值",removeDuplicate:"删除重复值",byRow:"按行",byCol:"按列",generateNewMatrix:"生成新矩阵",fitContent:"适合数据",freeze:"冻结",freezeCol:"冻结列",freezeRow:"冻结行",cancelFreeze:"取消冻结",zenEditor:"禅模式编辑",deleteAllRowsAlert:"您无法删除工作表上的所有行",deleteAllColumnsAlert:"您无法删除工作表上的所有列",hideAllRowsAlert:"您无法隐藏工作表上的所有行",hideAllColumnsAlert:"您无法隐藏工作表上的所有列"},info:{tooltip:"提示",error:"错误",notChangeMerge:"不能对合并单元格做部分更改",detailUpdate:"新打开",detailSave:"已恢复本地缓存",row:"行",column:"列",loading:"渲染中···",copy:"副本",return:"返回",rename:"重命名",tips:"重命名",noName:"无标题的电子表格",wait:"待更新",add:"添加",addLast:"在底部添加",backTop:"回到顶部",pageInfo:"共${total}条,${totalPage}页,当前已显示${currentPage}页",nextPage:"下一页",tipInputNumber:"请输入数字",tipInputNumberLimit:"增加范围限制在1-100",tipRowHeightLimit:"行高必须在0 ~ 545之间",tipColumnWidthLimit:"列宽必须在0 ~ 2038之间",pageInfoFull:"共${total}条,${totalPage}页,已显示全部数据",problem:"出现了一个问题",forceStringInfo:"以文本形式存储的数字"},clipboard:{paste:{exceedMaxCells:"粘贴区域超出最大单元格数",overlappingMergedCells:"粘贴区域与合并单元格重叠"},shortCutNotify:{title:"请使用快捷键粘贴",useShortCutInstead:"检测到 Excel 内容,请使用快捷键粘贴"}},statusbar:{sum:"求和",average:"平均值",min:"最小值",max:"最大值",count:"数值计数",countA:"计数",clickToCopy:"点击复制数值",copied:"已复制"},autoFill:{copy:"复制单元格",series:"填充序列",formatOnly:"仅填充格式",noFormat:"不带格式填充"},rangeSelector:{placeholder:"选择范围或输入值",tooltip:"选择范围"},shortcut:{sheet:{"zoom-in":"放大","zoom-out":"缩小","reset-zoom":"恢复缩放","select-below-cell":"选择下方单元格","select-up-cell":"选择上方单元格","select-left-cell":"选择左侧单元格","select-right-cell":"选择右侧单元格","select-next-cell":"选择后一个单元格","select-previous-cell":"选择前一个单元格","select-up-value-cell":"选择上方有值的单元格","select-below-value-cell":"选择下方有值的单元格","select-left-value-cell":"选择左侧有值的单元格","select-right-value-cell":"选择右侧有值的单元格","expand-selection-down":"向下扩展选区","expand-selection-up":"向上扩展选区","expand-selection-left":"向左扩展选区","expand-selection-right":"向右扩展选区","expand-selection-to-left-gap":"向左扩展选区到下一个边界","expand-selection-to-below-gap":"向下扩展选区到下一个边界","expand-selection-to-right-gap":"向右扩展选区到下一个边界","expand-selection-to-up-gap":"向上扩展选区到下一个边界","select-all":"全选","toggle-editing":"开始 / 结束编辑","delete-and-start-editing":"清空并开始编辑","abort-editing":"放弃编辑","break-line":"换行","set-bold":"切换粗体","set-italic":"切换斜体","set-underline":"切换下划线","set-strike-through":"切换删除线","start-editing":"开始编辑(选区切换到编辑器)"}},"sheet-view":"浏览表格","sheet-edit":"编辑表格",definedName:{managerTitle:"名称管理器",managerDescription:"通过选择单元格或公式,并在文本框中输入您想要的名称来创建一个定义名称。",addButton:"新建名称",featureTitle:"定义名称",ratioRange:"范围",ratioFormula:"公式",confirm:"确认",cancel:"取消",scopeWorkbook:"工作簿",inputNamePlaceholder:"请输入名称(必填)",inputCommentPlaceholder:"请输入备注",inputRangePlaceholder:"请输入范围(必填)",inputFormulaPlaceholder:"请输入公式(必填)",nameEmpty:"名称不能为空",nameDuplicate:"名称重复",formulaOrRefStringEmpty:"公式或引用字符串不能为空",formulaOrRefStringInvalid:"公式或引用字符串无效",defaultName:"DefinedName",updateButton:"修改",deleteButton:"删除",deleteConfirmText:"确定删除定义名称?",nameConflict:"与函数名称冲突",nameInvalid:"名称不包含空格或不允许的字符",nameSheetConflict:"名称与工作表名称冲突"}},Zr=zc,Yc={spreadsheetLabel:"Электронная таблица",spreadsheetRightLabel:"больше листов",toolbar:{undo:"Отменить",redo:"Повторить",formatPainter:"Копировать формат",currencyFormat:"Форматировать как валюту",percentageFormat:"Форматировать как процент",numberDecrease:"Уменьшить количество десятичных знаков",numberIncrease:"Увеличить количество десятичных знаков",moreFormats:"Больше форматов",font:"Шрифт",fontSize:"Размер шрифта",bold:"Жирный",italic:"Курсив",strikethrough:"Зачеркнутый",subscript:"Нижний индекс",superscript:"Верхний индекс",underline:"Подчеркнутый",textColor:{main:"Цвет текста",right:"Выбрать цвет"},resetColor:"Сбросить",customColor:"ПОЛЬЗ.",alternatingColors:"Чередующиеся цвета",confirmColor:"ОК",cancelColor:"Отмена",collapse:"Свернуть",fillColor:{main:"Цвет заливки",right:"Выбрать цвет"},border:{main:"Граница",right:"Стиль границы"},mergeCell:{main:"Объединить ячейки",right:"Выбрать тип объединения"},horizontalAlignMode:{main:"Горизонтальное выравнивание",right:"Выравнивание"},verticalAlignMode:{main:"Вертикальное выравнивание",right:"Выравнивание"},textWrapMode:{main:"Перенос текста",right:"Режим переноса текста"},textRotateMode:{main:"Поворот текста",right:"Режим поворота текста"},freezeTopRow:"Закрепить верхнюю строку",sortAndFilter:"Сортировка и фильтр",findAndReplace:"Найти и заменить",sum:"СУММ",autoSum:"Авто СУММ",moreFunction:"Больше функций",conditionalFormatting:"Условное форматирование",comment:"Комментарий",pivotTable:"Сводная таблица",chart:"Диаграмма",screenshot:"Снимок экрана",splitColumn:"Разделить текст",insertImage:"Вставить изображение",insertLink:"Вставить ссылку",dataValidation:"Проверка данных",protection:"Защита листа",clearText:"Очистить цвет",noColorSelectedText:"Цвет не выбран",toolMore:"Больше",toolLess:"Меньше",toolClose:"Закрыть",toolMoreTip:"Больше возможностей",moreOptions:"Больше опций",cellFormat:"Настройка формата ячейки",print:"Печать",borderMethod:{top:"Верхняя рамка",bottom:"Нижняя рамка",left:"Левая рамка",right:"Правая рамка"},more:"Больше"},defaultFmt:{Automatic:{text:"Автоматический",value:"Общий",example:""},Number:{text:"Число",value:"##0.00",example:"1000.12"},Percent:{text:"Процент",value:"#0.00%",example:"12.21%"},PlainText:{text:"Простой текст",value:"@",example:""},Scientific:{text:"Научный",value:"0.00E+00",example:"1.01E+5"},Accounting:{text:"Бухгалтерский учет",value:"¥(0.00)",example:"¥(1200.09)"},Thousand:{text:"Десять тысяч",value:"w",example:"1億2000万2500"},Currency:{text:"Валюта",value:"¥0.00",example:"¥1200.09"},Digit:{text:"Десятичные 2 знака",value:"w0.00",example:"2万2500.55"},Date:{text:"Дата",value:"yyyy-MM-dd",example:"2017-11-29"},Time:{text:"Время",value:"hh:mm AM/PM",example:"3:00 PM"},Time24H:{text:"Время 24H",value:"hh:mm",example:"15:00"},DateTime:{text:"Дата и время",value:"yyyy-MM-dd hh:mm AM/PM",example:"2017-11-29 3:00 PM"},DateTime24H:{text:"Дата и время 24H",value:"yyyy-MM-dd hh:mm",example:"2017-11-29 15:00"},CustomFormats:{text:"Пользовательские форматы",value:"fmtOtherSelf",example:""}},format:{moreCurrency:"Больше форматов валюты",moreDateTime:"Больше форматов даты и времени",moreNumber:"Больше форматов чисел",titleCurrency:"Форматы валюты",decimalPlaces:"Десятичные знаки",titleDateTime:"Форматы даты и времени",titleNumber:"Числовые форматы"},print:{normalBtn:"Обычный",layoutBtn:"Макет страницы",pageBtn:"Предпросмотр разрыва страницы",menuItemPrint:"Печать (Ctrl+P)",menuItemAreas:"Области печати",menuItemRows:"Печатать строки заголовков",menuItemColumns:"Печатать столбцы заголовков"},align:{left:"лево",center:"центр",right:"право",top:"верх",middle:"середина",bottom:"низ"},button:{confirm:"ОК",cancel:"Отмена",close:"Закрыть",update:"Обновить",delete:"Удалить",insert:"Вставить",prevPage:"Предыдущая",nextPage:"Следующая",total:"всего:"},punctuation:{tab:"Табуляция",semicolon:"точка с запятой",comma:"запятая",space:"пробел"},colorPicker:{collapse:"Свернуть",customColor:"ПОЛЬЗ.",change:"Изменить",confirmColor:"ОК",cancelColor:"Отмена"},borderLine:{borderTop:"верхняя граница",borderBottom:"нижняя граница",borderLeft:"левая граница",borderRight:"правая граница",borderNone:"без границы",borderAll:"все границы",borderOutside:"внешняя граница",borderInside:"внутренняя граница",borderHorizontal:"горизонтальная граница",borderVertical:"вертикальная граница",borderColor:"цвет границы",borderSize:"размер границы",borderType:"тип границы"},merge:{all:"Объединить все",vertical:"Вертикальное объединение",horizontal:"Горизонтальное объединение",cancel:"Отменить объединение",overlappingError:"Невозможно объединить перекрывающиеся области",partiallyError:"Невозможно выполнить эту операцию на частично объединенных ячейках",confirm:{title:"Продолжение объединения сохранит только значение в верхней левой ячейке, остальные значения будут удалены. Вы уверены, что хотите продолжить?",cancel:"Отменить объединение",confirm:"Продолжить объединение",waring:"Предупреждение",dismantleMergeCellWaring:"Это приведет к разделению некоторых объединенных ячеек. Продолжить?"}},filter:{confirm:{error:"Произошла ошибка",notAllowedToInsertRange:"Нельзя перемещать ячейки сюда, пока фильтр не будет очищен"}},textWrap:{overflow:"Переполнение",wrap:"Перенос",clip:"Обрезать"},textRotate:{none:"Нет",angleUp:"Повернуть вверх",angleDown:"Повернуть вниз",vertical:"Вертикально",rotationUp:"Поворот вверх",rotationDown:"Поворот вниз"},sheetConfig:{delete:"Удалить",copy:"Копировать",rename:"Переименовать",changeColor:"Изменить цвет",hide:"Скрыть",unhide:"Показать",moveLeft:"Переместить влево",moveRight:"Переместить вправо",resetColor:"Сбросить цвет",cancelText:"Отмена",chooseText:"Подтвердить цвет",tipNameRepeat:"Имя вкладки не может повторяться! Пожалуйста, исправьте",noMoreSheet:"В книге должен содержаться хотя бы один видимый лист. Чтобы удалить выбранный лист, вставьте новый лист или покажите скрытый лист.",confirmDelete:"Вы уверены, что хотите удалить",redoDelete:"Можно отменить с помощью Ctrl+Z",noHide:"Нельзя скрыть, оставьте хотя бы одну вкладку листа",chartEditNoOpt:"Эта операция недоступна в режиме редактирования диаграммы!",sheetNameErrorTitle:"Произошла ошибка",sheetNameSpecCharError:`Имя не может содержать: [ ] : ? * / ' "`,sheetNameCannotIsEmptyError:"Имя листа не может быть пустым.",sheetNameAlreadyExistsError:"Имя листа уже существует. Пожалуйста, введите другое имя.",deleteSheet:"Удалить лист",deleteSheetContent:"Подтвердите удаление этого листа. После удаления его нельзя будет восстановить. Вы уверены, что хотите удалить его?"},rightClick:{copy:"Копировать",copyAs:"Копировать как",cut:"Вырезать",paste:"Вставить",pasteSpecial:"Специальная вставка",pasteValue:"Вставить значение",pasteFormat:"Вставить формат",pasteColWidth:"Вставить ширину столбца",pasteBesidesBorder:"Вставить кроме стилей границы",insert:"Вставить",insertRow:"Вставить строку",insertRowBefore:"Вставить строку выше",insertColumn:"Вставить столбец",insertColumnBefore:"Вставить столбец слева",delete:"Удалить",deleteCell:"Удалить ячейку",insertCell:"Вставить ячейку",deleteSelected:"Удалить выбранное",hide:"Скрыть",hideSelected:"Скрыть выбранное",showHide:"Показать скрытые",toTopAdd:"Добавить сверху",toBottomAdd:"Добавить снизу",toLeftAdd:"Добавить слева",toRightAdd:"Добавить справа",deleteSelectedRow:"Удалить выбранную строку",deleteSelectedColumn:"Удалить выбранный столбец",hideSelectedRow:"Скрыть выбранную строку",showHideRow:"Показать скрытую строку",rowHeight:"Высота строки",hideSelectedColumn:"Скрыть выбранный столбец",showHideColumn:"Показать скрытый столбец",columnWidth:"Ширина столбца",to:"К",left:"Лево",right:"Право",top:"Верх",bottom:"Низ",moveLeft:"Переместить влево",moveUp:"Переместить вверх",moveRight:"Переместить вправо",moveDown:"Переместить вниз",add:"Добавить",row:"Строка",column:"Столбец",width:"Ширина",height:"Высота",number:"Номер",confirm:"Подтвердить",orderAZ:"Порядок А-Я",orderZA:"Порядок Я-А",clearSelection:"Очистить",clearContent:"Очистить содержимое",clearFormat:"Очистить формат",clearAll:"Очистить все",matrix:"Матричная операция",sortSelection:"Сортировать",filterSelection:"Фильтр",chartGeneration:"Создать диаграмму",firstLineTitle:"Заголовок первой строки",untitled:"Без названия",array1:"Одномерный массив",array2:"Двумерный массив",array3:"Многомерные массивы",diagonal:"Диагональ",antiDiagonal:"Антидиагональ",diagonalOffset:"Смещение диагонали",offset:"Смещение",boolean:"Булевый",flip:"Перевернуть",upAndDown:"Вверх и вниз",leftAndRight:"Влево и вправо",clockwise:"По часовой стрелке",counterclockwise:"Против часовой стрелки",transpose:"Транспонировать",matrixCalculation:"Матричное вычисление",plus:"Плюс",minus:"Минус",multiply:"Умножить",divided:"Делить",power:"Степень",root:"Корень",log:"Логарифм",delete0:"Удалить значения 0 с обоих концов",removeDuplicate:"Удалить дубликаты значений",byRow:"По строке",byCol:"По столбцу",generateNewMatrix:"Создать новую матрицу",fitContent:"Подогнать под данные",freeze:"Закрепить",freezeCol:"Закрепить до этого столбца",freezeRow:"Закрепить до этой строки",cancelFreeze:"Отменить закрепление",zenEditor:"Редактор на весь экран",deleteAllRowsAlert:"Нельзя удалить все строки на листе",deleteAllColumnsAlert:"Нельзя удалить все столбцы на листе",hideAllRowsAlert:"Нельзя скрыть все строки на листе",hideAllColumnsAlert:"Нельзя скрыть все столбцы на листе"},info:{tooltip:"Подсказка",error:"Ошибка",notChangeMerge:"Вы не можете частично изменить объединенные ячейки",detailUpdate:"Новый открытый",detailSave:"Восстановлено из локального кэша",row:"",column:"",loading:"Загрузка...",copy:"Копировать",return:"Выход",rename:"Переименовать",tips:"Переименовать",noName:"Электронная таблица без названия",wait:"ожидание обновления",add:"Добавить",addLast:"больше строк внизу",backTop:"Вернуться наверх",pageInfo:"Всего ${total}, ${totalPage} страниц, текущая ${currentPage}",nextPage:"Следующая",tipInputNumber:"Пожалуйста, введите число",tipInputNumberLimit:"Диапазон увеличения ограничен от 1 до 100",tipRowHeightLimit:"Высота строки должна быть в пределах от 0 до 545",tipColumnWidthLimit:"Ширина столбца должна быть в пределах от 0 до 2038",pageInfoFull:"Всего ${total}, ${totalPage} страниц, все данные отображены",problem:"Произошла проблема",forceStringInfo:"Число хранится как текст"},clipboard:{paste:{exceedMaxCells:"Количество вставляемых ячеек превышает максимальное количество ячеек",overlappingMergedCells:"Область вставки перекрывается с объединенными ячейками"},shortCutNotify:{title:"Используйте сочетания клавиш для вставки.",useShortCutInstead:"Обнаружено содержимое Excel. Используйте сочетание клавиш для вставки."}},statusbar:{sum:"Сумма",average:"Среднее",min:"Минимум",max:"Максимум",count:"Числовое количество",countA:"Количество",clickToCopy:"Нажмите, чтобы скопировать",copied:"Скопировано"},autoFill:{copy:"Копировать ячейку",series:"Заполнить серию",formatOnly:"Только формат",noFormat:"Без формата"},rangeSelector:{placeholder:"Выберите диапазон или введите значение",tooltip:"Выберите диапазон"},shortcut:{sheet:{"zoom-in":"Увеличить","zoom-out":"Уменьшить","reset-zoom":"Сбросить масштаб","select-below-cell":"Выбрать ячейку ниже","select-up-cell":"Выбрать ячейку выше","select-left-cell":"Выбрать ячейку слева","select-right-cell":"Выбрать ячейку справа","select-next-cell":"Выбрать следующую ячейку","select-previous-cell":"Выбрать предыдущую ячейку","select-up-value-cell":"Выбрать ячейку выше со значением","select-below-value-cell":"Выбрать ячейку ниже со значением","select-left-value-cell":"Выбрать ячейку слева со значением","select-right-value-cell":"Выбрать ячейку справа со значением","expand-selection-down":"Расширить выделение вниз","expand-selection-up":"Расширить выделение вверх","expand-selection-left":"Расширить выделение влево","expand-selection-right":"Расширить выделение вправо","expand-selection-to-left-gap":"Расширить выделение до левого пробела","expand-selection-to-below-gap":"Расширить выделение до нижнего пробела","expand-selection-to-right-gap":"Расширить выделение до правого пробела","expand-selection-to-up-gap":"Расширить выделение до верхнего пробела","select-all":"Выбрать все","toggle-editing":"Переключить редактирование","delete-and-start-editing":"Очистить и начать редактирование","abort-editing":"Прервать редактирование","break-line":"Разрыв строки","set-bold":"Переключить жирный","set-italic":"Переключить курсив","set-underline":"Переключить подчеркивание","set-strike-through":"Переключить зачеркивание","start-editing":"Начать редактирование"}},"sheet-view":"Просмотр листа","sheet-edit":"Редактирование листа",definedName:{managerTitle:"Управление именами",managerDescription:"Создайте определенное имя, выбрав ячейки или формулы и введя желаемое имя в текстовое поле.",addButton:"Добавить определенное имя",featureTitle:"Определенные имена",ratioRange:"Диапазон",ratioFormula:"Формула",confirm:"Подтвердить",cancel:"Отмена",scopeWorkbook:"Книга",inputNamePlaceholder:"Введите имя (без пробелов)",inputCommentPlaceholder:"Введите комментарий",inputRangePlaceholder:"Введите диапазон (без пробелов)",inputFormulaPlaceholder:"Введите формулу (без пробелов)",nameEmpty:"Имя не может быть пустым",nameDuplicate:"Имя уже существует",formulaOrRefStringEmpty:"Формула или строка ссылки не может быть пустой",formulaOrRefStringInvalid:"Неверная формула или строка ссылки",defaultName:"ОпределенноеИмя",updateButton:"Обновить",deleteButton:"Удалить",deleteConfirmText:"Вы уверены, что хотите удалить это определенное имя?",nameConflict:"Имя конфликтует с именем функции",nameInvalid:"Имя недействительно",nameSheetConflict:"Имя конфликтует с именем листа"}},Xc=Yc;class Kr{constructor(){R(this,"_state",null);R(this,"_rect",null);R(this,"_state$",new U.BehaviorSubject(null));R(this,"state$",this._state$.asObservable());R(this,"_rect$",new U.BehaviorSubject(null));R(this,"rect$",this._rect$.asObservable());R(this,"_focus",!1);R(this,"_focus$",new U.BehaviorSubject(this._focus));R(this,"focus$",this._focus$.asObservable())}dispose(){this._state$.complete(),this._state=null,this._rect$.complete(),this._rect=null}setState(t){this._state=t,this._refresh(t)}getRect(){return this._rect}setRect(t){this._rect=t,this._rect$.next(t)}getState(){return this._state}setFocus(t=!1){this._focus=t,this._focus$.next(t)}_refresh(t){this._state$.next(t)}}const sn=D.createIdentifier("univer.sheet-cell-editor-manager.service");class Gc{constructor(){R(this,"_position",null);R(this,"_position$",new U.BehaviorSubject(null));R(this,"position$",this._position$.asObservable());R(this,"_focus",!1);R(this,"_focus$",new U.BehaviorSubject(this._focus));R(this,"focus$",this._focus$.asObservable());R(this,"_fxBtnClick$",new U.Subject);R(this,"fxBtnClick$",this._fxBtnClick$.asObservable());R(this,"_foldBtnStatus$",new U.Subject);R(this,"foldBtnStatus$",this._foldBtnStatus$.asObservable())}dispose(){this._position$.complete(),this._focus$.complete(),this._position=null,this._focus=!1}setPosition(t){this._position=t,this._refresh(t)}getPosition(){return this._position}setFocus(t=!1){this._focus=t,this._focus$.next(t)}handleFxBtnClick(t){this._fxBtnClick$.next(t)}handleFoldBtnClick(t){this._foldBtnStatus$.next(t)}_refresh(t){this._position$.next(t)}}const to=D.createIdentifier("univer.sheet-formula-editor-manager.service");var Zc=Object.defineProperty,Kc=Object.getOwnPropertyDescriptor,qc=(o,t,e,n)=>{for(var i=n>1?void 0:n?Kc(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Zc(t,e,i),i},zi=(o,t)=>(e,n)=>t(e,n,o);let Tn=class extends l.Disposable{constructor(t,e){super();R(this,"_previousSheetIndex",-1);this._commandService=t,this._univerInstanceService=e,this.disposeWithMe(this._commandService.beforeCommandExecuted(n=>{if(n.id===S.RemoveSheetMutation.id)return this._beforeAdjustActiveSheetOnRemoveSheet(n)})),this.disposeWithMe(this._commandService.onCommandExecuted((n,i)=>{if(n.id===S.RemoveSheetMutation.id)return this._adjustActiveSheetOnRemoveSheet(n);if(n.id===S.SetWorksheetHideMutation.id&&n.params.hidden)return this._adjustActiveSheetOnHideSheet(n);if(!(i!=null&&i.fromCollab)){if(n.id===S.InsertSheetMutation.id)return this._adjustActiveSheetOnInsertSheet(n);if(n.id===S.SetWorksheetHideMutation.id&&!n.params.hidden)return this._adjustActiveSheetOnShowSheet(n)}}))}_adjustActiveSheetOnHideSheet(t){const{unitId:e,subUnitId:n}=t.params,i=this._univerInstanceService.getUniverSheetInstance(e);if(!i||i.getActiveSheet().getSheetId()!==n)return;const s=i.getActiveSheetIndex(),a=Yi(i,s);this._switchToNextSheet(e,a)}_beforeAdjustActiveSheetOnRemoveSheet(t){const{unitId:e,subUnitId:n}=t.params,i=this._univerInstanceService.getUniverSheetInstance(e);if(!i)return;const r=i.getSheetBySheetId(n);r&&(this._previousSheetIndex=i.getSheetIndex(r))}_adjustActiveSheetOnRemoveSheet(t){if(this._previousSheetIndex===-1)return;const{unitId:e}=t.params,n=this._univerInstanceService.getUniverSheetInstance(e);if(!n||n.getRawActiveSheet())return;const r=this._previousSheetIndex,s=r>=1?r-1:0,a=Yi(n,s);this._switchToNextSheet(e,a)}_adjustActiveSheetOnInsertSheet(t){const{unitId:e,sheet:n}=t.params;this._switchToNextSheet(e,n.id)}_adjustActiveSheetOnShowSheet(t){const{unitId:e,subUnitId:n}=t.params;this._switchToNextSheet(e,n)}_switchToNextSheet(t,e){this._commandService.executeCommand(S.SetWorksheetActiveOperation.id,{unitId:t,subUnitId:e})}};Tn=qc([l.OnLifecycle(l.LifecycleStages.Ready,Tn),zi(0,l.ICommandService),zi(1,l.IUniverInstanceService)],Tn);function Yi(o,t){const e=o.getSheetSize();for(let n=t;n>-1;n--){const i=o.getSheetByIndex(n);if(!i.getConfig().hidden)return i.getSheetId()}for(let n=t;n<e;n++){const i=o.getSheetByIndex(n);if(!i.getConfig().hidden)return i.getSheetId()}throw new Error("[ActiveWorksheetController]: could not find the next unhidden sheet! Collaboration error perhaps.")}var Qc=Object.defineProperty,Jc=Object.getOwnPropertyDescriptor,ed=(o,t,e,n)=>{for(var i=n>1?void 0:n?Jc(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Qc(t,e,i),i},Wt=(o,t)=>(e,n)=>t(e,n,o);exports.AutoHeightController=class extends l.Disposable{constructor(t,e,n,i,r){super(),this._injector=t,this._sheetInterceptorService=e,this._selectionManagerService=n,this._univerInstanceService=i,this._sheetSkeletonManagerService=r,this._initialize()}getUndoRedoParamsOfAutoHeight(t){const{_univerInstanceService:e,_sheetSkeletonManagerService:n,_injector:i}=this,{skeleton:r}=n.getCurrent(),s=r.calculateAutoHeightInRange(t),a=e.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),c=a.getUnitId(),d={subUnitId:a.getActiveSheet().getSheetId(),unitId:c,rowsAutoHeightInfo:s},h=S.SetWorksheetRowAutoHeightMutationFactory(i,d);return{undos:[{id:S.SetWorksheetRowAutoHeightMutation.id,params:h}],redos:[{id:S.SetWorksheetRowAutoHeightMutation.id,params:d}]}}_initialize(){const{_sheetInterceptorService:t,_selectionManagerService:e}=this;this.disposeWithMe(t.interceptCommand({getMutations:n=>n.id!==S.SetRangeValuesCommand.id?{redos:[],undos:[]}:this.getUndoRedoParamsOfAutoHeight(n.params.range)})),this.disposeWithMe(t.interceptCommand({getMutations:n=>n.id!==S.SetWorksheetRowIsAutoHeightCommand.id?{redos:[],undos:[]}:this.getUndoRedoParamsOfAutoHeight(n.params.ranges)})),this.disposeWithMe(t.interceptCommand({getMutations:n=>{var s;if(n.id!==S.SetStyleCommand.id)return{redos:[],undos:[]};if(!["ff","fs","tr","tb"].includes((s=n.params)==null?void 0:s.style.type))return{redos:[],undos:[]};const r=e.getSelectionRanges();return r!=null&&r.length?this.getUndoRedoParamsOfAutoHeight(r):{redos:[],undos:[]}}}))}};exports.AutoHeightController=ed([l.OnLifecycle(l.LifecycleStages.Ready,exports.AutoHeightController),Wt(0,D.Inject(D.Injector)),Wt(1,D.Inject(S.SheetInterceptorService)),Wt(2,D.Inject(S.SelectionManagerService)),Wt(3,D.Inject(l.IUniverInstanceService)),Wt(4,D.Inject(exports.SheetSkeletonManagerService))],exports.AutoHeightController);function td(o,t,e,n,i){const r=[],s=[];if(n.copyType===et.CUT){const{undos:a,redos:c}=nd(o,t,i);r.push(...c),s.push(...a)}else{const{undos:a,redos:c}=Jr(t,e,i);r.push(...c),s.push(...a);const{undos:u,redos:d}=qr(t,o,e,i);r.push(...d),s.push(...u);const{undos:h,redos:m}=Qr(t,e,i);r.push(...m),s.push(...h);const{undos:g,redos:f}=Do(t,e,i);r.push(...f),s.push(...g)}return{undos:s,redos:r}}function nd(o,t,e){let n=[],i=[];const{range:r,subUnitId:s,unitId:a}=o,{range:c,subUnitId:u}=t,d=c?mt(c):null,h=r?mt(r):null;if(h&&d){const m=e.get(l.IUniverInstanceService),g=e.get(S.SheetInterceptorService),f=m.getUniverSheetInstance(a),_=f==null?void 0:f.getSheetBySheetId(s),p=f==null?void 0:f.getSheetBySheetId(u);if(_&&p){const v=new l.ObjectMatrix,M=new l.ObjectMatrix,b=_.getCellMatrix(),T=p.getCellMatrix();l.Range.foreach(h,($,Q)=>{v.setValue($,Q,l.Tools.deepClone(b.getValue($,Q))),M.setValue($,Q,null)});const w=new l.ObjectMatrix;l.Range.foreach(d,($,Q)=>{w.setValue($,Q,l.Tools.deepClone(T.getValue($,Q)))});const y=new l.ObjectMatrix;l.Range.foreach(h,($,Q)=>{const P=l.cellToRange($,Q),H=l.Rectangle.getRelativeRange(P,h),k=l.Rectangle.getPositionRange(H,d);y.setValue(k.startRow,k.startColumn,b.getValue($,Q))});const O={from:{value:M.getMatrix(),subUnitId:s},to:{value:y.getMatrix(),subUnitId:u},unitId:a},x={from:{value:v.getMatrix(),subUnitId:s},to:{value:w.getMatrix(),subUnitId:u},unitId:a},A=g.onCommandExecute({id:S.MoveRangeCommand.id,params:{toRange:d,fromRange:h}}),F=_.getMergeData(),N=p.getMergeData(),L=F.filter($=>l.Rectangle.intersects($,h)),B=N.filter($=>l.Rectangle.intersects($,d)),j=L.map($=>l.Rectangle.getRelativeRange($,h)).map($=>l.Rectangle.getPositionRange($,d)),z=S.getAddMergeMutationRangeByType(j).filter($=>!N.some(Q=>l.Rectangle.equals($,Q))),q=[{id:S.RemoveWorksheetMergeMutation.id,params:{unitId:a,subUnitId:s,ranges:L}},{id:S.RemoveWorksheetMergeMutation.id,params:{unitId:a,subUnitId:s,ranges:B}},{id:S.AddWorksheetMergeMutation.id,params:{unitId:a,subUnitId:u,ranges:z}}],K=[{id:S.RemoveWorksheetMergeMutation.id,params:{unitId:a,subUnitId:u,ranges:z}},{id:S.AddWorksheetMergeMutation.id,params:{unitId:a,subUnitId:u,ranges:B}},{id:S.AddWorksheetMergeMutation.id,params:{unitId:a,subUnitId:s,ranges:L}}];n=[{id:S.MoveRangeMutation.id,params:O},...A.redos,...q,{id:S.SetSelectionsOperation.id,params:{unitId:a,subUnitId:u,pluginName:S.NORMAL_SELECTION_PLUGIN_NAME,selections:[{range:d}]}}],i=[{id:S.MoveRangeMutation.id,params:x},...A.undos,...K,{id:S.SetSelectionsOperation.id,params:{unitId:a,sheetId:s,pluginName:S.NORMAL_SELECTION_PLUGIN_NAME,selections:[{range:h}]}}]}}return{undos:i,redos:n}}function qr(o,t,e,n){const{unitId:i,subUnitId:r,range:s}=o,a=[],c=[],{mapFunc:u}=tn([s]),d=new l.ObjectMatrix;e.forValue((g,f,_)=>{var M;if(!_.p&&_.v&&!t){const b=String(_.v),T=Rn.parseDate(b)||Rn.parseTime(b)||Rn.parseNumber(b);T!=null&&T.v&&typeof T.v=="number"&&(_.v=T.v)}const{row:p,col:v}=u(g,f);(M=_.p)!=null&&M.body?d.setValue(p,v,l.Tools.deepClone({p:_.p,v:_.v})):d.setValue(p,v,l.Tools.deepClone({v:_.v}))});const h={unitId:i,subUnitId:r,cellValue:l.Tools.deepClone(d.getMatrix())};a.push({id:S.SetRangeValuesMutation.id,params:h});const m=S.SetRangeValuesUndoMutationFactory(n,h);return c.push({id:S.SetRangeValuesMutation.id,params:m}),{undos:c,redos:a}}function Qr(o,t,e){const n=[],i=[],{unitId:r,subUnitId:s,range:a}=o,c=new l.ObjectMatrix,{mapFunc:u}=tn([a]);t.forValue((m,g,f)=>{var M;const _={s:f.s};(M=f.p)!=null&&M.body&&(_.p=f.p);const{row:p,col:v}=u(m,g);c.setValue(p,v,_)});const d={unitId:r,subUnitId:s,cellValue:l.Tools.deepClone(c.getMatrix())};n.push({id:S.SetRangeValuesMutation.id,params:d});const h=S.SetRangeValuesUndoMutationFactory(e,d);return i.push({id:S.SetRangeValuesMutation.id,params:h}),{undos:i,redos:n}}function Jr(o,t,e){const n=[],i=[],r=new l.ObjectMatrix,{unitId:s,subUnitId:a,range:c}=o,{mapFunc:u}=tn([c]);if(t.forValue((d,h,m)=>{if(m.s){const{row:g,col:f}=u(d,h);r.setValue(g,f,{s:null})}}),r.getLength()>0){const d={subUnitId:a,unitId:s,cellValue:l.Tools.deepClone(r.getMatrix())};n.push({id:S.SetRangeValuesMutation.id,params:d});const h=S.SetRangeValuesUndoMutationFactory(e,d);i.push({id:S.SetRangeValuesMutation.id,params:h})}return{undos:i,redos:n}}function Do(o,t,e){const n=[],i=[],{unitId:r,subUnitId:s,range:a}=o,{startColumn:c,startRow:u,endColumn:d,endRow:h}=mt(a),m=[];t.forValue((M,b,T)=>{if(T.rowSpan&&T.rowSpan>1){const w=T.colSpan||1,y={startRow:u+M,endRow:u+M+T.rowSpan-1,startColumn:c+b,endColumn:c+b+w-1};m.push(y)}else if(T.colSpan&&T.colSpan>1){const w=T.rowSpan||1,y={startRow:u+M,endRow:u+M+w-1,startColumn:c+b,endColumn:c+b+T.colSpan-1};m.push(y)}});const f=e.get(l.IUniverInstanceService).getUniverSheetInstance(r),_=f==null?void 0:f.getSheetBySheetId(s);if(f&&_){const b=_.getMergeData().filter(y=>l.Rectangle.intersects({startRow:u,startColumn:c,endRow:h,endColumn:d},y)),T={unitId:r,subUnitId:s,ranges:b};n.push({id:S.RemoveWorksheetMergeMutation.id,params:T});const w=S.RemoveMergeUndoMutationFactory(e,T);i.push({id:S.AddWorksheetMergeMutation.id,params:w})}const p={unitId:r,subUnitId:s,ranges:m};m.length>0&&n.push({id:S.AddWorksheetMergeMutation.id,params:p});const v=S.AddMergeUndoMutationFactory(e,p);return m.length>0&&i.push({id:S.RemoveWorksheetMergeMutation.id,params:v}),{undos:i,redos:n}}function od(o){let t=o.replace(/(\r\n|\n)/g,"\r");t.endsWith(`\r
|
|
17
|
-
`)
|
|
18
|
-
`);const e=[];for(let n=0;n<t.length;n++)t[n]==="\r"&&e.push({startIndex:n});return{dataStream:t,paragraphs:e,sectionBreaks:[{startIndex:t.indexOf(`
|
|
19
|
-
`)}]}}var id=Object.defineProperty,rd=Object.getOwnPropertyDescriptor,sd=(o,t,e,n)=>{for(var i=n>1?void 0:n?rd(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&id(t,e,i),i},Ue=(o,t)=>(e,n)=>t(e,n,o);let wn=class extends l.RxDisposable{constructor(o,t,e,n,i,r,s,a,c,u){var d;super(),this._injector=o,this._currentUniverSheet=t,this._commandService=e,this._contextService=n,this._configService=i,this._sheetClipboardService=r,this._messageService=s,this._sheetSkeletonManagerService=a,this._localService=c,this._textSelectionRenderManager=u,this._init(),(d=this._textSelectionRenderManager)==null||d.onPaste$.pipe(U.takeUntil(this.dispose$)).subscribe(h=>{var _,p;if(!ne(this._contextService))return;h.event.preventDefault();const m=h.event,g=(_=m.clipboardData)==null?void 0:_.getData("text/html"),f=(p=m.clipboardData)==null?void 0:p.getData("text/plain");this._sheetClipboardService.legacyPaste(g,f)})}_init(){[Ir,sl,xt].forEach(t=>this.disposeWithMe(this._commandService.registerMultipleCommand(t))),[Rr,Mr,br,Tr].forEach(t=>this.disposeWithMe(this._commandService.registerCommand(t))),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initCopyingHooks())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initPastingHook()));const o=this._initSpecialPasteHooks().map(t=>this._sheetClipboardService.addClipboardHook(t));this.disposeWithMe({dispose:()=>o.forEach(t=>t.dispose())})}_initCopyingHooks(){const o=this;let t=null;return{id:fe.DEFAULT_COPY,isDefaultHook:!0,onBeforeCopy(e,n){t=o._getWorksheet(e,n)},onCopyCellContent(e,n){var s,a,c,u;const i=t.getCell(e,n);return(a=(s=i==null?void 0:i.p)==null?void 0:s.body)!=null&&a.paragraphs||(u=(c=i==null?void 0:i.p)==null?void 0:c.body)!=null&&u.textRuns?l.convertBodyToHtml(i.p.body):i?l.extractPureTextFromCell(i):""},onCopyCellStyle:(e,n,i,r)=>{const s={};(i||r)&&(s.rowspan=`${i||1}`,s.colspan=`${r||1}`);const a=t.getRange(e,n),c=t.getMergedCell(e,n),u=a.getTextStyle();let d="";if(u&&(d=l.handleStyleToString(u)),c){const h=c.endRow,m=c.endColumn,f=t.getRange(h,m).getTextStyle();if(f){const _=l.handleStyleToString(f);d?d+=_?`;${_}`:"":d=_}}return d&&(s.style=d),s},onCopyColumn(e){return{width:`${t.getColumnWidth(e)}`}},onCopyRow(e){return{style:`height: ${t.getRowHeight(e)}px;`}},onAfterCopy(){t=null},getFilteredOutRows(e){var a;const{startRow:n,endRow:i}=e,r=(a=o._currentUniverSheet.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET))==null?void 0:a.getActiveSheet(),s=[];if(!r)return s;for(let c=n;c<=i;c++)r.getRowFiltered(c)&&s.push(c);return s}}}_initPastingHook(){const o=this;let t=null,e=null,n=null;return{id:fe.DEFAULT_PASTE,isDefaultHook:!0,onBeforePaste({unitId:i,subUnitId:r,range:s}){n=o._getWorksheet(i,r),t=i,e=r;const a=o._configService.getConfig(S.MAX_CELL_PER_SHEET_KEY),c=s.rows[s.rows.length-1],u=s.cols[s.cols.length-1];return a&&c*u>a?(o._messageService.show({type:re.MessageType.Error,content:o._localService.t("clipboard.paste.exceedMaxCells")}),!1):!0},onPasteRows(i,r){const{range:s}=i,a=[],c=[],u=n.getMaxRows(),d=s.rows[s.rows.length-1]-u,h=r.length-d,m=n.getRowManager();if(d>0){const p={};r.slice(h).forEach((M,b)=>{const{style:T,height:w}=M||{};if(T){const y=T.split(";");let O=l.DEFAULT_WORKSHEET_ROW_HEIGHT;y.find(x=>{x=x.toLowerCase();const A=I.textTrim(x.substr(0,x.indexOf(":"))),F=I.textTrim(x.substr(x.indexOf(":")+1));return A==="height"?(F.endsWith("pt")?O=E.ptToPx(Number.parseFloat(F)):O=Number.parseFloat(F),!0):!1}),p[b]={h:O,hd:l.BooleanNumber.FALSE}}else w&&(p[b]={h:Number.parseFloat(w),hd:l.BooleanNumber.FALSE})});const v={unitId:t,subUnitId:e,range:{startColumn:s.cols[0],endColumn:s.cols[s.cols.length-1],endRow:s.rows[s.rows.length-1],startRow:u},rowInfo:p};a.push({id:S.InsertRowMutation.id,params:v})}const g={},f={};r.slice(0,h).forEach((p,v)=>{var T,w;const{style:M,height:b}=p;if(M){const y=M.split(";");let O=l.DEFAULT_WORKSHEET_ROW_HEIGHT;y.find(x=>{x=x.toLowerCase();const A=I.textTrim(x.substr(0,x.indexOf(":"))),F=I.textTrim(x.substr(x.indexOf(":")+1));return A==="height"?(F.endsWith("pt")?O=E.ptToPx(Number.parseFloat(F)):O=Number.parseFloat(F),!0):!1}),g[v+s.rows[0]]=O}else if(b){const y=m.getRow(s.rows[0]+v),O=Number.parseFloat(b);if(y){const{h:x=l.DEFAULT_WORKSHEET_ROW_HEIGHT,ah:A=0}=y,F=Math.max(x,A);O>F&&(g[v+s.rows[0]]=O,f[v+s.rows[0]]=F)}else g[v+s.rows[0]]=O,f[v+s.rows[0]]=(w=(T=m.getRow(s.rows[0]+v))==null?void 0:T.h)!=null?w:l.DEFAULT_WORKSHEET_ROW_HEIGHT}});const _={unitId:t,subUnitId:e,ranges:[{startRow:s.rows[0],endRow:Math.min(s.rows[s.rows.length-1],u),startColumn:s.cols[0],endColumn:s.cols[s.cols.length-1]}],rowHeight:g};return a.push({id:S.SetWorksheetRowHeightMutation.id,params:_}),c.push({id:S.SetWorksheetRowHeightMutation.id,params:{..._,rowHeight:20}}),{redos:a,undos:c}},onPasteColumns(i,r,s){var f;const{range:a}=i,c=[],u=n.getMaxColumns(),d=a.cols[a.cols.length-1]-u,h=r.length-d,m=(f=o._configService.getConfig(l.DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY))!=null?f:l.DEFAULT_WORKSHEET_COLUMN_WIDTH;if(d>0){const _={unitId:t,subUnitId:e,range:{startRow:a.rows[0],endRow:a.rows[a.rows.length-1],endColumn:a.cols[a.cols.length-1],startColumn:u},colInfo:r.slice(h).map(p=>({w:p.width?+p.width:m,hd:l.BooleanNumber.FALSE}))};c.push({id:S.InsertColMutation.id,params:_})}const g={unitId:t,subUnitId:e,ranges:[{startRow:a.rows[0],endRow:a.rows[a.rows.length-1],startColumn:a.cols[0],endColumn:Math.min(a.cols[a.cols.length-1],u)}],colWidth:r.slice(0,h).map(_=>_.width?+_.width:m)};return c.push({id:S.SetWorksheetColWidthMutation.id,params:g}),{redos:c,undos:[]}},onPastePlainText(i,r,s){return o._onPastePlainText(i,r,s)},onPasteCells(i,r,s,a){return o._onPasteCells(i,r,s,a)},onAfterPaste(i){n=null}}}_generateDocumentDataModelSnapshot(o){var s;const t=this._sheetSkeletonManagerService.getCurrent();if(t==null)return null;const{skeleton:e}=t,n=(s=e.getBlankCellDocumentModel())==null?void 0:s.documentModel,r={...n==null?void 0:n.getSnapshot(),...o};return n==null||n.reset(r),n==null?void 0:n.getSnapshot()}_onPastePlainText(o,t,e){const{range:n,unitId:i,subUnitId:r}=o;let s;if(/\r|\n/.test(t)){const c=od(t),u=this._generateDocumentDataModelSnapshot({body:c});s={[n.rows[0]]:{[n.cols[0]]:{p:u}}}}else l.isFormulaString(t)?s={[n.rows[0]]:{[n.cols[0]]:{f:t}}}:s={[n.rows[0]]:{[n.cols[0]]:{v:t}}};const a={unitId:i,subUnitId:r,cellValue:s};return{redos:[{id:S.SetRangeValuesMutation.id,params:a}],undos:[{id:S.SetRangeValuesMutation.id,params:S.SetRangeValuesUndoMutationFactory(this._injector,a)}]}}_onPasteCells(o,t,e,n){const i={get:this._injector.get.bind(this._injector)};return td(o,t,e,n,i)}_initSpecialPasteHooks(){const o={get:this._injector.get.bind(this._injector)},t=this,e={id:fe.SPECIAL_PASTE_VALUE,specialPasteInfo:{label:"specialPaste.value"},onPasteCells:(s,a,c)=>qr(a,s,c,o)},n={id:fe.SPECIAL_PASTE_FORMAT,specialPasteInfo:{label:"specialPaste.format"},onPasteCells(s,a,c){const u=[],d=[],{undos:h,redos:m}=Jr(a,c,o);u.push(...m),d.push(...h);const{undos:g,redos:f}=Do(a,c,o);u.push(...f),d.push(...g);const{undos:_,redos:p}=Qr(a,c,o);return u.push(...p),d.push(..._),{undos:d,redos:u}}},i={id:fe.SPECIAL_PASTE_COL_WIDTH,specialPasteInfo:{label:"specialPaste.colWidth"},onPasteCells(){return{undos:[],redos:[]}},onPasteColumns(s,a,c){var T;const u=t._currentUniverSheet.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),d=u.getUnitId(),h=u.getActiveSheet().getSheetId(),m=[],g=t._getWorksheet(d,h),{range:f}=s,_=g.getMaxColumns(),p=f.cols[f.cols.length-1]-_,v=a.length-p,M=(T=t._configService.getConfig(l.DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY))!=null?T:l.DEFAULT_WORKSHEET_COLUMN_WIDTH,b={unitId:d,subUnitId:h,ranges:[{startRow:f.rows[0],endRow:Math.min(f.cols[f.cols.length-1],_),startColumn:f.cols[0],endColumn:f.cols[f.cols.length-1]}],colWidth:a.slice(0,v).map(w=>w.width?+w.width:M)};return m.push({id:S.SetWorksheetColWidthMutation.id,params:b}),m.push({id:S.SetWorksheetColWidthMutation.id,params:b}),{redos:m,undos:[]}}},r={id:fe.SPECIAL_PASTE_BESIDES_BORDER,specialPasteInfo:{label:"specialPaste.besidesBorder"},onPasteCells(s,a,c,u){t._currentUniverSheet.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);const d=[],h=[],{range:m,unitId:g,subUnitId:f}=a,_=new l.ObjectMatrix;c.forValue((T,w,y)=>{const O=y.s;typeof O=="object"&&_.setValue(m.rows[T],m.cols[w],{s:{...O,bd:void 0},v:y.v})});const p={unitId:g,subUnitId:f,cellValue:_.getData()};d.push({id:S.SetRangeValuesMutation.id,params:p});const v=S.SetRangeValuesUndoMutationFactory(o,p);h.push({id:S.SetRangeValuesMutation.id,params:v});const{undos:M,redos:b}=Do(a,c,o);return h.push(...M),d.push(...b),{redos:d,undos:h}}};return[e,n,i,r]}_getWorksheet(o,t){var n;const e=(n=this._currentUniverSheet.getUniverSheetInstance(o))==null?void 0:n.getSheetBySheetId(t);if(!e)throw new Error(`[SheetClipboardController]: cannot find a worksheet with unitId ${o} and subUnitId ${t}.`);return e}};wn=sd([l.OnLifecycle(l.LifecycleStages.Steady,wn),Ue(0,D.Inject(D.Injector)),Ue(1,l.IUniverInstanceService),Ue(2,l.ICommandService),Ue(3,l.IContextService),Ue(4,l.IConfigService),Ue(5,Ot),Ue(6,I.IMessageService),Ue(7,D.Inject(exports.SheetSkeletonManagerService)),Ue(8,D.Inject(l.LocaleService)),Ue(9,D.Optional(E.ITextSelectionRenderManager))],wn);var ad=Object.defineProperty,ld=Object.getOwnPropertyDescriptor,cd=(o,t,e,n)=>{for(var i=n>1?void 0:n?ld(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&ad(t,e,i),i},Xi=(o,t)=>(e,n)=>t(e,n,o);let En=class extends l.RxDisposable{constructor(o,t){super(),this._univerInstanceService=o,this._undoRedoService=t,this._initialize()}_initialize(){this._initialNormalInput(),this._listenEditorBlur()}_listenEditorBlur(){this._univerInstanceService.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_DOC).pipe(U.takeUntil(this.dispose$)).subscribe(o=>{if(o==null)return;o.getUnitId()!==l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&this._undoRedoService.clearUndoRedo(l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)})}_initialNormalInput(){const o={};this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getSheets().forEach(t=>{const e=t.getConfig();o[t.getSheetId()]={cellData:new l.ObjectMatrix(e.cellData),rowCount:e.rowCount,columnCount:e.columnCount,rowData:e.rowData,columnData:e.columnData}})}};En=cd([l.OnLifecycle(l.LifecycleStages.Rendered,En),Xi(0,l.IUniverInstanceService),Xi(1,D.Inject(l.IUndoRedoService))],En);const es=[I.KeyCode.ARROW_DOWN,I.KeyCode.ARROW_UP,I.KeyCode.ARROW_LEFT,I.KeyCode.ARROW_RIGHT],dd=[I.KeyCode.ENTER,I.KeyCode.TAB,...es];function ud(){const o=[];for(const t of es)o.push({id:Qt.id,binding:t,preconditions:e=>Zt(e),staticParameters:{visible:!1,eventType:E.DeviceInputEventType.Keyboard,keycode:t,isShift:!1}}),o.push({id:Qt.id,binding:t|I.MetaKeys.SHIFT,preconditions:e=>Zt(e),staticParameters:{visible:!1,eventType:E.DeviceInputEventType.Keyboard,keycode:t,isShift:!0}});return o}const hd={id:ti.id,binding:I.KeyCode.F2,description:"shortcut.sheet.start-editing",group:"4_sheet-edit",preconditions:ne,staticParameters:{visible:!0,eventType:E.DeviceInputEventType.Keyboard,keycode:I.KeyCode.F2}},md={id:Te.id,binding:I.KeyCode.ENTER,description:"shortcut.sheet.toggle-editing",group:"4_sheet-edit",preconditions:o=>Zt(o),staticParameters:{visible:!1,eventType:E.DeviceInputEventType.Keyboard,keycode:I.KeyCode.ENTER}},gd={id:Te.id,binding:I.KeyCode.TAB,preconditions:o=>Zt(o),staticParameters:{visible:!1,eventType:E.DeviceInputEventType.Keyboard,keycode:I.KeyCode.TAB}},fd={id:Te.id,binding:I.KeyCode.ESC,description:"shortcut.sheet.abort-editing",group:"4_sheet-edit",preconditions:o=>Zt(o),staticParameters:{visible:!1,eventType:E.DeviceInputEventType.Keyboard,keycode:I.KeyCode.ESC}},_d={id:te.BreakLineCommand.id,description:"shortcut.sheet.break-line",group:"4_sheet-edit",preconditions:o=>ca(o),binding:I.KeyCode.ENTER|I.MetaKeys.ALT},Sd={id:te.DeleteLeftCommand.id,preconditions:o=>da(o)||Sr(o),binding:I.KeyCode.BACKSPACE},pd={id:Te.id,description:"shortcut.sheet.delete-and-start-editing",group:"4_sheet-edit",preconditions:o=>ne(o)&&!Sr(o),binding:I.KeyCode.BACKSPACE,staticParameters:{visible:!0,eventType:E.DeviceInputEventType.Keyboard,keycode:I.KeyCode.BACKSPACE}};function Cd(o){return o.startsWith("'")}function vd(o){return o.slice(1)}var Id=Object.defineProperty,Rd=Object.getOwnPropertyDescriptor,Md=(o,t,e,n)=>{for(var i=n>1?void 0:n?Rd(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Id(t,e,i),i},Ve=(o,t)=>(e,n)=>t(e,n,o);function bd(o){const{textRuns:t=[],paragraphs:e=[]}=o;return t.some(n=>n.ts&&!l.Tools.isEmptyObject(n.ts))||e.some(n=>n.bullet)||e.length>=2}let yn=class extends l.Disposable{constructor(t,e,n,i,r,s,a,c,u,d){super();R(this,"_cursorChangeObservers");R(this,"_editorVisiblePrevious",!1);R(this,"_cursorChange",0);this._univerInstanceService=t,this._renderManagerService=e,this._commandService=n,this._editorBridgeService=i,this._contextService=r,this._cellEditorManagerService=s,this._lexerTreeBuilder=a,this._undoRedoService=c,this._selectionManagerService=u,this._editorService=d,this._initialize(),this._commandExecutedListener()}dispose(){const t=this._getEditorObject();if(t==null)return;const{document:e}=t;e.onPointerDownObserver.remove(this._cursorChangeObservers),super.dispose()}_initialize(){this._initialExitInput(),this._cursorStateListener()}_initialExitInput(){this.disposeWithMe(this._editorBridgeService.visible$.subscribe(async t=>{const{visible:e,keycode:n,eventType:i}=t;if(e===this._editorVisiblePrevious)return;if(this._editorVisiblePrevious=e,e===!0){this._cursorChange=i===E.DeviceInputEventType.PointerDown?2:1;return}this._cursorChange=0;const r=this._selectionManagerService.getSelections(),s=this._selectionManagerService.getCurrent();if(s==null)return;const{unitId:a,sheetId:c,pluginName:u}=s;if(this._exitInput(t),n===I.KeyCode.ESC){r&&this._commandService.syncExecuteCommand(S.SetSelectionsOperation.id,{unitId:a,subUnitId:c,pluginName:u,selections:r});return}const d=this._editorBridgeService.getEditCellState();if(d==null)return;const{unitId:h,sheetId:m,row:g,column:f,documentLayoutObject:_}=d;if(this._editorBridgeService.getEditorDirty()===!1){this._moveCursor(n);return}const v=this._univerInstanceService.getUniverSheetInstance(h),M=v==null?void 0:v.getSheetBySheetId(m);if(M==null)return;const b=Td(M.getCellRaw(g,f)||{},_,this._lexerTreeBuilder);if(b==null){this._moveCursor(n);return}const T={subUnitId:m,unitId:h,workbook:v,worksheet:M,row:g,col:f};a===h&&m!==c&&this._editorBridgeService.isForceKeepVisible()&&await this._commandService.executeCommand(S.SetWorksheetActivateCommand.id,{subUnitId:m,unitId:h}),this._selectionManagerService.refreshSelection();const w=this._editorBridgeService.interceptor.fetchThroughInterceptors(this._editorBridgeService.interceptor.getInterceptPoints().AFTER_CELL_EDIT)(b,T),y=await this._editorBridgeService.interceptor.fetchThroughInterceptors(this._editorBridgeService.interceptor.getInterceptPoints().AFTER_CELL_EDIT_ASYNC)(Promise.resolve(w),T);this._commandService.executeCommand(S.SetRangeValuesCommand.id,{subUnitId:m,unitId:h,range:{startRow:g,startColumn:f,endRow:g,endColumn:f},value:y}),this._moveCursor(n)}))}_exitInput(t){this._contextService.setContextValue(l.FOCUSING_EDITOR_INPUT_FORMULA,!1),this._contextService.setContextValue(l.EDITOR_ACTIVATED,!1),this._contextService.setContextValue(l.FOCUSING_EDITOR_BUT_HIDDEN,!1),this._contextService.setContextValue(l.FOCUSING_FORMULA_EDITOR,!1),this._cellEditorManagerService.setState({show:t.visible});const e=this._editorBridgeService.getCurrentEditorId();e==null||!this._editorService.isSheetEditor(e)||(this._undoRedoService.clearUndoRedo(e),this._undoRedoService.clearUndoRedo(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY))}_moveCursor(t){if(t==null||!dd.includes(t))return;let e=l.Direction.LEFT;switch(t){case I.KeyCode.ENTER:e=l.Direction.DOWN;break;case I.KeyCode.TAB:e=l.Direction.RIGHT;break;case I.KeyCode.ARROW_DOWN:e=l.Direction.DOWN;break;case I.KeyCode.ARROW_UP:e=l.Direction.UP;break;case I.KeyCode.ARROW_LEFT:e=l.Direction.LEFT;break;case I.KeyCode.ARROW_RIGHT:e=l.Direction.RIGHT;break}t===I.KeyCode.ENTER||t===I.KeyCode.TAB?this._commandService.executeCommand(gt.id,{keycode:t,direction:e}):this._commandService.executeCommand(we.id,{direction:e})}_cursorStateListener(){const t=this._getEditorObject();if(t==null)return;const{document:e}=t;this.disposeWithMe(l.toDisposable(e.onPointerDownObserver.add(()=>{this._cursorChange===1&&(this._cursorChange=2)})))}_commandExecutedListener(){const t=[Qt.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(t.includes(e.id)){const n=e.params,{keycode:i,isShift:r}=n;if(i!=null&&(this._cursorChange===2||this._contextService.getContextValue(l.FOCUSING_FORMULA_EDITOR))){this._moveInEditor(i,r);return}this._editorBridgeService.changeVisible(n)}e.id===ti.id&&(this._cursorChange=2)}))}_moveInEditor(t,e){let n=l.Direction.LEFT;t===I.KeyCode.ARROW_DOWN?n=l.Direction.DOWN:t===I.KeyCode.ARROW_UP?n=l.Direction.UP:t===I.KeyCode.ARROW_RIGHT&&(n=l.Direction.RIGHT),e?this._commandService.executeCommand(te.MoveSelectionOperation.id,{direction:n}):this._commandService.executeCommand(te.MoveCursorOperation.id,{direction:n})}_getEditorObject(){return Gn(this._editorBridgeService.getCurrentEditorId(),this._renderManagerService)}};yn=Md([l.OnLifecycle(l.LifecycleStages.Rendered,yn),Ve(0,l.IUniverInstanceService),Ve(1,E.IRenderManagerService),Ve(2,l.ICommandService),Ve(3,Ee),Ve(4,l.IContextService),Ve(5,sn),Ve(6,D.Inject(Z.LexerTreeBuilder)),Ve(7,l.IUndoRedoService),Ve(8,D.Inject(S.SelectionManagerService)),Ve(9,I.IEditorService)],yn);function Td(o,t,e){o=l.Tools.deepClone(o);const{documentModel:n}=t;if(n==null)return null;const i=n.getSnapshot(),{body:r}=i;if(r==null)return null;o.t=void 0;const s=r.dataStream;let c=s.substring(s.length-2,s.length)===l.DEFAULT_EMPTY_DOCUMENT_VALUE?s.substring(0,s.length-2):s;if(l.isFormulaString(c)){if(o.f===c)return null;const u=e.checkIfAddBracket(c);for(let d=0;d<u;d++)c+=Z.matchToken.CLOSE_BRACKET;o.f=c,o.v=null,o.p=null}else if(Cd(c)){const u=vd(c);o.v=u,o.f=null,o.si=null,o.p=null,o.t=l.CellValueType.FORCE_STRING}else if(bd(r))r.dataStream===`\r
|
|
20
|
-
`?(o.v="",o.f=null,o.si=null,o.p=null):(o.p=i,o.v=null,o.f=null,o.si=null);else{if((c===o.v||c===""&&o.v==null)&&o.p==null)return null;o.v=c,o.f=null,o.si=null,o.p=null}return o}var wd=Object.defineProperty,Ed=Object.getOwnPropertyDescriptor,yd=(o,t,e,n)=>{for(var i=n>1?void 0:n?Ed(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&wd(t,e,i),i},Be=(o,t)=>(e,n)=>t(e,n,o);let On=class extends l.RxDisposable{constructor(t,e,n,i,r,s,a,c,u,d){super();R(this,"_loadedMap",new WeakSet);R(this,"_scheduledCallback",-1);this._univerInstanceService=t,this._renderManagerService=e,this._editorBridgeService=n,this._commandService=i,this._contextService=r,this._formulaEditorManagerService=s,this._undoRedoService=a,this._docSkeletonManagerService=c,this._docViewModelManagerService=u,this._textSelectionManagerService=d,this._initialize()}_initialize(){this._syncFormulaEditorContent(),this._commandExecutedListener(),this._syncEditorSize(),this._listenFxBtnClick(),this._listenFoldBtnClick(),this._renderManagerService.currentRender$.pipe(U.takeUntil(this.dispose$)).subscribe(t=>{this._create(t)}),this._create(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),this._textSelectionManagerService.textSelection$.pipe(U.takeUntil(this.dispose$)).subscribe(t=>{if(t==null)return;const{unitId:e}=t;e!==l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY&&(this._contextService.setContextValue(l.FOCUSING_FORMULA_EDITOR,!1),this._undoRedoService.clearUndoRedo(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY))})}_create(t){if(t!==l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)return;const e=this._renderManagerService.getRenderById(t);if(e==null)return;const{mainComponent:n}=e;n!=null&&(this._loadedMap.has(n)||(this._initialMain(t),this._loadedMap.add(n)))}_listenFxBtnClick(){this._formulaEditorManagerService.fxBtnClick$.pipe(U.takeUntil(this.dispose$)).subscribe(()=>{var e;if(this._contextService.getContextValue(l.FOCUSING_EDITOR_BUT_HIDDEN)&&!this._contextService.getContextValue(l.EDITOR_ACTIVATED)){this._univerInstanceService.setCurrentUnitForType(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),this._contextService.setContextValue(l.FOCUSING_FORMULA_EDITOR,!0);const n=this._univerInstanceService.getUniverDocInstance(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY);this._editorBridgeService.isVisible().visible===!1&&this._editorBridgeService.changeVisible({visible:!0,eventType:E.DeviceInputEventType.PointerDown});const r=(e=n==null?void 0:n.getBody())==null?void 0:e.dataStream;if(r==null)return;let s=r.startsWith("=")?r:`=${r}`;s=s.replace(/\r\n$/,"");const a=[{startOffset:s.length,endOffset:s.length}],c={unitId:l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,body:{dataStream:s},segmentId:""};this._commandService.executeCommand(te.CoverContentCommand.id,c),this._textSelectionManagerService.replaceTextRanges(a)}})}_listenFoldBtnClick(){this._formulaEditorManagerService.foldBtnStatus$.pipe(U.takeUntil(this.dispose$)).subscribe(()=>{this._textSelectionManagerService.refreshSelection()})}_initialMain(t){const e=this._renderManagerService.getRenderById(t);if(e==null)return;const{mainComponent:n}=e;n!=null&&this.disposeWithMe(l.toDisposable(n.onPointerDownObserver.add(()=>{this._contextService.setContextValue(l.FOCUSING_FORMULA_EDITOR,!0),this._undoRedoService.clearUndoRedo(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),this._editorBridgeService.isVisible().visible===!1&&this._editorBridgeService.changeVisible({visible:!0,eventType:E.DeviceInputEventType.Dblclick})})))}_syncEditorSize(){this._formulaEditorManagerService.position$.pipe(U.takeUntil(this.dispose$)).subscribe(t=>{if(!t)return this._clearScheduledCallback();const e=Gn(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,this._renderManagerService),n=this._univerInstanceService.getUniverDocInstance(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY);if(e==null||n==null)return this._clearScheduledCallback();const{width:i,height:r}=t;if(i===0||r===0)return this._clearScheduledCallback();const{engine:s}=e;n.updateDocumentDataPageSize(i),this._autoScroll(),this._scheduledCallback=requestIdleCallback(()=>s.resizeBySize(i,r))})}_clearScheduledCallback(){this._scheduledCallback!==-1&&cancelIdleCallback(this._scheduledCallback),this._scheduledCallback=-1}_syncFormulaEditorContent(){this._editorBridgeService.currentEditCellState$.pipe(U.takeUntil(this.dispose$)).subscribe(t=>{t==null||this._editorBridgeService.isForceKeepVisible()||this._editorSyncHandler(t)}),this._editorBridgeService.visible$.pipe(U.takeUntil(this.dispose$)).subscribe(t=>{if(t==null||t.visible===!1||this._editorBridgeService.isForceKeepVisible())return;const e=this._editorBridgeService.getLatestEditCellState();e!=null&&this._editorSyncHandler(e)})}_editorSyncHandler(t){var s;const e=(s=t.documentLayoutObject.documentModel)==null?void 0:s.getBody();let n=e==null?void 0:e.dataStream,i=e==null?void 0:e.paragraphs,r=[];n==null||i==null||(t.isInArrayFormulaRange===!0&&this._editorBridgeService.isVisible().eventType===E.DeviceInputEventType.Dblclick?(n=`\r
|
|
21
|
-
`,i=[{startIndex:0}]):t.isInArrayFormulaRange===!0&&(r=(e==null?void 0:e.textRuns)||[]),this._syncContentAndRender(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,n,i,r),this._autoScroll())}_commandExecutedListener(){const t=[te.RichTextEditingMutation.id,I.SetEditorResizeOperation.id],e=[l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY];this.disposeWithMe(this._commandService.onCommandExecuted(i=>{var r,s;if(t.includes(i.id)){const a=i.params,{unitId:c}=a;if(e.includes(c)){const u=this._univerInstanceService.getUniverDocInstance(c),d=(r=u==null?void 0:u.getBody())==null?void 0:r.dataStream,h=(s=u==null?void 0:u.getBody())==null?void 0:s.paragraphs,m=c===l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY?l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY:l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY;if(d==null||h==null)return;this._syncContentAndRender(m,d,h),this._autoScroll()}}}));const n=[S.SetRangeValuesMutation.id,S.MoveRangeMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(i=>{var r,s,a,c,u;if(n.includes(i.id)){const d=this._editorBridgeService.getLatestEditCellState();if(d==null)return;let h=!1;const{row:m,column:g}=d;if(i.id===S.SetRangeValuesMutation.id&&i.params?(s=(r=i.params.cellValue)==null?void 0:r[m])!=null&&s[g]&&(h=!0):i.id===S.MoveRangeMutation.id&&i.params&&(c=(a=i.params.to.value)==null?void 0:a[m])!=null&&c[g]&&(h=!0),h){const f=(u=d.documentLayoutObject.documentModel)==null?void 0:u.getBody();if(f==null)return;const{dataStream:_,paragraphs:p=[]}=f;this._syncContentAndRender(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,_,p),this._autoScroll()}}}))}_syncContentAndRender(t,e,n,i=[]){var h;const r=[l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY],s=this._docSkeletonManagerService.getSkeletonByUnitId(t),a=this._univerInstanceService.getUniverDocInstance(t),c=this._docViewModelManagerService.getViewModel(t);if(a==null||c==null||s==null)return;a.getBody().dataStream=e,a.getBody().paragraphs=this._clearParagraph(n),t===l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY&&(a.getBody().textRuns=[]),i.length>0&&(a.getBody().textRuns=i),c.reset(a);const{skeleton:u}=s,d=this._renderManagerService.getRenderById(t);d!=null&&(u.calculate(),r.includes(t)&&((h=d.mainComponent)==null||h.makeDirty()))}_clearParagraph(t){const e=l.Tools.deepClone(t);for(const n of e)n.paragraphStyle&&(n.paragraphStyle.horizontalAlign=l.HorizontalAlign.UNSPECIFIED);return e}_autoScroll(){var f,_;const t=(f=this._docSkeletonManagerService.getSkeletonByUnitId(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY))==null?void 0:f.skeleton,e=this._formulaEditorManagerService.getPosition(),n=this._renderManagerService.getRenderById(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),i=this._univerInstanceService.getUniverDocInstance(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY);if(t==null||e==null||n==null||i==null)return;const{marginTop:r=0,marginBottom:s=0}=i.getSnapshot().documentStyle,{scene:a,mainComponent:c}=n;let{actualHeight:u}=t.getActualSize();u+=r+s;const{width:d,height:h}=e,m=a.getViewport(te.VIEWPORT_KEY.VIEW_MAIN);let g=m==null?void 0:m.getScrollBar();a.transformByState({width:d,height:u}),c==null||c.resize(d,u),u>h?g==null?m&&new E.ScrollBar(m,{enableHorizontal:!1,barSize:8}):m==null||m.resetSizeAndScrollBar():(g=null,m==null||m.scrollTo({x:0,y:0}),(_=m==null?void 0:m.getScrollBar())==null||_.dispose())}};On=yd([l.OnLifecycle(l.LifecycleStages.Steady,On),Be(0,l.IUniverInstanceService),Be(1,E.IRenderManagerService),Be(2,Ee),Be(3,l.ICommandService),Be(4,l.IContextService),Be(5,to),Be(6,l.IUndoRedoService),Be(7,D.Inject(te.DocSkeletonManagerService)),Be(8,D.Inject(te.DocViewModelManagerService)),Be(9,D.Inject(te.TextSelectionManagerService))],On);const Od="36",xd="univer-sheet-container",ts={sheetFooterBarHeight:Od,sheetContainer:xd};var Nd=Object.defineProperty,Ad=Object.getOwnPropertyDescriptor,Dd=(o,t,e,n)=>{for(var i=n>1?void 0:n?Ad(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Nd(t,e,i),i},Ie=(o,t)=>(e,n)=>t(e,n,o);const Gi=-1e3,Zi=5,Pd=2;let xn=class extends l.Disposable{constructor(t,e,n,i,r,s,a,c,u,d,h,m){super();R(this,"_editorVisiblePrevious",!1);this._docSkeletonManagerService=t,this._docViewModelManagerService=e,this._contextService=n,this._univerInstanceService=i,this._renderManagerService=r,this._editorBridgeService=s,this._cellEditorManagerService=a,this._textSelectionRenderManager=c,this._textSelectionManagerService=u,this._commandService=d,this._localService=h,this._editorService=m,this._initialize(),this._commandExecutedListener()}dispose(){super.dispose()}_initialize(){this._initialEditFocusListener(),this._initialStartEdit(),this._initialKeyboardListener(),this._initialCursorSync(),this._listenEditorFocus()}_listenEditorFocus(){const t=this._getEditorObject();t!=null&&this.disposeWithMe(l.toDisposable(t.document.onPointerDownObserver.add(()=>{var e;if(this._editorBridgeService.isVisible()){const n=this._editorBridgeService.getEditCellState(),i=this._editorBridgeService.getCurrentEditorId();if(n==null||i==null||!this._editorService.isSheetEditor(i))return;const r=(e=this._docSkeletonManagerService.getSkeletonByUnitId(i))==null?void 0:e.skeleton;if(r==null)return;const{position:s,documentLayoutObject:a,canvasOffset:c,scaleX:u,scaleY:d}=n;this._fitTextSize(s,c,r,a,u,d)}})))}_initialCursorSync(){this.disposeWithMe(this._cellEditorManagerService.focus$.pipe(U.filter(t=>!!t)).subscribe(()=>{this._textSelectionRenderManager.sync()}))}_initialEditFocusListener(){this.disposeWithMe(this._editorBridgeService.currentEditCellState$.subscribe(t=>{if(t==null||this._editorBridgeService.isForceKeepVisible())return;const{position:e,documentLayoutObject:n,scaleX:i,editorUnitId:r}=t;if(this._getEditorObject()==null||this._contextService.getContextValue(l.FOCUSING_EDITOR_STANDALONE)===!0||this._contextService.getContextValue(l.FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE)===!0)return;const{startX:a,endX:c}=e,{textRotation:u,wrapStrategy:d,documentModel:h}=n,{vertexAngle:m}=E.convertTextRotation(u);h.updateDocumentId(r),d===l.WrapStrategy.WRAP&&m===0&&h.updateDocumentDataPageSize((c-a)/i),this._univerInstanceService.changeDoc(r,h),this._contextService.setContextValue(l.FOCUSING_EDITOR_BUT_HIDDEN,!0),this._textSelectionManagerService.replaceTextRanges([{startOffset:0,endOffset:0}]),this._textSelectionRenderManager.activate(Gi,Gi)}))}_fitTextSize(t,e,n,i,r=1,s=1){const{startX:a,startY:c,endX:u,endY:d}=t,h=i.documentModel;if(h==null)return;const{actualWidth:m,actualHeight:g}=this._predictingSize(t,e,n,i,r,s),{verticalAlign:f,paddingData:_,fill:p}=i;let v=u-a,M=d-c;if(v<m&&(v=m),M<g)M=g,h.updateDocumentDataMargin(_);else{let b=0;f===l.VerticalAlign.MIDDLE?b=(M-g)/2/s:f===l.VerticalAlign.TOP?b=_.t||0:b=(M-g)/s-(_.b||0),b=b<(_.t||0)?_.t||0:b,h.updateDocumentDataMargin({t:b})}n.calculate(),this._editAreaProcessing(v,M,t,e,p,r,s)}_predictingSize(t,e,n,i,r=1,s=1){const{startX:a,endX:c}=t,{textRotation:u,wrapStrategy:d}=i,h=i.documentModel,{vertexAngle:m}=E.convertTextRotation(u),g=document.body.clientWidth;if(d===l.WrapStrategy.WRAP&&m===0){const{actualWidth:p,actualHeight:v}=n.getActualSize();return{actualWidth:p*r,actualHeight:v*s}}h==null||h.updateDocumentDataPageSize((g-a-e.left)/r),n.calculate();const f=n.getActualSize();let _=c-a;return _<f.actualWidth*r+Zi*r&&(_=f.actualWidth*r+Zi*r),h==null||h.updateDocumentDataPageSize(_/r),h==null||h.updateDocumentRenderConfig({horizontalAlign:l.HorizontalAlign.UNSPECIFIED,cellValueType:void 0}),{actualWidth:_,actualHeight:f.actualHeight*s}}_editAreaProcessing(t,e,n,i,r,s=1,a=1){var w;const c=this._getEditorObject();if(c==null)return;let{startX:u,startY:d}=n;const{document:h,scene:m,engine:g}=c,f=m.getViewport(te.VIEWPORT_KEY.VIEW_MAIN),_=document.body.clientHeight-d-Number.parseFloat(ts.sheetFooterBarHeight)-i.top-Pd*2,p=document.body.clientWidth-u-i.left;let v=e,M=f==null?void 0:f.getScrollBar();v>_?(v=_,M==null?f&&new E.ScrollBar(f,{enableHorizontal:!1,barSize:8}):f==null||f.resetSizeAndScrollBar()):(M=null,(w=f==null?void 0:f.getScrollBar())==null||w.dispose()),t+=(M==null?void 0:M.barSize)||0,t>p&&(t=p),u-=E.FIX_ONE_PIXEL_BLUR_OFFSET,d-=E.FIX_ONE_PIXEL_BLUR_OFFSET,this._addBackground(m,t/s,e/a,r);const{scaleX:b,scaleY:T}=m.getPrecisionScale();m.transformByState({width:t/s,height:e/a,scaleX:s,scaleY:a}),h.resize(t/s,e/a),requestIdleCallback(()=>{g.resizeBySize(E.fixLineWidthByScale(t,b),E.fixLineWidthByScale(v,T))}),this._cellEditorManagerService.setState({startX:u,startY:d,endX:t+u,endY:v+d,show:!0})}_addBackground(t,e,n,i){const r="_backgroundRectHelperColor_",s=t.getObject(r);s==null&&i==null||(s==null?t.addObjects([new E.Rect(r,{width:e,height:n,fill:i,evented:!1})],te.DOCS_COMPONENT_MAIN_LAYER_INDEX):i==null?s.dispose():(s.setProps({fill:i}),s.transformByState({width:e,height:n})))}_initialStartEdit(){this.disposeWithMe(this._editorBridgeService.visible$.subscribe(t=>{var w,y;const{visible:e,eventType:n,keycode:i}=t;if(e===this._editorVisiblePrevious)return;if(this._editorVisiblePrevious=e,e===!1){this._setOpenForCurrent(null,null);return}const r=this._editorBridgeService.getEditCellState();if(r==null)return;const{position:s,documentLayoutObject:a,canvasOffset:c,scaleX:u,scaleY:d,editorUnitId:h,unitId:m,sheetId:g,isInArrayFormulaRange:f=!1}=r,_=this._getEditorObject();if(_==null)return;this._setOpenForCurrent(m,g);const{document:p,scene:v}=_;this._contextService.setContextValue(l.EDITOR_ACTIVATED,!0);const{documentModel:M}=a,b=this._docSkeletonManagerService.getSkeletonByUnitId(h);if(b==null||M==null)return;const{skeleton:T}=b;if(this._fitTextSize(s,c,T,a,u,d),n===E.DeviceInputEventType.Keyboard||n===E.DeviceInputEventType.Dblclick&&f){const O=l.Tools.deepClone(M.snapshot),x=this._docViewModelManagerService.getViewModel(h);if(x==null)return;this._resetBodyStyle(O.body,!!f),M.reset(O),x.reset(M),p.makeDirty(),(i===I.KeyCode.BACKSPACE||n===E.DeviceInputEventType.Dblclick)&&(T.calculate(),this._editorBridgeService.changeEditorDirty(!0)),this._textSelectionManagerService.replaceTextRanges([{startOffset:0,endOffset:0}])}else if(n===E.DeviceInputEventType.Dblclick){const O=M.getBody().dataStream.length-2||0;(w=v.getViewport(te.VIEWPORT_KEY.VIEW_MAIN))==null||w.scrollTo({y:Number.POSITIVE_INFINITY}),this._textSelectionManagerService.replaceTextRanges([{startOffset:O,endOffset:O}])}(y=this._renderManagerService.getRenderById(m))==null||y.scene.resetCursor()}))}_resetBodyStyle(t,e=!1){t.dataStream=l.DEFAULT_EMPTY_DOCUMENT_VALUE,t.textRuns!=null&&(t.textRuns.length===1&&!e?(t.textRuns[0].st=0,t.textRuns[0].ed=1):t.textRuns=void 0),t.paragraphs!=null&&(t.paragraphs.length===1?t.paragraphs[0].startIndex=0:t.paragraphs=[{startIndex:0}]),t.sectionBreaks!=null&&(t.sectionBreaks=void 0),t.tables!=null&&(t.tables=void 0),t.customRanges!=null&&(t.customRanges=void 0),t.customBlocks!=null&&(t.customBlocks=void 0)}_initialKeyboardListener(){this.disposeWithMe(this._textSelectionRenderManager.onInputBefore$.subscribe(t=>{const e=this._contextService.getContextValue(l.FOCUSING_FORMULA_EDITOR),n=this._contextService.getContextValue(l.FOCUSING_SHEET),i=this._univerInstanceService.getCurrentUniverDocInstance().getUnitId();n&&!e&&this._editorService.isSheetEditor(i)&&this._showEditorByKeyboard(t)}))}_showEditorByKeyboard(t){if(t==null)return;const e=t.event;this._commandService.executeCommand(Te.id,{visible:!0,eventType:E.DeviceInputEventType.Keyboard,keycode:e.which})}_commandExecutedListener(){const t=[te.RichTextEditingMutation.id,I.SetEditorResizeOperation.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{var n;if(t.includes(e.id)){const i=e.params,{unitId:r}=i;if(!this._editorService.isSheetEditor(r))return;const s=this._editorBridgeService.getCurrentEditorId();if(s==null)return;this._editorBridgeService.changeEditorDirty(!0);const a=(n=this._docSkeletonManagerService.getSkeletonByUnitId(s))==null?void 0:n.skeleton;if(a==null)return;const c=this._editorBridgeService.getEditCellState();if(c==null)return;const{position:u,documentLayoutObject:d,canvasOffset:h,scaleX:m,scaleY:g}=c;this._fitTextSize(u,h,a,d,m,g)}}))}_setOpenForCurrent(t,e){const n=this._editorService.getAllEditor();for(const[i,r]of n)r.isSheetEditor()&&(r.setOpenForSheetUnitId(t),r.setOpenForSheetSubUnitId(e))}_getEditorObject(){return Gn(this._editorBridgeService.getCurrentEditorId(),this._renderManagerService)}};xn=Dd([l.OnLifecycle(l.LifecycleStages.Rendered,xn),Ie(0,D.Inject(te.DocSkeletonManagerService)),Ie(1,D.Inject(te.DocViewModelManagerService)),Ie(2,l.IContextService),Ie(3,l.IUniverInstanceService),Ie(4,E.IRenderManagerService),Ie(5,Ee),Ie(6,sn),Ie(7,E.ITextSelectionRenderManager),Ie(8,D.Inject(te.TextSelectionManagerService)),Ie(9,l.ICommandService),Ie(10,D.Inject(l.LocaleService)),Ie(11,I.IEditorService)],xn);var Hd=Object.defineProperty,Ld=Object.getOwnPropertyDescriptor,Ud=(o,t,e,n)=>{for(var i=n>1?void 0:n?Ld(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Hd(t,e,i),i},Vd=(o,t)=>(e,n)=>t(e,n,o);let Po=class extends l.Disposable{constructor(o,t){super(),this._context=o,this._formatPainterService=t,this._initialize()}_initialize(){this._bindFormatPainterStatus()}_bindFormatPainterStatus(){this.disposeWithMe(l.toDisposable(this._formatPainterService.status$.subscribe(o=>{const t=this._context.scene;t&&(o!==xe.OFF?t.setDefaultCursor(E.CURSOR_TYPE.CELL):t.setDefaultCursor(E.CURSOR_TYPE.DEFAULT))})))}};Po=Ud([Vd(1,ft)],Po);var Bd=Object.defineProperty,Fd=Object.getOwnPropertyDescriptor,kd=(o,t,e,n)=>{for(var i=n>1?void 0:n?Fd(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Bd(t,e,i),i},st=(o,t)=>(e,n)=>t(e,n,o);const Wd="__SpreadsheetFreezeRowMainName__",jd="__SpreadsheetFreezeRowHeaderName__",$d="__SpreadsheetFreezeColumnMainName__",zd="__SpreadsheetFreezeColumnHeaderName__",go=4,Yd=.01;let Wn=class extends l.Disposable{constructor(t,e,n,i,r,s,a,c){super();R(this,"_rowFreezeHeaderRect");R(this,"_rowFreezeMainRect");R(this,"_columnFreezeHeaderRect");R(this,"_columnFreezeMainRect");R(this,"_freezeDownObservers",[]);R(this,"_freezeMoveObservers",[]);R(this,"_freezeLeaveObservers",[]);R(this,"_moveObserver");R(this,"_upObserver");R(this,"_changeToRow",-1);R(this,"_changeToColumn",-1);R(this,"_changeToOffsetX",0);R(this,"_changeToOffsetY",0);R(this,"_activeViewport",null);R(this,"_freezeNormalHeaderColor","");R(this,"_freezeNormalMainColor","");R(this,"_freezeActiveColor","");R(this,"_freezeHoverColor","");R(this,"_lastFreeze");this._context=t,this._sheetSkeletonManagerService=e,this._commandService=n,this._selectionManagerService=i,this._scrollManagerService=r,this._themeService=s,this._sheetInterceptorService=a,this._injector=c,this._initialize()}dispose(){super.dispose()}_initialize(){this._skeletonListener(),this._commandExecutedListener(),this._themeChangeListener(),this._interceptorCommands(),this._bindViewportScroll(),this._zoomRefresh()}_createFreeze(t=0,e){var O;const n=e!=null?e:this._getFreeze();if(n==null)return null;const i=(O=this._sheetSkeletonManagerService.getCurrent())==null?void 0:O.skeleton,{startRow:r,startColumn:s}=n,a=this._getPositionByIndex(r,s);if(a==null)return null;const c=this._getSheetObject(),u=c.engine,d=(u==null?void 0:u.width)||0,h=(u==null?void 0:u.height)||0,m=c.scene,{startX:g,startY:f}=a,{rowTotalHeight:_,columnTotalWidth:p,rowHeaderWidthAndMarginLeft:v,columnHeaderHeightAndMarginTop:M}=i,b=d>p+v?d:p+M,T=h>_+M?h:_+M;this._changeToRow=r,this._changeToColumn=s,this._changeToOffsetX=g,this._changeToOffsetY=f;const w=Math.max(m.scaleX,m.scaleY),y=go/(w<1?1:w);if(t===0){const x=y;this._rowFreezeHeaderRect=new E.Rect(jd,{fill:this._freezeNormalHeaderColor,width:v,height:y,left:0,top:f-x,zIndex:3});let A=this._freezeNormalHeaderColor;(r===-1||r===0)&&(A=this._freezeNormalMainColor),this._rowFreezeMainRect=new E.Rect(Wd,{fill:A,width:b*2,height:y,left:v,top:f-x,zIndex:3}),m.addObjects([this._rowFreezeHeaderRect,this._rowFreezeMainRect],nt)}else{const x=y;this._columnFreezeHeaderRect=new E.Rect(zd,{fill:this._freezeNormalHeaderColor,width:y,height:M,left:g-x,top:0,zIndex:3});let A=this._freezeNormalHeaderColor;(s===-1||s===0)&&(A=this._freezeNormalMainColor),this._columnFreezeMainRect=new E.Rect($d,{fill:A,width:y,height:T*2,left:g-x,top:M,zIndex:3}),m.addObjects([this._columnFreezeHeaderRect,this._columnFreezeMainRect],nt)}this._eventBinding(t)}_eventBinding(t=0){let e=this._rowFreezeHeaderRect,n=this._rowFreezeMainRect;t===1&&(e=this._columnFreezeHeaderRect,n=this._columnFreezeMainRect);const i=this._getSheetObject();if(i==null)return;const{scene:r}=i;this._freezeMoveObservers.push(e==null?void 0:e.onPointerEnterObserver.add(()=>{e==null||e.setProps({fill:this._freezeHoverColor,zIndex:4}),r.setCursor(E.CURSOR_TYPE.GRAB)})),this._freezeMoveObservers.push(n==null?void 0:n.onPointerEnterObserver.add(()=>{e==null||e.setProps({fill:this._freezeHoverColor,zIndex:4}),r.setCursor(E.CURSOR_TYPE.GRAB)})),this._freezeLeaveObservers.push(e==null?void 0:e.onPointerLeaveObserver.add(()=>{e==null||e.setProps({fill:this._freezeNormalHeaderColor,zIndex:3}),r.resetCursor()})),this._freezeLeaveObservers.push(n==null?void 0:n.onPointerLeaveObserver.add(()=>{e==null||e.setProps({fill:this._freezeNormalHeaderColor,zIndex:3}),r.resetCursor()})),this._freezeDownObservers.push(e==null?void 0:e.onPointerDownObserver.add(s=>{this._freezeDown(s,e,n,t)})),this._freezeDownObservers.push(n==null?void 0:n.onPointerDownObserver.add(s=>{this._freezeDown(s,e,n,t)}))}_getCurrentLastVisibleRow(){var h,m,g,f;const t=this._getSheetObject();if(t==null)return;const e=(h=this._sheetSkeletonManagerService.getCurrent())==null?void 0:h.skeleton;if(e==null)return;const n=t.scene,i=Math.max(n.scaleX,n.scaleY),r=this._scrollManagerService.getCurrentScroll(),s=(t.engine.height-e.columnHeaderHeight)/i,a=(m=r==null?void 0:r.sheetViewStartRow)!=null?m:0,c=a===0?-((g=r==null?void 0:r.offsetY)!=null?g:0):e.rowHeightAccumulation[a-1]-((f=r==null?void 0:r.offsetY)!=null?f:0);let u=0,d=!1;for(let _=a,p=e.rowHeightAccumulation.length;_<p;_++)if(e.rowHeightAccumulation[_]-c>s){u=_,d=!0;break}return d||(u=e.rowHeightAccumulation.length-1),u}_getActiveViewport(t){var n;const e=(n=this._getSheetObject())==null?void 0:n.scene.getViewports();return e&&e.find(i=>i.isHit(new E.Vector2(t.offsetX,t.offsetY)))||null}_freezeDown(t,e,n,i=0){var h;const r=(h=this._sheetSkeletonManagerService.getCurrent())==null?void 0:h.skeleton;if(r==null)return;const s=this._getSheetObject();if(s==null)return;const{scene:a}=s;a.setCursor(E.CURSOR_TYPE.GRABBING),a.disableEvent();const c=this._getCurrentLastVisibleRow(),u=c===void 0?Number.POSITIVE_INFINITY:r.rowHeightAccumulation[c];this._activeViewport=null;const d=this._getFreeze();d&&(this._changeToColumn=d.startColumn,this._changeToRow=d.startRow),this._moveObserver=a.onPointerMoveObserver.add(m=>{var b,T,w,y;const g=this._getActiveViewport(m),{startX:f,startY:_,row:p,column:v}=Et(m.offsetX,m.offsetY,a,r,g||void 0,!0);a.setCursor(E.CURSOR_TYPE.GRABBING);const M=go/Math.max(a.scaleX,a.scaleY);i===0?((b=e.transformByState({top:Math.min(_,u)-M/2}))==null||b.setProps({fill:this._freezeActiveColor}),(T=n.transformByState({top:Math.min(_,u)-M/2}))==null||T.setProps({fill:this._freezeNormalHeaderColor}),this._changeToRow=c===void 0?p:Math.min(p,c),this._changeToOffsetY=Math.min(_,u),this._activeViewport=g):((w=e.transformByState({left:f-M/2}))==null||w.setProps({fill:this._freezeActiveColor}),(y=n.transformByState({left:f-M/2}))==null||y.setProps({fill:this._freezeNormalHeaderColor}),this._changeToColumn=v,this._changeToOffsetX=f,this._activeViewport=g)}),this._upObserver=a.onPointerUpObserver.add(()=>{var x,A;a.resetCursor(),a.enableEvent(),this._clearObserverEvent();const{rowHeaderWidthAndMarginLeft:m,columnHeaderHeightAndMarginTop:g}=r;i===0&&(this._changeToRow===0||this._changeToRow===-1)||i===1&&(this._changeToColumn===0||this._changeToColumn===-1)?(e.setProps({fill:this._freezeNormalHeaderColor}),n.setProps({fill:this._freezeNormalMainColor})):(e==null||e.setProps({fill:this._freezeNormalHeaderColor}),n==null||n.setProps({fill:this._freezeNormalHeaderColor}));const f=go/Math.max(a.scaleX,a.scaleY);i===0?(this._changeToRow===0||this._changeToRow===-1)&&(e.transformByState({top:g-f}),n.transformByState({top:g-f})):(this._changeToColumn===0||this._changeToColumn===-1)&&(e.transformByState({left:m-f}),n.transformByState({left:m-f}));const _=this._scrollManagerService.getCurrentScroll()||{sheetViewStartRow:0,sheetViewStartColumn:0},{sheetViewStartRow:p,sheetViewStartColumn:v}=_;if(v==null||p==null)return;const M=this._context.unit,b=M.getActiveSheet(),T=(x=b.getConfig())==null?void 0:x.freeze;let w=(T==null?void 0:T.xSplit)||0,y=(T==null?void 0:T.ySplit)||0;const O=(A=this._activeViewport)==null?void 0:A.viewPortKey;i===0&&(!O||O===W.VIEW_LEFT_TOP||O===W.VIEW_MAIN_LEFT_TOP||O===W.VIEW_MAIN_TOP||O===W.VIEW_ROW_TOP?y=this._changeToRow-(T.startRow-T.ySplit):y=this._changeToRow-p,y=y<0?0:y),i===1&&(!O||O===W.VIEW_LEFT_TOP||O===W.VIEW_MAIN_LEFT_TOP||O===W.VIEW_MAIN_LEFT||O===W.VIEW_COLUMN_LEFT?w=this._changeToColumn-(T.startColumn-T.xSplit):w=this._changeToColumn-v,w=w<0?0:w),this._commandService.executeCommand(S.SetFrozenCommand.id,{startRow:y===0?-1:this._changeToRow,startColumn:w===0?-1:this._changeToColumn,ySplit:y,xSplit:w,unitId:M.getUnitId(),subUnitId:b.getSheetId()})})}_getViewports(){const t=this._getSheetObject();if(t==null)return;const{scene:e}=t,n=e.getViewport(W.VIEW_COLUMN_LEFT),i=e.getViewport(W.VIEW_COLUMN_RIGHT),r=e.getViewport(W.VIEW_ROW_TOP),s=e.getViewport(W.VIEW_ROW_BOTTOM),a=e.getViewport(W.VIEW_LEFT_TOP),c=e.getViewport(W.VIEW_MAIN),u=e.getViewport(W.VIEW_MAIN_LEFT_TOP),d=e.getViewport(W.VIEW_MAIN_LEFT),h=e.getViewport(W.VIEW_MAIN_TOP);if(!(n==null||i==null||r==null||s==null||a==null||c==null||u==null||d==null||h==null))return{viewMain:c,viewMainLeftTop:u,viewMainLeft:d,viewMainTop:h,viewColumnLeft:n,viewColumnRight:i,viewRowTop:r,viewRowBottom:s,viewLeftTop:a}}_bindViewportScroll(){const t=this._getViewports();if(!t)return;const{viewMain:e,viewRowBottom:n,viewColumnRight:i,viewMainLeft:r,viewMainTop:s}=t;this.disposeWithMe(e.onScrollAfterObserver.add(a=>{const{scrollX:c,scrollY:u,actualScrollX:d,actualScrollY:h}=a;n.isActive&&n.updateScroll({scrollY:u,actualScrollY:h}),i.isActive&&i.updateScroll({scrollX:c,actualScrollX:d}),r.isActive&&r.updateScroll({scrollY:u,actualScrollY:h}),s.isActive&&s.updateScroll({scrollX:c,actualScrollX:d})}))}_updateViewport(t=-1,e=-1,n=0,i=0,r=3){var O;const s=(O=this._sheetSkeletonManagerService.getCurrent())==null?void 0:O.skeleton;if(s==null)return;const{rowHeaderWidthAndMarginLeft:a,columnHeaderHeightAndMarginTop:c}=s,u=this._getViewports();if(!u)return;const{viewMain:d,viewMainLeftTop:h,viewMainLeft:m,viewMainTop:g,viewColumnLeft:f,viewColumnRight:_,viewRowTop:p,viewRowBottom:v,viewLeftTop:M}=u;_.resize({left:a,top:0,height:c,right:0}),v.resize({left:0,top:c,bottom:0,width:a}),M.resize({left:0,top:0,width:a,height:c});let b=!0,T=!0;h.enable(),(t===-1||t===0)&&(b=!1),(e===-1||e===0)&&(T=!1);const w=s.getNoMergeCellPositionByIndexWithNoHeader(t-n,e-i),y=s.getNoMergeCellPositionByIndexWithNoHeader(t,e);if(h.disable(),g.disable(),m.disable(),p.disable(),f.disable(),h.resetPadding(),g.resetPadding(),m.resetPadding(),p.resetPadding(),f.resetPadding(),b===!1&&T===!1)d.resize({left:a,top:c,bottom:0,right:0}),d.resetPadding();else if(b===!0&&T===!1){const x=y.startY-w.startY;d.resize({left:a,top:c+x,bottom:0,right:0}),d.setPadding({startY:w.startY,endY:y.startY,startX:0,endX:0}),r&2&&this._commandService.executeCommand(dt.id,{sheetViewStartRow:0,offsetY:0}),g.resize({left:a,top:c,height:x,right:0}),g.updateScroll({actualScrollY:w.startY,x:d.scrollX,actualScrollX:d.actualScrollX}),p.resize({left:0,top:c,width:a,height:x}),p.updateScroll({actualScrollY:w.startY}),v.resize({left:0,top:c+x,bottom:0,width:a}),g.enable(),p.enable()}else if(b===!1&&T===!0){const x=y.startX-w.startX;d.resize({left:a+x,top:c,bottom:0,right:0}),d.setPadding({startX:w.startX,endX:y.startX,startY:0,endY:0}),r&1&&this._commandService.executeCommand(dt.id,{sheetViewStartColumn:0,offsetX:0}),m.resize({left:a,top:c,width:x,bottom:0,right:0}),m.updateScroll({actualScrollX:w.startX,y:d.scrollY,actualScrollY:d.actualScrollY}),f.resize({left:a,top:0,width:x,height:c}),f.updateScroll({actualScrollX:w.startX}),_.resize({left:a+x,top:0,height:c,right:0}),m.enable(),f.enable()}else{const x=y.startX-w.startX,A=y.startY-w.startY;d.resize({left:a+x,top:c+A,bottom:0,right:0}),d.setPadding({startY:w.startY,endY:y.startY,startX:w.startX,endX:y.startX}),r&&this._commandService.executeCommand(dt.id,{...r&1?{sheetViewStartColumn:0,offsetX:0}:null,...r&2?{sheetViewStartRow:0,offsetY:0}:null}),m.resize({left:a,top:c+A,width:x,bottom:0}),m.updateScroll({actualScrollX:w.startX,y:d.scrollY,actualScrollY:d.actualScrollY}),g.resize({left:a+x,top:c,height:A,right:0}),g.updateScroll({actualScrollY:w.startY,x:d.scrollX,actualScrollX:d.actualScrollX}),h.resize({left:a,top:c,width:x,height:A}),h.updateScroll({actualScrollX:w.startX,actualScrollY:w.startY}),p.resize({left:0,top:c,width:a,height:A}),p.updateScroll({actualScrollY:w.startY}),v.resize({left:0,top:c+A,bottom:0,width:a}),f.resize({left:a,top:0,width:x,height:c}),f.updateScroll({actualScrollX:w.startX}),_.resize({left:a+x,top:0,height:c,right:0}),h.enable(),g.enable(),m.enable(),p.enable(),f.enable()}}_skeletonListener(){this.disposeWithMe(l.toDisposable(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(t=>{[S.SetWorksheetActiveOperation.id,S.InsertRangeMoveDownCommand.id,S.InsertRangeMoveRightCommand.id].includes((t==null?void 0:t.commandId)||"")&&this._refreshCurrent()})))}_refreshCurrent(){const n=this._context.unit.getActiveSheet().getConfig().freeze,{startRow:i=-1,startColumn:r=-1,ySplit:s=0,xSplit:a=0}=n;this._refreshFreeze(i,r,s,a,0)}_themeChangeListener(){this._themeChange(this._themeService.getCurrentTheme()),this.disposeWithMe(this._themeService.currentTheme$.subscribe(t=>{this._clearFreeze(),this._themeChange(t),this._refreshCurrent()}))}_themeChange(t){this._freezeNormalHeaderColor=t.grey400,this._freezeNormalMainColor=new l.ColorKit(t.grey400).setAlpha(Yd).toRgbString(),this._freezeActiveColor=t.primaryColor,this._freezeHoverColor=t.grey500}_interceptorCommands(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:t=>{const e={redos:[],undos:[]},n=this._getFreeze();if(!n)return e;const i=r=>{const s=this._context.unit,a=s.getUnitId(),u=s.getActiveSheet().getSheetId();this._refreshFreeze(r.startRow,r.startColumn,r.ySplit,r.xSplit,0);const d={...r,unitId:a,subUnitId:u,resetScroll:!1},h=S.SetFrozenMutationFactory(this._injector,d);return{undos:[{id:S.SetFrozenMutation.id,params:h}],redos:[{id:S.SetFrozenMutation.id,params:d}]}};if(t.id===S.InsertRowCommand.id){const s=t.params.range,a=s.endRow-s.startRow+1;if(s.startRow<=n.startRow){const c={...n,startRow:Math.max(1,n.startRow+a),ySplit:Math.max(1,n.ySplit+a)};return i(c)}}if(t.id===S.InsertColCommand.id){const s=t.params.range,a=s.endColumn-s.startColumn+1;if(s.startColumn<=n.startColumn){const c={...n,startColumn:Math.max(1,n.startColumn+a),xSplit:Math.max(1,n.xSplit+a)};return i(c)}}if(t.id===S.MoveColsCommand.id){const r=this._selectionManagerService.getSelections(),{fromRange:{startColumn:s},toRange:{startColumn:a}}=t.params,c=r==null?void 0:r.filter(p=>p.range.rangeType===l.RANGE_TYPE.COLUMN&&p.range.startColumn<=s&&s<=p.range.endColumn);if(!(c!=null&&c.length))return e;const u=c[0].range,d={...u,startColumn:a,endColumn:a+u.endColumn-u.startColumn};if(!n||n.startColumn<=0||u.startColumn>=n.startColumn&&d.startColumn>=n.startColumn||u.startColumn===d.startColumn||u.endColumn<n.startColumn&&d.startColumn<n.startColumn)return e;const h=u.endColumn-u.startColumn+1,m=Math.max(Math.min(n.startColumn,u.endColumn+1)-u.startColumn,0);let g,f;d.startColumn>=n.startColumn?(g=Math.max(n.startColumn-m,1),f=Math.max(n.xSplit-m,1)):(g=n.startColumn+h-m,f=n.xSplit+h-m);const _={...n,startColumn:g,xSplit:f};return i(_)}if(t.id===S.MoveRowsCommand.id){const r=this._selectionManagerService.getSelections(),{fromRange:{startRow:s},toRange:{startRow:a}}=t.params,c=r==null?void 0:r.filter(p=>p.range.rangeType===l.RANGE_TYPE.ROW&&p.range.startRow<=s&&s<=p.range.endRow);if(!(c!=null&&c.length))return e;const u=c[0].range,d={...u,startRow:a,endRow:a+u.endRow-u.startRow};if(!n||n.startRow<=0||u.startRow>=n.startRow&&d.startRow>=n.startRow||u.startRow===d.startRow||u.endRow<n.startRow&&d.startRow<n.startRow)return e;const h=u.endRow-u.startRow+1,m=Math.max(Math.min(n.startRow,u.endRow+1)-u.startRow,0);let g,f;d.startRow>=n.startRow?(g=Math.max(n.startRow-m,1),f=Math.max(n.ySplit-m,1)):(g=n.startRow+h-m,f=n.ySplit+h-m);const _={...n,startRow:g,ySplit:f};return i(_)}if(t.id===S.RemoveColCommand.id||t.id===S.RemoveRowCommand.id){const r=t.params,s=r.range;if(s.rangeType===l.RANGE_TYPE.COLUMN&&s.startColumn<n.startColumn){const a=Math.min(n.startColumn,s.endColumn+1)-s.startColumn,c={...n,startColumn:Math.max(1,n.startColumn-a),xSplit:Math.max(1,n.xSplit-a)};return i(c)}if(r.range.rangeType===l.RANGE_TYPE.ROW&&s.startRow<n.startRow){const a=Math.min(n.startRow,s.endRow+1)-s.startRow,c={...n,startRow:Math.max(1,n.startRow-a),ySplit:Math.max(1,n.ySplit-a)};return i(c)}}return e}}))}_commandExecutedListener(){const t=[S.SetFrozenMutation.id,Fe.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(t.includes(e.id)){const n=this._lastFreeze,i=this._context.unit,r=i.getActiveSheet(),s=e.params,{unitId:a,subUnitId:c}=s;if(!(a===i.getUnitId()&&c===r.getSheetId()))return;const u=r.getConfig().freeze;if(this._lastFreeze=u,u==null)return;let d=0;const{startRow:h=-1,startColumn:m=-1,ySplit:g=0,xSplit:f=0}=u;(!n||n.startRow!==h||n.ySplit!==g)&&(d|=2),(!n||n.startColumn!==m||n.xSplit!==f)&&(d|=1),s.resetScroll===!1&&(d=0),this._refreshFreeze(h,m,g,f,d)}else if(e.id===S.SetWorksheetRowHeightMutation.id){const n=this._getFreeze();e.params&&n&&e.params.ranges.some(i=>i.startRow<n.startRow)&&this._refreshCurrent()}else if(e.id===S.SetWorksheetColWidthMutation.id){const n=this._getFreeze();e.params&&n&&e.params.ranges.some(i=>i.startColumn<n.startColumn)&&this._refreshCurrent()}else if(e.id===S.SetWorksheetRowAutoHeightMutation.id){const n=e.params,i=this._getFreeze();if(i&&i.startRow>-1&&n.rowsAutoHeightInfo.some(r=>r.row<i.startRow)){const r=this._sheetSkeletonManagerService.currentSkeleton$.subscribe(()=>{this._refreshCurrent(),setTimeout(()=>{r.unsubscribe()})})}}else if(e.id===S.SetColHiddenMutation.id||e.id===S.SetColVisibleMutation.id){const n=e.params,i=this._getFreeze(),r=n.ranges;i&&i.startColumn>-1&&r.some(s=>s.startColumn<i.startColumn)&&this._refreshCurrent()}else if(e.id===S.SetRowHiddenMutation.id||e.id===S.SetRowVisibleMutation.id){const n=e.params,i=this._getFreeze(),r=n.ranges;i&&i.startRow>-1&&r.some(s=>s.startRow<i.startRow)&&this._refreshCurrent()}}))}_zoomRefresh(){const t=this._getSheetObject();if(t==null)return;const{scene:e}=t;e.onTransformChangeObservable.add(n=>{n.type===E.TRANSFORM_CHANGE_OBSERVABLE_TYPE.scale&&this._refreshCurrent()})}_clearObserverEvent(){const t=this._getSheetObject();if(t==null)return;const{scene:e}=t;e.onPointerMoveObserver.remove(this._moveObserver),e.onPointerUpObserver.remove(this._upObserver),this._moveObserver=null,this._upObserver=null}_clearFreeze(){var n,i,r,s;(n=this._rowFreezeHeaderRect)==null||n.dispose(),(i=this._rowFreezeMainRect)==null||i.dispose(),(r=this._columnFreezeHeaderRect)==null||r.dispose(),(s=this._columnFreezeMainRect)==null||s.dispose();const t=this._getSheetObject();if(t==null)return;const{scene:e}=t;[...this._freezeDownObservers,...this._freezeMoveObservers,...this._freezeLeaveObservers].forEach(a=>{e.onPointerDownObserver.remove(a),e.onPointerMoveObserver.remove(a),e.onPointerLeaveObserver.remove(a)}),e.onPointerEnterObserver.remove(this._moveObserver),e.onPointerMoveObserver.remove(this._upObserver)}_getPositionByIndex(t,e){var c;if(this._getSheetObject()==null)return;const i=(c=this._sheetSkeletonManagerService.getCurrent())==null?void 0:c.skeleton,r=i==null?void 0:i.getNoMergeCellPositionByIndex(t,e);if(i==null)return;if(r!=null&&(!isNaN(r.endX)||!isNaN(r.endY)))return r;const{rowHeaderWidthAndMarginLeft:s,columnHeaderHeightAndMarginTop:a}=i;return{startX:s,endX:s,startY:a,endY:a}}_getFreeze(){var e;const t=(e=this._sheetSkeletonManagerService.getCurrent())==null?void 0:e.skeleton.getWorksheetConfig();if(t!=null)return t.freeze}_getSheetObject(){return it(this._context.unit,this._context)}_refreshFreeze(t,e,n,i,r){var a;const s={startRow:t,startColumn:e,ySplit:n,xSplit:i};this._clearFreeze(),this._createFreeze(0,s),this._createFreeze(1,s),this._updateViewport(t,e,n,i,r),(a=this._getSheetObject())==null||a.spreadsheet.makeForceDirty()}};Wn=kd([st(1,D.Inject(exports.SheetSkeletonManagerService)),st(2,l.ICommandService),st(3,D.Inject(S.SelectionManagerService)),st(4,D.Inject(Ze)),st(5,D.Inject(l.ThemeService)),st(6,D.Inject(S.SheetInterceptorService)),st(7,D.Inject(D.Injector))],Wn);var Ho=(o=>(o[o.NORMAL=0]="NORMAL",o[o.HIGHLIGHT=1]="HIGHLIGHT",o))(Ho||{});const Xd="rgba(0, 0, 0, 0.15)",Xe="rgb(0, 0, 0)",hn="rgb(255, 255, 255, 1)";class Gd extends E.Shape{constructor(e,n){super(e,n);R(this,"_size",12);R(this,"_iconRatio",.4);R(this,"_mode",0);this.setShapeProps(n)}setShapeProps(e){e!=null&&e.size&&(this._size=e.size),e!=null&&e.mode&&(this._mode=e.mode),this.transformByState({width:this._size,height:this._size})}_draw(e){this._mode===1&&E.Rect.drawWith(e,{width:this._size,height:this._size,radius:this._size,fill:Xd});const n=this._size*.5*this._iconRatio,i=Math.PI/180*60,r=n*Math.sin(i),s=n*Math.cos(i);E.RegularPolygon.drawWith(e,{pointsGroup:[[{x:-r+this._size/2,y:-s+this._size/2},{x:r+this._size/2,y:-s+this._size/2},{x:this._size/2,y:n+this._size/2}]],fill:Xe})}}var Zd=Object.defineProperty,Kd=Object.getOwnPropertyDescriptor,qd=(o,t,e,n)=>{for(var i=n>1?void 0:n?Kd(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Zd(t,e,i),i},mn=(o,t)=>(e,n)=>t(e,n,o);const Qd="__SpreadsheetHeaderMenuSHAPEControllerShape__",Jd="__SpreadsheetHeaderMenuMAINControllerShape__",eu="rgba(0, 0, 0, 0.1)";let Lo=class extends l.Disposable{constructor(t,e,n,i,r){super();R(this,"_hoverRect");R(this,"_hoverMenu");R(this,"_currentColumn",Number.POSITIVE_INFINITY);R(this,"_observers",[]);this._context=t,this._sheetSkeletonManagerService=e,this._contextMenuService=n,this._commandService=i,this._selectionManagerService=r,this._initialize()}dispose(){var n,i;(n=this._hoverRect)==null||n.dispose(),(i=this._hoverMenu)==null||i.dispose();const t=this._context.components.get(ie.COLUMN),e=this._context.components.get(ie.ROW);this._observers.forEach(r=>{e.onPointerEnterObserver.remove(r),e.onPointerMoveObserver.remove(r),e.onPointerLeaveObserver.remove(r),t.onPointerEnterObserver.remove(r),t.onPointerMoveObserver.remove(r),t.onPointerLeaveObserver.remove(r)})}_initialize(){const t=this._context.scene;this._hoverRect=new E.Rect(Qd,{fill:eu,evented:!1}),this._hoverMenu=new Gd(Jd,{zIndex:100,visible:!1}),t.addObjects([this._hoverRect,this._hoverMenu],nt),this._initialHover(0),this._initialHover(1),this._initialHoverMenu()}_initialHover(t=0){const e=this._context.components.get(ie.COLUMN),n=this._context.components.get(ie.ROW),i=t===0?n:e;this._observers.push(i==null?void 0:i.onPointerEnterObserver.add(()=>{var r;(r=this._hoverRect)==null||r.show()})),this._observers.push(i==null?void 0:i.onPointerMoveObserver.add(r=>{var f,_,p;const s=(f=this._sheetSkeletonManagerService.getCurrent())==null?void 0:f.skeleton;if(s==null)return;const{rowHeaderWidth:a,columnHeaderHeight:c}=s,{startX:u,startY:d,endX:h,endY:m,column:g}=Et(r.offsetX,r.offsetY,this._context.scene,s);if(t===0)(_=this._hoverRect)==null||_.transformByState({width:a,height:m-d,left:0,top:d});else{if(this._currentColumn=g,(p=this._hoverRect)==null||p.transformByState({width:h-u,height:c,left:u,top:0}),this._hoverMenu==null)return;if(h-u<c*2){this._hoverMenu.hide();return}const v=c*.8;this._hoverMenu.transformByState({left:h-c,top:c/2-v/2}),this._hoverMenu.setShapeProps({size:v}),this._hoverMenu.show()}})),this._observers.push(i==null?void 0:i.onPointerLeaveObserver.add(()=>{var r,s;(r=this._hoverRect)==null||r.hide(),(s=this._hoverMenu)==null||s.hide()}))}_initialHoverMenu(){this._hoverMenu!=null&&(this._hoverMenu.onPointerEnterObserver.add(()=>{this._hoverMenu!=null&&(this._hoverMenu.setProps({mode:Ho.HIGHLIGHT,visible:!0}),this._context.scene.setCursor(E.CURSOR_TYPE.POINTER))}),this._hoverMenu.onPointerLeaveObserver.add(()=>{this._hoverMenu!=null&&(this._hoverMenu.setProps({mode:Ho.NORMAL,visible:!1}),this._context.scene.resetCursor())}),this._hoverMenu.onPointerDownObserver.add(t=>{const e=this._currentColumn,n=this._selectionManagerService.getSelectionRanges();if(!!!(n!=null&&n.filter(r=>r.rangeType===l.RANGE_TYPE.COLUMN).find(r=>{const{startColumn:s,endColumn:a}=r;return e>=s&&e<=a}))){const r=this._getSelectionOnColumn(e);this._commandService.syncExecuteCommand(S.SetSelectionsOperation.id,r)}t.stopPropagation(),t.preventDefault(),this._contextMenuService.triggerContextMenu(t,le.COL_HEADER_CONTEXT_MENU)}))}_getSelectionOnColumn(t){const e=this._context.unit,n=e.getActiveSheet();return{unitId:e.getUnitId(),subUnitId:n.getSheetId(),pluginName:S.NORMAL_SELECTION_PLUGIN_NAME,selections:[{range:{startRow:0,startColumn:t,endRow:n.getRowCount()-1,endColumn:t,rangeType:l.RANGE_TYPE.COLUMN},primary:{startRow:0,startColumn:t,endRow:0,endColumn:t,actualRow:0,actualColumn:t,isMerged:!1,isMergedMainCell:!1},style:null}]}}};Lo=qd([mn(1,D.Inject(exports.SheetSkeletonManagerService)),mn(2,I.IContextMenuService),mn(3,l.ICommandService),mn(4,D.Inject(S.SelectionManagerService))],Lo);var tu=Object.defineProperty,nu=Object.getOwnPropertyDescriptor,ou=(o,t,e,n)=>{for(var i=n>1?void 0:n?nu(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&tu(t,e,i),i},gn=(o,t)=>(e,n)=>t(e,n,o);const iu="__SpreadsheetHeaderMoveControllerBackground__",ru="__SpreadsheetHeaderMoveControllerShapeLine__",su="rgba(0, 0, 0, 0.1)",au="rgb(119, 119, 119)",lu=4;let Uo=class extends l.Disposable{constructor(t,e,n,i,r){super();R(this,"_startOffsetX",Number.NEGATIVE_INFINITY);R(this,"_startOffsetY",Number.NEGATIVE_INFINITY);R(this,"_moveHelperBackgroundShape");R(this,"_moveHelperLineShape");R(this,"_rowOrColumnDownObservers",[]);R(this,"_rowOrColumnMoveObservers",[]);R(this,"_rowOrColumnLeaveObservers",[]);R(this,"_moveObserver");R(this,"_upObserver");R(this,"_scrollTimer");R(this,"_changeFromColumn",-1);R(this,"_changeFromRow",-1);R(this,"_changeToColumn",-1);R(this,"_changeToRow",-1);this._context=t,this._sheetSkeletonManagerService=e,this._commandService=n,this._selectionRenderService=i,this._selectionManagerService=r,this._initialize()}dispose(){var i,r,s;(i=this._moveHelperBackgroundShape)==null||i.dispose(),(r=this._moveHelperLineShape)==null||r.dispose();const t=this._context.components.get(ie.COLUMN),e=this._context.components.get(ie.ROW),n=this._context.scene;[...this._rowOrColumnDownObservers,...this._rowOrColumnMoveObservers,...this._rowOrColumnLeaveObservers].forEach(a=>{e.onPointerDownObserver.remove(a),t.onPointerDownObserver.remove(a)}),n.onPointerMoveObserver.remove(this._moveObserver),n.onPointerUpObserver.remove(this._upObserver),(s=this._scrollTimer)==null||s.dispose()}_initialize(){this._initialRowOrColumn(0),this._initialRowOrColumn(1)}_initialRowOrColumn(t=0){const e=this._context.components.get(ie.COLUMN),n=this._context.components.get(ie.ROW),i=this._context.scene,r=t===0?n:e;this._rowOrColumnMoveObservers.push(r==null?void 0:r.onPointerMoveObserver.add(s=>{var h;const a=(h=this._sheetSkeletonManagerService.getCurrent())==null?void 0:h.skeleton;if(a==null)return;const{row:c,column:u}=Et(s.offsetX,s.offsetY,i,a);if(this._checkInHeaderRange(t===0?c:u,t)===!1){i.resetCursor(),this._selectionRenderService.enableSelection();return}i.setCursor(E.CURSOR_TYPE.GRAB),this._selectionRenderService.disableSelection()})),this._rowOrColumnLeaveObservers.push(r==null?void 0:r.onPointerLeaveObserver.add(()=>{var s,a;(s=this._moveHelperBackgroundShape)==null||s.hide(),(a=this._moveHelperLineShape)==null||a.hide(),i.resetCursor(),this._selectionRenderService.enableSelection()})),this._rowOrColumnDownObservers.push(r==null?void 0:r.onPointerDownObserver.add(s=>{var w;const a=(w=this._sheetSkeletonManagerService.getCurrent())==null?void 0:w.skeleton;if(a==null)return;const{offsetX:c,offsetY:u}=s,d=i.getRelativeCoord(E.Vector2.FromArray([c,u])),{x:h,y:m}=d;this._startOffsetX=h,this._startOffsetY=m;const{row:g,column:f}=Et(s.offsetX,s.offsetY,i,a);let _;t===0?(this._changeFromRow=g,_=E.ScrollTimerType.Y):(this._changeFromColumn=f,_=E.ScrollTimerType.X);const p=this._checkInHeaderRange(t===0?g:f,t);if(p===!1)return;const v=i.getScrollXYByRelativeCoords(E.Vector2.FromArray([this._startOffsetX,this._startOffsetY]));this._newBackgroundAndLine(),i.setCursor(E.CURSOR_TYPE.GRABBING),i.disableEvent();let M=!1,b;const T=()=>{if(M)return;b=E.ScrollTimer.create(i,_);const y=i.getViewport(W.VIEW_MAIN);b.startScroll(h,m,y),this._scrollTimer=b,M=!0};this._moveObserver=i.onPointerMoveObserver.add(y=>{T();const{offsetX:O,offsetY:x}=y,{x:A,y:F}=i.getRelativeCoord(E.Vector2.FromArray([O,x]));this._rowColumnMoving(A,F,p,v,t),b.scrolling(A,F,()=>{this._rowColumnMoving(A,F,p,v,t)})}),this._upObserver=i.onPointerUpObserver.add(()=>{var O,x,A;this._disposeBackgroundAndLine(),i.resetCursor(),i.enableEvent(),this._clearObserverEvent(),(O=this._scrollTimer)==null||O.dispose();const y=this._selectionManagerService.getSelections();if(t===0){if(this._changeFromRow!==this._changeToRow&&this._changeToRow!==-1){const N=(x=((y==null?void 0:y.filter(L=>L.range.rangeType===l.RANGE_TYPE.ROW&&L.range.startRow<=this._changeFromRow&&this._changeFromRow<=L.range.endRow))||[])[0])==null?void 0:x.range;N&&this._commandService.executeCommand(S.MoveRowsCommand.id,{fromRange:N,toRange:{...N,startRow:this._changeToRow,endRow:this._changeToRow+N.endRow-N.startRow}})}this._changeToRow=this._changeFromRow=-1}else{if(this._changeFromColumn!==this._changeToColumn&&this._changeToColumn!==-1){const N=(A=((y==null?void 0:y.filter(L=>L.range.rangeType===l.RANGE_TYPE.COLUMN&&L.range.startColumn<=this._changeFromColumn&&this._changeFromColumn<=L.range.endColumn))||[])[0])==null?void 0:A.range;N&&this._commandService.executeCommand(S.MoveColsCommand.id,{fromRange:N,toRange:{...N,startColumn:this._changeToColumn,endColumn:this._changeToColumn+N.endColumn-N.startColumn}})}this._changeToColumn=this._changeFromColumn=-1}})}))}_rowColumnMoving(t,e,n,i,r){var $,Q,P,H,k,Y,X;const s=this._context.scene,a=($=this._sheetSkeletonManagerService.getCurrent())==null?void 0:$.skeleton;if(a==null)return;const{rowHeaderWidth:c,columnHeaderHeight:u,rowTotalHeight:d,columnTotalWidth:h}=a,m=s.getScrollXY(s.getViewport(W.VIEW_MAIN)),{scaleX:g,scaleY:f}=s.getAncestorScale(),_=a.getCellPositionByOffset(t,e,g,f,m),{row:p,column:v}=_,M=a.getNoMergeCellPositionByIndex(p,v),{startX:b,startY:T,endX:w,endY:y}=M,O=this._selectionRenderService.convertRangeDataToSelection(n.range);if(O==null)return;const x=Math.max(g,g),{startX:A,endX:F,startY:N,endY:L,startRow:B,startColumn:j,endRow:z,endColumn:q}=O;r===0?(Q=this._moveHelperBackgroundShape)==null||Q.transformByState({height:L-N,width:h+c,left:0,top:N+(e-this._startOffsetY)/x+m.y-i.y}):(P=this._moveHelperBackgroundShape)==null||P.transformByState({height:d+u,width:F-A,left:A+(t-this._startOffsetX)/x+m.x-i.x,top:0}),(H=this._moveHelperBackgroundShape)==null||H.show();const K=lu/x;if(r===0){let J=0;if(p<=B)J=T-K/2,this._changeToRow=p;else if(p>z)J=y-K/2,this._changeToRow=p+1;else return;(k=this._moveHelperLineShape)==null||k.transformByState({height:K,width:h,left:c,top:J})}else{let J=0;if(v<=j)J=b-K/2,this._changeToColumn=v;else if(v>q)J=w-K/2,this._changeToColumn=v+1;else return;(Y=this._moveHelperLineShape)==null||Y.transformByState({height:d,width:K,left:J,top:u})}(X=this._moveHelperLineShape)==null||X.show()}_checkInHeaderRange(t,e=0){var a;const n=this._selectionManagerService.getSelections();if(((a=this._selectionManagerService.getCurrent())==null?void 0:a.pluginName)!==S.NORMAL_SELECTION_PLUGIN_NAME)return!1;const r=n==null?void 0:n.find(c=>{const u=c.range,{startRow:d,endRow:h,startColumn:m,endColumn:g,rangeType:f}=u;return e===1?t>=m&&t<=g&&l.RANGE_TYPE.COLUMN===f:t>=d&&t<=h&&l.RANGE_TYPE.ROW===f}),s=r==null?void 0:r.range;return r==null||s==null||s.rangeType===l.RANGE_TYPE.ALL||s.rangeType===l.RANGE_TYPE.NORMAL||s.rangeType===l.RANGE_TYPE.ROW&&e!==0||s.rangeType===l.RANGE_TYPE.COLUMN&&e!==1?!1:r}_clearObserverEvent(){const t=this._context.scene;t.onPointerMoveObserver.remove(this._moveObserver),t.onPointerUpObserver.remove(this._upObserver),this._moveObserver=null,this._upObserver=null}_newBackgroundAndLine(){const t=this._context.scene;this._moveHelperBackgroundShape=new E.Rect(iu,{fill:su,evented:!1,zIndex:100}),this._moveHelperLineShape=new E.Rect(ru,{fill:au,evented:!1,zIndex:100}),t.addObjects([this._moveHelperBackgroundShape,this._moveHelperLineShape],nt)}_disposeBackgroundAndLine(){var t,e;(t=this._moveHelperBackgroundShape)==null||t.dispose(),(e=this._moveHelperLineShape)==null||e.dispose()}};Uo=ou([gn(1,D.Inject(exports.SheetSkeletonManagerService)),gn(2,l.ICommandService),gn(3,Ne),gn(4,D.Inject(S.SelectionManagerService))],Uo);var Vo=(o=>(o[o.VERTICAL=0]="VERTICAL",o[o.HORIZONTAL=1]="HORIZONTAL",o))(Vo||{});const cu="rgba(120, 120, 120, 0.01)",fo="rgb(68, 71, 70)",$t=12,Bo=4;class Ki extends E.Shape{constructor(e,n){super(e,n);R(this,"_size",$t);R(this,"_color",fo);R(this,"_mode",0);this.setShapeProps(n)}get size(){return this._size}get mode(){return this._mode}get color(){return this._color}_draw(e){let{width:n,height:i}=this,r=0,s=0;const a=this.getScene(),{scaleX:c,scaleY:u}=a.getAncestorScale(),d=Math.max(c,u),h=$t/d,m=Bo/d;this.mode===0?(n=m,r=h-m):(i=m,s=h-m),E.Rect.drawWith(e,{width:this.width,height:this.height,left:0,top:0,fill:cu}),E.Rect.drawWith(e,{width:n,height:i,fill:fo,radius:m}),e.save(),e.transform(1,0,0,1,r,s),E.Rect.drawWith(e,{width:n,height:i,fill:fo,radius:m}),e.restore()}setShapeProps(e){return e!=null&&e.size&&(this._size=e.size),e!=null&&e.mode&&(this._mode=e.mode),e!=null&&e.color&&(this._color=e.color),this.mode===0?this.transformByState({width:$t,height:this.size}):this.transformByState({width:this.size,height:$t}),this}}var du=Object.defineProperty,uu=Object.getOwnPropertyDescriptor,hu=(o,t,e,n)=>{for(var i=n>1?void 0:n?uu(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&du(t,e,i),i},_o=(o,t)=>(e,n)=>t(e,n,o);const mu="__SpreadsheetHeaderResizeControllerShapeRow__",gu="__SpreadsheetHeaderResizeControllerShapeColumn__",qi="__SpreadsheetHeaderResizeControllerShapeHelper__",Qi="rgb(199, 199, 199)",fu=2;let Fo=class extends l.Disposable{constructor(t,e,n,i){super();R(this,"_currentRow",0);R(this,"_currentColumn",0);R(this,"_rowResizeRect");R(this,"_columnResizeRect");R(this,"_observers",[]);R(this,"_moveObserver");R(this,"_upObserver");R(this,"_resizeHelperShape");R(this,"_startOffsetX",Number.POSITIVE_INFINITY);R(this,"_startOffsetY",Number.POSITIVE_INFINITY);this._context=t,this._sheetSkeletonManagerService=e,this._commandService=n,this._editorBridgeService=i,this._init()}dispose(){var n,i;(n=this._rowResizeRect)==null||n.dispose(),this._rowResizeRect=null,(i=this._columnResizeRect)==null||i.dispose(),this._columnResizeRect=null;const t=this._context.components.get(ie.COLUMN),e=this._context.components.get(ie.ROW);this._observers.forEach(r=>{e.onPointerMoveObserver.remove(r),e.onPointerLeaveObserver.remove(r),t.onPointerMoveObserver.remove(r),t.onPointerLeaveObserver.remove(r)}),this._observers=[]}_init(){const t=this._context.scene;this._rowResizeRect=new Ki(mu,{visible:!1,mode:Vo.HORIZONTAL,zIndex:100}),this._columnResizeRect=new Ki(gu,{visible:!1,mode:Vo.VERTICAL,zIndex:100}),t.addObjects([this._rowResizeRect,this._columnResizeRect],nt),this._initialHover(0),this._initialHover(1),this._initialHoverResize(0),this._initialHoverResize(1)}_initialHover(t=0){const e=this._context.components.get(ie.COLUMN),n=this._context.components.get(ie.ROW),i=this._context.scene,r=t===0?n:e;this._observers.push(r==null?void 0:r.onPointerMoveObserver.add((s,a)=>{var y;const c=(y=this._sheetSkeletonManagerService.getCurrent())==null?void 0:y.skeleton;if(c==null||this._rowResizeRect==null||this._columnResizeRect==null)return;const{rowHeaderWidth:u,columnHeaderHeight:d}=c,{startX:h,startY:m,endX:g,endY:f,row:_,column:p}=Et(s.offsetX,s.offsetY,i,c),v=bn(s.offsetX,s.offsetY,i),{scaleX:M,scaleY:b}=i.getAncestorScale(),T=Math.max(M,b),w=$t/T;if(t===0){let O=m-w/2;if(v.y<=m+w/2&&v.y>=m)this._currentRow=_-1;else if(v.y>=f-w/2&&v.y<=f)this._currentRow=_,O=f-w/2;else{this._rowResizeRect.hide();return}if(this._currentRow===-1)return;const x=u/3;this._rowResizeRect.transformByState({left:u/2-x/2,top:O}),this._rowResizeRect.setShapeProps({size:x}),this._rowResizeRect.show()}else{let O=h-w/2;if(v.x<=h+w/2&&v.x>=h)this._currentColumn=p-1;else if(v.x>=g-w/2&&v.x<=g)this._currentColumn=p,O=g-w/2;else{this._columnResizeRect.hide();return}if(this._currentColumn===-1)return;const x=d*.7;this._columnResizeRect.transformByState({left:O,top:d/2-x/2}),this._columnResizeRect.setShapeProps({size:x}),this._columnResizeRect.show()}})),this._observers.push(r==null?void 0:r.onPointerLeaveObserver.add((s,a)=>{var c,u;(c=this._rowResizeRect)==null||c.hide(),(u=this._columnResizeRect)==null||u.hide()}))}_initialHoverResize(t=0){const e=this._context.scene,n=t===0?this._rowResizeRect:this._columnResizeRect;n!=null&&(this.disposeWithMe(l.toDisposable(n.onPointerEnterObserver.add(()=>{n!=null&&(n.show(),e.setCursor(t===0?E.CURSOR_TYPE.ROW_RESIZE:E.CURSOR_TYPE.COLUMN_RESIZE))}))),this.disposeWithMe(l.toDisposable(n.onPointerLeaveObserver.add(()=>{n!=null&&(n.hide(),e.resetCursor())}))),this.disposeWithMe(l.toDisposable(n.onPointerDownObserver.add((i,r)=>{var K,$,Q,P,H,k,Y;const s=(K=this._sheetSkeletonManagerService.getCurrent())==null?void 0:K.skeleton;if(s==null)return;const a=this._context.scene,c=a.getEngine(),u=(c==null?void 0:c.height)||0,d=(c==null?void 0:c.width)||0,h=a.getViewport(W.VIEW_MAIN),m=(((Q=($=h==null?void 0:h.getScrollBar())==null?void 0:$.horizonBarRect)==null?void 0:Q.height)||0)+10,g=(((H=(P=h==null?void 0:h.getScrollBar())==null?void 0:P.verticalBarRect)==null?void 0:H.width)||0)+10,f=bn(i.offsetX,i.offsetY,a),{scaleX:_,scaleY:p}=a.getAncestorScale();this._startOffsetX=f.x,this._startOffsetY=f.y;const v=s.getOffsetByPositionX(this._currentColumn),M=s.getOffsetByPositionY(this._currentRow),b=s.getNoMergeCellPositionByIndex(this._currentRow,this._currentColumn);let T=!1,w=0,y=0;const{columnTotalWidth:O,rowHeaderWidth:x,rowTotalHeight:A,columnHeaderHeight:F}=s,N=d>O+x?d:O+x,L=u>A+F?u:A+F,B=Math.max(_,p),j=Bo/B;t===0?this._resizeHelperShape=new E.Rect(qi,{width:N,height:j,fill:Qi,left:0,top:M-j/2}):this._resizeHelperShape=new E.Rect(qi,{width:j,height:L,fill:Qi,left:v-j/2,top:0});const z=((k=this._columnResizeRect)==null?void 0:k.left)||0,q=((Y=this._rowResizeRect)==null?void 0:Y.top)||0;a.addObject(this._resizeHelperShape,nt),a.disableEvent(),this._editorBridgeService.changeVisible({visible:!1,eventType:E.DeviceInputEventType.PointerDown}),this._moveObserver=a.onPointerMoveObserver.add(X=>{var de,se,$e,pe,Ht,Lt;const J=a.getRelativeCoord(E.Vector2.FromArray([this._startOffsetX,this._startOffsetY])),ee=a.getScrollXYByRelativeCoords(J,h),ce=bn(X.offsetX,X.offsetY,a),{x:Ce,y:De}=ce,{scaleX:Pe,scaleY:We}=a.getAncestorScale(),je=Math.max(Pe,We),he=Bo/je;w=Ce-this._startOffsetX-he/2,y=De-this._startOffsetY-he/2,Math.abs(t===0?y:w)>=fu&&(T=!0),t===0?(y>u-m+ee.y-b.startY&&(y=u-m+ee.y-b.startY),y<-(b.endY-b.startY)+2&&(y=-(b.endY-b.startY)+2),T&&((de=this._resizeHelperShape)==null||de.transformByState({top:M+y}),(se=this._rowResizeRect)==null||se.transformByState({top:q+y+he/2}),($e=this._rowResizeRect)==null||$e.show(),a.setCursor(E.CURSOR_TYPE.ROW_RESIZE))):(w>d-g+ee.x-b.startX&&(w=d-g+ee.x-b.startX),w<-(b.endX-b.startX)+2&&(w=-(b.endX-b.startX)+2),T&&((pe=this._resizeHelperShape)==null||pe.transformByState({left:v+w}),(Ht=this._columnResizeRect)==null||Ht.transformByState({left:z+w+he/2}),(Lt=this._columnResizeRect)==null||Lt.show(),a.setCursor(E.CURSOR_TYPE.COLUMN_RESIZE)))}),this._upObserver=a.onPointerUpObserver.add(X=>{var ee,ce,Ce;const J=this._context.scene;this._clearObserverEvent(),(ee=this._resizeHelperShape)==null||ee.dispose(),this._resizeHelperShape=null,J.enableEvent(),T&&(J.resetCursor(),(ce=this._rowResizeRect)==null||ce.hide(),(Ce=this._columnResizeRect)==null||Ce.hide(),t===0?this._commandService.executeCommand(S.DeltaRowHeightCommand.id,{deltaY:y,anchorRow:this._currentRow}):this._commandService.executeCommand(S.DeltaColumnWidthCommand.id,{deltaX:w,anchorCol:this._currentColumn}))})}))),this.disposeWithMe(l.toDisposable(n.onDblclickObserver.add(()=>{var i;t===0&&(this._context.scene.resetCursor(),this._commandService.executeCommand(S.SetWorksheetRowIsAutoHeightCommand.id,{anchorRow:this._currentRow}),(i=this._rowResizeRect)==null||i.hide())}))))}_clearObserverEvent(){const t=this._context.scene;t.onPointerMoveObserver.remove(this._moveObserver),t.onPointerUpObserver.remove(this._upObserver),this._moveObserver=null,this._upObserver=null}};Fo=hu([_o(1,D.Inject(exports.SheetSkeletonManagerService)),_o(2,l.ICommandService),_o(3,Ee)],Fo);var ko=(o=>(o[o.ROW=0]="ROW",o[o.COLUMN=1]="COLUMN",o))(ko||{});const zt=12,_u=.4;class Ji extends E.Shape{constructor(e,n,i){super(e,n);R(this,"_size",zt);R(this,"_iconRatio",_u);R(this,"_hovered",!0);R(this,"_hasPrevious",!0);R(this,"_hasNext",!0);R(this,"_unhideType");n&&this.setShapeProps(n),this.onPointerEnterObserver.add(()=>this.setShapeProps({hovered:!0})),this.onPointerLeaveObserver.add(()=>this.setShapeProps({hovered:!1})),this.onPointerDownObserver.add(()=>i==null?void 0:i())}setShapeProps(e){e.type!==void 0&&(this._unhideType=e.type),e.hovered!==void 0&&(this._hovered=e.hovered),e.hasPrevious!==void 0&&(this._hasPrevious=e.hasPrevious),e.hasNext!==void 0&&(this._hasNext=e.hasNext),this.transformByState({width:this._size*(this._unhideType===1?2:1),height:this._size*(this._unhideType===0?2:1)})}_draw(e){this._unhideType===0?this._drawOnRow(e):this._drawOnCol(e)}_drawOnRow(e){this._hovered&&(!this._hasNext||!this._hasPrevious?E.Rect.drawWith(e,{width:this._size,height:this._size,stroke:Xe,fill:hn}):E.Rect.drawWith(e,{width:this._size,height:2*this._size,stroke:Xe,fill:hn}));const n=this._size*.5*this._iconRatio,i=Math.PI/3,r=n*Math.cos(i),s=n*Math.sin(i);if(this._hasPrevious&&E.RegularPolygon.drawWith(e,{pointsGroup:[[{x:this._size/2,y:this._size/2-s},{x:this._size/2-s,y:this._size/2+r},{x:this._size/2+s,y:this._size/2+r}]],fill:Xe}),this._hasNext){const a=this._hasPrevious?3:1;E.RegularPolygon.drawWith(e,{pointsGroup:[[{x:this._size/2,y:this._size*a/2+s},{x:this._size/2-s,y:this._size*a/2-r},{x:this._size/2+s,y:this._size*a/2-r}]],fill:Xe})}}_drawOnCol(e){this._hovered&&(!this._hasNext||!this._hasPrevious?E.Rect.drawWith(e,{width:this._size,height:this._size,stroke:Xe,fill:hn}):E.Rect.drawWith(e,{width:2*this._size,height:this._size,stroke:Xe,fill:hn}));const n=this._size*.5*this._iconRatio,i=Math.PI/3,r=n*Math.cos(i),s=n*Math.sin(i);if(this._hasPrevious&&E.RegularPolygon.drawWith(e,{pointsGroup:[[{x:-r+this._size/2,y:this._size/2},{x:this._size/2+s,y:this._size/2-s},{x:this._size/2+s,y:this._size/2+s}]],fill:Xe}),this._hasNext){const a=this._hasPrevious?3:1;E.RegularPolygon.drawWith(e,{pointsGroup:[[{x:r+this._size*a/2,y:this._size/2},{x:-s+this._size*a/2,y:this._size/2-s},{x:-s+this._size*a/2,y:this._size/2+s}]],fill:Xe})}}}var Su=Object.defineProperty,pu=Object.getOwnPropertyDescriptor,Cu=(o,t,e,n)=>{for(var i=n>1?void 0:n?pu(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Su(t,e,i),i},er=(o,t)=>(e,n)=>t(e,n,o);const tr="__SpreadsheetHeaderUnhideSHAPEControllerShape__",vu=[S.InsertColMutation.id,S.InsertRowMutation.id,S.RemoveColMutation.id,S.RemoveRowMutation.id,S.SetWorksheetColWidthMutation.id,S.SetWorksheetRowIsAutoHeightMutation.id,S.SetRowHiddenMutation.id,S.SetRowVisibleMutation.id,S.SetColHiddenMutation.id,S.SetColVisibleMutation.id];let Wo=class extends l.RxDisposable{constructor(t,e,n){super();R(this,"_shapes",{cols:[],rows:[]});this._context=t,this._sheetSkeletonManagerService=e,this._commandService=n,this._init()}get _workbook(){return this._context.unit}dispose(){super.dispose(),this._clearShapes()}_init(){let t="";this._context.unit.activeSheet$.pipe(U.takeUntil(this.dispose$)).subscribe(e=>{if(this._clearShapes(),!e){t="";return}t=e.getSheetId(),this._update(this._workbook,e)}),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(!vu.includes(e.id)||!e.params||!e.params.unitId||e.params.subUnitId!==t)return;const n=this._workbook,i=n.getSheetBySheetId(e.params.subUnitId);i&&this._update(n,i)}))}_update(t,e){var m;const n=(m=this._sheetSkeletonManagerService.getUnitSkeleton(t.getUnitId(),e.getSheetId()))==null?void 0:m.skeleton;if(!n)return;const i=e.getHiddenRows(),r=e.getHiddenCols(),s=this._getSheetObject(),{scene:a}=s,c=e.getRowCount(),u=i.map(g=>{const{startRow:f,endRow:_}=g,p=No(f,0,a,n),v=f!==0,M=_!==c-1;return new Ji(tr,{type:ko.ROW,hovered:!1,hasPrevious:v,hasNext:M,top:p.startY-(v?zt:0),left:p.startX-zt},()=>this._commandService.executeCommand(S.SetSpecificRowsVisibleCommand.id,{unitId:t.getUnitId(),subUnitId:e.getSheetId(),ranges:[g]}))}),d=e.getColumnCount(),h=r.map(g=>{const{startColumn:f,endColumn:_}=g,p=No(0,f,a,n),v=f!==0,M=_!==d-1;return new Ji(tr,{type:ko.COLUMN,hovered:!1,hasPrevious:v,hasNext:M,top:20-zt,left:p.startX-(v?zt:0)},()=>this._commandService.executeCommand(S.SetSpecificColsVisibleCommand.id,{unitId:t.getUnitId(),subUnitId:e.getSheetId(),ranges:[g]}))});a.addObjects(h,yi),a.addObjects(u,yi),this._clearShapes(),this._shapes={cols:h,rows:u}}_clearShapes(){this._shapes.cols.forEach(t=>t.dispose()),this._shapes.rows.forEach(t=>t.dispose()),this._shapes={cols:[],rows:[]}}_getSheetObject(){return it(this._workbook,this._context)}};Wo=Cu([er(1,D.Inject(exports.SheetSkeletonManagerService)),er(2,l.ICommandService)],Wo);var Iu=Object.defineProperty,Ru=Object.getOwnPropertyDescriptor,Mu=(o,t,e,n)=>{for(var i=n>1?void 0:n?Ru(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Iu(t,e,i),i},So=(o,t)=>(e,n)=>t(e,n,o);let jo=class extends l.Disposable{constructor(o,t,e,n){super(),this._context=o,this._markSelectionService=t,this._commandService=e,this._sheetSkeletonManagerService=n,this._initListeners()}_initListeners(){this._addRemoveListener(),this._addRefreshListener()}_addRemoveListener(){const o=[Te.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{o.includes(t.id)?this._markSelectionService.removeAllShapes():this._markSelectionService.getShapeMap().forEach((n,i)=>{n.exits.includes(t.id)&&this._markSelectionService.removeShape(i)})}))}_addRefreshListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(o=>{o&&this._markSelectionService.refreshShapes()}))}};jo=Mu([So(1,D.Inject(nn)),So(2,l.ICommandService),So(3,D.Inject(exports.SheetSkeletonManagerService))],jo);var bu=Object.defineProperty,Tu=Object.getOwnPropertyDescriptor,wu=(o,t,e,n)=>{for(var i=n>1?void 0:n?Tu(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&bu(t,e,i),i},St=(o,t)=>(e,n)=>t(e,n,o);let $o=class extends l.Disposable{constructor(o,t,e,n,i,r,s){super(),this._context=o,this._sheetSkeletonManagerService=t,this._commandService=e,this._selectionRenderService=n,this._selectionManagerService=i,this._themeService=r,this._definedNamesService=s,this._init()}dispose(){super.dispose(),this._selectionRenderService.changeRuntime(null,null),this._selectionRenderService.reset(),this._selectionManagerService.reset()}_init(){const o=this._context.unit,t=o.getActiveSheet(),e=this._getSheetObject();this._initViewMainListener(e),this._initRowHeader(e),this._initColumnHeader(e),this._initLeftTop(e),this._initSelectionChangeListener(),this._initThemeChangeListener(),this._initSkeletonChangeListener(),this._initCommandListener(),this._initUserActionSyncListener(),this._initDefinedNameListener();const n=o.getUnitId(),i=t.getSheetId();this._selectionManagerService.setCurrentSelection({pluginName:S.NORMAL_SELECTION_PLUGIN_NAME,unitId:n,sheetId:i})}_initDefinedNameListener(){this.disposeWithMe(this._definedNamesService.focusRange$.subscribe(async o=>{if(o==null)return;const{unitId:t}=o;let{formulaOrRefString:e}=o;const n=this._context.unit;if(t!==n.getUnitId()||(e.substring(0,1)===Z.operatorToken.EQUALS&&(e=e.substring(1)),!Z.isReferenceStrings(e)))return;const r=await this._getSelections(n,t,e);this._selectionManagerService.replace(r),this._commandService.executeCommand(S.ScrollToCellOperation.id,r[0].range)}))}async _getSelections(o,t,e){const n=e.split(",");let i=o.getActiveSheet();const r=[];for(let s=0;s<n.length;s++){const a=n[s].trim(),c=Z.deserializeRangeWithSheet(a.trim());if(s===0){const d=o.getSheetBySheetName(c.sheetName);d&&i.getSheetId()!==d.getSheetId()&&(i=d,await this._commandService.executeCommand(S.SetWorksheetActivateCommand.id,{subUnitId:i.getSheetId(),unitId:t}))}if(i.getName()!==c.sheetName)continue;let u=null;if(s===n.length-1){const d=c.range,{startRow:h,startColumn:m,endRow:g,endColumn:f}=d;u=S.getPrimaryForRange({startRow:h,startColumn:m,endRow:g,endColumn:f},i)}r.push({range:c.range,style:S.getNormalSelectionStyle(this._themeService),primary:u})}return r}_getActiveViewport(o){const t=this._getSheetObject();return t==null?void 0:t.scene.getActiveViewportByCoord(E.Vector2.FromArray([o.offsetX,o.offsetY]))}_initViewMainListener(o){const{spreadsheet:t}=o;this.disposeWithMe(l.toDisposable(t==null?void 0:t.onPointerDownObserver.add((e,n)=>{this._selectionRenderService.enableDetectMergedCell(),this._selectionRenderService.eventTrigger(e,t.zIndex+1,l.RANGE_TYPE.NORMAL,this._getActiveViewport(e)),e.button!==2&&n.stopPropagation()})))}_initThemeChangeListener(){this.disposeWithMe(l.toDisposable(this._themeService.currentTheme$.subscribe(()=>{this._selectionRenderService.resetStyle();const o=this._selectionManagerService.getSelections(),t=this._selectionManagerService.getCurrent();o==null||(t==null?void 0:t.pluginName)!==S.NORMAL_SELECTION_PLUGIN_NAME||this._refreshSelection(o)})))}_refreshSelection(o){const t=o.map(e=>{const n=this._selectionRenderService.convertSelectionToCoord(e);return n.style=S.getNormalSelectionStyle(this._themeService),n});this._selectionRenderService.updateControlForCurrentByRangeData(t)}_initRowHeader(o){const{spreadsheetRowHeader:t,spreadsheet:e}=o;this.disposeWithMe(t==null?void 0:t.onPointerDownObserver.add((n,i)=>{this._selectionRenderService.disableDetectMergedCell(),this._selectionRenderService.eventTrigger(n,((e==null?void 0:e.zIndex)||1)+1,l.RANGE_TYPE.ROW,this._getActiveViewport(n),E.ScrollTimerType.Y),n.button!==2&&i.stopPropagation()}))}_initColumnHeader(o){const{spreadsheetColumnHeader:t,spreadsheet:e}=o;this.disposeWithMe(t==null?void 0:t.onPointerDownObserver.add((n,i)=>{this._selectionRenderService.disableDetectMergedCell(),this._selectionRenderService.eventTrigger(n,((e==null?void 0:e.zIndex)||1)+1,l.RANGE_TYPE.COLUMN,this._getActiveViewport(n),E.ScrollTimerType.X),n.button!==2&&i.stopPropagation()}))}_initLeftTop(o){const{spreadsheetLeftTopPlaceholder:t}=o;this.disposeWithMe(t==null?void 0:t.onPointerDownObserver.add((e,n)=>{var a;const i=(a=this._sheetSkeletonManagerService.getCurrent())==null?void 0:a.skeleton;if(i==null)return;this._selectionRenderService.reset();const r=this._getAllRange(i),s=this._selectionRenderService.convertSelectionToCoord(r);this._selectionRenderService.addControlToCurrentByRangeData(s),this._selectionRenderService.refreshSelectionMoveStart(),e.button!==2&&n.stopPropagation()}))}_initSelectionChangeListener(){this.disposeWithMe(l.toDisposable(this._selectionManagerService.selectionMoveEnd$.subscribe(o=>{if(this._selectionRenderService.reset(),o!=null){for(const t of o){if(t==null)continue;const e=this._selectionRenderService.convertSelectionToCoord(t);this._selectionRenderService.addControlToCurrentByRangeData(e)}this._syncDefinedNameRange(o)}}))),this.disposeWithMe(l.toDisposable(this._selectionManagerService.selectionMoving$.subscribe(o=>{o!=null&&this._syncDefinedNameRange(o)}))),this.disposeWithMe(l.toDisposable(this._selectionManagerService.selectionMoveStart$.subscribe(o=>{o!=null&&this._syncDefinedNameRange(o)})))}_syncDefinedNameRange(o){if(o.length===0)return;const t=o[o.length-1],e=this._context.unit,n=e.getActiveSheet();this._definedNamesService.setCurrentRange({range:t.range,unitId:e.getUnitId(),sheetId:n.getSheetId()})}_initUserActionSyncListener(){this.disposeWithMe(this._selectionRenderService.selectionMoveStart$.subscribe(o=>{this._move(o,S.SelectionMoveType.MOVE_START)})),this.disposeWithMe(this._selectionRenderService.selectionMoving$.subscribe(o=>{this._move(o,S.SelectionMoveType.MOVING)})),this.disposeWithMe(this._selectionRenderService.selectionMoveEnd$.subscribe(o=>{this._move(o,S.SelectionMoveType.MOVE_END)}))}_move(o,t){const e=this._context.unit;if(!e)return;const n=e.getUnitId(),i=e.getActiveSheet().getSheetId(),r=this._selectionManagerService.getCurrent();o==null||o.length===0||this._commandService.executeCommand(S.SetSelectionsOperation.id,{unitId:n,subUnitId:i,type:t,pluginName:(r==null?void 0:r.pluginName)||S.NORMAL_SELECTION_PLUGIN_NAME,selections:o.map(s=>S.convertSelectionDataToRange(s))})}_getSheetObject(){return it(this._context.unit,this._context)}_initCommandListener(){const o=[Fe.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(o.includes(t.id)){const e=this._context.unit,n=e.getActiveSheet(),i=t.params,{unitId:r,subUnitId:s}=i;if(!(r===e.getUnitId()&&s===n.getSheetId()))return;this._selectionManagerService.refreshSelection()}}))}_initSkeletonChangeListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(o=>{if(o==null){this._selectionRenderService.changeRuntime(null,null);return}const{unitId:t,sheetId:e,skeleton:n}=o,{scene:i}=this._context,r=i.getViewport(W.VIEW_MAIN);this._selectionRenderService.changeRuntime(n,i,r);const s=this._selectionManagerService.getCurrent(),a=(s==null?void 0:s.pluginName)||S.NORMAL_SELECTION_PLUGIN_NAME;if((s==null?void 0:s.unitId)===t&&s.sheetId===e){const c=this._selectionManagerService.getSelections();c!=null&&this._refreshSelection(c)}else this._selectionManagerService.setCurrentSelection({pluginName:a,unitId:t,sheetId:e});a===S.NORMAL_SELECTION_PLUGIN_NAME&&this._selectionManagerService.getLast()==null&&this._selectionManagerService.add([this._getZeroRange(n)])}))}_getAllRange(o){return{range:{startRow:0,startColumn:0,endRow:o.getRowCount()-1,endColumn:o.getColumnCount()-1,rangeType:l.RANGE_TYPE.ALL},primary:this._getZeroRange(o).primary,style:null}}_getZeroRange(o){const t=o.mergeData;return S.transformCellDataToSelectionData(0,0,t)||{range:{startRow:0,startColumn:0,endRow:0,endColumn:0},primary:{actualRow:0,actualColumn:0,startRow:0,startColumn:0,endRow:0,endColumn:0,isMerged:!1,isMergedMainCell:!1},style:null}}};$o=wu([St(1,D.Inject(exports.SheetSkeletonManagerService)),St(2,l.ICommandService),St(3,Ne),St(4,D.Inject(S.SelectionManagerService)),St(5,D.Inject(l.ThemeService)),St(6,Z.IDefinedNamesService)],$o);const Ke={type:l.CommandType.COMMAND,id:"sheet.command.add-worksheet-merge",handler:async(o,t)=>{const e=o.get(l.ICommandService),n=o.get(l.IUndoRedoService),i=o.get(l.IUniverInstanceService),r=o.get(I.IConfirmService),s=o.get(l.LocaleService),a=t.unitId,c=t.subUnitId,u=t.selections,d=S.getAddMergeMutationRangeByType(u,t.value),h=i.getUniverSheetInstance(a).getSheetBySheetId(c),m=[],g=[],f=Lr(h,d);if(f&&!await r.confirm({id:"merge.confirm.add-worksheet-merge",title:{title:"merge.confirm.title"},cancelText:s.t("merge.confirm.cancel"),confirmText:s.t("merge.confirm.confirm")}))return!1;const _={unitId:a,subUnitId:c,ranges:d},p={unitId:a,subUnitId:c,ranges:d},v=S.RemoveMergeUndoMutationFactory(o,_),M=S.AddMergeUndoMutationFactory(o,p);if(v.ranges.length>0&&m.push({id:S.RemoveWorksheetMergeMutation.id,params:v}),m.push({id:S.AddWorksheetMergeMutation.id,params:p}),g.push({id:S.RemoveWorksheetMergeMutation.id,params:M}),v.ranges.length>0&&g.push({id:S.AddWorksheetMergeMutation.id,params:v}),f){const y=Ur(o,a,h,d);m.unshift(...y.redos),g.push(...y.undos)}const b=S.AddMergeRedoSelectionsOperationFactory(o,t,d);b&&m.push(b);const T=S.AddMergeUndoSelectionsOperationFactory(o,t);return T&&g.push(T),l.sequenceExecute(m,e).result?(n.pushUndoRedo({unitID:a,undoMutations:g,redoMutations:m}),!0):!1}},ns={type:l.CommandType.COMMAND,id:"sheet.command.add-worksheet-merge-all",handler:async o=>{const t=o.get(l.ICommandService),n=o.get(S.SelectionManagerService).getSelectionRanges(),i=ei(Zn.MergeAll,n);if(!(i!=null&&i.length))return!1;const s=o.get(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!s)return!1;const a=s.getActiveSheet();if(!a)return!1;const c=s.getUnitId(),u=a.getSheetId();return t.executeCommand(Ke.id,{selections:i,unitId:c,subUnitId:u})}},os={type:l.CommandType.COMMAND,id:"sheet.command.add-worksheet-merge-vertical",handler:async o=>{const t=o.get(l.ICommandService),n=o.get(S.SelectionManagerService).getSelectionRanges(),i=ei(Zn.MergeVertical,n);if(!(i!=null&&i.length))return!1;const s=o.get(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!s)return!1;const a=s.getActiveSheet();if(!a)return!1;const c=s.getUnitId(),u=a.getSheetId();return t.executeCommand(Ke.id,{value:l.Dimension.COLUMNS,selections:i,unitId:c,subUnitId:u})}},is={type:l.CommandType.COMMAND,id:"sheet.command.add-worksheet-merge-horizontal",handler:async o=>{const t=o.get(l.ICommandService),n=o.get(S.SelectionManagerService).getSelectionRanges(),i=ei(Zn.MergeHorizontal,n);if(!(i!=null&&i.length))return!1;const s=o.get(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!s)return!1;const a=s.getActiveSheet();if(!a)return!1;const c=s.getUnitId(),u=a.getSheetId();return t.executeCommand(Ke.id,{value:l.Dimension.ROWS,selections:i,unitId:c,subUnitId:u})}},di={type:l.CommandType.COMMAND,id:"sheet.command.delete-range-move-left-confirm",handler:async o=>{const t=o.get(I.IConfirmService),e=o.get(l.ICommandService),n=o.get(l.LocaleService),i=o.get(S.SelectionManagerService),r=o.get(l.IUniverInstanceService),s=i.getSelections();if(!s)return!1;const a=S.getSheetCommandTarget(r);if(!a)return!1;const{worksheet:c}=a;let u=s[0].range;if(!u)return!1;u={...u,endColumn:c.getColumnCount()-1};const d=g=>g.endRow-g.startRow;return!c.getMergeData().find(g=>{const f=l.Rectangle.getIntersects(g,u);return f?d(g)>d(f):!1})||await t.confirm({id:di.id,title:{title:n.t("merge.confirm.waring")},children:{title:n.t("merge.confirm.dismantleMergeCellWaring")},cancelText:n.t("button.cancel"),confirmText:n.t("button.confirm")})?e.executeCommand(S.DeleteRangeMoveLeftCommand.id):!0}},jn={type:l.CommandType.COMMAND,id:"sheet.command.delete-range-move-up-confirm",handler:async o=>{const t=o.get(I.IConfirmService),e=o.get(l.ICommandService),n=o.get(l.LocaleService),i=o.get(S.SelectionManagerService),r=o.get(l.IUniverInstanceService),s=i.getSelections();if(!s)return!1;const a=S.getSheetCommandTarget(r);if(!a)return!1;const{worksheet:c}=a;let u=s[0].range;if(!u)return!1;u={...u,endRow:c.getRowCount()-1};for(let g=u.startRow;g<=u.endRow;g++)if(c.getRowFiltered(g)&&await t.confirm({id:jn.id,title:{title:n.t("filter.confirm.error")},children:{title:n.t("filter.confirm.notAllowedToInsertRange")},confirmText:n.t("button.confirm")}))return!1;const d=g=>g.endColumn-g.startColumn;return!c.getMergeData().find(g=>{const f=l.Rectangle.getIntersects(g,u);return f?d(g)>d(f):!1})||await t.confirm({id:jn.id,title:{title:n.t("merge.confirm.waring")},children:{title:n.t("merge.confirm.dismantleMergeCellWaring")},cancelText:n.t("button.cancel"),confirmText:n.t("button.confirm")})?e.executeCommand(S.DeleteRangeMoveUpCommand.id):!0}},$n={type:l.CommandType.COMMAND,id:"sheet.command.insert-range-move-down-confirm",handler:async o=>{const t=o.get(I.IConfirmService),e=o.get(l.ICommandService),n=o.get(l.LocaleService),i=o.get(S.SelectionManagerService),r=o.get(l.IUniverInstanceService),s=i.getSelections();if(!s)return!1;const a=S.getSheetCommandTarget(r);if(!a)return!1;const{worksheet:c}=a;let u=s[0].range;if(!u)return!1;u={...u,endRow:c.getRowCount()-1};for(let g=u.startRow;g<=u.endRow;g++)if(c.getRowFiltered(g)&&await t.confirm({id:$n.id,title:{title:n.t("filter.confirm.error")},children:{title:n.t("filter.confirm.notAllowedToInsertRange")},confirmText:n.t("button.confirm")}))return!1;const d=g=>g.endColumn-g.startColumn;return!c.getMergeData().find(g=>{const f=l.Rectangle.getIntersects(g,u);return f?d(g)>d(f):!1})||await t.confirm({id:$n.id,title:{title:n.t("merge.confirm.waring")},children:{title:n.t("merge.confirm.dismantleMergeCellWaring")},cancelText:n.t("button.cancel"),confirmText:n.t("button.confirm")})?e.executeCommand(S.InsertRangeMoveDownCommand.id):!0}},ui={type:l.CommandType.COMMAND,id:"sheet.command.insert-range-move-right-confirm",handler:async o=>{const t=o.get(I.IConfirmService),e=o.get(l.ICommandService),n=o.get(l.LocaleService),i=o.get(S.SelectionManagerService),r=o.get(l.IUniverInstanceService),s=i.getSelections();if(!s)return!1;const a=S.getSheetCommandTarget(r);if(!a)return!1;const{worksheet:c}=a;let u=s[0].range;if(!u)return!1;u={...u,endColumn:c.getColumnCount()-1};const d=g=>g.endRow-g.startRow;return!c.getMergeData().find(g=>{const f=l.Rectangle.getIntersects(g,u);return f?d(g)>d(f):!1})||await t.confirm({id:ui.id,title:{title:n.t("merge.confirm.waring")},children:{title:n.t("merge.confirm.dismantleMergeCellWaring")},cancelText:n.t("button.cancel"),confirmText:n.t("button.confirm")})?e.executeCommand(S.InsertRangeMoveRightCommand.id):!0}},rs={id:"sheet.command.refill",type:l.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(yt);return e.applyType=t.type,!0}},ss={id:"sheet.command.remove-row-confirm",type:l.CommandType.COMMAND,handler:async(o,t)=>{var u;const e=o.get(S.SelectionManagerService);let n=t==null?void 0:t.range;if(n||(n=(u=e.getLast())==null?void 0:u.range),!n)return!1;const i=o.get(l.ICommandService),r=o.get(l.IUniverInstanceService),s=S.getSheetCommandTarget(r);if(!s)return!1;const{worksheet:a}=s,c=a.getVisibleRows();if(yr(c,[n])){const d=o.get(I.IConfirmService),h=o.get(l.LocaleService);return await d.confirm({id:"sheet.confirm.remove-row",title:{title:h.t("info.problem")},children:{title:h.t("rightClick.deleteAllRowsAlert")},cancelText:h.t("button.cancel"),confirmText:h.t("button.confirm")}),!1}return await i.executeCommand(S.RemoveRowCommand.id,{range:n}),!0}},as={id:"sheet.command.remove-col-confirm",type:l.CommandType.COMMAND,handler:async(o,t)=>{var u;const e=o.get(S.SelectionManagerService);let n=t==null?void 0:t.range;if(n||(n=(u=e.getLast())==null?void 0:u.range),!n)return!1;const i=o.get(l.ICommandService),r=o.get(l.IUniverInstanceService),s=S.getSheetCommandTarget(r);if(!s)return!1;const{worksheet:a}=s,c=a.getVisibleCols();if(Or(c,[n])){const d=o.get(I.IConfirmService),h=o.get(l.LocaleService);return await d.confirm({id:"sheet.confirm.remove-col",title:{title:h.t("info.problem")},children:{title:h.t("rightClick.deleteAllColumnsAlert")},cancelText:h.t("button.cancel"),confirmText:h.t("button.confirm")}),!1}return await i.executeCommand(S.RemoveColCommand.id,{range:n}),!0}},ls={id:"sheet.command.remove-sheet-confirm",type:l.CommandType.COMMAND,handler:async(o,t)=>{const{subUnitId:e}=t,n=o.get(I.IConfirmService),i=o.get(l.ICommandService),r=o.get(l.LocaleService);return await n.confirm({id:"sheet.confirm.remove-sheet",title:{title:r.t("sheetConfig.deleteSheet")},children:{title:r.t("sheetConfig.deleteSheetContent")},cancelText:r.t("button.cancel"),confirmText:r.t("button.confirm")})?(await i.executeCommand(S.RemoveSheetCommand.id,{subUnitId:e}),!0):!1}},Pt=D.createIdentifier("univer.sheetbar-service");class Eu extends l.Disposable{constructor(){super();R(this,"renameId$");R(this,"removeId$");R(this,"scroll$");R(this,"scrollX$");R(this,"addSheet$");R(this,"_renameId$");R(this,"_removeId$");R(this,"_scroll$");R(this,"_scrollX$");R(this,"_addSheet$");R(this,"_currentHandler",null);this._renameId$=new U.Subject,this.renameId$=this._renameId$.asObservable(),this._removeId$=new U.Subject,this.removeId$=this._removeId$.asObservable(),this._scroll$=new U.Subject,this.scroll$=this._scroll$.asObservable(),this._scrollX$=new U.Subject,this.scrollX$=this._scrollX$.asObservable(),this._addSheet$=new U.Subject,this.addSheet$=this._addSheet$.asObservable()}setRenameId(e){this._renameId$.next(e)}setRemoveId(e){this._removeId$.next(e)}setScroll(e){this._scroll$.next(e)}setScrollX(e){this._scrollX$.next(e)}setAddSheet(e){this._addSheet$.next(e)}triggerSheetBarMenu(){var e;(e=this._currentHandler)==null||e.handleSheetBarMenu()}registerSheetBarMenuHandler(e){if(this._currentHandler)throw new Error("There is already a context menu handler!");return this._currentHandler=e,l.toDisposable(()=>{this._currentHandler=null})}}const cs={id:"ui-sheet.command.show-menu-list",type:l.CommandType.OPERATION,handler:async o=>(o.get(Pt).triggerSheetBarMenu(),!0)},ds={id:"sheet.operation.set-activate-cell-edit",type:l.CommandType.OPERATION,handler:(o,t)=>(o.get(Ee).setEditCell(t),!0)},us={id:"sheet.operation.rename-sheet",type:l.CommandType.OPERATION,handler:async(o,t)=>{const e=o.get(Pt);return t&&e.setRenameId(t.subUnitId),!0}};var Me=function(){return Me=Object.assign||function(o){for(var t,e=1,n=arguments.length;e<n;e++){t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(o[i]=t[i])}return o},Me.apply(this,arguments)},yu=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(o,n[i])&&(e[n[i]]=o[n[i]]);return e},Se=V.forwardRef(function(o,t){var e=o.icon,n=o.id,i=o.className,r=o.extend,s=yu(o,["icon","id","className","extend"]),a="univerjs-icon univerjs-icon-".concat(n," ").concat(i||"").trim(),c=V.useRef("_".concat(Nu()));return hs(e,"".concat(n),{defIds:e.defIds,idSuffix:c.current},Me({ref:t,className:a},s),r)});function hs(o,t,e,n,i){return V.createElement(o.tag,Me(Me({key:t},Ou(o,e,i)),n),(xu(o,e).children||[]).map(function(r,s){return hs(r,"".concat(t,"-").concat(o.tag,"-").concat(s),e,void 0,i)}))}function Ou(o,t,e){var n=Me({},o.attrs);e!=null&&e.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=e.colorChannel1);var i=t.defIds;return!i||i.length===0||(o.tag==="use"&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+t.idSuffix),Object.entries(n).forEach(function(r){var s=r[0],a=r[1];typeof a=="string"&&(n[s]=a.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))})),n}function xu(o,t){var e,n=t.defIds;return!n||n.length===0?o:o.tag==="defs"&&(!((e=o.children)===null||e===void 0)&&e.length)?Me(Me({},o),{children:o.children.map(function(i){return typeof i.attrs.id=="string"&&n&&n.indexOf(i.attrs.id)>-1?Me(Me({},i),{attrs:Me(Me({},i.attrs),{id:i.attrs.id+t.idSuffix})}):i})}):o}function Nu(){return Math.random().toString(36).substring(2,8)}Se.displayName="UniverIcon";var Au={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M11.0363 12.2367V14.0367C11.0363 14.3681 11.3049 14.6367 11.6363 14.6367C11.9676 14.6367 12.2363 14.3681 12.2363 14.0367V12.2367H14.0364C14.3677 12.2367 14.6364 11.9681 14.6364 11.6367C14.6364 11.3054 14.3677 11.0367 14.0364 11.0367H12.2363V9.23672C12.2363 8.90535 11.9676 8.63672 11.6363 8.63672C11.3049 8.63672 11.0363 8.90535 11.0363 9.23672V11.0367H9.23635C8.90498 11.0367 8.63635 11.3054 8.63635 11.6367C8.63635 11.9681 8.90498 12.2367 9.23635 12.2367H11.0363Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.56365 1.36377C1.90091 1.36377 1.36365 1.90103 1.36365 2.56377V6.16377C1.36365 6.82651 1.90091 7.36377 2.56365 7.36377H6.16365C6.82639 7.36377 7.36365 6.82651 7.36365 6.16377V2.56377C7.36365 1.90103 6.82639 1.36377 6.16365 1.36377H2.56365zM6.16365 2.56377H2.56365L2.56365 6.16377H6.16365V2.56377zM2.56365 8.63647C1.90091 8.63647 1.36365 9.17373 1.36365 9.83647V13.4365C1.36365 14.0992 1.90091 14.6365 2.56365 14.6365H6.16365C6.82639 14.6365 7.36365 14.0992 7.36365 13.4365V9.83647C7.36365 9.17373 6.82639 8.63647 6.16365 8.63647H2.56365zM6.16365 9.83647H2.56365L2.56365 13.4365H6.16365V9.83647zM9.83635 7.36377C9.17361 7.36377 8.63635 6.82651 8.63635 6.16377V2.56377C8.63635 1.90103 9.17361 1.36377 9.83635 1.36377H13.4364C14.0991 1.36377 14.6364 1.90103 14.6364 2.56377V6.16377C14.6364 6.82651 14.0991 7.36377 13.4364 7.36377H9.83635zM9.83635 6.16377V2.56377L13.4364 2.56377V6.16377H9.83635z",fillRule:"evenodd",clipRule:"evenodd"}}]},ms=V.forwardRef(function(o,t){return V.createElement(Se,Object.assign({},o,{id:"autofill",ref:t,icon:Au}))});ms.displayName="Autofill";const Du=ms;var Pu={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z",fillRule:"evenodd",clipRule:"evenodd"}}]},gs=V.forwardRef(function(o,t){return V.createElement(Se,Object.assign({},o,{id:"check-mark-single",ref:t,icon:Pu}))});gs.displayName="CheckMarkSingle";const Jt=gs;var Hu={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.71274 2.86421C3.47843 2.6299 3.09853 2.6299 2.86421 2.86421C2.6299 3.09853 2.6299 3.47843 2.86421 3.71274L7.15154 8.00007L2.86421 12.2874C2.6299 12.5217 2.6299 12.9016 2.86421 13.1359C3.09853 13.3702 3.47843 13.3702 3.71274 13.1359L8.00007 8.84859L12.2874 13.1359C12.5217 13.3702 12.9016 13.3702 13.1359 13.1359C13.3702 12.9016 13.3702 12.5217 13.1359 12.2874L8.84859 8.00007L13.1359 3.71274C13.3702 3.47843 13.3702 3.09853 13.1359 2.86421C12.9016 2.6299 12.5217 2.6299 12.2874 2.86421L8.00007 7.15154L3.71274 2.86421Z"}}]},fs=V.forwardRef(function(o,t){return V.createElement(Se,Object.assign({},o,{id:"close-single",ref:t,icon:Hu}))});fs.displayName="CloseSingle";const Lu=fs;var Uu={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"g",attrs:{fill:"currentColor",clipPath:"url(#convert-single_clip0_911_593)"},children:[{tag:"path",attrs:{d:"M2.44766.848145C1.564.848145.847656 1.56449.847656 2.44814V6.44814C.847656 7.3318 1.564 8.04814 2.44766 8.04814H6.44766C7.33131 8.04814 8.04766 7.3318 8.04766 6.44814V2.44814C8.04766 1.56449 7.33131.848145 6.44766.848145H2.44766zM2.04766 6.44814V5.04824H3.84775V6.84814H2.44766C2.22674 6.84814 2.04766 6.66906 2.04766 6.44814zM2.04766 3.84824H3.84775V2.04814H2.44766C2.22674 2.04814 2.04766 2.22723 2.04766 2.44814V3.84824zM5.04775 6.84814V5.04824H6.84766V6.44814C6.84766 6.66906 6.66857 6.84814 6.44766 6.84814H5.04775zM5.04775 3.84824H6.84766V2.44814C6.84766 2.22723 6.66857 2.04814 6.44766 2.04814H5.04775V3.84824zM9.55215 7.95166C8.66849 7.95166 7.95215 8.668 7.95215 9.55166V13.5517C7.95215 14.4353 8.66849 15.1517 9.55215 15.1517L11.5522 15.1517 13.5521 15.1517C14.4358 15.1517 15.1521 14.4353 15.1521 13.5517L15.1521 11.5518 15.1521 9.55166C15.1521 8.668 14.4358 7.95166 13.5521 7.95166H9.55215zM13.9521 10.9518V9.55166C13.9521 9.33075 13.7731 9.15166 13.5521 9.15166H12.1522V10.9518H13.9521zM10.9522 10.9518V9.15166H9.55215C9.33123 9.15166 9.15215 9.33075 9.15215 9.55166V10.9518H10.9522zM9.15215 12.1518H10.9522V13.9517H9.55215C9.33123 13.9517 9.15215 13.7726 9.15215 13.5517V12.1518zM12.1522 12.1518H13.9521V13.5517C13.9521 13.7726 13.7731 13.9517 13.5521 13.9517H12.1522V12.1518z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{d:"M9.62158 2.44912C9.62158 2.11775 9.89021 1.84912 10.2216 1.84912H12.7516C13.6352 1.84912 14.3516 2.56547 14.3516 3.44912V5.9791C14.3516 6.31047 14.0829 6.5791 13.7516 6.5791 13.4202 6.5791 13.1516 6.31047 13.1516 5.9791V3.44912C13.1516 3.22821 12.9725 3.04912 12.7516 3.04912H10.2216C9.89021 3.04912 9.62158 2.78049 9.62158 2.44912zM5.77871 14.1507C6.11008 14.1507 6.37871 13.8821 6.37871 13.5507 6.37871 13.2193 6.11008 12.9507 5.77871 12.9507L3.24873 12.9507C3.02782 12.9507 2.84873 12.7716 2.84873 12.5507L2.84873 10.0207C2.84873 9.68933 2.5801 9.4207 2.24873 9.4207 1.91736 9.4207 1.64873 9.68933 1.64873 10.0207L1.64873 12.5507C1.64873 13.4343 2.36507 14.1507 3.24873 14.1507H5.77871z"}}]},{tag:"defs",attrs:{},children:[{tag:"clipPath",attrs:{id:"convert-single_clip0_911_593"},children:[{tag:"path",attrs:{fill:"#fff",d:"M0 0H16V16H0z"}}]}]}],defIds:["convert-single_clip0_911_593"]},_s=V.forwardRef(function(o,t){return V.createElement(Se,Object.assign({},o,{id:"convert-single",ref:t,icon:Uu}))});_s.displayName="ConvertSingle";const Vu=_s;var Bu={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M6.78662 6.17993C7.12169 6.17993 7.39331 6.45156 7.39331 6.78662V10.7301C7.39331 11.0652 7.12169 11.3368 6.78662 11.3368 6.45156 11.3368 6.17993 11.0652 6.17993 10.7301V6.78662C6.17993 6.45156 6.45156 6.17993 6.78662 6.17993zM9.82007 6.78662C9.82007 6.45156 9.54844 6.17993 9.21338 6.17993 8.87831 6.17993 8.60669 6.45156 8.60669 6.78662V10.7301C8.60669 11.0652 8.87831 11.3368 9.21338 11.3368 9.54844 11.3368 9.82007 11.0652 9.82007 10.7301V6.78662z"}},{tag:"path",attrs:{fill:"currentColor",d:"M6.57094 1.32642C6.34938 1.32642 6.14544 1.44719 6.03894 1.64148L5.21395 3.14648H1.93311C1.59804 3.14648 1.32642 3.41811 1.32642 3.75317C1.32642 4.08824 1.59804 4.35986 1.93311 4.35986H2.84314V14.0669C2.84314 14.402 3.11476 14.6736 3.44983 14.6736H12.5502C12.8852 14.6736 13.1569 14.402 13.1569 14.0669V4.35986H14.0669C14.402 4.35986 14.6736 4.08824 14.6736 3.75317C14.6736 3.41811 14.402 3.14648 14.0669 3.14648H10.7895L9.98357 1.64602C9.87785 1.4492 9.67252 1.32642 9.44911 1.32642H6.57094ZM9.4122 3.14648L9.08632 2.53979H6.93024L6.59767 3.14648H9.4122ZM4.05652 4.35986V13.4602H11.9435V4.35986H4.05652Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Ss=V.forwardRef(function(o,t){return V.createElement(Se,Object.assign({},o,{id:"delete-single",ref:t,icon:Bu}))});Ss.displayName="DeleteSingle";const Fu=Ss;var ku={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"mask",attrs:{id:"mask0_371_77",style:{maskType:"alpha"},width:16,height:16,x:0,y:0,maskUnits:"userSpaceOnUse"},children:[{tag:"path",attrs:{fill:"#DCDCDC",d:"M0 0H16V16H0z"}}]},{tag:"g",attrs:{mask:"url(#mask0_371_77)"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.85869 12.9216C8.38445 13.4708 7.61555 13.4708 7.14131 12.9216L0.358114 5.06726C-0.406895 4.18144 0.134916 2.66683 1.2168 2.66683L14.7832 2.66683C15.8651 2.66683 16.4069 4.18144 15.6419 5.06726L8.85869 12.9216Z"}}]}]},ps=V.forwardRef(function(o,t){return V.createElement(Se,Object.assign({},o,{id:"dropdown-single",ref:t,icon:ku}))});ps.displayName="DropdownSingle";const nr=ps;var Wu={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8ZM10.3097 5.69014C10.544 5.92445 10.544 6.30435 10.3097 6.53867L8.84843 7.9999L10.3099 9.46137C10.5442 9.69569 10.5442 10.0756 10.3099 10.3099C10.0756 10.5442 9.69569 10.5442 9.46137 10.3099L7.9999 8.84843L6.53842 10.3099C6.30411 10.5442 5.92421 10.5442 5.6899 10.3099C5.45558 10.0756 5.45558 9.69569 5.6899 9.46137L7.15137 7.9999L5.69014 6.53867C5.45583 6.30435 5.45583 5.92445 5.69014 5.69014C5.92445 5.45583 6.30435 5.45583 6.53867 5.69014L7.9999 7.15137L9.46113 5.69014C9.69544 5.45583 10.0753 5.45583 10.3097 5.69014Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Cs=V.forwardRef(function(o,t){return V.createElement(Se,Object.assign({},o,{id:"error-single",ref:t,icon:Wu}))});Cs.displayName="ErrorSingle";const vs=Cs;var ju={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.28096 4.6541C1.57489 4.50109 1.93721 4.61533 2.09022 4.90926C2.27315 5.26067 2.55999 5.60455 2.94829 5.92278C4.04628 6.82266 5.87505 7.44865 7.99828 7.44865C10.1215 7.44865 11.9503 6.82267 13.0482 5.92279C13.4366 5.60455 13.7234 5.26067 13.9063 4.90927C14.0594 4.61533 14.4217 4.50109 14.7156 4.65409C15.0095 4.8071 15.1238 5.16941 14.9708 5.46334C14.6995 5.98445 14.2981 6.44997 13.8089 6.8509C13.7298 6.91575 13.6481 6.97914 13.564 7.041L15.2245 8.70153C15.4588 8.93585 15.4588 9.31575 15.2245 9.55006C14.9902 9.78438 14.6103 9.78438 14.376 9.55006L12.5041 7.67822C11.8977 7.97568 11.2181 8.21208 10.4884 8.37706L11.0996 10.6581C11.1853 10.9782 10.9954 11.3072 10.6753 11.393C10.3552 11.4787 10.0262 11.2888 9.94045 10.9687L9.29949 8.57652C8.8758 8.62404 8.44081 8.64865 7.99828 8.64865C7.55276 8.64865 7.11487 8.62371 6.68846 8.57555L6.04723 10.9687C5.96147 11.2888 5.63247 11.4788 5.31239 11.393C4.99231 11.3073 4.80236 10.9783 4.88812 10.6582L5.49983 8.37516C4.7743 8.2105 4.09843 7.9752 3.49498 7.67947L1.62436 9.55009C1.39005 9.78441 1.01015 9.78441 0.775835 9.5501C0.54152 9.31578 0.541518 8.93588 0.775832 8.70157L2.43478 7.04261C2.34987 6.98024 2.26746 6.91632 2.18764 6.8509C1.69842 6.44997 1.29706 5.98445 1.0258 5.46335C0.872791 5.16942 0.987031 4.80711 1.28096 4.6541Z"}}]},Is=V.forwardRef(function(o,t){return V.createElement(Se,Object.assign({},o,{id:"eyelash-single",ref:t,icon:ju}))});Is.displayName="EyelashSingle";const $u=Is;var zu={tag:"svg",attrs:{fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M6.06409 5.53454C5.93592 5.53454 5.84083 5.41567 5.86897 5.29063L5.95442 4.9109C6.05444 4.48178 6.23806 4.11547 6.51182 3.81952 6.81082 3.49628 7.25398 3.35405 7.79738 3.35405 7.99847 3.35405 8.21359 3.37775 8.44188 3.42245 8.46089 3.42617 8.47974 3.43006 8.49846 3.4341 8.7099 3.4798 8.93698 3.38478 9.02031 3.18514L9.24767 2.6404C9.33457 2.43219 9.23178 2.19404 9.01582 2.12874 8.98358 2.11899 8.95028 2.10912 8.91591 2.09914 8.62745 2.01631 8.28392 1.97217 7.88074 1.97217 6.82015 1.97217 6.02714 2.23936 5.4746 2.7444 4.90987 3.26069 4.50889 3.99917 4.28413 4.9762L2.83703 11.1909C2.76126 11.5286 2.666 11.8917 2.54844 12.2812 2.42975 12.6734 2.2873 13.0595 2.12221 13.4373 1.95577 13.8159 1.76813 14.1762 1.55955 14.5171 1.49345 14.6251 1.42515 14.7282 1.35467 14.8263 1.26508 14.9509 1.3347 15.133 1.48655 15.1554 2.13635 15.2509 2.8179 15.0763 3.18197 14.5296 3.32661 14.3124 3.46779 14.0646 3.60509 13.7851 3.96635 13.0497 4.30522 12.0103 4.61867 10.6574L5.469 7.01534C5.49013 6.92483 5.57082 6.86081 5.66376 6.86081H7.62478C7.8097 6.86081 7.97051 6.73405 8.01371 6.55425L8.14014 6.02798C8.20057 5.77642 8.00992 5.53454 7.75121 5.53454H6.06409zM14.3211 5.72037L12.5124 7.96963 11.4089 5.77754C11.3422 5.63012 11.1954 5.5354 11.0336 5.5354H10.3129C10.0085 5.5354 9.80921 5.85428 9.9427 6.1279L11.4089 9.05502 8.79783 12.1493C8.56587 12.4158 8.75519 12.8315 9.10855 12.8315H9.68607C9.80672 12.8315 9.9605 12.7822 10.0388 12.6904L12.1108 10.2648 13.1176 12.561C13.1786 12.7231 13.333 12.8315 13.5061 12.8315H14.3C14.5831 12.8315 14.7417 12.6175 14.6426 12.3524L13.1728 9.28628C13.1728 9.28628 15.4009 6.45542 15.6013 6.17892 15.7966 5.90929 15.6023 5.5354 15.2693 5.5354H14.6661C14.5275 5.5354 14.4333 5.58887 14.3211 5.72037z"}}]},Rs=V.forwardRef(function(o,t){return V.createElement(Se,Object.assign({},o,{id:"fx-single",ref:t,icon:zu}))});Rs.displayName="FxSingle";const Yu=Rs;var Xu={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.6 1.99991C8.60001 1.66854 8.33138 1.39991 8.00001 1.3999C7.66864 1.3999 7.40001 1.66853 7.4 1.9999L7.39996 7.3999H1.9999C1.66853 7.3999 1.3999 7.66853 1.3999 7.9999C1.3999 8.33127 1.66853 8.5999 1.9999 8.5999H7.39995L7.3999 13.9999C7.3999 14.3313 7.66853 14.5999 7.9999 14.5999C8.33127 14.5999 8.5999 14.3313 8.5999 13.9999L8.59995 8.5999H13.9999C14.3313 8.5999 14.5999 8.33127 14.5999 7.9999C14.5999 7.66853 14.3313 7.3999 13.9999 7.3999H8.59996L8.6 1.99991Z"}}]},Ms=V.forwardRef(function(o,t){return V.createElement(Se,Object.assign({},o,{id:"increase-single",ref:t,icon:Xu}))});Ms.displayName="IncreaseSingle";const bs=Ms;var Gu={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M11.3536 6.14645C11.5488 6.34171 11.5488 6.65829 11.3536 6.85355L8.35355 9.85355C8.15829 10.0488 7.84171 10.0488 7.64645 9.85355L4.64645 6.85355C4.45118 6.65829 4.45118 6.34171 4.64645 6.14645C4.84171 5.95118 5.15829 5.95118 5.35355 6.14645L8 8.79289L10.6464 6.14645C10.8417 5.95118 11.1583 5.95118 11.3536 6.14645Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Ts=V.forwardRef(function(o,t){return V.createElement(Se,Object.assign({},o,{id:"more-down-single",ref:t,icon:Gu}))});Ts.displayName="MoreDownSingle";const zn=Ts;var Zu={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.90913 3.57564C6.14345 3.34132 6.52335 3.34132 6.75766 3.57564L10.7577 7.57564C10.992 7.80995 10.992 8.18985 10.7577 8.42417L6.75766 12.4242C6.52335 12.6585 6.14345 12.6585 5.90913 12.4242C5.67482 12.1899 5.67482 11.81 5.90913 11.5756L9.48487 7.9999L5.90913 4.42417C5.67482 4.18985 5.67482 3.80995 5.90913 3.57564Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ws=V.forwardRef(function(o,t){return V.createElement(Se,Object.assign({},o,{id:"more-single",ref:t,icon:Zu}))});ws.displayName="MoreSingle";const or=ws;var Ku={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"mask",attrs:{id:"mask0_102_1204",style:{maskType:"alpha"},width:16,height:16,x:0,y:0,maskUnits:"userSpaceOnUse"},children:[{tag:"path",attrs:{fill:"#DCDCDC",d:"M0 0H16V16H0z"}}]},{tag:"g",attrs:{mask:"url(#mask0_102_1204)"},children:[{tag:"rect",attrs:{width:12.62,height:2.79,x:1.69,y:12.25,fill:"colorChannel1",rx:1.4}},{tag:"path",attrs:{fill:"currentColor",d:"M7.74646 2.1642C7.34284 1.65121 6.85947 1.28205 6.38447 1.09593C5.86863 0.893787 5.15166 0.852126 4.70047 1.42917C4.29842 1.94344 4.33082 2.70249 4.57691 3.50395C4.68808 3.8661 4.86846 4.22254 5.12522 4.56617C5.13695 4.58185 5.14927 4.5968 5.16211 4.61102C5.17152 4.6214 5.18122 4.63139 5.19115 4.64096C5.20459 4.65393 5.21855 4.66618 5.23296 4.6777L3.5064 6.40422C3.26756 6.64306 3.26756 7.03033 3.5064 7.26919L7.23756 11.0004C7.47648 11.2392 7.86375 11.2392 8.1026 11.0004L12.8329 6.27001C13.0717 6.03117 13.0717 5.6439 12.8329 5.40505L9.10172 1.67387C8.86288 1.43503 8.47561 1.43503 8.23676 1.67387L7.74646 2.1642ZM7.46162 4.50638C7.47252 4.57574 7.48163 4.64652 7.4888 4.71868C7.52232 5.05481 7.82194 5.30013 8.15807 5.26661C8.4942 5.23311 8.73954 4.93345 8.70601 4.59732C8.65786 4.11463 8.54251 3.6666 8.37892 3.26169L8.66928 2.97135L11.5354 5.83753L10.6106 6.76237H4.87824L7.40802 4.2326C7.42885 4.32128 7.44684 4.41255 7.46162 4.50638ZM6.87284 3.03784C6.57441 2.62008 6.22261 2.34634 5.93815 2.23487C5.80233 2.18165 5.71528 2.17827 5.67638 2.18335C5.6725 2.18387 5.66929 2.18443 5.6666 2.18497L5.6619 2.18607C5.64166 2.21954 5.53594 2.45979 5.74626 3.1449C5.81241 3.36036 5.92262 3.58602 6.09307 3.81761L6.87284 3.03784Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M12.1932 11.5463C12.6454 11.5463 13.012 11.1797 13.012 10.7275C13.012 10.4475 12.6981 9.92821 12.459 9.5733C12.3299 9.38173 12.0564 9.38174 11.9274 9.57331C11.6883 9.92822 11.3744 10.4475 11.3744 10.7275C11.3744 11.1797 11.741 11.5463 12.1932 11.5463Z"}}]}]},Es=V.forwardRef(function(o,t){return V.createElement(Se,Object.assign({},o,{id:"paint-bucket",ref:t,icon:Ku}))});Es.displayName="PaintBucket";const qu=Es;var Qu={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8ZM8.00008 12.3671C8.46031 12.3671 8.83342 11.994 8.83342 11.5338C8.83342 11.0735 8.46031 10.7004 8.00008 10.7004C7.53985 10.7004 7.16675 11.0735 7.16675 11.5338C7.16675 11.994 7.53985 12.3671 8.00008 12.3671ZM8.5999 4.4335C8.5999 4.10213 8.33127 3.8335 7.9999 3.8335C7.66853 3.8335 7.3999 4.10213 7.3999 4.4335V9.36683C7.3999 9.6982 7.66853 9.96683 7.9999 9.96683C8.33127 9.96683 8.5999 9.6982 8.5999 9.36683V4.4335Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ys=V.forwardRef(function(o,t){return V.createElement(Se,Object.assign({},o,{id:"warning-single",ref:t,icon:Qu}))});ys.displayName="WarningSingle";const ir=ys,Ju=()=>C.jsxs("svg",{width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[C.jsx("path",{d:"M0.98999 1.08218H-0.0100098V0.0821838H0.98999V1.08218Z",fill:"black"}),C.jsx("path",{d:"M5.78992 1.08218H2.78992V0.0821838H5.78992V1.08218Z",fill:"black"}),C.jsx("path",{d:"M7.58984 1.08218H8.58984V0.0821838H7.58984V1.08218Z",fill:"black"}),C.jsx("path",{d:"M14.9152 1.08218H13.9152V0.0821838H14.9152V1.08218Z",fill:"black"}),C.jsx("path",{d:"M16.7151 1.08218H19.7151V0.0821838H16.7151V1.08218Z",fill:"black"}),C.jsx("path",{d:"M22.515 1.08218H21.515V0.0821838H22.515V1.08218Z",fill:"black"}),C.jsx("path",{d:"M27.8405 1.08218H28.8405V0.0821838H27.8405V1.08218Z",fill:"black"}),C.jsx("path",{d:"M33.6404 1.08218H30.6404V0.0821838H33.6404V1.08218Z",fill:"black"}),C.jsx("path",{d:"M35.4403 1.08218H36.4403V0.0821838H35.4403V1.08218Z",fill:"black"}),C.jsx("path",{d:"M42.7657 1.08218H41.7657V0.0821838H42.7657V1.08218Z",fill:"black"}),C.jsx("path",{d:"M44.5657 1.08218H47.5657V0.0821838H44.5657V1.08218Z",fill:"black"}),C.jsx("path",{d:"M50.3656 1.08218H49.3656V0.0821838H50.3656V1.08218Z",fill:"black"}),C.jsx("path",{d:"M55.691 1.08218H56.691V0.0821838H55.691V1.08218Z",fill:"black"}),C.jsx("path",{d:"M61.491 1.08218H58.491V0.0821838H61.491V1.08218Z",fill:"black"}),C.jsx("path",{d:"M63.2909 1.08218H64.2909V0.0821838H63.2909V1.08218Z",fill:"black"}),C.jsx("path",{d:"M70.6163 1.08218H69.6163V0.0821838H70.6163V1.08218Z",fill:"black"}),C.jsx("path",{d:"M72.4163 1.08218H75.4163V0.0821838H72.4163V1.08218Z",fill:"black"}),C.jsx("path",{d:"M78.2162 1.08218H77.2162V0.0821838H78.2162V1.08218Z",fill:"black"}),C.jsx("path",{d:"M83.5416 1.08218H84.5416V0.0821838H83.5416V1.08218Z",fill:"black"}),C.jsx("path",{d:"M89.3416 1.08218H86.3416V0.0821838H89.3416V1.08218Z",fill:"black"}),C.jsx("path",{d:"M91.1415 1.08218H92.1415V0.0821838H91.1415V1.08218Z",fill:"black"}),C.jsx("path",{d:"M98.4669 1.08218H97.4669V0.0821838H98.4669V1.08218Z",fill:"black"}),C.jsx("path",{d:"M100.267 1.08218H103.267V0.0821838H100.267V1.08218Z",fill:"black"}),C.jsx("path",{d:"M106.067 1.08218H105.067V0.0821838H106.067V1.08218Z",fill:"black"}),C.jsx("path",{d:"M111.392 1.08218H112.392V0.0821838H111.392V1.08218Z",fill:"black"}),C.jsx("path",{d:"M117.192 1.08218H114.192V0.0821838H117.192V1.08218Z",fill:"black"}),C.jsx("path",{d:"M118.992 1.08218H119.992V0.0821838H118.992V1.08218Z",fill:"black"})]}),eh=()=>C.jsxs("svg",{width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[C.jsx("path",{d:"M-0.0100098 1.15771H0.98999V0.157715H-0.0100098V1.15771Z",fill:"black"}),C.jsx("path",{d:"M2.78992 1.15771H5.78992V0.157715H2.78992V1.15771Z",fill:"black"}),C.jsx("path",{d:"M8.58984 1.15771H7.58984V0.157715H8.58984V1.15771Z",fill:"black"}),C.jsx("path",{d:"M10.3899 1.15771H11.3899V0.157715H10.3899V1.15771Z",fill:"black"}),C.jsx("path",{d:"M19.0903 1.15771H18.0903V0.157715H19.0903V1.15771Z",fill:"black"}),C.jsx("path",{d:"M20.8903 1.15771H23.8903V0.157715H20.8903V1.15771Z",fill:"black"}),C.jsx("path",{d:"M26.6902 1.15771H25.6902V0.157715H26.6902V1.15771Z",fill:"black"}),C.jsx("path",{d:"M28.4902 1.15771H29.4902V0.157715H28.4902V1.15771Z",fill:"black"}),C.jsx("path",{d:"M37.1907 1.15771H36.1907V0.157715H37.1907V1.15771Z",fill:"black"}),C.jsx("path",{d:"M38.9906 1.15771H41.9906V0.157715H38.9906V1.15771Z",fill:"black"}),C.jsx("path",{d:"M44.7905 1.15771H43.7905V0.157715H44.7905V1.15771Z",fill:"black"}),C.jsx("path",{d:"M46.5906 1.15771H47.5906V0.157715H46.5906V1.15771Z",fill:"black"}),C.jsx("path",{d:"M55.291 1.15771H54.291V0.157715H55.291V1.15771Z",fill:"black"}),C.jsx("path",{d:"M57.0909 1.15771H60.0909V0.157715H57.0909V1.15771Z",fill:"black"}),C.jsx("path",{d:"M62.8909 1.15771H61.8909V0.157715H62.8909V1.15771Z",fill:"black"}),C.jsx("path",{d:"M64.6909 1.15771H65.6909V0.157715H64.6909V1.15771Z",fill:"black"}),C.jsx("path",{d:"M73.3914 1.15771H72.3914V0.157715H73.3914V1.15771Z",fill:"black"}),C.jsx("path",{d:"M75.1913 1.15771H78.1913V0.157715H75.1913V1.15771Z",fill:"black"}),C.jsx("path",{d:"M80.9912 1.15771H79.9912V0.157715H80.9912V1.15771Z",fill:"black"}),C.jsx("path",{d:"M82.7913 1.15771H83.7913V0.157715H82.7913V1.15771Z",fill:"black"}),C.jsx("path",{d:"M91.4917 1.15771H90.4917V0.157715H91.4917V1.15771Z",fill:"black"}),C.jsx("path",{d:"M93.2916 1.15771H96.2916V0.157715H93.2916V1.15771Z",fill:"black"}),C.jsx("path",{d:"M99.0916 1.15771H98.0916V0.157715H99.0916V1.15771Z",fill:"black"}),C.jsx("path",{d:"M100.892 1.15771H101.892V0.157715H100.892V1.15771Z",fill:"black"}),C.jsx("path",{d:"M109.592 1.15771H108.592V0.157715H109.592V1.15771Z",fill:"black"}),C.jsx("path",{d:"M111.392 1.15771H114.392V0.157715H111.392V1.15771Z",fill:"black"}),C.jsx("path",{d:"M117.192 1.15771H116.192V0.157715H117.192V1.15771Z",fill:"black"}),C.jsx("path",{d:"M118.992 1.15771H119.992V0.157715H118.992V1.15771Z",fill:"black"})]}),th=()=>C.jsxs("svg",{width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[C.jsx("path",{d:"M-0.00842285 1.22449H2.99158V0.224487H-0.00842285V1.22449Z",fill:"black"}),C.jsx("path",{d:"M6.14941 1.22449H9.14941V0.224487H6.14941V1.22449Z",fill:"black"}),C.jsx("path",{d:"M15.3073 1.22449H12.3073V0.224487H15.3073V1.22449Z",fill:"black"}),C.jsx("path",{d:"M18.4651 1.22449H21.4651V0.224487H18.4651V1.22449Z",fill:"black"}),C.jsx("path",{d:"M27.6229 1.22449H24.6229V0.224487H27.6229V1.22449Z",fill:"black"}),C.jsx("path",{d:"M30.7808 1.22449H33.7808V0.224487H30.7808V1.22449Z",fill:"black"}),C.jsx("path",{d:"M39.9386 1.22449H36.9386V0.224487H39.9386V1.22449Z",fill:"black"}),C.jsx("path",{d:"M43.0964 1.22449H46.0964V0.224487H43.0964V1.22449Z",fill:"black"}),C.jsx("path",{d:"M52.2543 1.22449H49.2543V0.224487H52.2543V1.22449Z",fill:"black"}),C.jsx("path",{d:"M55.4121 1.22449H58.4121V0.224487H55.4121V1.22449Z",fill:"black"}),C.jsx("path",{d:"M64.5699 1.22449H61.5699V0.224487H64.5699V1.22449Z",fill:"black"}),C.jsx("path",{d:"M67.7278 1.22449H70.7278V0.224487H67.7278V1.22449Z",fill:"black"}),C.jsx("path",{d:"M76.8856 1.22449H73.8856V0.224487H76.8856V1.22449Z",fill:"black"}),C.jsx("path",{d:"M80.0435 1.22449H83.0435V0.224487H80.0435V1.22449Z",fill:"black"}),C.jsx("path",{d:"M89.2013 1.22449H86.2013V0.224487H89.2013V1.22449Z",fill:"black"}),C.jsx("path",{d:"M92.3591 1.22449H95.3591V0.224487H92.3591V1.22449Z",fill:"black"}),C.jsx("path",{d:"M101.517 1.22449H98.517V0.224487H101.517V1.22449Z",fill:"black"}),C.jsx("path",{d:"M104.675 1.22449H107.675V0.224487H104.675V1.22449Z",fill:"black"}),C.jsx("path",{d:"M113.833 1.22449H110.833V0.224487H113.833V1.22449Z",fill:"black"}),C.jsx("path",{d:"M116.99 1.22449H119.99V0.224487H116.99V1.22449Z",fill:"black"})]}),nh=()=>C.jsxs("svg",{width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[C.jsx("path",{d:"M-0.00976562 1.65707H0.990234V0.657074H-0.00976562V1.65707Z",fill:"black"}),C.jsx("path",{d:"M2.32361 1.65707H3.32361V0.657074H2.32361V1.65707Z",fill:"black"}),C.jsx("path",{d:"M5.65698 1.65707H4.65698V0.657074H5.65698V1.65707Z",fill:"black"}),C.jsx("path",{d:"M6.99036 1.65707H7.99036V0.657074H6.99036V1.65707Z",fill:"black"}),C.jsx("path",{d:"M10.3237 1.65707H9.32373V0.657074H10.3237V1.65707Z",fill:"black"}),C.jsx("path",{d:"M11.6571 1.65707H12.6571V0.657074H11.6571V1.65707Z",fill:"black"}),C.jsx("path",{d:"M14.9905 1.65707H13.9905V0.657074H14.9905V1.65707Z",fill:"black"}),C.jsx("path",{d:"M16.3239 1.65707H17.3239V0.657074H16.3239V1.65707Z",fill:"black"}),C.jsx("path",{d:"M19.6572 1.65707H18.6572V0.657074H19.6572V1.65707Z",fill:"black"}),C.jsx("path",{d:"M20.9906 1.65707H21.9906V0.657074H20.9906V1.65707Z",fill:"black"}),C.jsx("path",{d:"M24.324 1.65707H23.324V0.657074H24.324V1.65707Z",fill:"black"}),C.jsx("path",{d:"M25.6573 1.65707H26.6573V0.657074H25.6573V1.65707Z",fill:"black"}),C.jsx("path",{d:"M28.9907 1.65707H27.9907V0.657074H28.9907V1.65707Z",fill:"black"}),C.jsx("path",{d:"M30.3241 1.65707H31.3241V0.657074H30.3241V1.65707Z",fill:"black"}),C.jsx("path",{d:"M33.6575 1.65707H32.6575V0.657074H33.6575V1.65707Z",fill:"black"}),C.jsx("path",{d:"M34.9908 1.65707H35.9908V0.657074H34.9908V1.65707Z",fill:"black"}),C.jsx("path",{d:"M38.3242 1.65707H37.3242V0.657074H38.3242V1.65707Z",fill:"black"}),C.jsx("path",{d:"M39.6576 1.65707H40.6576V0.657074H39.6576V1.65707Z",fill:"black"}),C.jsx("path",{d:"M42.991 1.65707H41.991V0.657074H42.991V1.65707Z",fill:"black"}),C.jsx("path",{d:"M44.3243 1.65707H45.3243V0.657074H44.3243V1.65707Z",fill:"black"}),C.jsx("path",{d:"M47.6577 1.65707H46.6577V0.657074H47.6577V1.65707Z",fill:"black"}),C.jsx("path",{d:"M48.9911 1.65707H49.9911V0.657074H48.9911V1.65707Z",fill:"black"}),C.jsx("path",{d:"M52.3245 1.65707H51.3245V0.657074H52.3245V1.65707Z",fill:"black"}),C.jsx("path",{d:"M53.6578 1.65707H54.6578V0.657074H53.6578V1.65707Z",fill:"black"}),C.jsx("path",{d:"M56.9912 1.65707H55.9912V0.657074H56.9912V1.65707Z",fill:"black"}),C.jsx("path",{d:"M58.3246 1.65707H59.3246V0.657074H58.3246V1.65707Z",fill:"black"}),C.jsx("path",{d:"M61.658 1.65707H60.658V0.657074H61.658V1.65707Z",fill:"black"}),C.jsx("path",{d:"M62.9913 1.65707H63.9913V0.657074H62.9913V1.65707Z",fill:"black"}),C.jsx("path",{d:"M66.3247 1.65707H65.3247V0.657074H66.3247V1.65707Z",fill:"black"}),C.jsx("path",{d:"M67.6581 1.65707H68.6581V0.657074H67.6581V1.65707Z",fill:"black"}),C.jsx("path",{d:"M70.9915 1.65707H69.9915V0.657074H70.9915V1.65707Z",fill:"black"}),C.jsx("path",{d:"M72.3248 1.65707H73.3248V0.657074H72.3248V1.65707Z",fill:"black"}),C.jsx("path",{d:"M75.6582 1.65707H74.6582V0.657074H75.6582V1.65707Z",fill:"black"}),C.jsx("path",{d:"M76.9916 1.65707H77.9916V0.657074H76.9916V1.65707Z",fill:"black"}),C.jsx("path",{d:"M80.325 1.65707H79.325V0.657074H80.325V1.65707Z",fill:"black"}),C.jsx("path",{d:"M81.6583 1.65707H82.6583V0.657074H81.6583V1.65707Z",fill:"black"}),C.jsx("path",{d:"M84.9917 1.65707H83.9917V0.657074H84.9917V1.65707Z",fill:"black"}),C.jsx("path",{d:"M86.3251 1.65707H87.3251V0.657074H86.3251V1.65707Z",fill:"black"}),C.jsx("path",{d:"M89.6584 1.65707H88.6584V0.657074H89.6584V1.65707Z",fill:"black"}),C.jsx("path",{d:"M90.9918 1.65707H91.9918V0.657074H90.9918V1.65707Z",fill:"black"}),C.jsx("path",{d:"M94.3252 1.65707H93.3252V0.657074H94.3252V1.65707Z",fill:"black"}),C.jsx("path",{d:"M95.6586 1.65707H96.6586V0.657074H95.6586V1.65707Z",fill:"black"}),C.jsx("path",{d:"M98.9919 1.65707H97.9919V0.657074H98.9919V1.65707Z",fill:"black"}),C.jsx("path",{d:"M100.325 1.65707H101.325V0.657074H100.325V1.65707Z",fill:"black"}),C.jsx("path",{d:"M103.659 1.65707H102.659V0.657074H103.659V1.65707Z",fill:"black"}),C.jsx("path",{d:"M104.992 1.65707H105.992V0.657074H104.992V1.65707Z",fill:"black"}),C.jsx("path",{d:"M108.325 1.65707H107.325V0.657074H108.325V1.65707Z",fill:"black"}),C.jsx("path",{d:"M109.659 1.65707H110.659V0.657074H109.659V1.65707Z",fill:"black"}),C.jsx("path",{d:"M112.992 1.65707H111.992V0.657074H112.992V1.65707Z",fill:"black"}),C.jsx("path",{d:"M114.325 1.65707H115.325V0.657074H114.325V1.65707Z",fill:"black"}),C.jsx("path",{d:"M117.659 1.65707H116.659V0.657074H117.659V1.65707Z",fill:"black"}),C.jsx("path",{d:"M118.992 1.65707H119.992V0.657074H118.992V1.65707Z",fill:"black"})]}),oh=()=>C.jsx("svg",{width:"120",height:"3",viewBox:"0 0 120 3",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:C.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M119.991 2.42035H-0.0090332V0.420349H119.991V2.42035Z",fill:"black"})}),ih=()=>C.jsxs("svg",{width:"120",height:"3",viewBox:"0 0 120 3",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[C.jsx("path",{d:"M-0.0100098 2.47614H1.98999V0.476135H-0.0100098V2.47614Z",fill:"black"}),C.jsx("path",{d:"M3.99014 2.47614H9.99014V0.476135H3.99014V2.47614Z",fill:"black"}),C.jsx("path",{d:"M13.9901 2.47614H11.9901V0.476135H13.9901V2.47614Z",fill:"black"}),C.jsx("path",{d:"M21.1904 2.47614H23.1904V0.476135H21.1904V2.47614Z",fill:"black"}),C.jsx("path",{d:"M31.1906 2.47614H25.1906V0.476135H31.1906V2.47614Z",fill:"black"}),C.jsx("path",{d:"M33.1906 2.47614H35.1906V0.476135H33.1906V2.47614Z",fill:"black"}),C.jsx("path",{d:"M44.3909 2.47614H42.3909V0.476135H44.3909V2.47614Z",fill:"black"}),C.jsx("path",{d:"M46.391 2.47614H52.391V0.476135H46.391V2.47614Z",fill:"black"}),C.jsx("path",{d:"M56.391 2.47614H54.391V0.476135H56.391V2.47614Z",fill:"black"}),C.jsx("path",{d:"M63.5913 2.47614H65.5913V0.476135H63.5913V2.47614Z",fill:"black"}),C.jsx("path",{d:"M73.5915 2.47614H67.5915V0.476135H73.5915V2.47614Z",fill:"black"}),C.jsx("path",{d:"M75.5915 2.47614H77.5915V0.476135H75.5915V2.47614Z",fill:"black"}),C.jsx("path",{d:"M86.7917 2.47614H84.7917V0.476135H86.7917V2.47614Z",fill:"black"}),C.jsx("path",{d:"M88.7919 2.47614H94.7919V0.476135H88.7919V2.47614Z",fill:"black"}),C.jsx("path",{d:"M98.7919 2.47614H96.7919V0.476135H98.7919V2.47614Z",fill:"black"}),C.jsx("path",{d:"M105.992 2.47614H107.992V0.476135H105.992V2.47614Z",fill:"black"}),C.jsx("path",{d:"M115.992 2.47614H109.992V0.476135H115.992V2.47614Z",fill:"black"}),C.jsx("path",{d:"M117.992 2.47614H119.992V0.476135H117.992V2.47614Z",fill:"black"})]}),rh=()=>C.jsxs("svg",{width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[C.jsx("path",{d:"M-0.0100098 2.00415H1.98999V0.00415039H-0.0100098V2.00415Z",fill:"black"}),C.jsx("path",{d:"M3.99014 2.00415H9.99014V0.00415039H3.99014V2.00415Z",fill:"black"}),C.jsx("path",{d:"M13.9901 2.00415H11.9901V0.00415039H13.9901V2.00415Z",fill:"black"}),C.jsx("path",{d:"M15.9901 2.00415H17.9901V0.00415039H15.9901V2.00415Z",fill:"black"}),C.jsx("path",{d:"M27.4905 2.00415H25.4905V0.00415039H27.4905V2.00415Z",fill:"black"}),C.jsx("path",{d:"M29.4906 2.00415H35.4906V0.00415039H29.4906V2.00415Z",fill:"black"}),C.jsx("path",{d:"M39.4906 2.00415H37.4906V0.00415039H39.4906V2.00415Z",fill:"black"}),C.jsx("path",{d:"M41.4906 2.00415H43.4906V0.00415039H41.4906V2.00415Z",fill:"black"}),C.jsx("path",{d:"M52.991 2.00415H50.991V0.00415039H52.991V2.00415Z",fill:"black"}),C.jsx("path",{d:"M54.9911 2.00415H60.9911V0.00415039H54.9911V2.00415Z",fill:"black"}),C.jsx("path",{d:"M64.9911 2.00415H62.9911V0.00415039H64.9911V2.00415Z",fill:"black"}),C.jsx("path",{d:"M66.9911 2.00415H68.9911V0.00415039H66.9911V2.00415Z",fill:"black"}),C.jsx("path",{d:"M78.4915 2.00415H76.4915V0.00415039H78.4915V2.00415Z",fill:"black"}),C.jsx("path",{d:"M80.4916 2.00415H86.4916V0.00415039H80.4916V2.00415Z",fill:"black"}),C.jsx("path",{d:"M90.4916 2.00415H88.4916V0.00415039H90.4916V2.00415Z",fill:"black"}),C.jsx("path",{d:"M92.4916 2.00415H94.4916V0.00415039H92.4916V2.00415Z",fill:"black"}),C.jsx("path",{d:"M103.992 2.00415H101.992V0.00415039H103.992V2.00415Z",fill:"black"}),C.jsx("path",{d:"M105.992 2.00415H111.992V0.00415039H105.992V2.00415Z",fill:"black"}),C.jsx("path",{d:"M115.992 2.00415H113.992V0.00415039H115.992V2.00415Z",fill:"black"}),C.jsx("path",{d:"M117.992 2.00415H119.992V0.00415039H117.992V2.00415Z",fill:"black"})]}),sh=()=>C.jsxs("svg",{width:"118",height:"3",viewBox:"0 0 118 3",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[C.jsx("path",{d:"M-0.00854492 2.94815H1.99146V0.948151H-0.00854492V2.94815Z",fill:"black"}),C.jsx("path",{d:"M6.09668 2.94815H8.09668V0.948151H6.09668V2.94815Z",fill:"black"}),C.jsx("path",{d:"M14.2019 2.94815H12.2019V0.948151H14.2019V2.94815Z",fill:"black"}),C.jsx("path",{d:"M18.3071 2.94815H20.3071V0.948151H18.3071V2.94815Z",fill:"black"}),C.jsx("path",{d:"M26.4124 2.94815H24.4124V0.948151H26.4124V2.94815Z",fill:"black"}),C.jsx("path",{d:"M30.5176 2.94815H32.5176V0.948151H30.5176V2.94815Z",fill:"black"}),C.jsx("path",{d:"M38.6228 2.94815H36.6228V0.948151H38.6228V2.94815Z",fill:"black"}),C.jsx("path",{d:"M42.728 2.94815H44.728V0.948151H42.728V2.94815Z",fill:"black"}),C.jsx("path",{d:"M50.8333 2.94815H48.8333V0.948151H50.8333V2.94815Z",fill:"black"}),C.jsx("path",{d:"M54.9385 2.94815H56.9385V0.948151H54.9385V2.94815Z",fill:"black"}),C.jsx("path",{d:"M63.0437 2.94815H61.0437V0.948151H63.0437V2.94815Z",fill:"black"}),C.jsx("path",{d:"M67.1489 2.94815H69.1489V0.948151H67.1489V2.94815Z",fill:"black"}),C.jsx("path",{d:"M75.2542 2.94815H73.2542V0.948151H75.2542V2.94815Z",fill:"black"}),C.jsx("path",{d:"M79.3594 2.94815H81.3594V0.948151H79.3594V2.94815Z",fill:"black"}),C.jsx("path",{d:"M87.4645 2.94815H85.4645V0.948151H87.4645V2.94815Z",fill:"black"}),C.jsx("path",{d:"M91.5697 2.94815H93.5697V0.948151H91.5697V2.94815Z",fill:"black"}),C.jsx("path",{d:"M99.6749 2.94815H97.6749V0.948151H99.6749V2.94815Z",fill:"black"}),C.jsx("path",{d:"M103.78 2.94815H105.78V0.948151H103.78V2.94815Z",fill:"black"}),C.jsx("path",{d:"M111.885 2.94815H109.885V0.948151H111.885V2.94815Z",fill:"black"}),C.jsx("path",{d:"M115.991 2.94815H117.991V0.948151H115.991V2.94815Z",fill:"black"})]}),ah=()=>C.jsx("svg",{width:"120",height:"4",viewBox:"0 0 120 4",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:C.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M119.991 3.86215H-0.0090332V0.862152H119.991V3.86215Z",fill:"black"})}),rr=()=>C.jsx("svg",{width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:C.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M119.991 1.15668H-0.0090332V0.156677H119.991V1.15668Z",fill:"black"})});function sr(o){const{type:t=l.BorderStyleTypes.THIN}=o;switch(t){case l.BorderStyleTypes.DASH_DOT:return C.jsx(Ju,{});case l.BorderStyleTypes.DASH_DOT_DOT:return C.jsx(eh,{});case l.BorderStyleTypes.DASHED:return C.jsx(th,{});case l.BorderStyleTypes.HAIR:return C.jsx(nh,{});case l.BorderStyleTypes.MEDIUM:return C.jsx(oh,{});case l.BorderStyleTypes.MEDIUM_DASH_DOT:return C.jsx(ih,{});case l.BorderStyleTypes.MEDIUM_DASH_DOT_DOT:return C.jsx(rh,{});case l.BorderStyleTypes.MEDIUM_DASHED:return C.jsx(sh,{});case l.BorderStyleTypes.THICK:return C.jsx(ah,{});case l.BorderStyleTypes.THIN:return C.jsx(rr,{});default:return C.jsx(rr,{})}}const lh="univer-ui-plugin-sheets-border-panel",ch="univer-ui-plugin-sheets-border-panel-position",dh="univer-ui-plugin-sheets-border-panel-position-item",uh="univer-ui-plugin-sheets-border-panel-position-item-active",hh="univer-ui-plugin-sheets-border-panel-styles",mh="univer-ui-plugin-sheets-border-panel-board",gh="univer-ui-plugin-sheets-border-panel-button",fh="univer-ui-plugin-sheets-border-panel-more-icon",ye={uiPluginSheetsBorderPanel:lh,uiPluginSheetsBorderPanelPosition:ch,uiPluginSheetsBorderPanelPositionItem:dh,uiPluginSheetsBorderPanelPositionItemActive:uh,uiPluginSheetsBorderPanelStyles:hh,uiPluginSheetsBorderPanelBoard:mh,uiPluginSheetsBorderPanelButton:gh,uiPluginSheetsBorderPanelMoreIcon:fh},Os=`${Nt}_BORDER_PANEL_COMPONENT`,xs=[{label:"borderLine.borderTop",icon:"UpBorder",value:"top"},{label:"borderLine.borderBottom",icon:"DownBorder",value:"bottom"},{label:"borderLine.borderLeft",icon:"LeftBorder",value:"left"},{label:"borderLine.borderRight",icon:"RightBorder",value:"right"},{label:"borderLine.borderNone",icon:"NoBorderSingle",value:"none"},{label:"borderLine.borderAll",icon:"AllBorderSingle",value:"all"},{label:"borderLine.borderOutside",icon:"OuterBorder",value:"outside"},{label:"borderLine.borderInside",icon:"InnerBorder",value:"inside"},{label:"borderLine.borderHorizontal",icon:"HorizontalBorder",value:"horizontal"},{label:"borderLine.borderVertical",icon:"VerticalBorder",value:"vertical"},{label:"borderLine.borderTlbr",icon:"BackSlashSingle",value:"tlbr"},{label:"borderLine.borderTlbcTlmr",icon:"LeftDoubleDiagonalSingle",value:"tlbc_tlmr"},{label:"borderLine.borderTlbrTlbcTlmr",icon:"LeftTridiagonalSingle",value:"tlbr_tlbc_tlmr"},{label:"borderLine.borderBlTr",icon:"SlashSingle",value:"bltr"},{label:"borderLine.borderMltrBctr",icon:"RightDoubleDiagonalSingle",value:"mltr_bctr"}],_h=[{label:l.BorderStyleTypes.THIN,value:l.BorderStyleTypes.THIN},{label:l.BorderStyleTypes.HAIR,value:l.BorderStyleTypes.HAIR},{label:l.BorderStyleTypes.DOTTED,value:l.BorderStyleTypes.DOTTED},{label:l.BorderStyleTypes.DASHED,value:l.BorderStyleTypes.DASHED},{label:l.BorderStyleTypes.DASH_DOT,value:l.BorderStyleTypes.DASH_DOT},{label:l.BorderStyleTypes.DASH_DOT_DOT,value:l.BorderStyleTypes.DASH_DOT_DOT},{label:l.BorderStyleTypes.MEDIUM,value:l.BorderStyleTypes.MEDIUM},{label:l.BorderStyleTypes.MEDIUM_DASHED,value:l.BorderStyleTypes.MEDIUM_DASHED},{label:l.BorderStyleTypes.MEDIUM_DASH_DOT,value:l.BorderStyleTypes.MEDIUM_DASH_DOT},{label:l.BorderStyleTypes.MEDIUM_DASH_DOT_DOT,value:l.BorderStyleTypes.MEDIUM_DASH_DOT_DOT},{label:l.BorderStyleTypes.THICK,value:l.BorderStyleTypes.THICK}];function Sh(o){var c;const t=G.useDependency(I.ComponentManager),e=G.useDependency(S.BorderStyleManagerService),{onChange:n,value:i}=o;function r(u,d){n==null||n({...i,[d]:u})}function s(u){const d=t.get(u);return d&&C.jsx(d,{extend:{colorChannel1:"rgb(var(--primary-color))"}})}function a(u){u.stopPropagation()}return C.jsxs("section",{className:ye.uiPluginSheetsBorderPanel,children:[C.jsx("div",{className:ye.uiPluginSheetsBorderPanelPosition,children:xs.map(u=>C.jsx("div",{className:e.getBorderInfo().type===u.value?`${ye.uiPluginSheetsBorderPanelPositionItemActive} ${ye.uiPluginSheetsBorderPanelPositionItem}`:ye.uiPluginSheetsBorderPanelPositionItem,onClick:d=>{d.stopPropagation(),r(u.value,"type")},children:s(u.icon)},u.value))}),C.jsxs("div",{className:ye.uiPluginSheetsBorderPanelStyles,children:[C.jsx("div",{children:C.jsx(re.Dropdown,{align:{offset:[0,18]},overlay:C.jsx("section",{className:ye.uiPluginSheetsBorderPanelBoard,onClick:a,children:C.jsx(re.ColorPicker,{onChange:u=>r(u,"color")})}),children:C.jsxs("a",{className:ye.uiPluginSheetsBorderPanelButton,onClick:a,children:[C.jsx(qu,{extend:{colorChannel1:(c=i.color)!=null?c:"rgb(var(--primary-color))"}}),C.jsx("span",{className:ye.uiPluginSheetsBorderPanelMoreIcon,children:C.jsx(zn,{})})]})})}),C.jsx("div",{children:C.jsx(re.Dropdown,{align:{offset:[0,18]},overlay:C.jsx("section",{onClick:a,children:C.jsx(re.Menu,{children:_h.map(u=>C.jsx(re.MenuItem,{eventKey:u.value.toString(),onClick:()=>r(u.value,"style"),children:C.jsx(sr,{type:u.value})},u.value))})}),children:C.jsxs("a",{className:ye.uiPluginSheetsBorderPanelButton,onClick:a,children:[C.jsx(sr,{type:l.BorderStyleTypes.THIN}),C.jsx("span",{className:ye.uiPluginSheetsBorderPanelMoreIcon,children:C.jsx(zn,{})})]})})})]})]})}const ph="univer-count-bar",Ch={countBar:ph},vh=[50,80,100,130,150,170,200,400];function Ih(){const o=G.useDependency(l.ICommandService),t=G.useDependency(l.IUniverInstanceService),e=V.useCallback(()=>{const s=t.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getActiveSheet().getZoomRatio()*100||100;return Math.round(s)},[t]),[n,i]=V.useState(()=>e());V.useEffect(()=>o.onCommandExecuted(a=>{if(a.id===Fe.id||a.id===S.SetWorksheetActiveOperation.id){const c=e();i(c)}}).dispose,[o,e]);function r(s){i(s);const a=t.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),c=a==null?void 0:a.getActiveSheet();if(c==null)return;const u=s/100;o.executeCommand(qn.id,{unitId:a.getUnitId(),subUnitId:c.getSheetId(),zoomRatio:u})}return C.jsx(re.Slider,{min:Eo[0],value:n,shortcuts:vh,onChange:r})}function Rh(o){return C.jsx("section",{className:Ch.countBar,children:C.jsx(Ih,{})})}const Mh="univer-editor-container",bh="univer-editor-input",ar={editorContainer:Mh,editorInput:bh},Yn=-1e3,lr={width:0,height:0,top:Yn,left:Yn},Th=()=>{const[o,t]=V.useState({...lr}),e=G.useDependency(sn),n=G.useDependency(I.IEditorService),i=G.useDependency(l.IContextService),r=I.useObservable(()=>i.subscribeContextValue$(I.DISABLE_AUTO_FOCUS_KEY),!1,void 0,[i,I.DISABLE_AUTO_FOCUS_KEY]),s={id:l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,body:{dataStream:`${l.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[],paragraphs:[{startIndex:0}]},documentStyle:{}};return V.useEffect(()=>{e.state$.subscribe(a=>{if(a==null)return;const{startX:c=Yn,startY:u=Yn,endX:d=0,endY:h=0,show:m=!1}=a;if(!m)t({...lr});else{t({width:d-c-E.FIX_ONE_PIXEL_BLUR_OFFSET+2,height:h-u-E.FIX_ONE_PIXEL_BLUR_OFFSET+2,left:c+E.FIX_ONE_PIXEL_BLUR_OFFSET,top:u+E.FIX_ONE_PIXEL_BLUR_OFFSET});const g=n.getEditor(l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);if(g==null)return;const{left:f,top:_,width:p,height:v}=g.getBoundingClientRect();e.setRect({left:f,top:_,width:p,height:v})}})},[]),V.useEffect(()=>{r||e.setFocus(!0)},[r,o]),C.jsx("div",{className:ar.editorContainer,style:{left:o.left,top:o.top,width:o.width,height:o.height},children:C.jsx(I.TextEditor,{id:l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,className:ar.editorInput,snapshot:s,cancelDefaultResizeListener:!0,isSheetEditor:!0,isSingle:!1})})},wh="univer-defined-name",Eh="univer-defined-name-drop-down",yh="univer-defined-name-overlay",Oh="univer-defined-name-overlay-container",xh="univer-defined-name-overlay-item",Nh="univer-defined-name-overlay-item-name",Ah="univer-defined-name-overlay-item-name-for-sheet",Dh="univer-defined-name-overlay-item-formula",Ph="univer-defined-name-overlay-manager",Hh="univer-defined-name-overlay-manager-title",Lh="univer-defined-name-overlay-manager-content",Uh="univer-defined-name-container",Vh="univer-defined-name-container-scroll",Bh="univer-defined-name-container-addButton",Fh="univer-defined-name-container-addButton-text",kh="univer-defined-name-container-item",Wh="univer-defined-name-container-item-name",jh="univer-defined-name-container-item-name-for-sheet",$h="univer-defined-name-container-item-formula-or-refString",zh="univer-defined-name-container-item-update",Yh="univer-defined-name-container-item-delete",Xh="univer-defined-name-container-item-show",Gh="univer-defined-name-input",Zh="univer-defined-name-input-validation",ae={definedName:wh,definedNameDropDown:Eh,definedNameOverlay:yh,definedNameOverlayContainer:Oh,definedNameOverlayItem:xh,definedNameOverlayItemName:Nh,definedNameOverlayItemNameForSheet:Ah,definedNameOverlayItemFormula:Dh,definedNameOverlayManager:Ph,definedNameOverlayManagerTitle:Hh,definedNameOverlayManagerContent:Lh,definedNameContainer:Uh,definedNameContainerScroll:Vh,definedNameContainerAddButton:Bh,definedNameContainerAddButtonText:Fh,definedNameContainerItem:kh,definedNameContainerItemName:Wh,definedNameContainerItemNameForSheet:jh,definedNameContainerItemFormulaOrRefString:$h,definedNameContainerItemUpdate:zh,definedNameContainerItemDelete:Yh,definedNameContainerItemShow:Xh,definedNameInput:Gh,definedNameInputValidation:Zh},Ns="DefinedNameContainer",zo="AllDefaultWorkbook",As={id:"sidebar.operation.defined-name",type:l.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(I.ISidebarService),n=o.get(I.IEditorService),i=o.get(l.LocaleService),r=o.get(l.IUniverInstanceService),s=S.getSheetCommandTarget(r);if(!s)return!1;const{unitId:a}=s;switch(t.value){case"open":n.setOperationSheetUnitId(a),e.open({header:{title:i.t("definedName.featureTitle")},children:{label:Ns},onClose:()=>{n.closeRangePrompt()},width:333});break;case"close":default:e.close();break}return!0}};function Kh(o){const t=G.useDependency(l.ICommandService),e=G.useDependency(l.LocaleService),n=G.useDependency(Z.IDefinedNamesService),s=G.useDependency(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getUnitId(),a=()=>{const m=n.getDefinedNameMap(s);return m?Array.from(Object.values(m)):[]},[c,u]=V.useState(a());V.useEffect(()=>{const m=n.update$.subscribe(()=>{u(a())});return()=>{m.unsubscribe()}},[]);const d=()=>{t.executeCommand(As.id,{value:"open"})},h=m=>{n.focusRange(s,m.id)};return C.jsxs("div",{className:ae.definedNameOverlay,children:[C.jsx("div",{className:ae.definedNameOverlayContainer,children:c.map((m,g)=>C.jsxs("div",{className:ae.definedNameOverlayItem,onClick:()=>{h(m)},children:[C.jsx("div",{className:ae.definedNameOverlayItemName,title:m.name,children:m.name}),C.jsx("div",{className:ae.definedNameOverlayItemFormula,title:m.formulaOrRefString,children:m.formulaOrRefString})]},g))}),C.jsxs("div",{className:ae.definedNameOverlayManager,onClick:d,children:[C.jsx("div",{className:ae.definedNameOverlayManagerTitle,children:e.t("definedName.managerTitle")}),C.jsx("div",{className:ae.definedNameOverlayManagerContent,children:e.t("definedName.managerDescription")})]})]})}function qh(){const[o,t]=V.useState(""),e=G.useDependency(Z.IDefinedNamesService);return V.useEffect(()=>{const n=e.currentRange$.subscribe(()=>{t(e.getCurrentRangeForString())});return()=>{n.unsubscribe()}},[]),C.jsxs("div",{className:ae.definedName,children:[C.jsx(re.Input,{value:o,type:"text",size:"small",affixWrapperStyle:{border:"none",paddingLeft:"6px",paddingRight:"6px",height:"100%"}}),C.jsx(re.Dropdown,{overlay:C.jsx(Kh,{}),children:C.jsx("div",{className:ae.definedNameDropDown,children:C.jsx(zn,{})})})]})}const Qh="univer-formula-box",Jh="univer-name-ranges",em="univer-formula-bar",tm="univer-formula-icon",nm="univer-formula-icon-wrapper",om="univer-icon-container",im="univer-icon-container-success",rm="univer-formula-active",sm="univer-icon-container-error",am="univer-icon-container-fx",lm="univer-formula-input",cm="univer-formula-content",dm="univer-arrow-container",me={formulaBox:Qh,nameRanges:Jh,formulaBar:em,formulaIcon:tm,formulaIconWrapper:nm,iconContainer:om,iconContainerSuccess:im,formulaActive:rm,iconContainerError:sm,iconContainerFx:am,formulaInput:lm,formulaContent:cm,arrowContainer:dm};function um(){const[o,t]=V.useState(me.formulaGrey),[e,n]=V.useState(0),i=G.useDependency(to),r=G.useDependency(Ee),a=G.useDependency(l.ThemeService).getCurrentTheme().primaryColor,c={id:l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,body:{dataStream:`${l.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[],paragraphs:[{startIndex:0}]},documentStyle:{pageSize:{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},marginTop:5,marginBottom:5,marginRight:0,marginLeft:0,paragraphLineGapDefault:0,renderConfig:{horizontalAlign:l.HorizontalAlign.UNSPECIFIED,verticalAlign:l.VerticalAlign.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:l.WrapStrategy.WRAP}}};V.useEffect(()=>{const f=r.visible$.subscribe(_=>{t(_.visible?me.formulaActive:me.formulaGrey)});return()=>f.unsubscribe()},[r.visible$]);function u(f){if(f==null)return;const _=f.getBoundingClientRect();i.setPosition(_)}function d(){n(e===0?1:0),setTimeout(()=>{i.handleFoldBtnClick(e===1)},150)}function h(){r.isVisible().visible&&r.changeVisible({visible:!1,eventType:E.DeviceInputEventType.Keyboard,keycode:I.KeyCode.ESC})}function m(){r.isVisible().visible&&r.changeVisible({visible:!1,eventType:E.DeviceInputEventType.PointerDown})}function g(){i.handleFxBtnClick(!0)}return C.jsxs("div",{className:me.formulaBox,style:{height:e===0?"28px":"82px"},children:[C.jsx("div",{className:me.nameRanges,children:C.jsx(qh,{})}),C.jsxs("div",{className:me.formulaBar,children:[C.jsx("div",{className:me.formulaIcon,children:C.jsxs("div",{className:me.formulaIconWrapper,children:[C.jsx("span",{className:Oe(me.iconContainer,me.iconContainerError,o),onClick:h,children:C.jsx(Lu,{})}),C.jsx("span",{className:Oe(me.iconContainer,me.iconContainerSuccess,o),onClick:m,children:C.jsx(Jt,{})}),C.jsx("span",{className:Oe(me.iconContainer,me.iconContainerFx),onClick:g,children:C.jsx(Yu,{})})]})}),C.jsxs("div",{className:me.formulaInput,children:[C.jsx(I.TextEditor,{id:l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,isSheetEditor:!0,resizeCallBack:u,cancelDefaultResizeListener:!0,onContextMenu:f=>f.preventDefault(),className:me.formulaContent,snapshot:c,isSingle:!1}),C.jsx("div",{className:me.arrowContainer,onClick:d,children:e===0?C.jsx(nr,{}):C.jsx(nr,{style:{transform:"rotateZ(180deg)"}})})]})]}),C.jsx(I.ProgressBar,{barColor:a})]})}const hm="univer-operate-container",mm="univer-auto-fill-popup-menu",gm="univer-auto-fill-popup-menu-item",fm="univer-auto-fill-popup-menu-item-icon",_m="univer-auto-fill-popup-menu-item-title",Sm="univer-auto-fill-popup-menu-item-hide",pm="univer-btn-container",Cm="univer-btn-container-expand",ct={operateContainer:hm,autoFillPopupMenu:mm,autoFillPopupMenuItem:gm,autoFillPopupMenuItemIcon:fm,autoFillPopupMenuItemTitle:_m,autoFillPopupMenuItemHide:Sm,btnContainer:pm,btnContainerExpand:Cm},vm=()=>{const[,o]=V.useState({});return V.useCallback(()=>o(t=>!t),[])},Im=()=>{var Q;const o=G.useDependency(l.ICommandService),t=G.useDependency(exports.SheetSkeletonManagerService),e=G.useDependency(l.IUniverInstanceService),n=G.useDependency(E.IRenderManagerService),i=G.useDependency(Ne),r=G.useDependency(yt),s=G.useDependency(l.LocaleService),[a,c]=V.useState([]),[u,d]=V.useState(!1),[h,m]=V.useState({row:-1,col:-1}),[g,f]=V.useState(oe.SERIES),[_,p]=V.useState(!1),v=()=>{p(!0)},M=()=>{p(!1)},b=vm();if(V.useEffect(()=>o.onCommandExecuted((H,k)=>{H.id===ot.id&&b()}).dispose,[b,o]),V.useEffect(()=>l.toDisposable(t.currentSkeleton$.subscribe(H=>{H&&b()})).dispose,[t,b]),V.useEffect(()=>l.toDisposable(r.menu$.subscribe(H=>{c(H.map(k=>({...k,index:H.indexOf(k)})))})).dispose,[r]),V.useEffect(()=>l.toDisposable(r.showMenu$.subscribe(H=>{const{source:k,target:Y}=r.autoFillLocation||{source:null,target:null};if(H&&k&&Y){const X=Math.max(k.rows[k.rows.length-1],Y.rows[Y.rows.length-1]),J=Math.max(k.cols[k.cols.length-1],Y.cols[Y.cols.length-1]);m({row:X,col:J})}else m({row:-1,col:-1})})).dispose,[r]),V.useEffect(()=>l.toDisposable(r.applyType$.subscribe(H=>{f(H)})).dispose,[r]),V.useEffect(()=>{function P(){d(!1)}return document.addEventListener("wheel",P),()=>{document.removeEventListener("wheel",P)}},[u]),h.col<0||h.row<0)return null;const T=it(e,n);if(!T)return null;const{scene:w}=T,y=(Q=t.getCurrent())==null?void 0:Q.skeleton,O=i.getViewPort(),x=w==null?void 0:w.scaleX,A=w==null?void 0:w.scaleY,F=w==null?void 0:w.getScrollXY(O);if(!x||!w||!x||!A||!F)return null;const N=(y==null?void 0:y.getNoMergeCellPositionByIndex(h.row,h.col).endX)||0,L=(y==null?void 0:y.getNoMergeCellPositionByIndex(h.row,h.col).endY)||0,B=y==null?void 0:y.convertTransformToOffsetX(N,x,F),j=y==null?void 0:y.convertTransformToOffsetY(L,A,F);if(B==null||j==null)return null;const z=P=>{d(P)},q=P=>{o.executeCommand(rs.id,{type:P.value})},K=u||_,$=a.filter(P=>!P.disable);return C.jsx("div",{onMouseEnter:v,onMouseLeave:M,style:{left:`${B+2}px`,top:`${j+2}px`,position:"absolute"},children:C.jsx(re.Dropdown,{placement:"bottomLeft",trigger:["click"],overlay:C.jsx("ul",{className:ct.autoFillPopupMenu,children:$.map(P=>C.jsxs("li",{onClick:()=>q(P),className:ct.autoFillPopupMenuItem,children:[C.jsx("span",{className:ct.autoFillPopupMenuItemIcon,children:P.value===g&&C.jsx(Jt,{style:{color:"rgb(var(--green-700, #409f11))"}})}),C.jsx("span",{className:ct.autoFillPopupMenuItemTitle,children:s.t(P.label)})]},P.index))}),visible:u,onVisibleChange:z,children:C.jsxs("div",{className:Oe(ct.btnContainer,{[ct.btnContainerExpand]:u}),children:[C.jsx(Du,{style:{color:"#35322B"},extend:{colorChannel1:"rgb(var(--green-700, #409f11))"}}),K&&C.jsx(zn,{style:{color:"#CCCCCC",fontSize:"8px",marginLeft:"8px"}})]})})})},Rm=()=>C.jsx("div",{className:ct.operateContainer,children:C.jsx(Im,{})}),Mm="univer-sheet-bar",bm="univer-sheet-bar-options",Tm="univer-sheet-bar-options-divider",fn={sheetBar:Mm,sheetBarOptions:bm,sheetBarOptionsDivider:Tm},wm="univer-sheet-bar-btn",Em={sheetBarBtn:wm};function Nn(o){const{children:t,className:e,style:n,disabled:i=!1,onClick:r,...s}=o,a=c=>{if(i){c.preventDefault();return}r&&r(c)};return C.jsx("button",{className:Em.sheetBarBtn,style:n,disabled:i,onClick:a,...s,children:t})}const ym="univer-sheet-bar-menu",Om="univer-sheet-bar-menu-item",xm="univer-sheet-bar-menu-item-icon",Nm="univer-sheet-bar-menu-item-hide",Am="univer-sheet-bar-menu-item-select",Dm="univer-sheet-bar-menu-item-label",Qe={sheetBarMenu:ym,sheetBarMenuItem:Om,sheetBarMenuItemIcon:xm,sheetBarMenuItemHide:Nm,sheetBarMenuItemSelect:Am,sheetBarMenuItemLabel:Dm};function Pm(o){const{style:t}=o,[e,n]=V.useState([]),[i,r]=V.useState(!1),s=G.useDependency(l.IUniverInstanceService),a=G.useDependency(l.ICommandService),c=G.useDependency(Pt),u=I.useObservable(()=>s.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET),null,!1,[]),d=_=>{const{sheetId:p}=_;!p||!u||(_.hidden?a.executeCommand(S.SetWorksheetShowCommand.id,{unitId:u.getUnitId(),subUnitId:p,value:p}):_.selected||a.executeCommand(S.SetWorksheetActivateCommand.id,{unitId:u.getUnitId(),subUnitId:p}),r(!1))},h=V.useCallback(()=>{if(!u)return;const _=u.getSheets(),p=u.getActiveSheet(),v=_.map((M,b)=>({label:M.getName(),index:`${b}`,sheetId:M.getSheetId(),hidden:M.isSheetHidden()===l.BooleanNumber.TRUE,selected:p===M}));n(v)},[u]),m=V.useCallback(()=>a.onCommandExecuted(_=>{switch(_.id){case S.SetWorksheetHideMutation.id:case S.RemoveSheetMutation.id:case S.SetWorksheetNameMutation.id:case S.InsertSheetMutation.id:case S.SetWorksheetOrderMutation.id:case S.SetWorksheetActiveOperation.id:h();break}}),[a,h]);function g(){r(!0)}const f=_=>{r(_)};return V.useEffect(()=>{h();const _=new l.DisposableCollection;return _.add(m()),_.add(c.registerSheetBarMenuHandler({handleSheetBarMenu:g})),()=>_.dispose()},[m,c,h,u]),C.jsx(re.Dropdown,{placement:"topLeft",trigger:["click"],overlay:C.jsx("ul",{className:Qe.sheetBarMenu,style:{...t},children:e.map(_=>C.jsxs("li",{onClick:()=>d(_),className:_.selected?`${Qe.sheetBarMenuItem} ${Qe.sheetBarMenuItemSelect}`:_.hidden?`${Qe.sheetBarMenuItem} ${Qe.sheetBarMenuItemHide}`:Qe.sheetBarMenuItem,children:[C.jsx("span",{className:Qe.sheetBarMenuItemIcon,children:_.selected?C.jsx(Jt,{}):_.hidden?C.jsx($u,{}):C.jsx(Jt,{})}),C.jsx("span",{className:Qe.sheetBarMenuItemLabel,children:_.label})]},_.index))}),visible:i,onVisibleChange:f,children:C.jsx(Nn,{children:C.jsx(Vu,{})})})}const Hm="univer-slide-tab-bar-container",Lm="univer-slide-tab-bar",Um="univer-slide-tab-item",Vm="univer-slide-tab-active",Bm="univer-slide-tab-span",Fm="univer-slide-tab-span-edit",km="univer-slide-tab-item-dropdown",Re={slideTabBarContainer:Hm,slideTabBar:Lm,slideTabItem:Um,slideTabActive:Vm,slideTabSpan:Bm,slideTabSpanEdit:Fm,slideTabItemDropdown:km};function Wm(o){const{sheetId:t,label:e,color:n,selected:i}=o,[r,s]=V.useState(i),a=G.useDependency(l.ThemeService);V.useEffect(()=>{s(i)},[i]);const c=u=>{const d=a.getCurrentTheme(),h=d.textColor,m=d.colorWhite;return new l.ColorKit(u).isDark()?m:h};return C.jsx("div",{"data-id":t,className:r?`${Re.slideTabActive} ${Re.slideTabItem}`:Re.slideTabItem,style:{backgroundColor:!r&&n?n:"",color:!r&&n?c(n):"",boxShadow:r&&n?`0px 0px 8px rgba(0, 0, 0, 0.08), inset 0px -2px 0px 0px ${n}`:""},children:C.jsx("span",{className:Re.slideTabSpan,children:e})},t)}const jm={easeOutStrong(o,t,e,n){return-e*((o=o/n-1)*o*o*o-1)+t},backOut(o,t,e,n,i){return typeof i>"u"&&(i=.7),e*((o=o/n-1)*o*((i+1)*o+i)+1)+t}},$m={loop:!1,begin:0,end:0,duration:300,delay:0,type:"easeOutStrong",receive(o){},success(o){},cancel(o){},complete(o){}};class zm{constructor(t){R(this,"_config");R(this,"_status",0);R(this,"_start",0);R(this,"_handle",0);R(this,"_delayHandle",null);this._config={...$m,...t},this._config.loop&&(this._config.complete=()=>{},this._config.success=()=>{this.request()})}static success(...t){let e=0;return new Promise(n=>{for(let i=0;i<t.length;i++){const r=t[i],s=r._config,a=s.success;s.loop||(s.success=u=>{e++,a&&a.call(r,u),e===t.length&&n()})}})}request(){this._config.delay===0?(this._status=0,this._start=Date.now(),this._fakeHandle()):(this._delayHandle&&clearTimeout(this._delayHandle),this._delayHandle=setTimeout(()=>{this._status=0,this._start=Date.now(),this._fakeHandle()},this._config.delay))}cancel(){this._status=1,this._delayHandle&&clearTimeout(this._delayHandle),cancelAnimationFrame(this._handle)}_fakeHandle(){let t=Date.now()-this._start;t=t>=this._config.duration?this._config.duration:t;const n=jm[this._config.type](t,this._config.begin,this._config.end-this._config.begin,this._config.duration,.7).toFixed(2);if(this._config.receive(n),this._status===1){this._config.cancel(n),this._config.complete(n);return}if(t===this._config.duration){this._config.success(n),this._config.complete(n);return}this._handle=requestAnimationFrame(()=>{this._fakeHandle()})}}class ut{constructor(t,e){R(this,"_slideTabItem");R(this,"_animate");R(this,"_midline",0);R(this,"_translateX");R(this,"_scrollbar");R(this,"_slideTabBar");R(this,"_editMode");R(this,"_placeholder");this._slideTabItem=t,this._animate=null,this._translateX=0,this._editMode=!1,this._slideTabBar=e,this._placeholder=null,this._scrollbar=e.getScrollbar(),this.update()}static midline(t){return t.getBoundingRect().x+t.getBoundingRect().width/2}static leftLine(t){return t.getBoundingRect().x}static rightLine(t){return t.getBoundingRect().x+t.getBoundingRect().width}static make(t,e){const n=[];return t.forEach(i=>n.push(new ut(i,e))),n}getSlideTabItem(){return this._slideTabItem}getEditor(){return this._slideTabItem.querySelector("span")}focus(){var t;(t=this.getEditor())==null||t.focus()}selectAll(){const t=this.getEditor();t&&Mt.keepSelectAll(t)}isEditMode(){return this._editMode}classList(){return this._slideTabItem.classList}translateX(t){return this._translateX=t,this._slideTabItem.style.transform=`translateX(${t}px)`,this.getTranslateXDirection()}setEditor(t){let e=!0;if(this._editMode===!1){const n=this._slideTabItem.querySelector("span"),i=u=>{if(!this.nameCheck()){if(this._editMode=!1,n&&(n.removeAttribute("contentEditable"),n.removeEventListener("blur",i),n.removeEventListener("compositionstart",s),n.removeEventListener("compositionend",a),n.removeEventListener("input",c),n.removeEventListener("keydown",r),n.classList.remove(this._slideTabBar.getConfig().slideTabBarSpanEditClassName)),this._slideTabBar.removeListener(),this._slideTabBar.updateItems(),this._slideTabBar.getConfig().onChangeName){const d=(n==null?void 0:n.innerText)||"",h=this.getId();this._slideTabBar.getConfig().onChangeName(h,d)}t&&t(u)}};let r=u=>{n&&(u.stopPropagation(),u.key==="Enter"&&n.blur())};const s=u=>{e=!1},a=u=>{e=!0},c=u=>{if(!n)return;const d=50;setTimeout(()=>{if(e){const h=n.innerText;h.length>d&&(n.innerText=h.substring(0,d),Mt.keepLastIndex(n))}},0)};n&&(n.setAttribute("contentEditable","true"),n.addEventListener("blur",i),n.addEventListener("compositionstart",s),n.addEventListener("compositionend",a),n.addEventListener("input",c),n.addEventListener("keydown",r),n.classList.add(this._slideTabBar.getConfig().slideTabBarSpanEditClassName),this._editMode=!0,Mt.keepSelectAll(n))}}nameCheck(){const t=this._slideTabItem.querySelector("span");if(!t)return!1;const e=t.innerText;return this._slideTabBar.getConfig().onNameCheckAlert(e)}animate(){return{translateX:t=>{this._translateX!==t&&(this._animate&&(this._animate.cancel(),this._animate=null),this._animate=new zm({begin:this._translateX,end:t,receive:e=>{this._slideTabItem.style.transform=`translateX(${e}px)`}}),this._translateX=t,this._animate.request())},cancel:()=>{this._animate&&(this._animate.cancel(),this._animate=null)}}}after(t){this._slideTabItem.after(t._slideTabItem||t)}update(){this._midline=ut.midline(this)}disableFixed(){if(this._placeholder){const t=this._slideTabBar.primeval();this._slideTabItem.style.removeProperty("position"),this._slideTabItem.style.removeProperty("left"),this._slideTabItem.style.removeProperty("top"),this._slideTabItem.style.removeProperty("width"),this._slideTabItem.style.removeProperty("height"),this._slideTabItem.style.removeProperty("background"),this._slideTabItem.style.removeProperty("padding"),this._slideTabItem.style.removeProperty("box-sizing"),this._slideTabItem.style.removeProperty("font-size"),this._slideTabItem.style.removeProperty("font-family"),this._slideTabItem.style.removeProperty("font-weight"),this._slideTabItem.style.removeProperty("color"),this._slideTabItem.style.removeProperty("border-radius"),this._placeholder.after(this._slideTabItem),t.removeChild(this._placeholder),this._placeholder=null}}enableFixed(){const t=document.createElement("div"),e=this.getBoundingRect(),n=getComputedStyle(this._slideTabItem),i=this._slideTabItem.querySelector("span");if(this._placeholder=t,this._placeholder.style.width=`${e.width}px`,this._placeholder.style.height=`${e.height}px`,this._placeholder.style.flexShrink="0",this._placeholder.style.margin=n.margin,this._slideTabItem.style.background=n.background,i){const r=getComputedStyle(i).padding;this._slideTabItem.style.padding=r}this._slideTabItem.style.boxSizing=n.boxSizing,this._slideTabItem.style.fontSize=n.fontSize,this._slideTabItem.style.fontFamily=n.fontFamily,this._slideTabItem.style.fontWeight=n.fontWeight,this._slideTabItem.style.color=n.color,this._slideTabItem.style.borderRadius=n.borderRadius,this._slideTabItem.style.left=`${e.x-this.getScrollbar().getScrollX()}px`,this._slideTabItem.style.top=`${e.y}px`,this._slideTabItem.style.width=`${e.width}px`,this._slideTabItem.style.height=`${e.height}px`,this._slideTabItem.style.position="fixed",this._slideTabItem.after(t),document.body.appendChild(this._slideTabItem)}addEventListener(t,e,n){this._slideTabItem.addEventListener(t,e,n)}removeEventListener(t,e,n){this._slideTabItem.removeEventListener(t,e,n)}getScrollbar(){return this._scrollbar}getMidLine(){return this._midline}getBoundingRect(){const t=this._slideTabItem.getBoundingClientRect();return t.x+=this._scrollbar.getScrollX(),t}getWidth(){return this.getBoundingRect().width}getTranslateXDirection(){const t=ut.midline(this);return t>this._midline?1:t<this._midline?-1:0}equals(t){return t&&t._slideTabItem===this._slideTabItem}getId(){return this._slideTabItem.dataset.id||""}}class Ym{constructor(t){R(this,"_slideTabBar");R(this,"_scrollX");const e=t.primeval();this._scrollX=e.scrollLeft,this._slideTabBar=t}scrollX(t){const e=this._slideTabBar.primeval();e.scrollLeft=t,this._scrollX=e.scrollLeft}scrollRight(){const t=this._slideTabBar.primeval();t.scrollLeft=t.scrollWidth,this._scrollX=t.scrollLeft}getScrollX(){return this._scrollX}}const It=class It{constructor(t){R(this,"_activeTabItemIndex",0);R(this,"_slideTabBar");R(this,"_slideTabItems",[]);R(this,"_config");R(this,"_downActionX",0);R(this,"_moveActionX",0);R(this,"_compareIndex",0);R(this,"_activeTabItem",null);R(this,"_moveAction");R(this,"_upAction");R(this,"_downAction");R(this,"_wheelAction");R(this,"_scrollIncremental",0);R(this,"_compareDirection",0);R(this,"_autoScrollTime",null);R(this,"_slideScrollbar");R(this,"_longPressTimer",null);R(this,"_leftBoundingLine",0);R(this,"_rightBoundingLine",0);R(this,"_leftMoveX",0);R(this,"_rightMoveX",0);var s;if(t.slideTabBarContainer==null)throw new Error("not found slide-tab-bar root element");const e=t.slideTabBarContainer.querySelector(`.${(s=t.slideTabBarClassName)!=null?s:"slide-tab-bar"}`);if(e==null)throw new Error("not found slide-tab-bar");this._slideTabBar=e,this._slideScrollbar=new Ym(this),this._config=t,this._initConfig();let n=0,i=0,r=0;this._downAction=a=>{var y,O,x,A,F,N;if((y=this._activeTabItem)!=null&&y.isEditMode())return;const c=(x=(O=a.target)==null?void 0:O.closest(`.${t.slideTabBarItemClassName}`))==null?void 0:x.getAttribute("data-id"),u=this._slideTabItems.findIndex(L=>L.getId()===c);if(c==null||u===-1)return;if(this._activeTabItemIndex!==u){(A=this._activeTabItem)==null||A.removeEventListener("pointermove",this._moveAction),(F=this._activeTabItem)==null||F.removeEventListener("pointerup",this._upAction),this.removeListener(),this._config.onChangeTab(a,c);return}if(this._compareIndex=u,this._downActionX=a.pageX,this._moveActionX=0,this._scrollIncremental=0,this._activeTabItem=this._slideTabItems[u],!this._activeTabItem){console.error("Not found active slide-tab-item in sheet bar");return}const d=this._activeTabItem.getSlideTabItem();d==null||d.setPointerCapture(a.pointerId),(N=this._activeTabItem)==null||N.addEventListener("pointerup",this._upAction);const{x:h,width:m}=this._activeTabItem.getBoundingRect(),{x:g,width:f}=this.getBoundingRect(),_=this._slideScrollbar.getScrollX();if(this._leftBoundingLine=this._downActionX-(h-_),this._rightBoundingLine=h-_+m-this._downActionX,this._leftMoveX=h-g-_,this._rightMoveX=g+f-(h+m)+_,a.button===2||this._hasEditItem())return;const{pageX:p,pageY:v}=a,M=Date.now(),b=M-r<=It.DoubleClickDelay,T=Math.abs(p-n)<10,w=Math.abs(v-i)<10;b&&T&&w&&this._activeTabItem.setEditor(),n=p,i=v,r=M,this._longPressTimer=setTimeout(()=>{var L,B;(L=this._activeTabItem)==null||L.enableFixed(),this._startAutoScroll(),d&&(d.setPointerCapture(a.pointerId),d.style.cursor="move",(B=this._activeTabItem)==null||B.addEventListener("pointermove",this._moveAction))},It.LongPressDelay)},this._upAction=a=>{var u,d,h;if(this._longPressTimer&&(clearTimeout(this._longPressTimer),this._longPressTimer=null),!this._activeTabItem)return;this._closeAutoScroll(),this._activeTabItem.disableFixed(),this.updateItems();const c=(u=this._activeTabItem)==null?void 0:u.getSlideTabItem();c&&(c.style.cursor="",c.releasePointerCapture(a.pointerId),(d=this._activeTabItem)==null||d.removeEventListener("pointermove",this._moveAction),(h=this._activeTabItem)==null||h.removeEventListener("pointerup",this._upAction),this._config.onSlideEnd&&this._activeTabItemIndex!==this._compareIndex&&(this.removeListener(),this._config.onSlideEnd(a,this._compareIndex||0)),this._scrollIncremental=0,this._downActionX=0,this._moveActionX=0,this._compareIndex=0)},this._moveAction=a=>{this._activeTabItem&&(this._moveActionX=a.pageX-this._downActionX,this._moveActionX<=-this._leftMoveX?this._moveActionX=-this._leftMoveX:this._moveActionX>=this._rightMoveX&&(this._moveActionX=this._rightMoveX),this._scrollIncremental=0,this._scrollLeft(a),this._scrollRight(a))},this._wheelAction=a=>{this.setScroll(a.deltaY)},this.addListener()}static checkedSkipSlide(t){let e=t.target;for(;e!=null&&e!==document.body;){if(e.getAttribute("data-slide-skip"))return!0;e=e.parentElement}return!1}static keepLastIndex(t){setTimeout(()=>{const e=window.getSelection();e&&(e.selectAllChildren(t),e.collapseToEnd())})}static keepSelectAll(t){setTimeout(()=>{const e=window.getSelection();if(!e)return;const n=document.createRange();n.selectNodeContents(t),e.removeAllRanges(),e.addRange(n)})}update(t){this._config.currentIndex=t,this._initConfig(),this.removeListener(),this.addListener()}primeval(){return this._slideTabBar}updateItems(){for(let t=0;t<this._slideTabItems.length;t++)this._slideTabItems[t].animate().cancel(),this._slideTabItems[t].translateX(0),this._slideTabItems[t].update()}getScrollbar(){return this._slideScrollbar}getConfig(){return this._config}getBoundingRect(){return this._slideTabBar.getBoundingClientRect()}getSlideTabItems(){return this._slideTabItems}getActiveItem(){return this._activeTabItem}isLeftEnd(){return this._slideTabBar.scrollLeft===0}isRightEnd(){const t=this._slideTabBar.parentElement;return t?this._slideTabBar.scrollWidth-t.clientWidth===this._slideTabBar.scrollLeft:!1}addListener(){this._slideTabBar.addEventListener("wheel",this._wheelAction),this._slideTabItems.forEach(t=>{t.addEventListener("pointerdown",this._downAction)})}removeListener(){this._slideTabBar.removeEventListener("wheel",this._wheelAction),this._slideTabItems.forEach(t=>{t.removeEventListener("pointerdown",this._downAction)})}setScroll(t){if(this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+t),t>0){const e=this.calculateLeftScrollX();this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}else if(t<0){const e=this.calculateRightScrollX();this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}flipPage(t){if(t>0){const e=this.calculateLeftScrollX(!0);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}else if(t<0){const e=this.calculateRightScrollX(!0);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}calculateLeftScrollX(t){let e=0;const n=4;return this._slideTabItems.some(i=>{const r=this._slideTabBar.getBoundingClientRect(),s=r.left+r.width,a=i.getSlideTabItem().getBoundingClientRect(),c=a.left,u=a.width;return c<s&&c+u+n*2>s?(e=t?c-r.left-n:c+u-s+n,!0):!1}),e}calculateRightScrollX(t){let e=0;const n=4;return this._slideTabItems.some(i=>{const r=this._slideTabBar.getBoundingClientRect(),s=r.left,a=i.getSlideTabItem().getBoundingClientRect(),c=a.left,u=a.width;return c-n*2<s&&c+u>s?(e=t?c+u-r.left-r.width+n:c-s-n,!0):!1}),e}destroy(){this._downActionX=0,this._moveActionX=0,this._compareDirection=0,this._compareIndex=0,this._slideTabItems=[],this._activeTabItem=null,this.removeListener()}_hasEditItem(){for(let t=0;t<this._slideTabItems.length;t++)if(this._slideTabItems[t].isEditMode())return!0;return!1}_autoScrollFrame(){if(this._activeTabItem)switch(this._compareDirection=this._activeTabItem.translateX(this._moveActionX),this._compareDirection){case 1:{this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareRight();break}case 0:{this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareIndex=this._activeTabItemIndex;break}case-1:{this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareLeft();break}}this._autoScrollTime=requestAnimationFrame(()=>{this._autoScrollFrame()})}_startAutoScroll(){this._autoScrollTime==null&&this._autoScrollFrame()}_closeAutoScroll(){this._autoScrollTime&&cancelAnimationFrame(this._autoScrollTime),this._autoScrollTime=null}_scrollLeft(t){const e=this.getBoundingRect(),n=t.pageX-e.x;n<this._leftBoundingLine&&(this._scrollIncremental=-Math.min(Math.abs(n-this._leftBoundingLine)*.1,50))}_scrollRight(t){const e=this.getBoundingRect(),n=t.pageX-e.x;n>e.width-this._rightBoundingLine&&(this._scrollIncremental=Math.min(Math.abs(n-(e.width-this._rightBoundingLine))*.1,50))}_sortedItems(){if(this._activeTabItem!=null&&this._activeTabItemIndex!=null&&this._compareIndex!=null&&(this._slideTabItems.splice(this._activeTabItemIndex,1),this._slideTabItems.splice(this._compareIndex,0,this._activeTabItem),this._config.slideTabBarItemAutoSort))for(let t=0;t<this._slideTabItems.length;t++){const e=this._slideTabItems[t],n=this._slideTabItems[t+1];n&&e.after(n)}}_compareLeft(){if(this._activeTabItem&&this._activeTabItemIndex){const t=this._slideTabItems.findIndex(r=>r.equals(this._activeTabItem)),e=this._slideTabItems.length,n=[];for(let r=0;r<t&&!(r>=t);r++)n.push(this._slideTabItems[r]);for(let r=t+1;r<e;r++)this._slideTabItems[r].animate().translateX(0);let i=!0;for(let r=n.length-1;r>=0;r--){const s=n[r];ut.leftLine(this._activeTabItem)<s.getMidLine()?(s.animate().translateX(this._activeTabItem.getWidth()),this._compareIndex=r,i=!1):(s.animate().translateX(0),i&&(this._compareIndex=this._activeTabItemIndex))}}}_compareRight(){if(this._activeTabItem){const t=this._slideTabItems.findIndex(r=>r.equals(this._activeTabItem)),e=this._slideTabItems.length,n=[];for(let r=t+1;r<e;r++)n.push(this._slideTabItems[r]);for(let r=0;r<t;r++)this._slideTabItems[r].animate().translateX(0);let i=!0;for(let r=0;r<n.length;r++){const s=n[r];ut.rightLine(this._activeTabItem)>s.getMidLine()?(s.animate().translateX(-this._activeTabItem.getWidth()),this._compareIndex=t+r+1,i=!1):(s.animate().translateX(0),i&&(this._compareIndex=this._activeTabItemIndex))}}}_initConfig(){var e;const t=this._slideTabBar.querySelectorAll(`.${(e=this._config.slideTabBarItemClassName)!=null?e:"slide-tab-item"}`);this._downActionX=0,this._moveActionX=0,this._compareDirection=0,this._compareIndex=0,this._slideTabItems=ut.make(t,this),this._activeTabItemIndex=this._config.currentIndex,this._activeTabItem=this._slideTabItems[this._activeTabItemIndex]}};R(It,"LongPressDelay",500),R(It,"DoubleClickDelay",300);let Mt=It;function Xm(){const[o,t]=V.useState([]),[e,n]=V.useState(""),[i,r]=V.useState(""),[s,a]=V.useState(!1),[c,u]=V.useState([0,0]),d=V.useRef({slideTabBar:null}),h=V.useRef(null),m=G.useDependency(l.IUniverInstanceService),g=G.useDependency(l.ICommandService),f=G.useDependency(Pt),_=G.useDependency(l.LocaleService),p=G.useDependency(I.IConfirmService),v=G.useDependency(Ne),M=G.useDependency(Ee),b=m.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);V.useEffect(()=>{N();const P=T(),H=F(),k=[L(),B(),j(),z()];return()=>{H.dispose(),P.destroy(),k.forEach(Y=>Y.unsubscribe())}},[]),V.useEffect(()=>{o.length>0&&A()},[o]);const T=()=>{const P=new Mt({slideTabBarClassName:Re.slideTabBar,slideTabBarItemActiveClassName:Re.slideTabActive,slideTabBarItemClassName:Re.slideTabItem,slideTabBarSpanEditClassName:Re.slideTabSpanEdit,slideTabBarItemAutoSort:!0,slideTabBarContainer:h.current,currentIndex:0,onChangeName:(H,k)=>{g.executeCommand(S.SetWorksheetNameCommand.id,{subUnitId:H,name:k})},onSlideEnd:(H,k)=>{g.executeCommand(S.SetWorksheetOrderCommand.id,{order:k})},onChangeTab:(H,k)=>{g.executeCommand(S.SetWorksheetActiveOperation.id,{subUnitId:k,unitId:b.getUnitId()}).then(()=>{H.button===2&&Q(!0)})},onScroll:H=>{f.setScroll(H)},onNameCheckAlert:H=>w(H)||y(H)});return d.current.slideTabBar=P,$(P),P},w=P=>{if(P.trim()===""){const H="sheetNameEmptyAlert";return p.open({id:H,title:{title:_.t("sheetConfig.sheetNameErrorTitle")},children:{title:_.t("sheetConfig.sheetNameCannotIsEmptyError")},cancelText:_.t("button.cancel"),confirmText:_.t("button.confirm"),onClose(){O(),p.close(H)},onConfirm(){O(),p.close(H)}}),!0}return!1},y=P=>{const H=m.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(H.getActiveSheet().getName()===P)return!1;const X=H.checkSheetName(P);if(X){const J="sheetNameRepeatAlert";p.open({id:J,title:{title:_.t("sheetConfig.sheetNameErrorTitle")},children:{title:_.t("sheetConfig.sheetNameAlreadyExistsError")},cancelText:_.t("button.cancel"),confirmText:_.t("button.confirm"),onClose(){p.close(J),O()},onConfirm(){p.close(J),O()}})}return X},O=()=>{v.endSelection(),setTimeout(()=>{var H;const P=(H=d.current.slideTabBar)==null?void 0:H.getActiveItem();P&&(P.focus(),P.selectAll())},0)},x=()=>{var P,H;(H=(P=d.current.slideTabBar)==null?void 0:P.getActiveItem())==null||H.setEditor()},A=()=>{var H;const P=o.findIndex(k=>k.selected);(H=d.current.slideTabBar)==null||H.update(P)},F=()=>g.onCommandExecuted(P=>{switch(P.id){case S.SetTabColorMutation.id:case S.SetWorksheetHideMutation.id:case S.RemoveSheetMutation.id:case S.SetWorksheetNameMutation.id:case S.InsertSheetMutation.id:case S.SetWorksheetOrderMutation.id:case S.SetWorksheetActiveOperation.id:N();break}}),N=()=>{const P=b.getActiveSheet().getSheetId();n(P);const H=b.getSheets(),k=b.getActiveSheet(),Y=H.filter(X=>!X.isSheetHidden()).map((X,J)=>{var ee;return{sheetId:X.getSheetId(),label:X.getName(),index:J,selected:k===X,color:(ee=X.getTabColor())!=null?ee:void 0}});t(Y)},L=()=>f.scroll$.subscribe(P=>{q(P)}),B=()=>f.scrollX$.subscribe(P=>{var H;(H=d.current.slideTabBar)==null||H.flipPage(P)}),j=()=>f.renameId$.subscribe(()=>{x()}),z=()=>f.addSheet$.subscribe(()=>{var P;(P=d.current.slideTabBar)==null||P.getScrollbar().scrollRight()}),q=P=>{const{leftEnd:H,rightEnd:k}=P;let Y="";H&&k?Y="":H&&!k?Y="inset -10px 0px 10px -10px rgba(0, 0, 0, 0.2)":!H&&k?Y="inset 10px 0px 10px -10px rgba(0, 0, 0, 0.2)":!H&&!k&&(Y="inset 10px 0px 10px -10px rgba(0, 0, 0, 0.2), inset -10px 0px 10px -10px rgba(0, 0, 0, 0.2)"),r(Y)},K=P=>{f.setScroll({leftEnd:P.isLeftEnd(),rightEnd:P.isRightEnd()})},$=P=>{var Y;const H=(Y=h.current)==null?void 0:Y.querySelector(`.${Re.slideTabBar}`);if(!H)return;new ResizeObserver(()=>{K(P)}).observe(H)},Q=P=>{var H,k,Y,X,J;if(!M.isForceKeepVisible()){if(P){const{left:ee}=(k=(H=h.current)==null?void 0:H.getBoundingClientRect())!=null?k:{},{left:ce}=(J=(X=(Y=d.current.slideTabBar)==null?void 0:Y.getActiveItem())==null?void 0:X.getSlideTabItem().getBoundingClientRect())!=null?J:{};ee!==void 0&&ce!==void 0&&u([ce-ee,0])}a(P)}};return C.jsx(re.Dropdown,{className:Re.slideTabItemDropdown,visible:s,align:{offset:c},trigger:["contextMenu"],overlay:C.jsx(I.Menu,{menuType:le.SHEET_BAR,onOptionSelect:P=>{const{label:H,value:k}=P;g.executeCommand(H,{value:k,subUnitId:e}),a(!1)}}),onVisibleChange:Q,children:C.jsx("div",{className:Re.slideTabBarContainer,ref:h,children:C.jsx("div",{className:Re.slideTabBar,style:{boxShadow:i},children:o.map(P=>V.createElement(Wm,{...P,key:P.sheetId,selected:e===P.sheetId}))})})})}const cr=100,Gm=()=>{const[o,t]=V.useState(!0),[e,n]=V.useState(!0),i=G.useDependency(l.ICommandService),r=G.useDependency(Pt);V.useEffect(()=>{const d=r.scroll$.subscribe(h=>{s(h)});return()=>{d.unsubscribe()}},[]);const s=d=>{const{leftEnd:h,rightEnd:m}=d;t(h),n(m)},a=()=>{i.executeCommand(S.InsertSheetCommand.id),setTimeout(()=>{r.setAddSheet(0)},0)},c=()=>{r.setScrollX(-cr)},u=()=>{r.setScrollX(cr)};return C.jsxs("div",{className:fn.sheetBar,children:[C.jsxs("div",{className:fn.sheetBarOptions,children:[C.jsx(Nn,{onClick:a,children:C.jsx(bs,{})}),C.jsx(Pm,{})]}),C.jsx(Xm,{}),(!o||!e)&&C.jsxs("div",{className:`${fn.sheetBarOptions} ${fn.sheetBarOptionsDivider}`,children:[C.jsx(Nn,{disabled:o,onClick:c,children:C.jsx(or,{style:{transform:"rotateZ(180deg)"}})}),C.jsx(Nn,{disabled:e,onClick:u,children:C.jsx(or,{})})]})]})};class Zm{constructor(){R(this,"_functions",[{func:Z.FUNCTION_NAMES_STATISTICAL.MAX,filter:t=>{var e,n,i,r;return((n=(e=t.values.find(s=>s.func===Z.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?n:0)>1&&((r=(i=t.values.find(s=>s.func===Z.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:i.value)!=null?r:0)>0}},{func:Z.FUNCTION_NAMES_STATISTICAL.MIN,filter:t=>{var e,n,i,r;return((n=(e=t.values.find(s=>s.func===Z.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?n:0)>1&&((r=(i=t.values.find(s=>s.func===Z.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:i.value)!=null?r:0)>0}},{func:Z.FUNCTION_NAMES_MATH.SUM,filter:t=>{var e,n,i,r;return((n=(e=t.values.find(s=>s.func===Z.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?n:0)>1&&((r=(i=t.values.find(s=>s.func===Z.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:i.value)!=null?r:0)>0}},{func:Z.FUNCTION_NAMES_STATISTICAL.COUNTA,filter:t=>{var e,n;return((n=(e=t.values.find(i=>i.func===Z.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?n:0)>1}},{func:Z.FUNCTION_NAMES_STATISTICAL.COUNT,filter:t=>{var e,n,i,r;return((n=(e=t.values.find(s=>s.func===Z.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?n:0)>1&&((r=(i=t.values.find(s=>s.func===Z.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:i.value)!=null?r:0)>0}},{func:Z.FUNCTION_NAMES_STATISTICAL.AVERAGE,filter:t=>{var e,n,i,r;return((n=(e=t.values.find(s=>s.func===Z.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?n:0)>1&&((r=(i=t.values.find(s=>s.func===Z.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:i.value)!=null?r:0)>0}}]);R(this,"_state$",new U.BehaviorSubject(null));R(this,"state$",this._state$.asObservable())}dispose(){this._state$.complete()}setState(t){var n;const e={values:[],pattern:null};t==null||t.values.forEach(i=>{const r=this._functions.find(s=>s.func===i.func);r&&(r.filter===void 0||r.filter(t))&&e.values.push(i)}),e.pattern=(n=t==null?void 0:t.pattern)!=null?n:null,this._state$.next(e)}getState(){return this._state$.getValue()}getFunctions(){return this._functions}addFunctions(t){this._functions.push(...t)}}const hi=D.createIdentifier("univer.sheet-status-bar.service"),Km="univer-status-bar",qm="univer-single-mode",Qm="univer-status-bar-div",Jm="univer-statistic-list",eg="univer-statistic-list-column",tg="univer-statistic-item",ng="univer-statistic-picker",og="univer-statistic-picker-item",ig="univer-statistic-more",Ct={statusBar:Km,singleMode:qm,statusBarDiv:Qm,statisticList:Jm,statisticListColumn:eg,statisticItem:tg,statisticPicker:ng,statisticPickerItem:og,statisticMore:ig},rg=[Z.FUNCTION_NAMES_MATH.SUM,Z.FUNCTION_NAMES_STATISTICAL.AVERAGE,Z.FUNCTION_NAMES_STATISTICAL.MIN,Z.FUNCTION_NAMES_STATISTICAL.MAX],po={[Z.FUNCTION_NAMES_MATH.SUM]:"statusbar.sum",[Z.FUNCTION_NAMES_STATISTICAL.AVERAGE]:"statusbar.average",[Z.FUNCTION_NAMES_STATISTICAL.MIN]:"statusbar.min",[Z.FUNCTION_NAMES_STATISTICAL.MAX]:"statusbar.max",[Z.FUNCTION_NAMES_STATISTICAL.COUNT]:"statusbar.count",[Z.FUNCTION_NAMES_STATISTICAL.COUNTA]:"statusbar.countA",[Z.FUNCTION_NAMES_TEXT.CONCATENATE]:"concatenate"},Co=o=>{const t=G.useDependency(l.LocaleService),e=G.useDependency(I.IMessageService),n=G.useDependency(I.IClipboardInterfaceService),i=sg(o),r=async()=>{await n.writeText(o.value.toString()),e.show({type:re.MessageType.Success,content:t.t("statusbar.copied")})};return C.jsx(re.Tooltip,{title:t.t("statusbar.clickToCopy"),placement:"top",children:C.jsx("div",{className:Ct.statisticItem,onClick:r,children:C.jsx("span",{children:`${t.t((po==null?void 0:po[o.name])||o.name)}: ${i}`})},o.name)})};function sg(o){const{pattern:t,value:e}=o;return typeof e!="number"?"Invalid input":e>=1e8?e.toExponential(2):t&&rg.includes(o.name)?Rn.format(t,e):e.toLocaleString()}const dr=800,ag=3,lg=()=>{const[o,t]=V.useState(window.innerWidth<dr),[e,n]=V.useState(!0),i=G.useDependency(hi),r=i.getFunctions().map((m,g)=>({name:m.func,value:0,show:!0,disable:!1,pattern:null})),[s,a]=V.useState(r),c=s.find(m=>m.show&&!m.disable),u=o&&c?[c]:s.filter(m=>m.show&&!m.disable);V.useEffect(()=>{const m=i.state$.subscribe(g=>{const f=g==null?void 0:g.values;if(!f||f.length===0)n(!1);else{n(!0);const _=s.map(p=>{var M;const v=f.find(b=>b.func===p.name);return v?(p.value=v.value,p.disable=!1):p.disable=!0,p.pattern=(M=g==null?void 0:g.pattern)!=null?M:null,p});a(_)}});return()=>{m.unsubscribe()}},[i]);const d=l.debounce(()=>{const m=window.innerWidth<dr;o!==m&&t(m)},100);V.useEffect(()=>(window.addEventListener("resize",d),()=>{window.removeEventListener("resize",d)}),[o]);let h=null;if(u.length>ag){const m=[];u.forEach((g,f)=>{f%2===0&&m.push(u.slice(f,f+2))}),h=C.jsxs(C.Fragment,{children:[" ",m.map((g,f)=>C.jsxs("div",{className:Ct.statisticListColumn,children:[(g==null?void 0:g[0])&&C.jsx(Co,{...g==null?void 0:g[0]},g==null?void 0:g[0].name),(g==null?void 0:g[1])&&C.jsx(Co,{...g==null?void 0:g[1]},g==null?void 0:g[1].name)]},`stat-col-${f}`))," "]})}else h=C.jsx(C.Fragment,{children:u.map(m=>C.jsx(Co,{...m},m.name))});return e&&C.jsxs("div",{className:Oe(Ct.statusBar,{[Ct.singleMode]:o}),children:[C.jsx("div",{className:Oe(Ct.statisticList),children:h}),C.jsx("div",{className:Ct.statusBarDiv})]})};function cg(){const o=G.useDependency(l.IUniverInstanceService);return I.useObservable(()=>o.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET),null,!1,[])?C.jsxs("section",{className:ts.sheetContainer,"data-range-selector":!0,children:[C.jsx(Gm,{}),C.jsx(lg,{}),C.jsx(Rh,{})]}):null}function dg(){const o=G.useDependency(l.IUniverInstanceService);return I.useObservable(()=>o.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET),null,!1,[])?C.jsx(um,{}):null}function ug(){const o=G.useDependency(l.IUniverInstanceService);return I.useObservable(()=>o.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET),null,!1,[])?C.jsxs(C.Fragment,{children:[C.jsx(Th,{}),C.jsx(Rm,{})]}):null}const vo={width:"100%"},ur=o=>{const{inputId:t,state:e=!1,type:n="range",confirm:i,cancel:r,name:s,formulaOrRefString:a,comment:c="",localSheetId:u=zo,hidden:d=!1,id:h}=o,g=G.useDependency(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),f=G.useDependency(l.LocaleService),_=G.useDependency(Z.IDefinedNamesService),p=G.useDependency(Z.IFunctionService),v=G.useDependency(Z.LexerTreeBuilder);if(g==null)return;const M=g.getUnitId();g.getActiveSheet().getSheetId();const[b,T]=V.useState(s),[w,y]=V.useState(a),[O,x]=V.useState(c),[A,F]=V.useState(u),[N,L]=V.useState(""),[B,j]=V.useState(n),[z,q]=V.useState(!0),K=[{label:f.t("definedName.scopeWorkbook"),value:zo}],$=X=>!Z.isReferenceStrings(X);V.useEffect(()=>{q(!0),T(s),x(c),F(u);let X=a;a.substring(0,1)===Z.operatorToken.EQUALS?j("formula"):$(a)?(j("formula"),X=Z.operatorToken.EQUALS+a):j("range"),y(X),L("")},[e]),g.getSheetOrders().forEach(X=>{const J=g.getSheetBySheetId(X);K.push({label:(J==null?void 0:J.getName())||"",value:X})});const Q=X=>X.map(ee=>{var ce;return Z.serializeRangeToRefString({...ee,sheetName:((ce=g.getSheetBySheetId(ee.sheetId))==null?void 0:ce.getName())||""})}).join(","),P=X=>{y(Q(X))},H=X=>{y(X||"")},k=()=>{if(b.length===0){L(f.t("definedName.nameEmpty"));return}if(_.getValueByName(M,b)!=null&&(h==null||h.length===0)){L(f.t("definedName.nameDuplicate"));return}if(!l.Tools.isValidParameter(b)||Z.isReferenceStringWithEffectiveColumn(b)||!l.Tools.isStartValidPosition(b)&&!E.hasCJKText(b.substring(0,1))){L(f.t("definedName.nameInvalid"));return}if(g.getSheetOrders().map(J=>{var ee;return((ee=g.getSheetBySheetId(J))==null?void 0:ee.getName())||""}).includes(b)){L(f.t("definedName.nameSheetConflict"));return}if(w.length===0){L(f.t("definedName.formulaOrRefStringEmpty"));return}if(!z){L(f.t("definedName.formulaOrRefStringInvalid"));return}if(p.hasExecutor(b.toUpperCase())){L(f.t("definedName.nameConflict"));return}i&&i({id:h||"",name:b,formulaOrRefString:v.convertRefersToAbsolute(w,l.AbsoluteRefType.ALL,l.AbsoluteRefType.ALL),comment:O,localSheetId:A})},Y=X=>{const J=X;J==="formula"&&w.substring(0,1)!==Z.operatorToken.EQUALS?(y(`${Z.operatorToken.EQUALS}`),y(`${Z.operatorToken.EQUALS}`)):w.substring(0,1)===Z.operatorToken.EQUALS&&(y(""),y("")),j(J)};return C.jsxs("div",{className:ae.definedNameInput,style:{display:e?"block":"none"},children:[C.jsx("div",{children:C.jsx(re.Input,{placeholder:f.t("definedName.inputNamePlaceholder"),value:b,allowClear:!0,onChange:T,affixWrapperStyle:vo})}),C.jsx("div",{children:C.jsxs(re.RadioGroup,{value:B,onChange:Y,children:[C.jsx(re.Radio,{value:"range",children:f.t("definedName.ratioRange")}),C.jsx(re.Radio,{value:"formula",children:f.t("definedName.ratioFormula")})]})}),C.jsx("div",{style:{display:B==="range"?"block":"none"},children:C.jsx(I.RangeSelector,{value:w,onValid:q,onChange:P,placeholder:f.t("definedName.inputRangePlaceholder"),id:l.createInternalEditorID(`${t}-rangeSelector`),width:"99%",openForSheetUnitId:M},`${t}-rangeSelector`)}),C.jsx("div",{style:{display:B==="range"?"none":"block"},children:C.jsx(I.TextEditor,{value:w,onValid:q,onChange:H,id:l.createInternalEditorID(`${t}-editor`),placeholder:f.t("definedName.inputFormulaPlaceholder"),openForSheetUnitId:M,onlyInputFormula:!0,style:{width:"99%"},canvasStyle:{fontSize:10}},`${t}-editor`)}),C.jsx("div",{children:C.jsx(re.Select,{style:vo,value:A,options:K,onChange:F})}),C.jsx("div",{children:C.jsx(re.Input,{affixWrapperStyle:vo,placeholder:f.t("definedName.inputCommentPlaceholder"),value:O,onChange:x})}),C.jsxs("div",{style:{display:N.length===0?"none":"flex"},className:ae.definedNameInputValidation,children:[C.jsx("span",{children:N}),C.jsx(vs,{})]}),C.jsxs("div",{children:[C.jsx(re.Button,{onClick:()=>{r&&r()},children:f.t("definedName.cancel")}),C.jsx(re.Button,{style:{marginLeft:15},type:"primary",onClick:k,children:f.t("definedName.confirm")})]})]})},hg=()=>{const o=G.useDependency(l.ICommandService),e=G.useDependency(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),n=G.useDependency(l.LocaleService),i=G.useDependency(Z.IDefinedNamesService),r=G.useDependency(S.SelectionManagerService);if(e==null)return;const s=e.getUnitId(),a=()=>{const N=i.getDefinedNameMap(s);return N?Array.from(Object.values(N)):[]},[c,u]=V.useState(!1),[d,h]=V.useState(a()),[m,g]=V.useState(null),[f,_]=V.useState();V.useEffect(()=>{const N=i.update$.subscribe(()=>{h(a())});return()=>{N.unsubscribe()}},[]);const p=N=>{const{name:L,formulaOrRefString:B,comment:j,localSheetId:z,hidden:q}=N;let K=N.id;if(K==null||K.length===0)K=l.Tools.generateRandomId(10),o.executeCommand(S.InsertDefinedNameCommand.id,{id:K,unitId:s,name:L,formulaOrRefString:B,comment:j,localSheetId:z,hidden:q});else{const $=i.getValueById(s,K),Q={id:K,unitId:s,name:L,formulaOrRefString:B,comment:j,localSheetId:z,hidden:q};o.executeCommand(S.SetDefinedNameCommand.id,{unitId:s,oldDefinedName:{...$,unitId:s},newDefinedName:Q})}u(!1),g(null)},v=N=>{_(N)};function M(){_(null)}function b(N){const L=i.getValueById(s,N);o.executeCommand(S.RemoveDefinedNameCommand.id,{...L,unitId:s}),_(null)}const T=N=>{i.focusRange(s,N.id)},w=()=>{const N=d.length+1,L=n.t("definedName.defaultName")+N;if(i.getValueByName(s,L)==null)return L;let B=N+1;for(;;){const j=n.t("definedName.defaultName")+B;if(i.getValueByName(s,j)==null)return j;B++}},y=()=>{const N=e.getActiveSheet().getName(),L=r.getSelections();return L==null?"":L.map(j=>Z.serializeRangeWithSheet(N,j.range)).join(",")},O=()=>{u(!1),g(null)},x=()=>{u(!0),g(null)},A=N=>{u(!1),g(N)},F=N=>{const L=e.getSheetBySheetId(N);return L==null?"":L.getName()};return C.jsx("div",{className:ae.definedNameContainer,children:C.jsxs("div",{className:ae.definedNameContainerScroll,children:[C.jsxs("div",{children:[C.jsxs("div",{onClick:x,className:ae.definedNameContainerAddButton,style:{display:c?"none":"flex"},children:[C.jsx(bs,{}),C.jsx("span",{className:ae.definedNameContainerAddButtonText,children:n.t("definedName.addButton")})]}),C.jsx(ur,{confirm:p,cancel:O,state:c,inputId:"insertDefinedName",name:w(),formulaOrRefString:y()})]},"insertDefinedName"),d.map((N,L)=>C.jsxs("div",{children:[C.jsxs("div",{onClick:()=>{T(N)},className:ae.definedNameContainerItem,style:{display:N.id===m?"none":"flex"},children:[C.jsxs("div",{title:N.comment,children:[C.jsxs("div",{className:ae.definedNameContainerItemName,children:[N.name,C.jsx("span",{className:ae.definedNameContainerItemNameForSheet,children:N.localSheetId===zo||N.localSheetId==null?"":F(N.localSheetId)})]}),C.jsx("div",{className:ae.definedNameContainerItemFormulaOrRefString,children:N.formulaOrRefString})]}),C.jsx(re.Tooltip,{title:n.t("definedName.updateButton"),placement:"top",style:{pointerEvents:"none"},children:C.jsx("div",{className:Oe(ae.definedNameContainerItemUpdate,ae.definedNameContainerItemShow),onClick:()=>{A(N.id)},children:C.jsx(Jt,{})})}),C.jsx(re.Tooltip,{title:n.t("definedName.deleteButton"),placement:"top",style:{pointerEvents:"none"},children:C.jsx("div",{className:Oe(ae.definedNameContainerItemDelete,ae.definedNameContainerItemShow),onClick:()=>{v(N.id)},children:C.jsx(Fu,{})})})]}),C.jsx(re.Confirm,{visible:f===N.id,onClose:M,onConfirm:()=>{b(N.id)},children:n.t("definedName.deleteConfirmText")}),C.jsx(ur,{confirm:p,cancel:O,state:N.id===m,id:N.id,inputId:N.id+L,name:N.name,formulaOrRefString:N.formulaOrRefString,comment:N.comment,localSheetId:N.localSheetId})]},L))]})})};function mg(o){const t=o.get(S.BorderStyleManagerService),e=S.getCurrentSheetDisabled$(o);return{id:S.SetBorderBasicCommand.id,icon:new U.Observable(n=>{const i="AllBorderSingle",r=o.get(S.BorderStyleManagerService),s=o.get(l.ICommandService).onCommandExecuted(a=>{var m;if(a.id!==S.SetBorderBasicCommand.id)return;const{type:u}=r.getBorderInfo(),d=xs.find(g=>g.value===u),h=(m=d==null?void 0:d.icon)!=null?m:i;n.next(h)});return n.next(i),s.dispose}),group:I.MenuGroup.TOOLBAR_FORMAT,tooltip:"toolbar.border.main",positions:[I.MenuPosition.TOOLBAR_START],type:I.MenuItemType.BUTTON_SELECTOR,selections:[{label:{name:Os,hoverable:!1},value$:t.borderInfo$}],value$:t.borderInfo$,hidden$:I.getMenuHiddenObservable(o,l.UniverInstanceType.UNIVER_SHEET),disabled$:e}}const no="sheet.menu.clear-selection";function gg(o){return{id:no,group:I.MenuGroup.CONTEXT_MENU_FORMAT,type:I.MenuItemType.SUBITEMS,icon:"ClearFormat",title:"rightClick.clearSelection",positions:[I.MenuPosition.CONTEXT_MENU,le.COL_HEADER_CONTEXT_MENU,le.ROW_HEADER_CONTEXT_MENU]}}function fg(o){return{id:S.ClearSelectionContentCommand.id,type:I.MenuItemType.BUTTON,title:"rightClick.clearContent",positions:[no]}}function _g(o){return{id:S.ClearSelectionFormatCommand.id,type:I.MenuItemType.BUTTON,title:"rightClick.clearFormat",positions:[no]}}function Sg(o){return{id:S.ClearSelectionAllCommand.id,type:I.MenuItemType.BUTTON,title:"rightClick.clearAll",positions:[no]}}const an="sheet.menu.delete";function pg(o){return{id:an,group:I.MenuGroup.CONTEXT_MENU_LAYOUT,type:I.MenuItemType.SUBITEMS,title:"rightClick.delete",icon:"Reduce",positions:[I.MenuPosition.CONTEXT_MENU]}}function Cg(o){return{id:as.id,group:I.MenuGroup.CONTEXT_MENU_LAYOUT,type:I.MenuItemType.BUTTON,icon:"DeleteColumn",positions:[an,le.COL_HEADER_CONTEXT_MENU],title:"rightClick.deleteSelectedColumn"}}function vg(o){return{id:ss.id,group:I.MenuGroup.CONTEXT_MENU_LAYOUT,type:I.MenuItemType.BUTTON,icon:"DeleteRow",positions:[an,le.ROW_HEADER_CONTEXT_MENU],title:"rightClick.deleteSelectedRow"}}function Ig(o){return{id:di.id,group:I.MenuGroup.CONTEXT_MENU_LAYOUT,type:I.MenuItemType.BUTTON,title:"rightClick.moveLeft",icon:"DeleteCellShiftLeft",positions:[an]}}function Rg(o){return{id:jn.id,group:I.MenuGroup.CONTEXT_MENU_LAYOUT,type:I.MenuItemType.BUTTON,title:"rightClick.moveUp",icon:"DeleteCellShiftUp",positions:[an]}}const mi="sheet.menu.col-insert";function Mg(o){return{id:mi,group:I.MenuGroup.CONTEXT_MENU_LAYOUT,type:I.MenuItemType.SUBITEMS,title:"rightClick.insert",icon:"Insert",positions:[le.COL_HEADER_CONTEXT_MENU]}}const gi="sheet.menu.row-insert";function bg(o){return{id:gi,group:I.MenuGroup.CONTEXT_MENU_LAYOUT,type:I.MenuItemType.SUBITEMS,title:"rightClick.insert",icon:"Insert",positions:[le.ROW_HEADER_CONTEXT_MENU]}}const ln="sheet.menu.cell-insert";function Tg(o){return{id:ln,group:I.MenuGroup.CONTEXT_MENU_LAYOUT,type:I.MenuItemType.SUBITEMS,title:"rightClick.insert",icon:"Insert",positions:[I.MenuPosition.CONTEXT_MENU]}}function wg(o){const t=o.get(S.SelectionManagerService);return{id:S.InsertRowBeforeCommand.id,type:I.MenuItemType.BUTTON,title:"rightClick.insertRowBefore",icon:"InsertRowAbove",positions:[gi,ln],hidden$:new U.Observable(e=>{const n=t.getSelections();e.next((n==null?void 0:n.length)!==1)})}}function Eg(o){const t=o.get(S.SelectionManagerService);return{id:S.InsertRowAfterCommand.id,type:I.MenuItemType.BUTTON,positions:[gi],title:"rightClick.insertRow",icon:"InsertRowBelow",hidden$:new U.Observable(e=>{const n=t.getSelections();e.next((n==null?void 0:n.length)!==1)})}}function yg(o){const t=o.get(S.SelectionManagerService);return{id:S.InsertColBeforeCommand.id,type:I.MenuItemType.BUTTON,positions:[mi,ln],title:"rightClick.insertColumnBefore",icon:"LeftInsertColumn",hidden$:new U.Observable(e=>{const n=t.getSelections();e.next((n==null?void 0:n.length)!==1)})}}function Og(o){const t=o.get(S.SelectionManagerService);return{id:S.InsertColAfterCommand.id,type:I.MenuItemType.BUTTON,positions:[mi],title:"rightClick.insertColumn",icon:"RightInsertColumn",hidden$:new U.Observable(e=>{const n=t.getSelections();e.next((n==null?void 0:n.length)!==1)})}}function xg(o){return{id:ui.id,type:I.MenuItemType.BUTTON,title:"rightClick.moveRight",icon:"InsertCellShiftRight",positions:[ln]}}function Ng(o){return{id:$n.id,type:I.MenuItemType.BUTTON,title:"rightClick.moveDown",icon:"InsertCellDown",positions:[ln]}}function Ag(o){return o.get(S.SelectionManagerService).selectionMoveEnd$.pipe(U.filter(e=>e!=null&&e.length>=2),U.map(e=>{if(!e)return!1;for(let n=0;n<e.length;n++)for(let i=n+1;i<e.length;i++)if(l.Rectangle.intersects(e[n].range,e[i].range))return!0;return!1}))}function Dg(o){const t=S.getCurrentSheetDisabled$(o),e=Ag(o);return{id:Ke.id,icon:"MergeAllSingle",tooltip:"toolbar.mergeCell.main",positions:[I.MenuPosition.TOOLBAR_START],group:I.MenuGroup.TOOLBAR_LAYOUT,type:I.MenuItemType.SUBITEMS,hidden$:I.getMenuHiddenObservable(o,l.UniverInstanceType.UNIVER_SHEET),disabled$:t.pipe(U.combineLatestWith(e),U.map(([n,i])=>n||i))}}function Pg(o){return{id:ns.id,type:I.MenuItemType.BUTTON,title:"merge.all",icon:"MergeAllSingle",positions:[Ke.id]}}function Hg(o){return{id:os.id,type:I.MenuItemType.BUTTON,title:"merge.vertical",icon:"VerticalIntegrationSingle",positions:[Ke.id]}}function Lg(o){return{id:is.id,type:I.MenuItemType.BUTTON,title:"merge.horizontal",icon:"HorizontalMergeSingle",positions:[Ke.id]}}function Ug(o){return{id:S.RemoveWorksheetMergeCommand.id,type:I.MenuItemType.BUTTON,title:"merge.cancel",icon:"CancelMergeSingle",positions:[Ke.id]}}function Vg(o){const t=o.get(l.IUniverInstanceService),e=o.get(l.ICommandService);return{id:ls.id,type:I.MenuItemType.BUTTON,positions:[le.SHEET_BAR],title:"sheetConfig.delete",disabled$:new U.Observable(n=>{const i=e.onCommandExecuted(r=>{const s=r.id;if(s===S.RemoveSheetMutation.id||s===S.InsertSheetMutation.id||s===S.SetWorksheetHideMutation.id){const a=t.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getWorksheets(),c=Array.from(a.values()).filter(u=>u.getConfig().hidden===l.BooleanNumber.FALSE);n.next(c.length===1)}});return n.next(!1),i.dispose})}}function Bg(o){return{id:S.CopySheetCommand.id,type:I.MenuItemType.BUTTON,positions:[le.SHEET_BAR],title:"sheetConfig.copy"}}function Fg(o){return{id:us.id,type:I.MenuItemType.BUTTON,positions:[le.SHEET_BAR],title:"sheetConfig.rename"}}function kg(o){return{id:S.SetTabColorCommand.id,title:"sheetConfig.changeColor",positions:[le.SHEET_BAR],type:I.MenuItemType.SELECTOR,selections:[{label:{name:Jn,hoverable:!1}}]}}function Wg(o){const t=o.get(l.IUniverInstanceService),e=o.get(l.ICommandService);return{id:S.SetWorksheetHideCommand.id,type:I.MenuItemType.BUTTON,positions:[le.SHEET_BAR],title:"sheetConfig.hide",disabled$:new U.Observable(n=>{const i=e.onCommandExecuted(r=>{const s=r.id;if(s===S.RemoveSheetMutation.id||s===S.InsertSheetMutation.id||s===S.SetWorksheetHideMutation.id){const a=t.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getWorksheets(),c=Array.from(a.values()).filter(u=>u.getConfig().hidden===l.BooleanNumber.FALSE);n.next(c.length===1)}});return n.next(!1),i.dispose})}}function jg(o){const t=o.get(l.IUniverInstanceService),e=o.get(l.ICommandService);return{id:cs.id,type:I.MenuItemType.BUTTON,positions:[le.SHEET_BAR],title:"sheetConfig.unhide",disabled$:new U.Observable(n=>{const i=e.onCommandExecuted(r=>{const s=r.id;if(s===S.RemoveSheetMutation.id||s===S.InsertSheetMutation.id||s===S.SetWorksheetHideMutation.id){const a=t.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getWorksheets(),c=Array.from(a.values());n.next(c.length===1)}});return n.next(!1),i.dispose})}}const $g={id:S.SetRowHiddenCommand.id,preconditions:o=>ne(o),binding:I.KeyCode.Digit9|I.MetaKeys.CTRL_COMMAND},zg={id:S.SetColHiddenCommand.id,preconditions:o=>ne(o),binding:I.KeyCode.Digit0|I.MetaKeys.CTRL_COMMAND|I.MetaKeys.SHIFT},Yg={id:we.id,description:"shortcut.sheet.select-below-cell",group:"3_sheet-view",binding:I.KeyCode.ARROW_DOWN,priority:100,preconditions:ne,staticParameters:{direction:l.Direction.DOWN}},Xg={id:we.id,description:"shortcut.sheet.select-up-cell",group:"3_sheet-view",binding:I.KeyCode.ARROW_UP,priority:100,preconditions:ne,staticParameters:{direction:l.Direction.UP}},Gg={id:we.id,description:"shortcut.sheet.select-left-cell",group:"3_sheet-view",binding:I.KeyCode.ARROW_LEFT,priority:100,preconditions:_r,staticParameters:{direction:l.Direction.LEFT}},Zg={id:we.id,description:"shortcut.sheet.select-right-cell",group:"3_sheet-view",binding:I.KeyCode.ARROW_RIGHT,priority:100,preconditions:_r,staticParameters:{direction:l.Direction.RIGHT}},Kg={id:gt.id,description:"shortcut.sheet.select-next-cell",group:"3_sheet-view",binding:I.KeyCode.TAB,priority:100,preconditions:ne,staticParameters:{direction:l.Direction.RIGHT,keycode:I.KeyCode.TAB}},qg={id:gt.id,description:"shortcut.sheet.select-previous-cell",group:"3_sheet-view",binding:I.KeyCode.TAB|I.MetaKeys.SHIFT,priority:100,preconditions:ne,staticParameters:{direction:l.Direction.LEFT,keycode:I.KeyCode.TAB}},Qg={id:gt.id,description:"shortcut.sheet.select-below-cell",group:"3_sheet-view",binding:I.KeyCode.ENTER,priority:100,preconditions:ne,staticParameters:{direction:l.Direction.DOWN,keycode:I.KeyCode.ENTER}},Jg={id:gt.id,description:"shortcut.sheet.select-up-cell",group:"3_sheet-view",binding:I.KeyCode.ENTER|I.MetaKeys.SHIFT,priority:100,preconditions:ne,staticParameters:{direction:l.Direction.UP,keycode:I.KeyCode.ENTER}},ef={id:we.id,description:"shortcut.sheet.select-below-value-cell",group:"3_sheet-view",binding:I.KeyCode.ARROW_DOWN|I.MetaKeys.CTRL_COMMAND,preconditions:ne,staticParameters:{direction:l.Direction.DOWN,jumpOver:ke.moveGap}},tf={id:we.id,description:"shortcut.sheet.select-up-value-cell",group:"3_sheet-view",binding:I.KeyCode.ARROW_UP|I.MetaKeys.CTRL_COMMAND,preconditions:ne,staticParameters:{direction:l.Direction.UP,jumpOver:ke.moveGap}},nf={id:we.id,description:"shortcut.sheet.select-left-value-cell",group:"3_sheet-view",binding:I.KeyCode.ARROW_LEFT|I.MetaKeys.CTRL_COMMAND,preconditions:ne,staticParameters:{direction:l.Direction.LEFT,jumpOver:ke.moveGap}},of={id:we.id,description:"shortcut.sheet.select-right-value-cell",group:"3_sheet-view",binding:I.KeyCode.ARROW_RIGHT|I.MetaKeys.CTRL_COMMAND,preconditions:ne,staticParameters:{direction:l.Direction.RIGHT,jumpOver:ke.moveGap}},rf={id:Ae.id,description:"shortcut.sheet.expand-selection-down",group:"3_sheet-view",binding:I.KeyCode.ARROW_DOWN|I.MetaKeys.SHIFT,preconditions:ne,staticParameters:{direction:l.Direction.DOWN}},sf={id:Ae.id,description:"shortcut.sheet.expand-selection-up",group:"3_sheet-view",binding:I.KeyCode.ARROW_UP|I.MetaKeys.SHIFT,preconditions:ne,staticParameters:{direction:l.Direction.UP}},af={id:Ae.id,description:"shortcut.sheet.expand-selection-left",group:"3_sheet-view",binding:I.KeyCode.ARROW_LEFT|I.MetaKeys.SHIFT,preconditions:ne,staticParameters:{direction:l.Direction.LEFT}},lf={id:Ae.id,description:"shortcut.sheet.expand-selection-right",group:"3_sheet-view",binding:I.KeyCode.ARROW_RIGHT|I.MetaKeys.SHIFT,preconditions:ne,staticParameters:{direction:l.Direction.RIGHT}},cf={id:Ae.id,description:"shortcut.sheet.expand-selection-to-below-gap",group:"3_sheet-view",binding:I.KeyCode.ARROW_DOWN|I.MetaKeys.SHIFT|I.MetaKeys.CTRL_COMMAND,preconditions:ne,staticParameters:{direction:l.Direction.DOWN,jumpOver:ke.moveGap}},df={id:Ae.id,description:"shortcut.sheet.expand-selection-to-up-gap",group:"3_sheet-view",binding:I.KeyCode.ARROW_UP|I.MetaKeys.SHIFT|I.MetaKeys.CTRL_COMMAND,preconditions:ne,staticParameters:{direction:l.Direction.UP,jumpOver:ke.moveGap}},uf={id:Ae.id,description:"shortcut.sheet.expand-selection-to-left-gap",group:"3_sheet-view",binding:I.KeyCode.ARROW_LEFT|I.MetaKeys.SHIFT|I.MetaKeys.CTRL_COMMAND,preconditions:ne,staticParameters:{direction:l.Direction.LEFT,jumpOver:ke.moveGap}},hf={id:Ae.id,description:"shortcut.sheet.expand-selection-to-right-gap",group:"3_sheet-view",binding:I.KeyCode.ARROW_RIGHT|I.MetaKeys.SHIFT|I.MetaKeys.CTRL_COMMAND,preconditions:ne,staticParameters:{direction:l.Direction.RIGHT,jumpOver:ke.moveGap}},mf={id:xr.id,description:"shortcut.sheet.select-all",group:"3_sheet-view",binding:I.KeyCode.A|I.MetaKeys.CTRL_COMMAND,preconditions:ne,staticParameters:{expandToGapFirst:!0,loop:!0}},gf={id:ni.id,description:"shortcut.sheet.set-bold",group:"4_sheet-edit",preconditions:o=>ne(o),binding:I.KeyCode.B|I.MetaKeys.CTRL_COMMAND},ff={id:oi.id,description:"shortcut.sheet.set-italic",group:"4_sheet-edit",preconditions:o=>ne(o),binding:I.KeyCode.I|I.MetaKeys.CTRL_COMMAND},_f={id:ii.id,description:"shortcut.sheet.set-underline",group:"4_sheet-edit",preconditions:o=>ne(o),binding:I.KeyCode.U|I.MetaKeys.CTRL_COMMAND},Sf={id:ri.id,description:"shortcut.sheet.set-strike-through",group:"4_sheet-edit",preconditions:o=>ne(o),binding:I.KeyCode.X|I.MetaKeys.SHIFT|I.MetaKeys.CTRL_COMMAND},pf={id:S.ClearSelectionContentCommand.id,preconditions:o=>ne(o),binding:I.KeyCode.DELETE,mac:I.KeyCode.BACKSPACE},Cf={id:Kn.id,description:"shortcut.sheet.zoom-in",binding:I.KeyCode.EQUAL|I.MetaKeys.CTRL_COMMAND,group:"3_sheet-view",preconditions:ne,priority:1,staticParameters:{delta:.2}},vf={id:l.NilCommand.id,binding:I.KeyCode.EQUAL|I.MetaKeys.CTRL_COMMAND},If={id:Kn.id,description:"shortcut.sheet.zoom-out",binding:I.KeyCode.MINUS|I.MetaKeys.CTRL_COMMAND,group:"3_sheet-view",preconditions:ne,priority:1,staticParameters:{delta:-.2}},Rf={id:l.NilCommand.id,binding:I.KeyCode.MINUS|I.MetaKeys.CTRL_COMMAND},Mf={id:Kn.id,description:"shortcut.sheet.reset-zoom",binding:I.KeyCode.Digit0|I.MetaKeys.CTRL_COMMAND,preconditions:ne,group:"3_sheet-view",priority:1,staticParameters:{reset:!0}},bf={id:l.NilCommand.id,binding:I.KeyCode.Digit0|I.MetaKeys.CTRL_COMMAND};var Tf=Object.defineProperty,wf=Object.getOwnPropertyDescriptor,Ef=(o,t,e,n)=>{for(var i=n>1?void 0:n?wf(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Tf(t,e,i),i},at=(o,t)=>(e,n)=>t(e,n,o);const yf={};let Gt=class extends l.Disposable{constructor(o,t,e,n,i,r,s,a){super(),this._config=o,this._injector=t,this._componentManager=e,this._layoutService=n,this._commandService=i,this._shortcutService=r,this._menuService=s,this._uiPartsService=a,this._init()}_init(){this._initCustomComponents(),this._initCommands(),this._initMenus(),this._initShortcuts(),this._initWorkbenchParts(),this._initFocusHandler()}_initCustomComponents(){const o=this._componentManager;this.disposeWithMe(o.register(li,rc)),this.disposeWithMe(o.register(Os,Sh)),this.disposeWithMe(o.register(Jn,re.ColorPicker)),this.disposeWithMe(o.register($r,I.FontFamily)),this.disposeWithMe(o.register(zr,I.FontFamilyItem)),this.disposeWithMe(o.register(Yr,I.FontSize)),this.disposeWithMe(o.register(Ns,hg))}_initCommands(){[ns,Ke,is,os,Kn,Ae,we,gt,us,ls,ss,as,Ar,Dr,dt,Nr,xr,ds,S.SetBoldCommand,Qt,Te,ti,ni,oi,ii,ri,Fl,kl,Pr,Hr,kn,S.SetItalicCommand,S.SetStrikeThroughCommand,S.SetFontFamilyCommand,S.SetFontSizeCommand,si,Br,ai,Fr,ot,Xt,Qn,kr,Wr,jr,S.SetUnderlineCommand,qn,Fe,cs,rs,$n,jn,ui,di,As,Vn,Mn].forEach(o=>{this.disposeWithMe(this._commandService.registerCommand(o))})}_initMenus(){const{menu:o={}}=this._config;[Ic,Rc,Mc,bc,Tc,wc,Ec,fg,_g,Sg,gg,Mg,bg,Tg,wg,Eg,yg,Og,vg,Hc,Uc,Lc,Vc,Cg,Bc,yc,Fc,pg,Ig,Rg,xg,Ng,Nc,Ac,Dc,Pc,Oc,xc,sc,ac,lc,cc,dc,uc,hc,mc,gc,fc,_c,mg,Dg,Pg,Hg,Lg,Ug,Sc,pc,Cc,vc,Vg,Bg,Fg,kg,Wg,jg].forEach(t=>{this.disposeWithMe(this._menuService.addMenuItem(this._injector.invoke(t),o))})}_initShortcuts(){[Yg,Xg,Gg,Zg,Kg,qg,Qg,Jg,ef,tf,nf,of,rf,sf,af,lf,cf,df,uf,hf,mf,Cf,If,Mf,bf,vf,Rf,gf,ff,_f,Sf,pf,...ud(),md,hd,gd,_d,Sd,pd,fd,$g,zg].forEach(o=>{this.disposeWithMe(this._shortcutService.registerShortcut(o))})}_initWorkbenchParts(){const o=this._uiPartsService,t=this._injector;this.disposeWithMe(o.registerComponent(I.BuiltInUIPart.HEADER,()=>G.connectInjector(dg,t))),this.disposeWithMe(o.registerComponent(I.BuiltInUIPart.FOOTER,()=>G.connectInjector(cg,t))),this.disposeWithMe(o.registerComponent(I.BuiltInUIPart.CONTENT,()=>G.connectInjector(ug,t)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(l.UniverInstanceType.UNIVER_SHEET,o=>{this._injector.get(E.ITextSelectionRenderManager).focus()}))}};Gt=Ef([l.OnLifecycle(l.LifecycleStages.Ready,Gt),at(1,D.Inject(D.Injector)),at(2,D.Inject(I.ComponentManager)),at(3,I.ILayoutService),at(4,l.ICommandService),at(5,I.IShortcutService),at(6,I.IMenuService),at(7,I.IUIPartsService)],Gt);var Of=Object.defineProperty,xf=Object.getOwnPropertyDescriptor,Nf=(o,t,e,n)=>{for(var i=n>1?void 0:n?xf(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Of(t,e,i),i},lt=(o,t)=>(e,n)=>t(e,n,o);let An=class extends l.Disposable{constructor(t,e,n,i,r,s,a){super();R(this,"_calculateTimeout",-1);this._univerInstanceService=t,this._selectionManagerService=e,this._functionService=n,this._statusBarService=i,this._commandService=r,this._formulaDataModel=s,this._numfmtService=a,this._init()}_init(){this._registerSelectionListener()}_registerSelectionListener(){const t=l.debounce(e=>{var i;const n=(i=e[e.length-1])==null?void 0:i.primary;this._calculateSelection(e.map(r=>r.range),n)},100);this.disposeWithMe(l.toDisposable(this._selectionManagerService.selectionMoving$.subscribe(e=>{var n;((n=this._selectionManagerService.getCurrent())==null?void 0:n.pluginName)===S.NORMAL_SELECTION_PLUGIN_NAME&&e&&t(e)}))),this.disposeWithMe(l.toDisposable(this._selectionManagerService.selectionMoveEnd$.subscribe(e=>{var n;((n=this._selectionManagerService.getCurrent())==null?void 0:n.pluginName)===S.NORMAL_SELECTION_PLUGIN_NAME&&e&&t(e)}))),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===S.SetRangeValuesMutation.id){const n=this._selectionManagerService.getSelections();n&&t(n)}}))}_clearResult(){this._statusBarService.setState(null)}_calculateSelection(t,e){var c;const n=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!n)return this._clearResult();const i=n.getUnitId(),r=n.getActiveSheet().getSheetId(),s={},a=this._formulaDataModel.getArrayFormulaCellData();if(this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getSheets().forEach(u=>{const d=u.getConfig();s[u.getSheetId()]={cellData:new l.ObjectMatrix(d.cellData),rowCount:d.rowCount,columnCount:d.columnCount,rowData:d.rowData,columnData:d.columnData}}),t!=null&&t.length){const u=t.map(p=>new Z.RangeReferenceObject(p,r,i));u.forEach(p=>{p.setUnitData({[i]:s}),a&&p.setArrayFormulaCellData(Z.convertUnitDataToRuntime(a))});const d=this._statusBarService.getFunctions(),h=u.map(p=>p.toArrayValueObject(!1)),m=d.map(p=>{const v=this._functionService.getExecutor(p.func);if(!v)return;const M=v==null?void 0:v.calculate(...h),b=M==null?void 0:M.getValue();if(b)return{func:p.func,value:b}});if(m.every(p=>p===void 0))return;let g=null;if(e){const{actualRow:p,actualColumn:v}=e;g=(c=this._numfmtService.getValue(i,r,p,v))==null?void 0:c.pattern}const _={values:m.filter(p=>p!==void 0),pattern:g};this._statusBarService.setState(_)}else this._clearResult()}};An=Nf([l.OnLifecycle(l.LifecycleStages.Ready,An),lt(0,l.IUniverInstanceService),lt(1,D.Inject(S.SelectionManagerService)),lt(2,Z.IFunctionService),lt(3,hi),lt(4,l.ICommandService),lt(5,D.Inject(Z.FormulaDataModel)),lt(6,D.Inject(S.INumfmtService))],An);var Af=Object.defineProperty,Df=Object.getOwnPropertyDescriptor,Pf=(o,t,e,n)=>{for(var i=n>1?void 0:n?Df(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Af(t,e,i),i},Io=(o,t)=>(e,n)=>t(e,n,o);exports.SheetCanvasView=class extends l.RxDisposable{constructor(e,n,i,r){super();R(this,"_fps$",new U.BehaviorSubject(""));R(this,"fps$",this._fps$.asObservable());this._context=e,this._commandService=n,this._renderManagerService=i,this._sheetSkeletonManagerService=r,this._addNewRender(this._context.unit)}dispose(){this._fps$.complete()}_addNewRender(e){const{scene:n,engine:i}=this._context;n.openTransformer(),n.addLayer(new E.Layer(n,[],0),new E.Layer(n,[],2)),this._addComponent(e),e.getShouldRenderLoopImmediately()&&i.runRenderLoop(()=>{n.render(),this._fps$.next(Math.round(i.getFps()).toString())})}_addComponent(e){const{scene:n,components:i}=this._context,r=e.getActiveSheet();e.getUnitId(),r.getSheetId(),this._addViewport(r);const s=new E.Spreadsheet(ie.MAIN),a=new E.SpreadsheetRowHeader(ie.ROW),c=new E.SpreadsheetColumnHeader(ie.COLUMN),u=new E.Rect(ie.LEFT_TOP,{zIndex:2,left:-1,top:-1,fill:"rgb(248, 249, 250)",stroke:"rgb(217, 217, 217)",strokeWidth:1});this._context.mainComponent=s,i.set(ie.MAIN,s),i.set(ie.ROW,a),i.set(ie.COLUMN,c),i.set(ie.LEFT_TOP,u),n.addObjects([s],Ei),n.addObjects([a,c,u],nt),n.enableLayerCache(Ei,nt)}_addViewport(e){const n=this._context.scene,{rowHeader:i,columnHeader:r}=e.getConfig(),s=new E.Viewport(W.VIEW_MAIN,n,{left:i.width,top:r.height,bottom:0,right:0,isWheelPreventDefaultX:!0});return new E.Viewport(W.VIEW_ROW_TOP,n,{active:!1,isWheelPreventDefaultX:!0}),new E.Viewport(W.VIEW_ROW_BOTTOM,n,{left:0,top:r.height,bottom:0,width:i.width,isWheelPreventDefaultX:!0}),new E.Viewport(W.VIEW_COLUMN_LEFT,n,{active:!1,isWheelPreventDefaultX:!0}),new E.Viewport(W.VIEW_COLUMN_RIGHT,n,{left:i.width,top:0,height:r.height,right:0,isWheelPreventDefaultX:!0}),new E.Viewport(W.VIEW_LEFT_TOP,n,{left:0,top:0,width:i.width,height:r.height,isWheelPreventDefaultX:!0}),new E.Viewport(W.VIEW_MAIN_LEFT_TOP,n,{isWheelPreventDefaultX:!0,active:!1}),new E.Viewport(W.VIEW_MAIN_LEFT,n,{isWheelPreventDefaultX:!0,active:!1}),new E.Viewport(W.VIEW_MAIN_TOP,n,{isWheelPreventDefaultX:!0,active:!1}),this.disposeWithMe(l.toDisposable(n.onMouseWheelObserver.add((a,c)=>{if(a.ctrlKey)return;let u=0,d=0;const h=s.limitedScroll();if(a.inputIndex===E.PointerInput.MouseWheelX){const g=Math.abs(a.deltaX);a.deltaX>0?u=g:u=-g,this._commandService.executeCommand(Xt.id,{offsetX:u}),n.getParent().classType===E.RENDER_CLASS_TYPE.SCENE_VIEWER?h!=null&&h.isLimitedX||c.stopPropagation():s.isWheelPreventDefaultX?a.preventDefault():h!=null&&h.isLimitedX||a.preventDefault()}if(a.inputIndex===E.PointerInput.MouseWheelY){let g=Math.abs(a.deltaY);a.shiftKey?(g*=3,a.deltaY>0?u=g:u=-g,this._commandService.executeCommand(Xt.id,{offsetX:u}),n.getParent().classType===E.RENDER_CLASS_TYPE.SCENE_VIEWER?h!=null&&h.isLimitedX||c.stopPropagation():s.isWheelPreventDefaultX?a.preventDefault():h!=null&&h.isLimitedX||a.preventDefault()):(a.deltaY>0?d=g:d=-g,this._commandService.executeCommand(Xt.id,{offsetY:d}),n.getParent().classType===E.RENDER_CLASS_TYPE.SCENE_VIEWER?h!=null&&h.isLimitedY||c.stopPropagation():s.isWheelPreventDefaultY?a.preventDefault():h!=null&&h.isLimitedY||a.preventDefault())}this._context.scene.makeDirty(!0)}))),new E.ScrollBar(s),n.attachControl(),s}};exports.SheetCanvasView=Pf([Io(1,l.ICommandService),Io(2,E.IRenderManagerService),Io(3,D.Inject(exports.SheetSkeletonManagerService))],exports.SheetCanvasView);var Hf=Object.defineProperty,Lf=Object.getOwnPropertyDescriptor,Uf=(o,t,e,n)=>{for(var i=n>1?void 0:n?Lf(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Hf(t,e,i),i},_n=(o,t)=>(e,n)=>t(e,n,o);exports.HoverManagerService=class extends l.Disposable{constructor(e,n,i,r){super();R(this,"_currentCell$",new U.Subject);R(this,"currentCell$",this._currentCell$.asObservable().pipe(U.distinctUntilChanged((e,n)=>{var i,r,s,a,c,u,d,h;return((i=e==null?void 0:e.location)==null?void 0:i.unitId)===((r=n==null?void 0:n.location)==null?void 0:r.unitId)&&((s=e==null?void 0:e.location)==null?void 0:s.subUnitId)===((a=n==null?void 0:n.location)==null?void 0:a.subUnitId)&&((c=e==null?void 0:e.location)==null?void 0:c.row)===((u=n==null?void 0:n.location)==null?void 0:u.row)&&((d=e==null?void 0:e.location)==null?void 0:d.col)===((h=n==null?void 0:n.location)==null?void 0:h.col)})));R(this,"currentPosition$",this._currentCell$.asObservable());R(this,"_lastPosition",null);this._univerInstanceService=e,this._scrollManagerService=n,this._sheetSkeletonManagerService=i,this._renderManagerService=r,this._initCellDisposableListener()}dispose(){super.dispose(),this._currentCell$.complete()}_initCellDisposableListener(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{e||this._currentCell$.next(null)}))}_calcActiveCell(){if(!this._lastPosition)return;const{offsetX:e,offsetY:n}=this._lastPosition,i=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!i){this._currentCell$.next(null);return}const r=i.getActiveSheet(),s=this._sheetSkeletonManagerService.getCurrent(),a=this._renderManagerService.getRenderById(i.getUnitId()),c=this._scrollManagerService.getCurrentScroll();if(!s||!c||!a)return;const u=Vr(a,i,r,s,e,n);if(!u){this._currentCell$.next(null);return}const{location:d,position:h}=u;this._currentCell$.next({location:d,position:h})}onMouseMove(e,n){this._lastPosition={offsetX:e,offsetY:n},this._calcActiveCell()}onScrollStart(){this._currentCell$.next(null)}onScrollEnd(){this._calcActiveCell()}};exports.HoverManagerService=Uf([_n(0,l.IUniverInstanceService),_n(1,D.Inject(Ze)),_n(2,D.Inject(exports.SheetSkeletonManagerService)),_n(3,E.IRenderManagerService)],exports.HoverManagerService);var Vf=Object.defineProperty,Bf=Object.getOwnPropertyDescriptor,Ff=(o,t,e,n)=>{for(var i=n>1?void 0:n?Bf(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Vf(t,e,i),i},Ro=(o,t)=>(e,n)=>t(e,n,o);exports.HoverRenderController=class extends l.Disposable{constructor(t,e,n,i){super(),this._context=t,this._renderManagerService=e,this._hoverManagerService=n,this._sheetSkeletonManagerService=i,this._initPointerEvent()}_initPointerEvent(){const t=new l.DisposableCollection,e=n=>{if(t.dispose(),!n)return;const i=this._renderManagerService.getRenderById(n.unitId);if(!i)return;const{scene:r}=i,s=r.onPointerMoveObserver.add(a=>{this._hoverManagerService.onMouseMove(a.offsetX,a.offsetY)});t.add({dispose(){r.onPointerMoveObserver.remove(s)}})};e(this._sheetSkeletonManagerService.getCurrent()),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(n=>{e(n)}))}};exports.HoverRenderController=Ff([l.OnLifecycle(l.LifecycleStages.Rendered,exports.HoverRenderController),Ro(1,E.IRenderManagerService),Ro(2,D.Inject(exports.HoverManagerService)),Ro(3,D.Inject(exports.SheetSkeletonManagerService))],exports.HoverRenderController);const kf="univer-cell-alert",Wf="univer-cell-alert-title",jf="univer-cell-alert-icon",$f="univer-cell-alert-icon-error",zf="univer-cell-alert-icon-info",Yf="univer-cell-alert-icon-warning",Xf="univer-cell-alert-content",Ye={cellAlert:kf,cellAlertTitle:Wf,cellAlertIcon:jf,cellAlertIconError:$f,cellAlertIconInfo:zf,cellAlertIconWarning:Yf,cellAlertContent:Xf};function Gf({popup:o}){var s;const t=(s=o.extraProps)==null?void 0:s.alert;if(!t)return null;const{type:e,title:n,message:i}=t,r={[bt.ERROR]:C.jsx(vs,{className:Oe(Ye.cellAlertIcon,Ye.cellAlertIconError)}),[bt.INFO]:C.jsx(ir,{className:Oe(Ye.cellAlertIcon,Ye.cellAlertIconInfo)}),[bt.WARNING]:C.jsx(ir,{className:Oe(Ye.cellAlertIcon,Ye.cellAlertIconWarning)})};return C.jsxs("div",{className:Ye.cellAlert,children:[C.jsxs("div",{className:Ye.cellAlertTitle,children:[e?r[e]:null,n]}),C.jsx("div",{className:Ye.cellAlertContent,children:i})]})}const Ds="univer.sheet.cell-alert";var Zf=Object.defineProperty,Kf=Object.getOwnPropertyDescriptor,qf=(o,t,e,n)=>{for(var i=n>1?void 0:n?Kf(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Zf(t,e,i),i},pt=(o,t)=>(e,n)=>t(e,n,o);exports.SheetCanvasPopManagerService=class extends l.Disposable{constructor(t,e,n,i,r,s){super(),this._globalPopupManagerService=t,this._renderManagerService=e,this._univerInstanceService=n,this._sheetSkeletonManagerService=i,this._refRangeService=r,this._commandService=s}_createObjectPositionObserver(t,e,n,i){const r=()=>{const{scene:u}=e,{left:d,top:h,width:m,height:g}=t,f={left:d,right:d+m,top:h,bottom:h+g},_=Yl(f,u,n,i);return{left:_.left,right:_.right,top:_.top,bottom:_.bottom}},s=r(),a=new U.BehaviorSubject(s),c=new l.DisposableCollection;return c.add(this._commandService.onCommandExecuted(u=>{(u.id===ot.id||u.id===Fe.id)&&a.next(r())})),{position:s,position$:a,disposable:c}}attachPopupToObject(t,e){const n=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),i=n.getActiveSheet(),r=n.getUnitId(),s=i.getSheetId(),a=this._sheetSkeletonManagerService.getOrCreateSkeleton({unitId:r,sheetId:s}),c=this._renderManagerService.getRenderById(r);if(!c||!a)return{dispose:()=>{}};const{position:u,position$:d,disposable:h}=this._createObjectPositionObserver(t,c,a,i),m=this._globalPopupManagerService.addPopup({...e,unitId:r,subUnitId:s,anchorRect:u,anchorRect$:d});return{dispose:()=>{this._globalPopupManagerService.removePopup(m),d.complete(),h.dispose()}}}attachPopupToCell(t,e,n,i){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),s=r.getActiveSheet(),a=r.getUnitId(),c=s.getSheetId(),u=this._sheetSkeletonManagerService.getOrCreateSkeleton({unitId:a,sheetId:c}),d=this._renderManagerService.getRenderById(a);if(!d||!u)return null;const h=i!=null?i:zl(t,e,d.scene,s);if(!h)return null;const{position:m,position$:g,disposable:f,updateRowCol:_}=this._createCellPositionObserver(t,e,d,u,h),p=this._globalPopupManagerService.addPopup({...n,unitId:a,subUnitId:c,anchorRect:m,anchorRect$:g}),v=new l.DisposableCollection;v.add(f),v.add(l.toDisposable(()=>{this._globalPopupManagerService.removePopup(p),g.complete()}));const M={startRow:t,endRow:t,startColumn:e,endColumn:e};return v.add(this._refRangeService.watchRange(a,c,M,(b,T)=>{T?_(T.startRow,T.startColumn):v.dispose()})),v}_createCellPositionObserver(t,e,n,i,r){let s=t,a=e;const c=this._calcCellPositionByCell(s,a,n,i,r),u=new U.BehaviorSubject(c),d=()=>u.next(this._calcCellPositionByCell(s,a,n,i,r)),h=new l.DisposableCollection;return h.add(this._commandService.onCommandExecuted(g=>{if(g.id===S.SetWorksheetRowAutoHeightMutation.id&&g.params.rowsAutoHeightInfo.findIndex(_=>_.row===s)>-1){d();return}(S.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(g.id)>-1||g.id===ot.id||g.id===Fe.id)&&d()})),{position$:u,disposable:h,position:c,updateRowCol:(g,f)=>{s=g,a=f,d()}}}_calcCellPositionByCell(t,e,n,i,r){const{scene:s}=n,a=i.getCellByIndex(t,e),c=a.isMergedMainCell?a.mergeInfo:a,{scaleX:u,scaleY:d}=s.getAncestorScale(),h={x:r.actualScrollX,y:r.actualScrollY};return{left:(c.startX-h.x)*u,right:(c.endX-h.x)*u,top:(c.startY-h.y)*d,bottom:(c.endY-h.y)*d}}};exports.SheetCanvasPopManagerService=qf([pt(0,D.Inject(I.ICanvasPopupService)),pt(1,E.IRenderManagerService),pt(2,l.IUniverInstanceService),pt(3,D.Inject(exports.SheetSkeletonManagerService)),pt(4,D.Inject(S.RefRangeService)),pt(5,l.ICommandService)],exports.SheetCanvasPopManagerService);var Qf=Object.defineProperty,Jf=Object.getOwnPropertyDescriptor,e_=(o,t,e,n)=>{for(var i=n>1?void 0:n?Jf(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&Qf(t,e,i),i},hr=(o,t)=>(e,n)=>t(e,n,o),bt=(o=>(o[o.INFO=0]="INFO",o[o.WARNING=1]="WARNING",o[o.ERROR=2]="ERROR",o))(bt||{});exports.CellAlertManagerService=class{constructor(t,e){R(this,"_currentAlert$",new U.Subject);R(this,"_currentAlert",new Map);R(this,"currentAlert$",this._currentAlert$.asObservable());this._renderManagerService=t,this._canvasPopManagerService=e}get currentAlert(){return this._currentAlert}showAlert(t){let e=this._currentAlert.get(t.key);e&&e.dispose.dispose(),e?e.dispose.dispose():(e={alert:t,dispose:{dispose(){}}},this._currentAlert.set(t.key,e));const{location:n}=t,{row:i,col:r,unitId:s}=n;if(!this._renderManagerService.getRenderById(s))return;const c=this._canvasPopManagerService.attachPopupToCell(i,r,{componentKey:Ds,direction:"horizontal",offset:[2,0],extraProps:{alert:t}});c&&(e.dispose=c),this._currentAlert$.next(Array.from(this._currentAlert.entries()))}removeAlert(t){const e=this._currentAlert.get(t);e&&(this._currentAlert.delete(t),e==null||e.dispose.dispose(),this._currentAlert$.next(Array.from(this._currentAlert.entries())))}clearAlert(){this._currentAlert.forEach(t=>{t.dispose.dispose()}),this._currentAlert.clear(),this._currentAlert$.next(Array.from(this._currentAlert.entries()))}};exports.CellAlertManagerService=e_([hr(0,E.IRenderManagerService),hr(1,D.Inject(exports.SheetCanvasPopManagerService))],exports.CellAlertManagerService);var t_=Object.defineProperty,n_=Object.getOwnPropertyDescriptor,o_=(o,t,e,n)=>{for(var i=n>1?void 0:n?n_(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&t_(t,e,i),i},i_=(o,t)=>(e,n)=>t(e,n,o);let Dn=class extends l.Disposable{constructor(o,t){super(),this._context=o,this._componentManager=t,this._initComponent()}_initComponent(){this._componentManager.register(Ds,Gf)}};Dn=o_([l.OnLifecycle(l.LifecycleStages.Starting,Dn),i_(1,D.Inject(I.ComponentManager))],Dn);var r_=Object.defineProperty,s_=Object.getOwnPropertyDescriptor,a_=(o,t,e,n)=>{for(var i=n>1?void 0:n?s_(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&r_(t,e,i),i},mr=(o,t)=>(e,n)=>t(e,n,o);let Pn=class extends l.RxDisposable{constructor(o,t,e){super(),this._context=o,this._sheetSkeletonManagerService=t,this._sheetInterceptorService=e,this._init()}_init(){this._initViewModelIntercept()}_initViewModelIntercept(){const o={tl:{size:6,color:"#409f11"}};this.disposeWithMe(this._sheetInterceptorService.intercept(S.INTERCEPTOR_POINT.CELL_CONTENT,{handler:(t,e,n)=>{var s;if(!((s=this._sheetSkeletonManagerService.getCurrent())==null?void 0:s.skeleton))return n(t);const r=e.worksheet.getCellRaw(e.row,e.col);return!r||r.v===null||r.v===void 0?n(t):(t==null?void 0:t.t)===l.CellValueType.FORCE_STRING&&l.isRealNum(r.v)?n({...t,markers:{...t==null?void 0:t.markers,...o}}):n(t)}}))}};Pn=a_([l.OnLifecycle(l.LifecycleStages.Rendered,Pn),mr(1,D.Inject(exports.SheetSkeletonManagerService)),mr(2,D.Inject(S.SheetInterceptorService))],Pn);var l_=Object.defineProperty,c_=Object.getOwnPropertyDescriptor,d_=(o,t,e,n)=>{for(var i=n>1?void 0:n?c_(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&l_(t,e,i),i},Sn=(o,t)=>(e,n)=>t(e,n,o);const Mo="SHEET_FORCE_STRING_ALERT";let Hn=class extends l.Disposable{constructor(o,t,e,n,i){super(),this._context=o,this._hoverManagerService=t,this._cellAlertManagerService=e,this._univerInstanceService=n,this._localeService=i,this._init()}_init(){this._initCellAlertPopup()}_initCellAlertPopup(){this.disposeWithMe(this._hoverManagerService.currentCell$.subscribe(o=>{var t;if(o){const i=this._context.unit.getActiveSheet().getCell(o.location.row,o.location.col);if((i==null?void 0:i.t)===l.CellValueType.FORCE_STRING&&i.v&&l.isRealNum(i.v)){const r=this._cellAlertManagerService.currentAlert.get(Mo),s=(t=r==null?void 0:r.alert)==null?void 0:t.location;if(s&&s.row===o.location.row&&s.col===o.location.col&&s.subUnitId===o.location.subUnitId&&s.unitId===o.location.unitId)return;this._cellAlertManagerService.showAlert({type:bt.ERROR,title:this._localeService.t("info.error"),message:this._localeService.t("info.forceStringInfo"),location:o.location,width:200,height:74,key:Mo});return}}this._cellAlertManagerService.removeAlert(Mo)}))}};Hn=d_([l.OnLifecycle(l.LifecycleStages.Rendered,Hn),Sn(1,D.Inject(exports.HoverManagerService)),Sn(2,D.Inject(exports.CellAlertManagerService)),Sn(3,l.IUniverInstanceService),Sn(4,D.Inject(l.LocaleService))],Hn);var u_=Object.defineProperty,h_=Object.getOwnPropertyDescriptor,m_=(o,t,e,n)=>{for(var i=n>1?void 0:n?h_(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&u_(t,e,i),i},bo=(o,t)=>(e,n)=>t(e,n,o);let Yo=class extends l.Disposable{constructor(o,t,e,n){super(),this._context=o,this._contextMenuService=t,this._selectionManagerService=e,this._selectionRenderService=n,this._addListeners()}_addListeners(){var c,u;const o=(u=(c=this._context)==null?void 0:c.mainComponent)==null?void 0:u.onPointerDownObserver,t=o.add(d=>{if(d.button===2){const h=this._selectionManagerService.getSelections(),m=h==null?void 0:h[0];if(!m)return;const g=m.range.rangeType,f=this._selectionRenderService.convertSelectionToCoord(m).rangeWithCoord,_=()=>{if(!f)return!1;const v=d.offsetX,M=d.offsetY;switch(g){case l.RANGE_TYPE.ROW:return f.startY<=M&&f.endY>=M;case l.RANGE_TYPE.COLUMN:return f.startX<=v&&f.endX>=v;default:return f.startX<=v&&f.endX>=v&&f.startY<=M&&f.endY>=M}},p=v=>{this._contextMenuService.triggerContextMenu(d,v)};_()?g===l.RANGE_TYPE.COLUMN?p(le.COL_HEADER_CONTEXT_MENU):g===l.RANGE_TYPE.ROW?p(le.ROW_HEADER_CONTEXT_MENU):p(I.MenuPosition.CONTEXT_MENU):p(I.MenuPosition.CONTEXT_MENU)}});this.disposeWithMe(l.toDisposable(()=>o.remove(t)));const e=this._context.components.get(ie.COLUMN),r=this._context.components.get(ie.ROW).onPointerDownObserver.add(d=>{d.button===2&&this._contextMenuService.triggerContextMenu(d,le.ROW_HEADER_CONTEXT_MENU)});this.disposeWithMe(l.toDisposable(()=>o.remove(r)));const a=e.onPointerDownObserver.add(d=>{d.button===2&&this._contextMenuService.triggerContextMenu(d,le.COL_HEADER_CONTEXT_MENU)});this.disposeWithMe(l.toDisposable(()=>o.remove(a)))}};Yo=m_([bo(1,I.IContextMenuService),bo(2,D.Inject(S.SelectionManagerService)),bo(3,Ne)],Yo);var g_=Object.defineProperty,f_=Object.getOwnPropertyDescriptor,__=(o,t,e,n)=>{for(var i=n>1?void 0:n?f_(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&g_(t,e,i),i},Je=(o,t)=>(e,n)=>t(e,n,o);let Xo=class extends l.RxDisposable{constructor(o,t,e,n,i,r,s,a,c){super(),this._context=o,this._injector=t,this._commandService=e,this._editorBridgeService=n,this._layoutService=i,this._editorService=r,this._contextService=s,this._selectionManagerService=a,this._rangeSelectorService=c,this._initialize(),this._commandExecutedListener()}_initialize(){this._initSelectionChangeListener(),this._initEventListener(),this._initialRangeSelector()}_initSelectionChangeListener(){U.merge(this._selectionManagerService.selectionMoveEnd$,this._selectionManagerService.selectionMoveStart$).pipe(U.takeUntil(this.dispose$)).subscribe(o=>this._handleSelectionChange(o))}_updateEditorPosition(o){const t=this._getSheetObject(),{scene:e,engine:n}=t,i=this._context.unitId,r=this._context.unit.getActiveSheet().getSheetId();this._commandService.executeCommand(ds.id,{scene:e,engine:n,primary:o,unitId:i,sheetId:r})}_handleSelectionChange(o){var n;const t=this._selectionManagerService.getCurrent();if((t==null?void 0:t.pluginName)!==S.NORMAL_SELECTION_PLUGIN_NAME||this._editorBridgeService.isVisible().visible)return;const e=(n=o==null?void 0:o[o.length-1])==null?void 0:n.primary;e&&this._updateEditorPosition(e)}_initEventListener(){const o=this._getSheetObject(),{spreadsheet:t,spreadsheetColumnHeader:e,spreadsheetLeftTopPlaceholder:n,spreadsheetRowHeader:i}=o;t.onDblclickObserver.add(r=>{if(r.button===2)return;const s=this._selectionManagerService.getCurrent();(s==null?void 0:s.pluginName)===S.NORMAL_SELECTION_PLUGIN_NAME&&this._commandService.executeCommand(Te.id,{visible:!0,eventType:E.DeviceInputEventType.Dblclick})}),t.onPointerDownObserver.add(this._keepVisibleHideEditor.bind(this)),e.onPointerDownObserver.add(this._keepVisibleHideEditor.bind(this)),n.onPointerDownObserver.add(this._keepVisibleHideEditor.bind(this)),i.onPointerDownObserver.add(this._keepVisibleHideEditor.bind(this))}_keepVisibleHideEditor(){this._editorBridgeService.isForceKeepVisible()||this._hideEditor()}_hideEditor(){this._editorBridgeService.isVisible().visible===!0&&(this._selectionManagerService.makeDirty(!1),this._commandService.executeCommand(Te.id,{visible:!1,eventType:E.DeviceInputEventType.PointerDown}),setTimeout(()=>{this._selectionManagerService.makeDirty(!0)},0))}_initialRangeSelector(){this.disposeWithMe(this._selectionManagerService.selectionMoving$.subscribe(this._rangeSelector.bind(this))),this.disposeWithMe(this._selectionManagerService.selectionMoveStart$.subscribe(this._rangeSelector.bind(this))),this.disposeWithMe(this._rangeSelectorService.openSelector$.subscribe(()=>{const o=this._selectionManagerService.getSelections(),{unitId:t,sheetId:e,sheetName:n}=this._getCurrentUnitIdAndSheetId(),i=o==null?void 0:o.map(r=>({range:r.range,unitId:t,sheetId:e,sheetName:n}));i&&this._rangeSelectorService.selectionChange(i)}))}_rangeSelector(o){if(!o)return;const{unitId:t,sheetId:e,sheetName:n}=this._getCurrentUnitIdAndSheetId(),i=o.map(r=>({range:r.range,unitId:t,sheetId:e,sheetName:n}));this._rangeSelectorService.selectionChange(i)}_getCurrentUnitIdAndSheetId(){const o=this._context.unit,t=o.getActiveSheet();return{unitId:o.getUnitId(),sheetId:t.getSheetId(),sheetName:t.getName()}}_getSheetObject(){return it(this._context.unit,this._context)}_commandExecutedListener(){const o=S.COMMAND_LISTENER_SKELETON_CHANGE;this.disposeWithMe(this._commandService.onCommandExecuted((t,e)=>{e!=null&&e.fromCollab||(t.id===S.SetWorksheetActiveOperation.id?this._keepVisibleHideEditor():o.includes(t.id)&&this._hideEditor())})),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{t.id===qn.id&&this._editorBridgeService.refreshEditCellState()}))}};Xo=__([Je(1,D.Inject(D.Injector)),Je(2,l.ICommandService),Je(3,Ee),Je(4,I.ILayoutService),Je(5,I.IEditorService),Je(6,l.IContextService),Je(7,D.Inject(S.SelectionManagerService)),Je(8,I.IRangeSelectorService)],Xo);var S_=Object.defineProperty,p_=Object.getOwnPropertyDescriptor,C_=(o,t,e,n)=>{for(var i=n>1?void 0:n?p_(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&S_(t,e,i),i},pn=(o,t)=>(e,n)=>t(e,n,o);let Ln=class extends l.Disposable{constructor(o,t,e,n){super(),this._commandService=o,this._formatPainterService=t,this._univerInstanceService=e,this._selectionRenderService=n,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(l.toDisposable(this._selectionRenderService.selectionMoveEnd$.subscribe(o=>{if(this._formatPainterService.getStatus()!==xe.OFF){const{rangeWithCoord:t}=o[o.length-1];this._applyFormatPainter({startRow:t.startRow,startColumn:t.startColumn,endRow:t.endRow,endColumn:t.endColumn}),this._formatPainterService.getStatus()===xe.ONCE&&this._commandService.executeCommand(ai.id)}})))}async _applyFormatPainter(o){const{styles:t,merges:e}=this._formatPainterService.getSelectionFormat(),n=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),i=n.getUnitId(),r=n.getActiveSheet().getSheetId();if(!t)return;const{startRow:s,startColumn:a,endRow:c,endColumn:u}=t.getDataRange(),d=c-s+1,h=u-a+1,m=Array.from({length:o.endRow-o.startRow+1},()=>Array.from({length:o.endColumn-o.startColumn+1},()=>({}))),g=[];m.forEach((_,p)=>{_.forEach((v,M)=>{const b=p%d+s,T=M%h+a,w=t.getValue(b,T);w&&(m[p][M].s=w)})}),e.forEach(_=>{const p={startRow:_.startRow-s,startColumn:_.startColumn-a,endRow:_.endRow-s,endColumn:_.endColumn-a},v=Math.max(1,Math.floor((o.endRow-o.startRow+1)/d)),M=Math.max(1,Math.floor((o.endColumn-o.startColumn+1)/h));for(let b=0;b<v;b++)for(let T=0;T<M;T++)g.push({startRow:p.startRow+b*d+o.startRow,startColumn:p.startColumn+T*h+o.startColumn,endRow:p.endRow+b*d+o.startRow,endColumn:p.endColumn+T*h+o.startColumn})});const f={subUnitId:r,unitId:i,styleRange:o,styleValues:m,mergeRanges:g};await this._commandService.executeCommand(Fr.id,f)}};Ln=C_([l.OnLifecycle(l.LifecycleStages.Rendered,Ln),pn(0,l.ICommandService),pn(1,ft),pn(2,l.IUniverInstanceService),pn(3,Ne)],Ln);var v_=Object.defineProperty,I_=Object.getOwnPropertyDescriptor,R_=(o,t,e,n)=>{for(var i=n>1?void 0:n?I_(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&v_(t,e,i),i},Cn=(o,t)=>(e,n)=>t(e,n,o);exports.DragManagerService=class extends l.Disposable{constructor(e,n,i,r){super();R(this,"_currentCell$",new U.Subject);R(this,"currentCell$",this._currentCell$.asObservable().pipe(U.distinctUntilChanged((e,n)=>{var i,r,s,a,c,u,d,h;return((i=e==null?void 0:e.location)==null?void 0:i.unitId)===((r=n==null?void 0:n.location)==null?void 0:r.unitId)&&((s=e==null?void 0:e.location)==null?void 0:s.subUnitId)===((a=n==null?void 0:n.location)==null?void 0:a.subUnitId)&&((c=e==null?void 0:e.location)==null?void 0:c.row)===((u=n==null?void 0:n.location)==null?void 0:u.row)&&((d=e==null?void 0:e.location)==null?void 0:d.col)===((h=n==null?void 0:n.location)==null?void 0:h.col)})));R(this,"_endCell$",new U.Subject);R(this,"endCell$",this._endCell$.asObservable());this._univerInstanceService=e,this._scrollManagerService=n,this._sheetSkeletonManagerService=i,this._renderManagerService=r,this._initCellDisposableListener()}dispose(){super.dispose(),this._currentCell$.complete(),this._endCell$.complete()}_initCellDisposableListener(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{e||(this._currentCell$.next(null),this._endCell$.next(null))}))}_calcActiveCell(e,n){const i=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!i)return null;const r=i.getActiveSheet(),s=this._sheetSkeletonManagerService.getCurrent(),a=this._renderManagerService.getRenderById(i.getUnitId()),c=this._scrollManagerService.getCurrentScroll();if(!(!s||!c||!a))return Vr(a,i,r,s,e,n)}onDragOver(e){const{offsetX:n,offsetY:i,dataTransfer:r}=e,s=this._calcActiveCell(n,i);if(!s){this._currentCell$.next(null);return}const{location:a,position:c}=s;this._currentCell$.next({location:a,position:c,dataTransfer:r})}onDrop(e){const{offsetX:n,offsetY:i,dataTransfer:r}=e,s=this._calcActiveCell(n,i);if(!s){this._endCell$.next(null);return}const{location:a,position:c}=s;this._endCell$.next({location:a,position:c,dataTransfer:r})}};exports.DragManagerService=R_([Cn(0,l.IUniverInstanceService),Cn(1,D.Inject(Ze)),Cn(2,D.Inject(exports.SheetSkeletonManagerService)),Cn(3,E.IRenderManagerService)],exports.DragManagerService);var M_=Object.defineProperty,b_=Object.getOwnPropertyDescriptor,T_=(o,t,e,n)=>{for(var i=n>1?void 0:n?b_(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&M_(t,e,i),i},To=(o,t)=>(e,n)=>t(e,n,o);exports.DragRenderController=class extends l.Disposable{constructor(t,e,n,i){super(),this._context=t,this._renderManagerService=e,this._dragManagerService=n,this._sheetSkeletonManagerService=i,this._initDragEvent()}_initDragEvent(){const t=new l.DisposableCollection,e=n=>{if(t.dispose(),!n)return;const i=this._renderManagerService.getRenderById(n.unitId);if(!i)return;const{scene:r}=i,s=r.onDragOverObserver.add(c=>{this._dragManagerService.onDragOver(c)}),a=r.onDropObserver.add(c=>{this._dragManagerService.onDrop(c)});t.add({dispose(){r.onDragOverObserver.remove(s),r.onDropObserver.remove(a)}})};e(this._sheetSkeletonManagerService.getCurrent()),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(n=>{e(n)}))}};exports.DragRenderController=T_([l.OnLifecycle(l.LifecycleStages.Rendered,exports.DragRenderController),To(1,E.IRenderManagerService),To(2,D.Inject(exports.DragManagerService)),To(3,D.Inject(exports.SheetSkeletonManagerService))],exports.DragRenderController);var w_=Object.defineProperty,E_=Object.getOwnPropertyDescriptor,y_=(o,t,e,n)=>{for(var i=n>1?void 0:n?E_(t,e):t,r=o.length-1,s;r>=0;r--)(s=o[r])&&(i=(n?s(t,e,i):s(i))||i);return n&&i&&w_(t,e,i),i},vn=(o,t)=>(e,n)=>t(e,n,o),In;exports.UniverSheetsUIPlugin=(In=class extends l.Plugin{constructor(t={},e,n,i,r){super(),this._config=t,this._injector=e,this._localeService=n,this._renderManagerService=i,this._univerInstanceService=r,this._localeService.load({zhCN:Zr}),this._config=l.Tools.deepMerge({},yf,this._config)}onStarting(t){[[qt],[Ee,{useClass:exports.EditorBridgeService}],[Ot,{useClass:exports.SheetClipboardService}],[Pt,{useClass:Eu}],[ft,{useClass:Ao}],[sn,{useClass:Kr}],[to,{useClass:Gc}],[yt,{useClass:exports.AutoFillService}],[Ze],[exports.SheetSkeletonManagerService],[Ne,{useClass:exports.SelectionRenderService}],[hi,{useClass:Zm}],[nn,{useClass:exports.MarkSelectionService}],[exports.HoverManagerService],[exports.DragManagerService],[exports.SheetCanvasPopManagerService],[exports.CellAlertManagerService],[Tn],[exports.AutoHeightController],[yn],[On],[Wn],[wn],[exports.SheetRenderController],[Gt,{useFactory:()=>this._injector.createInstance(Gt,this._config)}],[xn],[An],[En],[exports.AutoFillController],[Ln]].forEach(e=>t.add(e))}onReady(){this._markSheetAsFocused(),this._registerRenderControllers()}_registerRenderControllers(){[exports.SheetCanvasView,Uo,$o,Wn,Wo,Fo,Fn,exports.SheetsScrollRenderController,Po,Lo,Dn,Hn,jo,exports.HoverRenderController,exports.DragRenderController,Pn,exports.CellCustomRenderController,Yo,Xo].forEach(t=>{this.disposeWithMe(this._renderManagerService.registerRenderController(l.UniverInstanceType.UNIVER_SHEET,t))})}_markSheetAsFocused(){const t=this._univerInstanceService;t.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET).pipe(Ls.filter(e=>!!e)).subscribe(e=>{t.focusUnit(e.getUnitId())})}},R(In,"pluginName","SHEET_UI_PLUGIN"),R(In,"type",l.UniverInstanceType.UNIVER_SHEET),In);exports.UniverSheetsUIPlugin=y_([vn(1,D.Inject(D.Injector)),vn(2,D.Inject(l.LocaleService)),vn(3,E.IRenderManagerService),vn(4,l.IUniverInstanceService)],exports.UniverSheetsUIPlugin);exports.APPLY_TYPE=oe;exports.AutoFillCommand=Vn;exports.COPY_TYPE=et;exports.CellAlertType=bt;exports.CellEditorManagerService=Kr;exports.DATA_TYPE=ue;exports.ExpandSelectionCommand=Ae;exports.IAutoFillService=yt;exports.ICellEditorManagerService=sn;exports.IEditorBridgeService=Ee;exports.IFormulaEditorManagerService=to;exports.IMarkSelectionService=nn;exports.ISelectionRenderService=Ne;exports.ISheetClipboardService=Ot;exports.JumpOver=ke;exports.MoveSelectionCommand=we;exports.PASTE_SPECIAL_MENU_ID=Dt;exports.PREDEFINED_HOOK_NAME=fe;exports.ResetScrollCommand=Il;exports.SHEET_UI_PLUGIN_NAME=Us;exports.SHEET_VIEW_KEY=ie;exports.ScrollCommand=dt;exports.ScrollToCellCommand=Nr;exports.SelectionShape=Bn;exports.SetCellEditVisibleArrowOperation=Qt;exports.SetCellEditVisibleOperation=Te;exports.SetScrollOperation=ot;exports.SetScrollRelativeCommand=Xt;exports.SetZoomRatioOperation=Fe;exports.SheetCopyCommand=Ir;exports.SheetMenuPosition=le;exports.SheetPasteCommand=xt;exports.VIEWPORT_KEY=W;exports.deriveStateFromActiveSheet$=_e;exports.enUS=$c;exports.expandToContinuousRange=Er;exports.getAutoFillRepeatRange=qs;exports.getCoordByCell=No;exports.getCoordByOffset=Et;exports.getEditorObject=Gn;exports.getRepeatRange=Xa;exports.getSheetObject=it;exports.getTransformCoord=bn;exports.mergeSetRangeValues=Oo;exports.rangeToDiscreteRange=Rt;exports.ruRU=Xc;exports.useActiveWorkbook=kc;exports.useActiveWorksheet=Wc;exports.virtualizeDiscreteRanges=tn;exports.whenFormulaEditorActivated=ua;exports.whenSheetEditorFocused=ne;exports.zhCN=Zr;
|
|
15
|
+
*/var fd=V,Sd=Symbol.for("react.element"),vd=Symbol.for("react.fragment"),Cd=Object.prototype.hasOwnProperty,Id=fd.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Rd={key:!0,ref:!0,__self:!0,__source:!0};function qs(n,i,e){var t,o={},r=null,s=null;e!==void 0&&(r=""+e),i.key!==void 0&&(r=""+i.key),i.ref!==void 0&&(s=i.ref);for(t in i)Cd.call(i,t)&&!Rd.hasOwnProperty(t)&&(o[t]=i[t]);if(n&&n.defaultProps)for(t in i=n.defaultProps,i)o[t]===void 0&&(o[t]=i[t]);return{$$typeof:Sd,type:n,key:r,ref:s,props:o,_owner:Id.current}}zi.Fragment=vd;zi.jsx=qs;zi.jsxs=qs;Gs.exports=zi;var C=Gs.exports;const bd="univer-sheets-ui-context-menu-input",_d="univer-sheets-ui-context-menu-input-container",Td="univer-sheets-ui-context-menu-input-number",oo={sheetsUiContextMenuInput:bd,sheetsUiContextMenuInputContainer:_d,sheetsUiContextMenuInputNumber:Td},wd=n=>{const{prefix:i,suffix:e,value:t,onChange:o,min:r=Number.MIN_SAFE_INTEGER,max:s=Number.MAX_SAFE_INTEGER}=n,a=B.useDependency(l.LocaleService),[c,u]=V.useState(),d=g=>{var p;u(g==null?void 0:g.toString()),o((p=g==null?void 0:g.toString())!=null?p:"")};V.useEffect(()=>{u(t)},[t]);function m(g){g.key==="Backspace"&&g.stopPropagation()}return C.jsxs("div",{className:oo.sheetsUiContextMenuInput,children:[a.t(i),C.jsx("span",{className:oo.sheetsUiContextMenuInputContainer,onClick:g=>g.stopPropagation(),children:C.jsx(ie.InputNumber,{className:oo.sheetsUiContextMenuInputNumber,value:Number(c),precision:0,onKeyDown:m,onChange:d,min:r,max:s})}),a.t(e)]})};var Ce=(n=>(n.ROW_HEADER_CONTEXT_MENU="rowHeaderContextMenu",n.COL_HEADER_CONTEXT_MENU="colHeaderContextMenu",n.SHEET_BAR="sheetBar",n))(Ce||{});function Md(n){const i=n.get(Nt);return{id:nr.id,subId:Bs.id,group:b.MenuGroup.TOOLBAR_FORMAT,type:b.MenuItemType.BUTTON,icon:"BrushSingle",title:"Format Painter",tooltip:"toolbar.formatPainter",positions:[b.MenuPosition.TOOLBAR_START],activated$:new O.Observable(e=>{let t=!1;const o=i.status$.subscribe(r=>{t=r!==ze.OFF,e.next(t)});return e.next(t),()=>{o.unsubscribe()}}),hidden$:b.getMenuHiddenObservable(n,l.UniverInstanceType.UNIVER_SHEET),disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetCopyPermission,h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function yd(n){const i=n.get(l.ICommandService),e=n.get(l.IUniverInstanceService),t=n.get(l.IContextService),o=n.get(h.SelectionManagerService);return{id:yn.id,group:b.MenuGroup.TOOLBAR_FORMAT,type:b.MenuItemType.BUTTON,icon:"BoldSingle",title:"Set bold",tooltip:"toolbar.bold",positions:[b.MenuPosition.TOOLBAR_START],disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]}),activated$:Oe(e,!1,({worksheet:r})=>new O.Observable(s=>{var d;const a=i.onCommandExecuted(m=>{var p,f;const g=m.id;if(g===h.SetRangeValuesMutation.id||g===h.SetSelectionsOperation.id||g===h.SetWorksheetActiveOperation.id){const S=(p=o.getLast())==null?void 0:p.primary;let v=l.FontWeight.NORMAL;if(S!=null){const I=r.getRange(S.startRow,S.startColumn);v=I==null?void 0:I.getFontWeight()}s.next(v===l.FontWeight.BOLD)}if((g===re.SetTextSelectionsOperation.id||g===re.SetInlineFormatCommand.id)&&t.getContextValue(l.EDITOR_ACTIVATED)&&t.getContextValue(l.FOCUSING_SHEET)){const S=xn(n);if(S==null)return;const v=(f=S.ts)==null?void 0:f.bl;s.next(v===l.BooleanNumber.TRUE)}}),c=(d=o.getLast())==null?void 0:d.primary;if(!r){s.next(!1);return}let u=l.FontWeight.NORMAL;if(c!=null){const m=r.getRange(c.startRow,c.startColumn);u=m==null?void 0:m.getFontWeight()}return s.next(u===l.FontWeight.BOLD),a.dispose})),hidden$:b.getMenuHiddenObservable(n,l.UniverInstanceType.UNIVER_SHEET)}}function Pd(n){const i=n.get(l.ICommandService),e=n.get(l.IUniverInstanceService),t=n.get(h.SelectionManagerService),o=n.get(l.IContextService);return{id:Pn.id,group:b.MenuGroup.TOOLBAR_FORMAT,type:b.MenuItemType.BUTTON,icon:"ItalicSingle",title:"Set italic",tooltip:"toolbar.italic",positions:[b.MenuPosition.TOOLBAR_START],disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]}),activated$:Oe(e,!1,({worksheet:r})=>new O.Observable(s=>{var d;const a=i.onCommandExecuted(m=>{var p,f;const g=m.id;if(g===h.SetRangeValuesMutation.id||g===h.SetSelectionsOperation.id||g===h.SetWorksheetActiveOperation.id){const S=(p=t.getLast())==null?void 0:p.primary;let v=l.FontItalic.NORMAL;if(S!=null){const I=r.getRange(S.startRow,S.startColumn);v=I==null?void 0:I.getFontStyle()}s.next(v===l.FontItalic.ITALIC)}if((g===re.SetTextSelectionsOperation.id||g===re.SetInlineFormatCommand.id)&&o.getContextValue(l.EDITOR_ACTIVATED)&&o.getContextValue(l.FOCUSING_SHEET)){const S=xn(n);if(S==null)return;const v=(f=S.ts)==null?void 0:f.it;s.next(v===l.BooleanNumber.TRUE)}}),c=(d=t.getLast())==null?void 0:d.primary;let u=l.FontItalic.NORMAL;if(c!=null){const m=r.getRange(c.startRow,c.startColumn);u=m==null?void 0:m.getFontStyle()}return s.next(u===l.FontItalic.ITALIC),a.dispose})),hidden$:b.getMenuHiddenObservable(n,l.UniverInstanceType.UNIVER_SHEET)}}function Ed(n){const i=n.get(l.ICommandService),e=n.get(l.IUniverInstanceService),t=n.get(h.SelectionManagerService),o=n.get(l.IContextService);return{id:En.id,group:b.MenuGroup.TOOLBAR_FORMAT,type:b.MenuItemType.BUTTON,icon:"UnderlineSingle",title:"Set underline",tooltip:"toolbar.underline",positions:[b.MenuPosition.TOOLBAR_START],activated$:Oe(e,!1,({worksheet:r})=>new O.Observable(s=>{var d;const a=i.onCommandExecuted(m=>{var p,f;const g=m.id;if(g===h.SetRangeValuesMutation.id||g===h.SetSelectionsOperation.id||g===h.SetWorksheetActiveOperation.id){const S=(p=t.getLast())==null?void 0:p.primary;let v;if(S!=null){const I=r.getRange(S.startRow,S.startColumn);v=I==null?void 0:I.getUnderline()}s.next(!!(v&&v.s))}if((g===re.SetTextSelectionsOperation.id||g===re.SetInlineFormatCommand.id)&&o.getContextValue(l.EDITOR_ACTIVATED)&&o.getContextValue(l.FOCUSING_SHEET)){const S=xn(n);if(S==null)return;const v=(f=S.ts)==null?void 0:f.ul;s.next((v==null?void 0:v.s)===l.BooleanNumber.TRUE)}}),c=(d=t.getLast())==null?void 0:d.primary;let u;if(c!=null){const m=r.getRange(c.startRow,c.startColumn);u=m==null?void 0:m.getUnderline()}return s.next(!!(u&&u.s)),a.dispose})),disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]}),hidden$:b.getMenuHiddenObservable(n,l.UniverInstanceType.UNIVER_SHEET)}}function Od(n){const i=n.get(l.ICommandService),e=n.get(l.IUniverInstanceService),t=n.get(h.SelectionManagerService),o=n.get(l.IContextService);return{id:On.id,group:b.MenuGroup.TOOLBAR_FORMAT,type:b.MenuItemType.BUTTON,icon:"StrikethroughSingle",title:"Set strike through",tooltip:"toolbar.strikethrough",positions:[b.MenuPosition.TOOLBAR_START],disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]}),activated$:Oe(e,!1,({worksheet:r})=>new O.Observable(s=>{var d;const a=i.onCommandExecuted(m=>{var p,f;const g=m.id;if(g===h.SetRangeValuesMutation.id||g===h.SetSelectionsOperation.id||g===h.SetWorksheetActiveOperation.id){const S=(p=t.getLast())==null?void 0:p.primary;let v;if(S!=null){const I=r.getRange(S.startRow,S.startColumn);v=I==null?void 0:I.getStrikeThrough()}s.next(!!(v&&v.s))}if((g===re.SetTextSelectionsOperation.id||g===re.SetInlineFormatCommand.id)&&o.getContextValue(l.EDITOR_ACTIVATED)&&o.getContextValue(l.FOCUSING_SHEET)){const S=xn(n);if(S==null)return;const v=(f=S.ts)==null?void 0:f.st;s.next((v==null?void 0:v.s)===l.BooleanNumber.TRUE)}}),c=(d=t.getLast())==null?void 0:d.primary;let u;if(c!=null){const m=r.getRange(c.startRow,c.startColumn);u=m==null?void 0:m.getStrikeThrough()}return s.next(!!(u&&u.s)),a.dispose})),hidden$:b.getMenuHiddenObservable(n,l.UniverInstanceType.UNIVER_SHEET)}}function Ad(n){const i=n.get(l.ICommandService),e=n.get(l.IUniverInstanceService),t=n.get(h.SelectionManagerService),o=l.DEFAULT_STYLES.ff;return{id:Hs.id,tooltip:"toolbar.font",group:b.MenuGroup.TOOLBAR_FORMAT,type:b.MenuItemType.SELECTOR,label:zs,positions:[b.MenuPosition.TOOLBAR_START],selections:b.FONT_FAMILY_LIST.map(r=>({label:{name:Ys,hoverable:!0},value:r.value})),disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]}),value$:Oe(e,o,({worksheet:r})=>new O.Observable(s=>{var d;const a=i.onCommandExecuted(m=>{var S;const g=m.id;if(g!==h.SetRangeValuesMutation.id&&g!==h.SetSelectionsOperation.id&&g!==h.SetWorksheetActiveOperation.id)return;const p=(S=t.getLast())==null?void 0:S.primary;let f;if(p!=null){const v=r.getRange(p.startRow,p.startColumn);f=v==null?void 0:v.getFontFamily()}s.next(f!=null?f:o)}),c=(d=t.getLast())==null?void 0:d.primary;let u;if(c!=null){const m=r.getRange(c.startRow,c.startColumn);u=m==null?void 0:m.getFontFamily()}return s.next(u!=null?u:o),a.dispose})),hidden$:b.getMenuHiddenObservable(n,l.UniverInstanceType.UNIVER_SHEET)}}function Nd(n){const i=n.get(l.ICommandService),e=n.get(l.IUniverInstanceService),t=n.get(h.SelectionManagerService),o=n.get(l.IContextService),r=l.DEFAULT_STYLES.fs,s=oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]});return{id:Ls.id,group:b.MenuGroup.TOOLBAR_FORMAT,type:b.MenuItemType.SELECTOR,tooltip:"toolbar.fontSize",label:{name:Zs,props:{min:1,max:400,disabled$:s}},positions:[b.MenuPosition.TOOLBAR_START],selections:b.FONT_SIZE_LIST,disabled$:s,value$:Oe(e,r,({worksheet:a})=>new O.Observable(c=>{var g;const u=i.onCommandExecuted(p=>{var S,v;const f=p.id;if(f===h.SetRangeValuesMutation.id||f===h.SetSelectionsOperation.id||f===h.SetWorksheetActiveOperation.id){const I=(S=t.getLast())==null?void 0:S.primary;let R;if(I!=null){const _=a.getRange(I.startRow,I.startColumn);R=_==null?void 0:_.getFontSize()}c.next(R!=null?R:r)}if((f===re.SetTextSelectionsOperation.id||f===re.SetInlineFormatCommand.id)&&o.getContextValue(l.EDITOR_ACTIVATED)&&o.getContextValue(l.FOCUSING_SHEET)){const I=xn(n);if(I==null)return;const R=(v=I.ts)==null?void 0:v.fs;c.next(R!=null?R:r)}}),d=(g=t.getLast())==null?void 0:g.primary;let m;if(d!=null){const p=a.getRange(d.startRow,d.startColumn);m=p==null?void 0:p.getFontSize()}return c.next(m!=null?m:r),u.dispose})),hidden$:b.getMenuHiddenObservable(n,l.UniverInstanceType.UNIVER_SHEET)}}function xd(n){return{id:h.ResetTextColorCommand.id,type:b.MenuItemType.BUTTON,title:"toolbar.resetColor",icon:"NoColor",positions:yi.id,disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function Dd(n){const i=n.get(l.ICommandService),e=n.get(l.ThemeService);return{id:yi.id,icon:"FontColor",tooltip:"toolbar.textColor.main",group:b.MenuGroup.TOOLBAR_FORMAT,type:b.MenuItemType.BUTTON_SELECTOR,positions:[b.MenuPosition.TOOLBAR_START],selections:[{label:{name:Xi,hoverable:!1}}],value$:new O.Observable(t=>{const o=e.getCurrentTheme().textColor,r=i.onCommandExecuted(s=>{if(s.id===yi.id){const a=s.params.value;t.next(a!=null?a:o)}});return t.next(o),r.dispose}),hidden$:b.getMenuHiddenObservable(n,l.UniverInstanceType.UNIVER_SHEET),disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function kd(n){return{id:h.ResetBackgroundColorCommand.id,type:b.MenuItemType.BUTTON,title:"toolbar.resetColor",icon:"NoColor",positions:h.SetBackgroundColorCommand.id,disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function Ld(n){const i=n.get(l.ICommandService),e=n.get(l.ThemeService);return{id:h.SetBackgroundColorCommand.id,tooltip:"toolbar.fillColor.main",group:b.MenuGroup.TOOLBAR_FORMAT,type:b.MenuItemType.BUTTON_SELECTOR,positions:[b.MenuPosition.TOOLBAR_START],icon:"PaintBucket",selections:[{label:{name:Xi,hoverable:!1}}],value$:new O.Observable(t=>{const o=e.getCurrentTheme().primaryColor,r=i.onCommandExecuted(s=>{if(s.id===h.SetBackgroundColorCommand.id){const a=s.params.value;t.next(a!=null?a:o)}});return t.next(o),r.dispose}),hidden$:b.getMenuHiddenObservable(n,l.UniverInstanceType.UNIVER_SHEET),disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}const Wr=[{label:"align.left",icon:"LeftJustifyingSingle",value:l.HorizontalAlign.LEFT},{label:"align.center",icon:"HorizontallySingle",value:l.HorizontalAlign.CENTER},{label:"align.right",icon:"RightJustifyingSingle",value:l.HorizontalAlign.RIGHT}];function Hd(n){const i=n.get(l.IUniverInstanceService),e=n.get(h.SelectionManagerService),t=l.HorizontalAlign.LEFT;return{id:h.SetHorizontalTextAlignCommand.id,icon:Wr[0].icon,positions:[b.MenuPosition.TOOLBAR_START],tooltip:"toolbar.horizontalAlignMode.main",group:b.MenuGroup.TOOLBAR_LAYOUT,type:b.MenuItemType.SELECTOR,selections:Wr,value$:Oe(i,t,({worksheet:o})=>new O.Observable(r=>{var u;const s=n.get(l.ICommandService).onCommandExecuted(d=>{var f;const m=d.id;if(m!==h.SetHorizontalTextAlignCommand.id&&m!==h.SetSelectionsOperation.id&&m!==h.SetWorksheetActiveOperation.id)return;const g=(f=e.getLast())==null?void 0:f.primary;let p;if(g!=null){const S=o.getRange(g.startRow,g.startColumn);p=S==null?void 0:S.getHorizontalAlignment()}r.next(p!=null?p:t)}),a=(u=e.getLast())==null?void 0:u.primary;let c;if(a!=null){const d=o.getRange(a.startRow,a.startColumn);c=d==null?void 0:d.getHorizontalAlignment()}return r.next(c!=null?c:t),s.dispose})),hidden$:b.getMenuHiddenObservable(n,l.UniverInstanceType.UNIVER_SHEET),disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}const Ur=[{label:"align.top",icon:"AlignTopSingle",value:l.VerticalAlign.TOP},{label:"align.middle",icon:"VerticalCenterSingle",value:l.VerticalAlign.MIDDLE},{label:"align.bottom",icon:"AlignBottomSingle",value:l.VerticalAlign.BOTTOM}];function Vd(n){const i=n.get(l.IUniverInstanceService),e=n.get(h.SelectionManagerService),t=l.VerticalAlign.BOTTOM;return{id:h.SetVerticalTextAlignCommand.id,icon:Ur[2].icon,tooltip:"toolbar.verticalAlignMode.main",group:b.MenuGroup.TOOLBAR_LAYOUT,type:b.MenuItemType.SELECTOR,positions:[b.MenuPosition.TOOLBAR_START],selections:Ur,value$:Oe(i,t,({worksheet:o})=>new O.Observable(r=>{var u;const s=n.get(l.ICommandService).onCommandExecuted(d=>{var f;const m=d.id;if(m!==h.SetVerticalTextAlignCommand.id&&m!==h.SetSelectionsOperation.id&&m!==h.SetWorksheetActiveOperation.id)return;const g=(f=e.getLast())==null?void 0:f.primary;let p;if(g!=null){const S=o.getRange(g.startRow,g.startColumn);p=S==null?void 0:S.getVerticalAlignment()}r.next(p!=null?p:t)}),a=(u=e.getLast())==null?void 0:u.primary;let c;if(a!=null){const d=o.getRange(a.startRow,a.startColumn);c=d==null?void 0:d.getVerticalAlignment()}return r.next(c!=null?c:t),s.dispose})),hidden$:b.getMenuHiddenObservable(n,l.UniverInstanceType.UNIVER_SHEET),disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}const Br=[{label:"textWrap.overflow",icon:"OverflowSingle",value:l.WrapStrategy.OVERFLOW},{label:"textWrap.wrap",icon:"AutowrapSingle",value:l.WrapStrategy.WRAP},{label:"textWrap.clip",icon:"TruncationSingle",value:l.WrapStrategy.CLIP}];function Wd(n){const i=n.get(h.SelectionManagerService),e=n.get(l.IUniverInstanceService),t=l.WrapStrategy.OVERFLOW;return{id:h.SetTextWrapCommand.id,tooltip:"toolbar.textWrapMode.main",icon:Br[0].icon,group:b.MenuGroup.TOOLBAR_LAYOUT,type:b.MenuItemType.SELECTOR,positions:[b.MenuPosition.TOOLBAR_START],selections:Br,value$:Oe(e,t,({worksheet:o})=>new O.Observable(r=>{var u;const s=n.get(l.ICommandService).onCommandExecuted(d=>{var f;const m=d.id;if(m!==h.SetTextWrapCommand.id&&m!==h.SetSelectionsOperation.id&&m!==h.SetWorksheetActiveOperation.id)return;const g=(f=i.getLast())==null?void 0:f.primary;let p;if(g!=null){const S=o.getRange(g.startRow,g.startColumn);p=S==null?void 0:S.getWrapStrategy()}r.next(p!=null?p:t)}),a=(u=i.getLast())==null?void 0:u.primary;let c;if(a!=null){const d=o.getRange(a.startRow,a.startColumn);c=d==null?void 0:d.getWrapStrategy()}return r.next(c!=null?c:t),s.dispose})),hidden$:b.getMenuHiddenObservable(n,l.UniverInstanceType.UNIVER_SHEET),disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}const Fr=[{label:"textRotate.none",icon:"NoRotationSingle",value:0},{label:"textRotate.angleUp",icon:"LeftRotationFortyFiveDegreesSingle",value:-45},{label:"textRotate.angleDown",icon:"RightRotationFortyFiveDegreesSingle",value:45},{label:"textRotate.vertical",icon:"VerticalTextSingle",value:"v"},{label:"textRotate.rotationUp",icon:"LeftRotationNinetyDegreesSingle",value:-90},{label:"textRotate.rotationDown",icon:"RightRotationNinetyDegreesSingle",value:90}];function Ud(n){const i=n.get(h.SelectionManagerService),e=n.get(l.IUniverInstanceService),t=0;return{id:h.SetTextRotationCommand.id,tooltip:"toolbar.textRotateMode.main",icon:Fr[0].icon,group:b.MenuGroup.TOOLBAR_LAYOUT,type:b.MenuItemType.SELECTOR,selections:Fr,positions:[b.MenuPosition.TOOLBAR_START],value$:Oe(e,t,({worksheet:o})=>new O.Observable(r=>{var u,d;const s=n.get(l.ICommandService).onCommandExecuted(m=>{var S,v;const g=m.id;if(g!==h.SetTextRotationCommand.id&&g!==h.SetSelectionsOperation.id&&g!==h.SetWorksheetActiveOperation.id)return;const p=(S=i.getLast())==null?void 0:S.primary;let f;if(p!=null){const I=o.getRange(p.startRow,p.startColumn);f=I==null?void 0:I.getTextRotation()}(f==null?void 0:f.v)===l.BooleanNumber.TRUE?r.next("v"):r.next((v=f&&f.a)!=null?v:t)}),a=(u=i.getLast())==null?void 0:u.primary;let c;if(a!=null){const m=o.getRange(a.startRow,a.startColumn);c=m==null?void 0:m.getTextRotation()}return(c==null?void 0:c.v)===l.BooleanNumber.TRUE?r.next("v"):r.next((d=c&&c.a)!=null?d:t),s.dispose})),hidden$:b.getMenuHiddenObservable(n,l.UniverInstanceType.UNIVER_SHEET),disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function An(n){return new O.Observable(e=>e.next(!n.get(b.IClipboardInterfaceService).supportClipboard))}function Bd(n){return{id:b.CopyCommand.id,group:b.MenuGroup.CONTEXT_MENU_FORMAT,type:b.MenuItemType.BUTTON,title:"rightClick.copy",icon:"Copy",positions:[b.MenuPosition.CONTEXT_MENU,"colHeaderContextMenu","rowHeaderContextMenu"],disabled$:oe(n,{workbookTypes:[h.WorkbookCopyPermission],worksheetTypes:[h.WorksheetCopyPermission],rangeTypes:[h.RangeProtectionPermissionViewPoint]})}}function Fd(n){return{id:b.PasteCommand.id,group:b.MenuGroup.CONTEXT_MENU_FORMAT,type:b.MenuItemType.BUTTON,title:"rightClick.paste",icon:"PasteSpecial",disabled$:An(n).pipe(O.combineLatestWith(oe(n,{rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission,h.WorksheetSetCellValuePermission],workbookTypes:[h.WorkbookEditablePermission]})),O.map(([i,e])=>i||e)),positions:[b.MenuPosition.CONTEXT_MENU,"colHeaderContextMenu","rowHeaderContextMenu"]}}const Jt="sheet.menu.paste-special";function jd(n){return{id:Jt,group:b.MenuGroup.CONTEXT_MENU_FORMAT,type:b.MenuItemType.SUBITEMS,icon:"PasteSpecial",title:"rightClick.pasteSpecial",positions:[b.MenuPosition.CONTEXT_MENU,"colHeaderContextMenu","rowHeaderContextMenu"]}}function Xd(n){return{id:bs.id,type:b.MenuItemType.BUTTON,title:"rightClick.pasteValue",positions:[Jt],disabled$:An(n).pipe(O.combineLatestWith(oe(n,{rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetSetCellValuePermission,h.WorksheetEditPermission],workbookTypes:[h.WorkbookEditablePermission]})),O.map(([i,e])=>i||e))}}function zd(n){return{id:_s.id,type:b.MenuItemType.BUTTON,title:"rightClick.pasteFormat",positions:[Jt],disabled$:An(n).pipe(O.combineLatestWith(oe(n,{rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetSetCellStylePermission,h.WorksheetEditPermission],workbookTypes:[h.WorkbookEditablePermission]})),O.map(([i,e])=>i||e))}}function Yd(n){return{id:Li.id,type:b.MenuItemType.BUTTON,title:"rightClick.pasteColWidth",positions:[Jt],disabled$:An(n).pipe(O.combineLatestWith(oe(n,{rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetSetColumnStylePermission,h.WorksheetEditPermission],workbookTypes:[h.WorkbookEditablePermission]})),O.map(([i,e])=>i||e))}}function Zd(n){return{id:Ts.id,type:b.MenuItemType.BUTTON,title:"rightClick.pasteBesidesBorder",positions:[Jt],disabled$:An(n).pipe(O.combineLatestWith(oe(n,{rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission,h.WorksheetSetCellValuePermission,h.WorksheetSetRowStylePermission,h.WorksheetSetColumnStylePermission],workbookTypes:[h.WorkbookEditablePermission]})),O.map(([i,e])=>i||e))}}function Gd(n){return{id:h.SetWorksheetRowIsAutoHeightCommand.id,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.BUTTON,positions:["rowHeaderContextMenu"],icon:"AutoHeight",title:"rightClick.fitContent",disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetSetRowStylePermission,h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}const Nn="sheet.menu.sheet-frozen";function qd(n){return{id:Nn,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.SUBITEMS,title:"rightClick.freeze",icon:"FreezeToSelectedSingle",positions:[b.MenuPosition.CONTEXT_MENU]}}const or="sheet.header-menu.sheet-frozen";function Kd(n){return{id:or,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.SUBITEMS,title:"rightClick.freeze",icon:"FreezeToSelectedSingle",positions:["rowHeaderContextMenu","colHeaderContextMenu"]}}function Qd(n){return{id:ji.id,type:b.MenuItemType.BUTTON,positions:[Nn,or],title:"rightClick.freeze",icon:"FreezeToSelectedSingle",disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function Jd(n){return{id:Fs.id,type:b.MenuItemType.BUTTON,positions:[Nn],title:"rightClick.freezeRow",icon:"FreezeRowSingle",disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function $d(n){return{id:js.id,type:b.MenuItemType.BUTTON,positions:[Nn],title:"rightClick.freezeCol",icon:"FreezeColumnSingle",disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function eu(n){return{id:Xs.id,type:b.MenuItemType.BUTTON,positions:[Nn,or],title:"rightClick.cancelFreeze",icon:"CancelFreezeSingle",disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function tu(n){return{id:Ds.id,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.BUTTON,positions:["rowHeaderContextMenu"],icon:"Hide",title:"rightClick.hideSelectedRow",disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetSetRowStylePermission,h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function nu(n){return{id:ks.id,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.BUTTON,positions:["colHeaderContextMenu"],icon:"Hide",title:"rightClick.hideSelectedColumn",disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetColumnStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function iu(n){const i=n.get(l.IUniverInstanceService),e=n.get(h.SelectionManagerService),t=n.get(l.ICommandService),o=[h.SetSelectionsOperation,h.SetRowHiddenMutation,h.SetRowVisibleMutation].map(r=>r.id);return{id:h.SetSelectedRowsVisibleCommand.id,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.BUTTON,positions:["rowHeaderContextMenu"],title:"rightClick.showHideRow",hidden$:Oe(i,!0,({worksheet:r})=>new O.Observable(s=>{function a(){var d;const u=(d=e.getSelections())==null?void 0:d.map(m=>m.range).filter(m=>m.rangeType===l.RANGE_TYPE.ROW);return!!(u!=null&&u.some(m=>{for(let g=m.startRow;g<=m.endRow;g++)if(!r.getRowRawVisible(g))return!0;return!1}))}const c=t.onCommandExecuted(u=>{o.findIndex(d=>d===u.id)!==-1&&s.next(!a())});return s.next(!a()),()=>c.dispose()})),disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetRowStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function ou(n){const i=n.get(l.IUniverInstanceService),e=n.get(h.SelectionManagerService),t=n.get(l.ICommandService),o=[h.SetSelectionsOperation,h.SetColHiddenMutation,h.SetColVisibleMutation].map(r=>r.id);return{id:h.SetSelectedColsVisibleCommand.id,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.BUTTON,positions:["colHeaderContextMenu"],title:"rightClick.showHideColumn",hidden$:Oe(i,!0,({worksheet:r})=>new O.Observable(s=>{function a(){var d;const u=(d=e.getSelections())==null?void 0:d.map(m=>m.range).filter(m=>m.rangeType===l.RANGE_TYPE.COLUMN);return!u||u.length===0?!1:!!u.some(m=>{for(let g=m.startColumn;g<=m.endColumn;g++)if(!r.getColVisible(g))return!0;return!1})}const c=t.onCommandExecuted(u=>{o.findIndex(d=>d===u.id)!==-1&&s.next(!a())});return s.next(!a()),()=>c.dispose()})),disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetSetColumnStylePermission,h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function ru(n){const i=n.get(l.ICommandService),e=n.get(l.IUniverInstanceService),t=n.get(h.SelectionManagerService),o=0;return{id:h.SetRowHeightCommand.id,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.BUTTON,icon:"AdjustHeight",positions:["rowHeaderContextMenu"],label:{name:ir,props:{prefix:"rightClick.rowHeight",suffix:"px",min:2,max:1e3}},value$:Oe(e,o,({worksheet:r})=>new O.Observable(s=>{function a(){var m;const u=(m=t.getLast())==null?void 0:m.primary,d=u?r.getRowHeight(u.startRow):o;s.next(d)}const c=i.onCommandExecuted(u=>{const d=u.id;if(d===h.SetRangeValuesMutation.id||d===h.SetSelectionsOperation.id||d===h.SetWorksheetRowIsAutoHeightMutation.id)return a()});return a(),c.dispose})),hidden$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetRowStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function su(n){const i=n.get(l.ICommandService),e=n.get(l.IUniverInstanceService),t=n.get(h.SelectionManagerService),o=0;return{id:h.SetColWidthCommand.id,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.BUTTON,icon:"AdjustWidth",positions:["colHeaderContextMenu"],label:{name:ir,props:{prefix:"rightClick.columnWidth",suffix:"px",min:2,max:1e3}},value$:Oe(e,o,({worksheet:r})=>new O.Observable(s=>{function a(){var m;const u=(m=t.getLast())==null?void 0:m.primary;let d=o;u!=null&&(d=r.getColumnWidth(u.startColumn)),s.next(d)}const c=i.onCommandExecuted(u=>{const d=u.id;if(d===h.SetRangeValuesMutation.id||d===h.SetSelectionsOperation.id||d===h.SetWorksheetColWidthMutation.id)return a()});return a(),c.dispose})),hidden$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetColumnStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function xn(n){var c;const i=n.get(l.IUniverInstanceService),e=n.get(re.TextSelectionManagerService),t=i.getUniverDocInstance(l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY),o=e.getActiveRange();if(t==null||o==null)return null;const r=(c=t.getBody())==null?void 0:c.textRuns;if(r==null)return;const{startOffset:s}=o;return r.find(({st:u,ed:d})=>s>=u&&s<=d)}function au(){const n=B.useDependency(l.IUniverInstanceService),i=b.useObservable(()=>n.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET),void 0,void 0,[]);return i!=null?i:null}function lu(n){return b.useObservable(()=>{var e;return(e=n==null?void 0:n.activeSheet$)!=null?e:O.of(null)},void 0,void 0,[n])}class Ks{constructor(){w(this,"_state",null);w(this,"_rect",null);w(this,"_state$",new O.BehaviorSubject(null));w(this,"state$",this._state$.asObservable());w(this,"_rect$",new O.BehaviorSubject(null));w(this,"rect$",this._rect$.asObservable());w(this,"_focus",!1);w(this,"_focus$",new O.BehaviorSubject(this._focus));w(this,"focus$",this._focus$.asObservable())}dispose(){this._state$.complete(),this._state=null,this._rect$.complete(),this._rect=null}setState(i){this._state=i,this._refresh(i)}getRect(){return this._rect}setRect(i){this._rect=i,this._rect$.next(i)}getState(){return this._state}setFocus(i=!1){this._focus=i,this._focus$.next(i)}_refresh(i){this._state$.next(i)}}const Dn=k.createIdentifier("univer.sheet-cell-editor-manager.service");class cu{constructor(){w(this,"_position",null);w(this,"_position$",new O.BehaviorSubject(null));w(this,"position$",this._position$.asObservable());w(this,"_focus",!1);w(this,"_focus$",new O.BehaviorSubject(this._focus));w(this,"focus$",this._focus$.asObservable());w(this,"_fxBtnClick$",new O.Subject);w(this,"fxBtnClick$",this._fxBtnClick$.asObservable());w(this,"_foldBtnStatus$",new O.Subject);w(this,"foldBtnStatus$",this._foldBtnStatus$.asObservable())}dispose(){this._position$.complete(),this._focus$.complete(),this._position=null,this._focus=!1}setPosition(i){this._position=i,this._refresh(i)}getPosition(){return this._position}setFocus(i=!1){this._focus=i,this._focus$.next(i)}handleFxBtnClick(i){this._fxBtnClick$.next(i)}handleFoldBtnClick(i){this._foldBtnStatus$.next(i)}_refresh(i){this._position$.next(i)}}const Yi=k.createIdentifier("univer.sheet-formula-editor-manager.service");var du=Object.defineProperty,uu=Object.getOwnPropertyDescriptor,hu=(n,i,e,t)=>{for(var o=t>1?void 0:t?uu(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&du(i,e,o),o},jr=(n,i)=>(e,t)=>i(e,t,n);let si=class extends l.Disposable{constructor(i,e){super();w(this,"_previousSheetIndex",-1);this._commandService=i,this._univerInstanceService=e,this.disposeWithMe(this._commandService.beforeCommandExecuted(t=>{if(t.id===h.RemoveSheetMutation.id)return this._beforeAdjustActiveSheetOnRemoveSheet(t)})),this.disposeWithMe(this._commandService.onCommandExecuted((t,o)=>{if(t.id===h.RemoveSheetMutation.id)return this._adjustActiveSheetOnRemoveSheet(t);if(t.id===h.SetWorksheetHideMutation.id&&t.params.hidden)return this._adjustActiveSheetOnHideSheet(t);if(!(o!=null&&o.fromCollab)){if(t.id===h.InsertSheetMutation.id)return this._adjustActiveSheetOnInsertSheet(t);if(t.id===h.SetWorksheetHideMutation.id&&!t.params.hidden)return this._adjustActiveSheetOnShowSheet(t)}}))}_adjustActiveSheetOnHideSheet(i){const{unitId:e,subUnitId:t}=i.params,o=this._univerInstanceService.getUniverSheetInstance(e);if(!o||o.getActiveSheet().getSheetId()!==t)return;const s=o.getActiveSheetIndex(),a=Xr(o,s);this._switchToNextSheet(e,a)}_beforeAdjustActiveSheetOnRemoveSheet(i){const{unitId:e,subUnitId:t}=i.params,o=this._univerInstanceService.getUniverSheetInstance(e);if(!o)return;const r=o.getSheetBySheetId(t);r&&(this._previousSheetIndex=o.getSheetIndex(r))}_adjustActiveSheetOnRemoveSheet(i){if(this._previousSheetIndex===-1)return;const{unitId:e}=i.params,t=this._univerInstanceService.getUniverSheetInstance(e);if(!t||t.getRawActiveSheet())return;const r=this._previousSheetIndex,s=r>=1?r-1:0,a=Xr(t,s);this._switchToNextSheet(e,a)}_adjustActiveSheetOnInsertSheet(i){const{unitId:e,sheet:t}=i.params;this._switchToNextSheet(e,t.id)}_adjustActiveSheetOnShowSheet(i){const{unitId:e,subUnitId:t}=i.params;this._switchToNextSheet(e,t)}_switchToNextSheet(i,e){this._commandService.executeCommand(h.SetWorksheetActiveOperation.id,{unitId:i,subUnitId:e})}};si=hu([l.OnLifecycle(l.LifecycleStages.Ready,si),jr(0,l.ICommandService),jr(1,l.IUniverInstanceService)],si);function Xr(n,i){const e=n.getSheetSize();for(let t=i;t>-1;t--){const o=n.getSheetByIndex(t);if(!o.getConfig().hidden)return o.getSheetId()}for(let t=i;t<e;t++){const o=n.getSheetByIndex(t);if(!o.getConfig().hidden)return o.getSheetId()}throw new Error("[ActiveWorksheetController]: could not find the next unhidden sheet! Collaboration error perhaps.")}var mu=Object.defineProperty,gu=Object.getOwnPropertyDescriptor,pu=(n,i,e,t)=>{for(var o=t>1?void 0:t?gu(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&mu(i,e,o),o},ln=(n,i)=>(e,t)=>i(e,t,n);exports.AutoHeightController=class extends l.Disposable{constructor(i,e,t,o,r){super(),this._injector=i,this._sheetInterceptorService=e,this._selectionManagerService=t,this._univerInstanceService=o,this._sheetSkeletonManagerService=r,this._initialize()}getUndoRedoParamsOfAutoHeight(i){const{_univerInstanceService:e,_sheetSkeletonManagerService:t,_injector:o}=this,{skeleton:r}=t.getCurrent(),s=r.calculateAutoHeightInRange(i),a=e.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),c=a.getUnitId(),d={subUnitId:a.getActiveSheet().getSheetId(),unitId:c,rowsAutoHeightInfo:s},m=h.SetWorksheetRowAutoHeightMutationFactory(o,d);return{undos:[{id:h.SetWorksheetRowAutoHeightMutation.id,params:m}],redos:[{id:h.SetWorksheetRowAutoHeightMutation.id,params:d}]}}_initialize(){const{_sheetInterceptorService:i,_selectionManagerService:e}=this;this.disposeWithMe(i.interceptCommand({getMutations:t=>t.id!==h.SetRangeValuesCommand.id?{redos:[],undos:[]}:this.getUndoRedoParamsOfAutoHeight(t.params.range)})),this.disposeWithMe(i.interceptCommand({getMutations:t=>t.id!==h.SetWorksheetRowIsAutoHeightCommand.id?{redos:[],undos:[]}:this.getUndoRedoParamsOfAutoHeight(t.params.ranges)})),this.disposeWithMe(i.interceptCommand({getMutations:t=>{var s;if(t.id!==h.SetStyleCommand.id)return{redos:[],undos:[]};if(!["ff","fs","tr","tb"].includes((s=t.params)==null?void 0:s.style.type))return{redos:[],undos:[]};const r=e.getSelectionRanges();return r!=null&&r.length?this.getUndoRedoParamsOfAutoHeight(r):{redos:[],undos:[]}}}))}};exports.AutoHeightController=pu([l.OnLifecycle(l.LifecycleStages.Ready,exports.AutoHeightController),ln(0,k.Inject(k.Injector)),ln(1,k.Inject(h.SheetInterceptorService)),ln(2,k.Inject(h.SelectionManagerService)),ln(3,k.Inject(l.IUniverInstanceService)),ln(4,k.Inject(exports.SheetSkeletonManagerService))],exports.AutoHeightController);function fu(n,i,e,t,o){const r=[],s=[];if(t.copyType===mt.CUT){const{undos:a,redos:c}=Su(n,i,o);r.push(...c),s.push(...a)}else{const{undos:a,redos:c}=$s(i,e,o);r.push(...c),s.push(...a);const{undos:u,redos:d}=Qs(i,n,e,o);r.push(...d),s.push(...u);const{undos:m,redos:g}=Js(i,e,o,!0);r.push(...g),s.push(...m);const{undos:p,redos:f}=Oo(i,e,o);r.push(...f),s.push(...p)}return{undos:s,redos:r}}function Su(n,i,e){let t=[],o=[];const{range:r,subUnitId:s,unitId:a}=n,{range:c,subUnitId:u}=i,d=c?Et(c):null,m=r?Et(r):null;if(m&&d){const g=e.get(l.IUniverInstanceService),p=e.get(h.SheetInterceptorService),f=g.getUniverSheetInstance(a),S=f==null?void 0:f.getSheetBySheetId(s),v=f==null?void 0:f.getSheetBySheetId(u);if(S&&v){const I=new l.ObjectMatrix,R=new l.ObjectMatrix,_=S.getCellMatrix(),T=v.getCellMatrix();l.Range.foreach(m,(Y,X)=>{I.setValue(Y,X,l.Tools.deepClone(_.getValue(Y,X))),R.setValue(Y,X,null)});const y=new l.ObjectMatrix;l.Range.foreach(d,(Y,X)=>{y.setValue(Y,X,l.Tools.deepClone(T.getValue(Y,X)))});const M=new l.ObjectMatrix;l.Range.foreach(m,(Y,X)=>{const Z=l.cellToRange(Y,X),G=l.Rectangle.getRelativeRange(Z,m),K=l.Rectangle.getPositionRange(G,d);M.setValue(K.startRow,K.startColumn,_.getValue(Y,X))});const P={from:{value:R.getMatrix(),subUnitId:s},to:{value:M.getMatrix(),subUnitId:u},unitId:a},N={from:{value:I.getMatrix(),subUnitId:s},to:{value:y.getMatrix(),subUnitId:u},unitId:a},D=p.onCommandExecute({id:h.MoveRangeCommand.id,params:{toRange:d,fromRange:m}}),A=S.getMergeData(),x=v.getMergeData(),L=A.filter(Y=>l.Rectangle.intersects(Y,m)),U=x.filter(Y=>l.Rectangle.intersects(Y,d)),H=L.map(Y=>l.Rectangle.getRelativeRange(Y,m)).map(Y=>l.Rectangle.getPositionRange(Y,d)),W=h.getAddMergeMutationRangeByType(H).filter(Y=>!x.some(X=>l.Rectangle.equals(Y,X))),z=[{id:h.RemoveWorksheetMergeMutation.id,params:{unitId:a,subUnitId:s,ranges:L}},{id:h.RemoveWorksheetMergeMutation.id,params:{unitId:a,subUnitId:s,ranges:U}},{id:h.AddWorksheetMergeMutation.id,params:{unitId:a,subUnitId:u,ranges:W}}],q=[{id:h.RemoveWorksheetMergeMutation.id,params:{unitId:a,subUnitId:u,ranges:W}},{id:h.AddWorksheetMergeMutation.id,params:{unitId:a,subUnitId:u,ranges:U}},{id:h.AddWorksheetMergeMutation.id,params:{unitId:a,subUnitId:s,ranges:L}}];t=[{id:h.MoveRangeMutation.id,params:P},...D.redos,...z,{id:h.SetSelectionsOperation.id,params:{unitId:a,subUnitId:u,pluginName:h.NORMAL_SELECTION_PLUGIN_NAME,selections:[{range:d}]}}],o=[{id:h.MoveRangeMutation.id,params:N},...D.undos,...q,{id:h.SetSelectionsOperation.id,params:{unitId:a,sheetId:s,pluginName:h.NORMAL_SELECTION_PLUGIN_NAME,selections:[{range:m}]}}]}}return{undos:o,redos:t}}function Qs(n,i,e,t){const{unitId:o,subUnitId:r,range:s}=n,a=[],c=[],{mapFunc:u}=Zt([s]),d=new l.ObjectMatrix;e.forValue((p,f,S)=>{var R;if(!S.p&&S.v&&!i){const _=String(S.v),T=ii.parseDate(_)||ii.parseTime(_)||ii.parseNumber(_);T!=null&&T.v&&typeof T.v=="number"&&(S.v=T.v)}const{row:v,col:I}=u(p,f);(R=S.p)!=null&&R.body?d.setValue(v,I,l.Tools.deepClone({p:S.p,v:S.v})):d.setValue(v,I,l.Tools.deepClone({v:S.v}))});const m={unitId:o,subUnitId:r,cellValue:l.Tools.deepClone(d.getMatrix())};a.push({id:h.SetRangeValuesMutation.id,params:m});const g=h.SetRangeValuesUndoMutationFactory(t,m);return c.push({id:h.SetRangeValuesMutation.id,params:g}),{undos:c,redos:a}}function Js(n,i,e,t=!1){const o=[],r=[],{unitId:s,subUnitId:a,range:c}=n,u=new l.ObjectMatrix,{mapFunc:d}=Zt([c]);i.forValue((p,f,S)=>{var _;const v={s:S.s};t&&((_=S.p)!=null&&_.body)&&(v.p=S.p);const{row:I,col:R}=d(p,f);u.setValue(I,R,v)});const m={unitId:s,subUnitId:a,cellValue:l.Tools.deepClone(u.getMatrix())};o.push({id:h.SetRangeValuesMutation.id,params:m});const g=h.SetRangeValuesUndoMutationFactory(e,m);return r.push({id:h.SetRangeValuesMutation.id,params:g}),{undos:r,redos:o}}function $s(n,i,e){const t=[],o=[],r=new l.ObjectMatrix,{unitId:s,subUnitId:a,range:c}=n,{mapFunc:u}=Zt([c]);if(i.forValue((d,m,g)=>{if(g.s){const{row:p,col:f}=u(d,m);r.setValue(p,f,{s:null})}}),r.getLength()>0){const d={subUnitId:a,unitId:s,cellValue:l.Tools.deepClone(r.getMatrix())};t.push({id:h.SetRangeValuesMutation.id,params:d});const m=h.SetRangeValuesUndoMutationFactory(e,d);o.push({id:h.SetRangeValuesMutation.id,params:m})}return{undos:o,redos:t}}function Oo(n,i,e){const t=[],o=[],{unitId:r,subUnitId:s,range:a}=n,{startColumn:c,startRow:u,endColumn:d,endRow:m}=Et(a),g=[];i.forValue((R,_,T)=>{if(T.rowSpan&&T.rowSpan>1){const y=T.colSpan||1,M={startRow:u+R,endRow:u+R+T.rowSpan-1,startColumn:c+_,endColumn:c+_+y-1};g.push(M)}else if(T.colSpan&&T.colSpan>1){const y=T.rowSpan||1,M={startRow:u+R,endRow:u+R+y-1,startColumn:c+_,endColumn:c+_+T.colSpan-1};g.push(M)}});const f=e.get(l.IUniverInstanceService).getUniverSheetInstance(r),S=f==null?void 0:f.getSheetBySheetId(s);if(f&&S){const _=S.getMergeData().filter(M=>l.Rectangle.intersects({startRow:u,startColumn:c,endRow:m,endColumn:d},M)),T={unitId:r,subUnitId:s,ranges:_};t.push({id:h.RemoveWorksheetMergeMutation.id,params:T});const y=h.RemoveMergeUndoMutationFactory(e,T);o.push({id:h.AddWorksheetMergeMutation.id,params:y})}const v={unitId:r,subUnitId:s,ranges:g};g.length>0&&t.push({id:h.AddWorksheetMergeMutation.id,params:v});const I=h.AddMergeUndoMutationFactory(e,v);return g.length>0&&o.push({id:h.RemoveWorksheetMergeMutation.id,params:I}),{undos:o,redos:t}}function vu(n){let i=n.replace(/(\r\n|\n)/g,"\r");i.endsWith(`\r
|
|
16
|
+
`)||(i+=`\r
|
|
17
|
+
`);const e=[];for(let t=0;t<i.length;t++)i[t]==="\r"&&e.push({startIndex:t});return{dataStream:i,paragraphs:e,sectionBreaks:[{startIndex:i.indexOf(`
|
|
18
|
+
`)}]}}var Cu=Object.defineProperty,Iu=Object.getOwnPropertyDescriptor,Ru=(n,i,e,t)=>{for(var o=t>1?void 0:t?Iu(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&Cu(i,e,o),o},qe=(n,i)=>(e,t)=>i(e,t,n);let ai=class extends l.RxDisposable{constructor(n,i,e,t,o,r,s,a,c,u){var d;super(),this._injector=n,this._currentUniverSheet=i,this._commandService=e,this._contextService=t,this._configService=o,this._sheetClipboardService=r,this._messageService=s,this._sheetSkeletonManagerService=a,this._localService=c,this._textSelectionRenderManager=u,this._init(),(d=this._textSelectionRenderManager)==null||d.onPaste$.pipe(O.takeUntil(this.dispose$)).subscribe(m=>{var S,v;if(!le(this._contextService))return;m.event.preventDefault();const g=m.event,p=(S=g.clipboardData)==null?void 0:S.getData("text/html"),f=(v=g.clipboardData)==null?void 0:v.getData("text/plain");this._commandService.executeCommand(Ti.id,{htmlContent:p,textContent:f})})}_init(){[Ko,Qo,qt].forEach(i=>this.disposeWithMe(this._commandService.registerMultipleCommand(i))),[bs,_s,Li,Ts,Ti].forEach(i=>this.disposeWithMe(this._commandService.registerCommand(i))),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initCopyingHooks())),this.disposeWithMe(this._sheetClipboardService.addClipboardHook(this._initPastingHook()));const n=this._initSpecialPasteHooks().map(i=>this._sheetClipboardService.addClipboardHook(i));this.disposeWithMe({dispose:()=>n.forEach(i=>i.dispose())})}_initCopyingHooks(){const n=this;let i=null;return{id:Ee.DEFAULT_COPY,isDefaultHook:!0,onBeforeCopy(e,t){i=n._getWorksheet(e,t)},onCopyCellContent(e,t){var s,a,c,u;const o=i.getCell(e,t);return(a=(s=o==null?void 0:o.p)==null?void 0:s.body)!=null&&a.paragraphs||(u=(c=o==null?void 0:o.p)==null?void 0:c.body)!=null&&u.textRuns?l.convertBodyToHtml(o.p.body):o?l.extractPureTextFromCell(o):""},onCopyCellStyle:(e,t,o,r)=>{const s={};(o||r)&&(s.rowspan=`${o||1}`,s.colspan=`${r||1}`);const a=i.getRange(e,t),c=i.getMergedCell(e,t),u=a.getTextStyle();let d="";if(u&&(d=l.handleStyleToString(u)),c){const m=c.endRow,g=c.endColumn,f=i.getRange(m,g).getTextStyle();if(f){const S=l.handleStyleToString(f);d?d+=S?`;${S}`:"":d=S}}return d&&(s.style=d),s},onCopyColumn(e){return{width:`${i.getColumnWidth(e)}`}},onCopyRow(e){return{style:`height: ${i.getRowHeight(e)}px;`}},onAfterCopy(){i=null},getFilteredOutRows(e){var a;const{startRow:t,endRow:o}=e,r=(a=n._currentUniverSheet.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET))==null?void 0:a.getActiveSheet(),s=[];if(!r)return s;for(let c=t;c<=o;c++)r.getRowFiltered(c)&&s.push(c);return s}}}_initPastingHook(){const n=this;let i=null,e=null,t=null;return{id:Ee.DEFAULT_PASTE,isDefaultHook:!0,onBeforePaste({unitId:o,subUnitId:r,range:s}){t=n._getWorksheet(o,r),i=o,e=r;const a=n._configService.getConfig(h.MAX_CELL_PER_SHEET_KEY),c=s.rows[s.rows.length-1],u=s.cols[s.cols.length-1];return a&&c*u>a?(n._messageService.show({type:ie.MessageType.Error,content:n._localService.t("clipboard.paste.exceedMaxCells")}),!1):!0},onPasteRows(o,r){const{range:s}=o,a=[],c=[],u=t.getMaxRows(),d=s.rows[s.rows.length-1]-u,m=r.length-d,g=t.getRowManager();if(d>0){const v={};r.slice(m).forEach((R,_)=>{const{style:T,height:y}=R||{};if(T){const M=T.split(";");let P=l.DEFAULT_WORKSHEET_ROW_HEIGHT;M.find(N=>{N=N.toLowerCase();const D=b.textTrim(N.substr(0,N.indexOf(":"))),A=b.textTrim(N.substr(N.indexOf(":")+1));return D==="height"?(A.endsWith("pt")?P=E.ptToPx(Number.parseFloat(A)):P=Number.parseFloat(A),!0):!1}),v[_]={h:P,hd:l.BooleanNumber.FALSE}}else y&&(v[_]={h:Number.parseFloat(y),hd:l.BooleanNumber.FALSE})});const I={unitId:i,subUnitId:e,range:{startColumn:s.cols[0],endColumn:s.cols[s.cols.length-1],endRow:s.rows[s.rows.length-1],startRow:u},rowInfo:v};a.push({id:h.InsertRowMutation.id,params:I})}const p={},f={};r.slice(0,m).forEach((v,I)=>{var T,y;const{style:R,height:_}=v;if(R){const M=R.split(";");let P=l.DEFAULT_WORKSHEET_ROW_HEIGHT;M.find(N=>{N=N.toLowerCase();const D=b.textTrim(N.substr(0,N.indexOf(":"))),A=b.textTrim(N.substr(N.indexOf(":")+1));return D==="height"?(A.endsWith("pt")?P=E.ptToPx(Number.parseFloat(A)):P=Number.parseFloat(A),!0):!1}),p[I+s.rows[0]]=P}else if(_){const M=g.getRow(s.rows[0]+I),P=Number.parseFloat(_);if(M){const{h:N=l.DEFAULT_WORKSHEET_ROW_HEIGHT,ah:D=0}=M,A=Math.max(N,D);P>A&&(p[I+s.rows[0]]=P,f[I+s.rows[0]]=A)}else p[I+s.rows[0]]=P,f[I+s.rows[0]]=(y=(T=g.getRow(s.rows[0]+I))==null?void 0:T.h)!=null?y:l.DEFAULT_WORKSHEET_ROW_HEIGHT}});const S={unitId:i,subUnitId:e,ranges:[{startRow:s.rows[0],endRow:Math.min(s.rows[s.rows.length-1],u),startColumn:s.cols[0],endColumn:s.cols[s.cols.length-1]}],rowHeight:p};return a.push({id:h.SetWorksheetRowHeightMutation.id,params:S}),c.push({id:h.SetWorksheetRowHeightMutation.id,params:{...S,rowHeight:20}}),{redos:a,undos:c}},onPasteColumns(o,r,s){var f;const{range:a}=o,c=[],u=t.getMaxColumns(),d=a.cols[a.cols.length-1]-u,m=r.length-d,g=(f=n._configService.getConfig(l.DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY))!=null?f:l.DEFAULT_WORKSHEET_COLUMN_WIDTH;if(d>0){const S={unitId:i,subUnitId:e,range:{startRow:a.rows[0],endRow:a.rows[a.rows.length-1],endColumn:a.cols[a.cols.length-1],startColumn:u},colInfo:r.slice(m).map(v=>({w:v.width?+v.width:g,hd:l.BooleanNumber.FALSE}))};c.push({id:h.InsertColMutation.id,params:S})}const p={unitId:i,subUnitId:e,ranges:[{startRow:a.rows[0],endRow:a.rows[a.rows.length-1],startColumn:a.cols[0],endColumn:Math.min(a.cols[a.cols.length-1],u)}],colWidth:r.slice(0,m).map(S=>S.width?+S.width:g)};return c.push({id:h.SetWorksheetColWidthMutation.id,params:p}),{redos:c,undos:[]}},onPastePlainText(o,r,s){return n._onPastePlainText(o,r,s)},onPasteCells(o,r,s,a){return n._onPasteCells(o,r,s,a)},onAfterPaste(o){t=null}}}_generateDocumentDataModelSnapshot(n){var s;const i=this._sheetSkeletonManagerService.getCurrent();if(i==null)return null;const{skeleton:e}=i,t=(s=e.getBlankCellDocumentModel())==null?void 0:s.documentModel,r={...t==null?void 0:t.getSnapshot(),...n};return t==null||t.reset(r),t==null?void 0:t.getSnapshot()}_onPastePlainText(n,i,e){const{range:t,unitId:o,subUnitId:r}=n;let s;if(/\r|\n/.test(i)){const c=vu(i),u=this._generateDocumentDataModelSnapshot({body:c});s={[t.rows[0]]:{[t.cols[0]]:{p:u}}}}else l.isFormulaString(i)?s={[t.rows[0]]:{[t.cols[0]]:{f:i}}}:s={[t.rows[0]]:{[t.cols[0]]:{v:i}}};const a={unitId:o,subUnitId:r,cellValue:s};return{redos:[{id:h.SetRangeValuesMutation.id,params:a}],undos:[{id:h.SetRangeValuesMutation.id,params:h.SetRangeValuesUndoMutationFactory(this._injector,a)}]}}_onPasteCells(n,i,e,t){const o={get:this._injector.get.bind(this._injector)};return fu(n,i,e,t,o)}_initSpecialPasteHooks(){const n={get:this._injector.get.bind(this._injector)},i=this,e={id:Ee.SPECIAL_PASTE_VALUE,specialPasteInfo:{label:"specialPaste.value"},onPasteCells:(s,a,c)=>Qs(a,s,c,n)},t={id:Ee.SPECIAL_PASTE_FORMAT,specialPasteInfo:{label:"specialPaste.format"},onPasteCells(s,a,c){const u=[],d=[],{undos:m,redos:g}=$s(a,c,n);u.push(...g),d.push(...m);const{undos:p,redos:f}=Oo(a,c,n);u.push(...f),d.push(...p);const{undos:S,redos:v}=Js(a,c,n);return u.push(...v),d.push(...S),{undos:d,redos:u}}},o={id:Ee.SPECIAL_PASTE_COL_WIDTH,specialPasteInfo:{label:"specialPaste.colWidth"},onPasteCells(){return{undos:[],redos:[]}},onPasteColumns(s,a,c){var T;const u=i._currentUniverSheet.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),d=u.getUnitId(),m=u.getActiveSheet().getSheetId(),g=[],p=i._getWorksheet(d,m),{range:f}=s,S=p.getMaxColumns(),v=f.cols[f.cols.length-1]-S,I=a.length-v,R=(T=i._configService.getConfig(l.DEFAULT_WORKSHEET_COLUMN_WIDTH_KEY))!=null?T:l.DEFAULT_WORKSHEET_COLUMN_WIDTH,_={unitId:d,subUnitId:m,ranges:[{startRow:f.rows[0],endRow:Math.min(f.cols[f.cols.length-1],S),startColumn:f.cols[0],endColumn:f.cols[f.cols.length-1]}],colWidth:a.slice(0,I).map(y=>y.width?+y.width:R)};return g.push({id:h.SetWorksheetColWidthMutation.id,params:_}),g.push({id:h.SetWorksheetColWidthMutation.id,params:_}),{redos:g,undos:[]}}},r={id:Ee.SPECIAL_PASTE_BESIDES_BORDER,specialPasteInfo:{label:"specialPaste.besidesBorder"},onPasteCells(s,a,c,u){i._currentUniverSheet.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);const d=[],m=[],{range:g,unitId:p,subUnitId:f}=a,S=new l.ObjectMatrix;c.forValue((T,y,M)=>{const P=M.s;typeof P=="object"&&S.setValue(g.rows[T],g.cols[y],{s:{...P,bd:void 0},v:M.v})});const v={unitId:p,subUnitId:f,cellValue:S.getData()};d.push({id:h.SetRangeValuesMutation.id,params:v});const I=h.SetRangeValuesUndoMutationFactory(n,v);m.push({id:h.SetRangeValuesMutation.id,params:I});const{undos:R,redos:_}=Oo(a,c,n);return m.push(...R),d.push(..._),{redos:d,undos:m}}};return[e,t,o,r]}_getWorksheet(n,i){var t;const e=(t=this._currentUniverSheet.getUniverSheetInstance(n))==null?void 0:t.getSheetBySheetId(i);if(!e)throw new Error(`[SheetClipboardController]: cannot find a worksheet with unitId ${n} and subUnitId ${i}.`);return e}};ai=Ru([l.OnLifecycle(l.LifecycleStages.Steady,ai),qe(0,k.Inject(k.Injector)),qe(1,l.IUniverInstanceService),qe(2,l.ICommandService),qe(3,l.IContextService),qe(4,l.IConfigService),qe(5,Ct),qe(6,b.IMessageService),qe(7,k.Inject(exports.SheetSkeletonManagerService)),qe(8,k.Inject(l.LocaleService)),qe(9,k.Optional(E.ITextSelectionRenderManager))],ai);var bu=Object.defineProperty,_u=Object.getOwnPropertyDescriptor,Tu=(n,i,e,t)=>{for(var o=t>1?void 0:t?_u(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&bu(i,e,o),o},zr=(n,i)=>(e,t)=>i(e,t,n);let li=class extends l.RxDisposable{constructor(n,i){super(),this._univerInstanceService=n,this._undoRedoService=i,this._initialize()}_initialize(){this._initialNormalInput(),this._listenEditorBlur()}_listenEditorBlur(){this._univerInstanceService.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_DOC).pipe(O.takeUntil(this.dispose$)).subscribe(n=>{if(n==null)return;n.getUnitId()!==l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&this._undoRedoService.clearUndoRedo(l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)})}_initialNormalInput(){const n={};this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getSheets().forEach(i=>{const e=i.getConfig();n[i.getSheetId()]={cellData:new l.ObjectMatrix(e.cellData),rowCount:e.rowCount,columnCount:e.columnCount,rowData:e.rowData,columnData:e.columnData}})}};li=Tu([l.OnLifecycle(l.LifecycleStages.Rendered,li),zr(0,l.IUniverInstanceService),zr(1,k.Inject(l.IUndoRedoService))],li);const ea=[b.KeyCode.ARROW_DOWN,b.KeyCode.ARROW_UP,b.KeyCode.ARROW_LEFT,b.KeyCode.ARROW_RIGHT],wu=[b.KeyCode.ENTER,b.KeyCode.TAB,...ea];function Mu(){const n=[];for(const i of ea)n.push({id:Tn.id,binding:i,preconditions:e=>Rn(e),staticParameters:{visible:!1,eventType:E.DeviceInputEventType.Keyboard,keycode:i,isShift:!1}}),n.push({id:Tn.id,binding:i|b.MetaKeys.SHIFT,preconditions:e=>Rn(e),staticParameters:{visible:!1,eventType:E.DeviceInputEventType.Keyboard,keycode:i,isShift:!0}});return n}const yu={id:er.id,binding:b.KeyCode.F2,description:"shortcut.sheet.start-editing",group:"4_sheet-edit",preconditions:le,staticParameters:{visible:!0,eventType:E.DeviceInputEventType.Keyboard,keycode:b.KeyCode.F2}},Pu={id:Le.id,binding:b.KeyCode.ENTER,description:"shortcut.sheet.toggle-editing",group:"4_sheet-edit",preconditions:n=>Rn(n),staticParameters:{visible:!1,eventType:E.DeviceInputEventType.Keyboard,keycode:b.KeyCode.ENTER}},Eu={id:Le.id,binding:b.KeyCode.TAB,preconditions:n=>Rn(n),staticParameters:{visible:!1,eventType:E.DeviceInputEventType.Keyboard,keycode:b.KeyCode.TAB}},Ou={id:Le.id,binding:b.KeyCode.ESC,description:"shortcut.sheet.abort-editing",group:"4_sheet-edit",preconditions:n=>Rn(n),staticParameters:{visible:!1,eventType:E.DeviceInputEventType.Keyboard,keycode:b.KeyCode.ESC}},Au={id:re.BreakLineCommand.id,description:"shortcut.sheet.break-line",group:"4_sheet-edit",preconditions:n=>yl(n),binding:b.KeyCode.ENTER|b.MetaKeys.ALT},Nu={id:re.DeleteLeftCommand.id,preconditions:n=>Pl(n)||vs(n),binding:b.KeyCode.BACKSPACE},xu={id:Le.id,description:"shortcut.sheet.delete-and-start-editing",group:"4_sheet-edit",preconditions:n=>le(n)&&!vs(n),binding:b.KeyCode.BACKSPACE,staticParameters:{visible:!0,eventType:E.DeviceInputEventType.Keyboard,keycode:b.KeyCode.BACKSPACE}};function Du(n){return n.startsWith("'")}function ku(n){return n.slice(1)}var Lu=Object.defineProperty,Hu=Object.getOwnPropertyDescriptor,Vu=(n,i,e,t)=>{for(var o=t>1?void 0:t?Hu(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&Lu(i,e,o),o},Ke=(n,i)=>(e,t)=>i(e,t,n);function Wu(n){const{textRuns:i=[],paragraphs:e=[]}=n;return i.some(t=>t.ts&&!l.Tools.isEmptyObject(t.ts))||e.some(t=>t.bullet)||e.length>=2}let ci=class extends l.Disposable{constructor(i,e,t,o,r,s,a,c,u,d){super();w(this,"_cursorChangeObservers");w(this,"_editorVisiblePrevious",!1);w(this,"_cursorChange",0);this._univerInstanceService=i,this._renderManagerService=e,this._commandService=t,this._editorBridgeService=o,this._contextService=r,this._cellEditorManagerService=s,this._lexerTreeBuilder=a,this._undoRedoService=c,this._selectionManagerService=u,this._editorService=d,this._initialize(),this._commandExecutedListener()}dispose(){const i=this._getEditorObject();if(i==null)return;const{document:e}=i;e.onPointerDownObserver.remove(this._cursorChangeObservers),super.dispose()}_initialize(){this._initialExitInput(),this._cursorStateListener()}_initialExitInput(){this.disposeWithMe(this._editorBridgeService.visible$.subscribe(async i=>{const{visible:e,keycode:t,eventType:o}=i;if(e===this._editorVisiblePrevious)return;if(this._editorVisiblePrevious=e,e===!0){this._cursorChange=o===E.DeviceInputEventType.PointerDown?2:1;return}this._cursorChange=0;const r=this._selectionManagerService.getSelections(),s=this._selectionManagerService.getCurrent();if(s==null)return;const{unitId:a,sheetId:c,pluginName:u}=s;if(this._exitInput(i),t===b.KeyCode.ESC){r&&this._commandService.syncExecuteCommand(h.SetSelectionsOperation.id,{unitId:a,subUnitId:c,pluginName:u,selections:r});return}const d=this._editorBridgeService.getEditCellState();if(d==null)return;const{unitId:m,sheetId:g,row:p,column:f,documentLayoutObject:S}=d;if(this._editorBridgeService.getEditorDirty()===!1){this._moveCursor(t);return}const I=this._univerInstanceService.getUniverSheetInstance(m),R=I==null?void 0:I.getSheetBySheetId(g);if(R==null)return;const _=Uu(R.getCellRaw(p,f)||{},S,this._lexerTreeBuilder);if(_==null){this._moveCursor(t);return}const T={subUnitId:g,unitId:m,workbook:I,worksheet:R,row:p,col:f};a===m&&g!==c&&this._editorBridgeService.isForceKeepVisible()&&await this._commandService.executeCommand(h.SetWorksheetActivateCommand.id,{subUnitId:g,unitId:m}),this._selectionManagerService.refreshSelection();const y=this._editorBridgeService.interceptor.fetchThroughInterceptors(this._editorBridgeService.interceptor.getInterceptPoints().AFTER_CELL_EDIT)(_,T),M=await this._editorBridgeService.interceptor.fetchThroughInterceptors(this._editorBridgeService.interceptor.getInterceptPoints().AFTER_CELL_EDIT_ASYNC)(Promise.resolve(y),T);this._commandService.executeCommand(h.SetRangeValuesCommand.id,{subUnitId:g,unitId:m,range:{startRow:p,startColumn:f,endRow:p,endColumn:f},value:M}),this._moveCursor(t)}))}_exitInput(i){this._contextService.setContextValue(l.FOCUSING_EDITOR_INPUT_FORMULA,!1),this._contextService.setContextValue(l.EDITOR_ACTIVATED,!1),this._contextService.setContextValue(l.FOCUSING_EDITOR_BUT_HIDDEN,!1),this._contextService.setContextValue(l.FOCUSING_FORMULA_EDITOR,!1),this._cellEditorManagerService.setState({show:i.visible});const e=this._editorBridgeService.getCurrentEditorId();e==null||!this._editorService.isSheetEditor(e)||(this._undoRedoService.clearUndoRedo(e),this._undoRedoService.clearUndoRedo(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY))}_moveCursor(i){if(i==null||!wu.includes(i))return;let e=l.Direction.LEFT;switch(i){case b.KeyCode.ENTER:e=l.Direction.DOWN;break;case b.KeyCode.TAB:e=l.Direction.RIGHT;break;case b.KeyCode.ARROW_DOWN:e=l.Direction.DOWN;break;case b.KeyCode.ARROW_UP:e=l.Direction.UP;break;case b.KeyCode.ARROW_LEFT:e=l.Direction.LEFT;break;case b.KeyCode.ARROW_RIGHT:e=l.Direction.RIGHT;break}i===b.KeyCode.ENTER||i===b.KeyCode.TAB?this._commandService.executeCommand(At.id,{keycode:i,direction:e}):this._commandService.executeCommand(Fe.id,{direction:e})}_cursorStateListener(){const i=this._getEditorObject();if(i==null)return;const{document:e}=i;this.disposeWithMe(l.toDisposable(e.onPointerDownObserver.add(()=>{this._cursorChange===1&&(this._cursorChange=2)})))}_commandExecutedListener(){const i=[Tn.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(i.includes(e.id)){const t=e.params,{keycode:o,isShift:r}=t;if(o!=null&&(this._cursorChange===2||this._contextService.getContextValue(l.FOCUSING_FORMULA_EDITOR))){this._moveInEditor(o,r);return}this._editorBridgeService.changeVisible(t)}e.id===er.id&&(this._cursorChange=2)}))}_moveInEditor(i,e){let t=l.Direction.LEFT;i===b.KeyCode.ARROW_DOWN?t=l.Direction.DOWN:i===b.KeyCode.ARROW_UP?t=l.Direction.UP:i===b.KeyCode.ARROW_RIGHT&&(t=l.Direction.RIGHT),e?this._commandService.executeCommand(re.MoveSelectionOperation.id,{direction:t}):this._commandService.executeCommand(re.MoveCursorOperation.id,{direction:t})}_getEditorObject(){return ki(this._editorBridgeService.getCurrentEditorId(),this._renderManagerService)}};ci=Vu([l.OnLifecycle(l.LifecycleStages.Rendered,ci),Ke(0,l.IUniverInstanceService),Ke(1,E.IRenderManagerService),Ke(2,l.ICommandService),Ke(3,je),Ke(4,l.IContextService),Ke(5,Dn),Ke(6,k.Inject($.LexerTreeBuilder)),Ke(7,l.IUndoRedoService),Ke(8,k.Inject(h.SelectionManagerService)),Ke(9,b.IEditorService)],ci);function Uu(n,i,e){n=l.Tools.deepClone(n);const{documentModel:t}=i;if(t==null)return null;const o=t.getSnapshot(),{body:r}=o;if(r==null)return null;n.t=void 0;const s=r.dataStream;let c=s.substring(s.length-2,s.length)===l.DEFAULT_EMPTY_DOCUMENT_VALUE?s.substring(0,s.length-2):s;if(l.isFormulaString(c)){if(n.f===c)return null;const u=e.checkIfAddBracket(c);for(let d=0;d<u;d++)c+=$.matchToken.CLOSE_BRACKET;n.f=c,n.v=null,n.p=null}else if(Du(c)){const u=ku(c);n.v=u,n.f=null,n.si=null,n.p=null,n.t=l.CellValueType.FORCE_STRING}else if(Wu(r))r.dataStream===`\r
|
|
19
|
+
`?(n.v="",n.f=null,n.si=null,n.p=null):(n.p=o,n.v=null,n.f=null,n.si=null);else{if((c===n.v||c===""&&n.v==null)&&n.p==null)return null;n.v=c,n.f=null,n.si=null,n.p=null}return n}var Bu=Object.defineProperty,Fu=Object.getOwnPropertyDescriptor,ju=(n,i,e,t)=>{for(var o=t>1?void 0:t?Fu(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&Bu(i,e,o),o},Qe=(n,i)=>(e,t)=>i(e,t,n);const Yr=l.createInterceptorKey("formulaEditPermissionCheck");exports.FormulaEditorController=class extends l.RxDisposable{constructor(e,t,o,r,s,a,c,u,d,m){super();w(this,"_loadedMap",new WeakSet);w(this,"interceptor",new l.InterceptorManager({FORMULA_EDIT_PERMISSION_CHECK:Yr}));w(this,"_scheduledCallback",-1);this._univerInstanceService=e,this._renderManagerService=t,this._editorBridgeService=o,this._commandService=r,this._contextService=s,this._formulaEditorManagerService=a,this._undoRedoService=c,this._docSkeletonManagerService=u,this._docViewModelManagerService=d,this._textSelectionManagerService=m,this._initialize()}_initialize(){this._syncFormulaEditorContent(),this._commandExecutedListener(),this._syncEditorSize(),this._listenFxBtnClick(),this._listenFoldBtnClick(),this._renderManagerService.currentRender$.pipe(O.takeUntil(this.dispose$)).subscribe(e=>{this._create(e)}),this._create(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),this._textSelectionManagerService.textSelection$.pipe(O.takeUntil(this.dispose$)).subscribe(e=>{if(e==null)return;const{unitId:t}=e;t!==l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY&&(this._contextService.setContextValue(l.FOCUSING_FORMULA_EDITOR,!1),this._undoRedoService.clearUndoRedo(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY))})}_create(e){if(e!==l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)return;const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{mainComponent:o}=t;o!=null&&(this._loadedMap.has(o)||(this._initialMain(e),this._loadedMap.add(o)))}_listenFxBtnClick(){this._formulaEditorManagerService.fxBtnClick$.pipe(O.takeUntil(this.dispose$)).subscribe(()=>{var t;if(this._contextService.getContextValue(l.FOCUSING_EDITOR_BUT_HIDDEN)&&!this._contextService.getContextValue(l.EDITOR_ACTIVATED)){this._univerInstanceService.setCurrentUnitForType(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),this._contextService.setContextValue(l.FOCUSING_FORMULA_EDITOR,!0);const o=this._univerInstanceService.getUniverDocInstance(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY);this._editorBridgeService.isVisible().visible===!1&&this._editorBridgeService.changeVisible({visible:!0,eventType:E.DeviceInputEventType.PointerDown});const s=(t=o==null?void 0:o.getBody())==null?void 0:t.dataStream;if(s==null)return;let a=s.startsWith("=")?s:`=${s}`;a=a.replace(/\r\n$/,"");const c=[{startOffset:a.length,endOffset:a.length}],u={unitId:l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,body:{dataStream:a},segmentId:""};this._commandService.executeCommand(re.CoverContentCommand.id,u),this._textSelectionManagerService.replaceTextRanges(c)}})}_listenFoldBtnClick(){this._formulaEditorManagerService.foldBtnStatus$.pipe(O.takeUntil(this.dispose$)).subscribe(()=>{this._textSelectionManagerService.refreshSelection()})}_initialMain(e){const t=this._renderManagerService.getRenderById(e);if(t==null)return;const{mainComponent:o}=t;o!=null&&this.disposeWithMe(l.toDisposable(o.onPointerDownObserver.add(()=>{this._contextService.setContextValue(l.FOCUSING_FORMULA_EDITOR,!0),this._undoRedoService.clearUndoRedo(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),this._editorBridgeService.isVisible().visible===!1&&this._editorBridgeService.changeVisible({visible:!0,eventType:E.DeviceInputEventType.Dblclick})})))}_syncEditorSize(){this._formulaEditorManagerService.position$.pipe(O.takeUntil(this.dispose$)).subscribe(e=>{if(!e)return this._clearScheduledCallback();const t=ki(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,this._renderManagerService),o=this._univerInstanceService.getUniverDocInstance(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY);if(t==null||o==null)return this._clearScheduledCallback();const{width:r,height:s}=e;if(r===0||s===0)return this._clearScheduledCallback();const{engine:a}=t;o.updateDocumentDataPageSize(r),this._autoScroll(),this._scheduledCallback=requestIdleCallback(()=>a.resizeBySize(r,s))})}_clearScheduledCallback(){this._scheduledCallback!==-1&&cancelIdleCallback(this._scheduledCallback),this._scheduledCallback=-1}_syncFormulaEditorContent(){this._editorBridgeService.currentEditCellState$.pipe(O.takeUntil(this.dispose$)).subscribe(e=>{if(e==null||this._editorBridgeService.isForceKeepVisible())return;if(!this.interceptor.fetchThroughInterceptors(Yr)(null,{row:e.row,col:e.column})){this._syncContentAndRender(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,"",[{startIndex:0}],[]);return}this._editorSyncHandler(e)}),this._editorBridgeService.visible$.pipe(O.takeUntil(this.dispose$)).subscribe(e=>{if(e==null||e.visible===!1||this._editorBridgeService.isForceKeepVisible())return;const t=this._editorBridgeService.getLatestEditCellState();t!=null&&this._editorSyncHandler(t)})}_editorSyncHandler(e){var a;const t=(a=e.documentLayoutObject.documentModel)==null?void 0:a.getBody();let o=t==null?void 0:t.dataStream,r=t==null?void 0:t.paragraphs,s=[];o==null||r==null||(e.isInArrayFormulaRange===!0&&this._editorBridgeService.isVisible().eventType===E.DeviceInputEventType.Dblclick?(o=`\r
|
|
20
|
+
`,r=[{startIndex:0}]):e.isInArrayFormulaRange===!0&&(s=(t==null?void 0:t.textRuns)||[]),this._syncContentAndRender(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,o,r,s),this._autoScroll())}_commandExecutedListener(){const e=[re.RichTextEditingMutation.id,b.SetEditorResizeOperation.id],t=[l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY];this.disposeWithMe(this._commandService.onCommandExecuted(r=>{var s,a;if(e.includes(r.id)){const c=r.params,{unitId:u}=c;if(t.includes(u)){const d=this._univerInstanceService.getUniverDocInstance(u),m=(s=d==null?void 0:d.getBody())==null?void 0:s.dataStream,g=(a=d==null?void 0:d.getBody())==null?void 0:a.paragraphs,p=u===l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY?l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY:l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY;if(m==null||g==null)return;this._syncContentAndRender(p,m,g),this._autoScroll()}}}));const o=[h.SetRangeValuesMutation.id,h.MoveRangeMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(r=>{var s,a,c,u,d;if(o.includes(r.id)){const m=this._editorBridgeService.getLatestEditCellState();if(m==null)return;let g=!1;const{row:p,column:f}=m;if(r.id===h.SetRangeValuesMutation.id&&r.params?(a=(s=r.params.cellValue)==null?void 0:s[p])!=null&&a[f]&&(g=!0):r.id===h.MoveRangeMutation.id&&r.params&&(u=(c=r.params.to.value)==null?void 0:c[p])!=null&&u[f]&&(g=!0),g){const S=(d=m.documentLayoutObject.documentModel)==null?void 0:d.getBody();if(S==null)return;const{dataStream:v,paragraphs:I=[]}=S;this._syncContentAndRender(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,v,I),this._autoScroll()}}}))}_syncContentAndRender(e,t,o,r=[]){var g;const s=[l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY],a=this._docSkeletonManagerService.getSkeletonByUnitId(e),c=this._univerInstanceService.getUniverDocInstance(e),u=this._docViewModelManagerService.getViewModel(e);if(c==null||u==null||a==null)return;c.getBody().dataStream=t,c.getBody().paragraphs=this._clearParagraph(o),e===l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY&&(c.getBody().textRuns=[]),r.length>0&&(c.getBody().textRuns=r),u.reset(c);const{skeleton:d}=a,m=this._renderManagerService.getRenderById(e);m!=null&&(d.calculate(),s.includes(e)&&((g=m.mainComponent)==null||g.makeDirty()))}_clearParagraph(e){const t=l.Tools.deepClone(e);for(const o of t)o.paragraphStyle&&(o.paragraphStyle.horizontalAlign=l.HorizontalAlign.UNSPECIFIED);return t}_autoScroll(){var S,v;const e=(S=this._docSkeletonManagerService.getSkeletonByUnitId(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY))==null?void 0:S.skeleton,t=this._formulaEditorManagerService.getPosition(),o=this._renderManagerService.getRenderById(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),r=this._univerInstanceService.getUniverDocInstance(l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY);if(e==null||t==null||o==null||r==null)return;const{marginTop:s=0,marginBottom:a=0}=r.getSnapshot().documentStyle,{scene:c,mainComponent:u}=o;let{actualHeight:d}=e.getActualSize();d+=s+a;const{width:m,height:g}=t,p=c.getViewport(re.VIEWPORT_KEY.VIEW_MAIN);let f=p==null?void 0:p.getScrollBar();c.transformByState({width:m,height:d}),u==null||u.resize(m,d),d>g?f==null?p&&new E.ScrollBar(p,{enableHorizontal:!1,barSize:8}):p==null||p.resetSizeAndScrollBar():(f=null,p==null||p.scrollTo({x:0,y:0}),(v=p==null?void 0:p.getScrollBar())==null||v.dispose())}};exports.FormulaEditorController=ju([l.OnLifecycle(l.LifecycleStages.Rendered,exports.FormulaEditorController),Qe(0,l.IUniverInstanceService),Qe(1,E.IRenderManagerService),Qe(2,je),Qe(3,l.ICommandService),Qe(4,l.IContextService),Qe(5,Yi),Qe(6,l.IUndoRedoService),Qe(7,k.Inject(re.DocSkeletonManagerService)),Qe(8,k.Inject(re.DocViewModelManagerService)),Qe(9,k.Inject(re.TextSelectionManagerService))],exports.FormulaEditorController);const Xu="36",zu="univer-sheet-container",ta={sheetFooterBarHeight:Xu,sheetContainer:zu};var Yu=Object.defineProperty,Zu=Object.getOwnPropertyDescriptor,Gu=(n,i,e,t)=>{for(var o=t>1?void 0:t?Zu(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&Yu(i,e,o),o},He=(n,i)=>(e,t)=>i(e,t,n);const Zr=-1e3,Gr=5,qu=2;let di=class extends l.Disposable{constructor(i,e,t,o,r,s,a,c,u,d,m,g){super();w(this,"_editorVisiblePrevious",!1);this._docSkeletonManagerService=i,this._docViewModelManagerService=e,this._contextService=t,this._univerInstanceService=o,this._renderManagerService=r,this._editorBridgeService=s,this._cellEditorManagerService=a,this._textSelectionRenderManager=c,this._textSelectionManagerService=u,this._commandService=d,this._localService=m,this._editorService=g,this._initialize(),this._commandExecutedListener()}dispose(){super.dispose()}_initialize(){this._initialEditFocusListener(),this._initialStartEdit(),this._initialKeyboardListener(),this._initialCursorSync(),this._listenEditorFocus()}_listenEditorFocus(){const i=this._getEditorObject();i!=null&&this.disposeWithMe(l.toDisposable(i.document.onPointerDownObserver.add(()=>{var e;if(this._editorBridgeService.isVisible()){const t=this._editorBridgeService.getEditCellState(),o=this._editorBridgeService.getCurrentEditorId();if(t==null||o==null||!this._editorService.isSheetEditor(o))return;const r=(e=this._docSkeletonManagerService.getSkeletonByUnitId(o))==null?void 0:e.skeleton;if(r==null)return;const{position:s,documentLayoutObject:a,canvasOffset:c,scaleX:u,scaleY:d}=t;this._fitTextSize(s,c,r,a,u,d)}})))}_initialCursorSync(){this.disposeWithMe(this._cellEditorManagerService.focus$.pipe(O.filter(i=>!!i)).subscribe(()=>{this._textSelectionRenderManager.sync()}))}_initialEditFocusListener(){this.disposeWithMe(this._editorBridgeService.currentEditCellState$.subscribe(i=>{if(i==null||this._editorBridgeService.isForceKeepVisible())return;const{position:e,documentLayoutObject:t,scaleX:o,editorUnitId:r}=i;if(this._getEditorObject()==null||this._contextService.getContextValue(l.FOCUSING_EDITOR_STANDALONE)===!0||this._contextService.getContextValue(l.FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE)===!0)return;const{startX:a,endX:c}=e,{textRotation:u,wrapStrategy:d,documentModel:m}=t,{vertexAngle:g}=E.convertTextRotation(u);m.updateDocumentId(r),d===l.WrapStrategy.WRAP&&g===0&&m.updateDocumentDataPageSize((c-a)/o),this._univerInstanceService.changeDoc(r,m),this._contextService.setContextValue(l.FOCUSING_EDITOR_BUT_HIDDEN,!0),this._textSelectionManagerService.replaceTextRanges([{startOffset:0,endOffset:0}]),this._textSelectionRenderManager.activate(Zr,Zr)}))}_fitTextSize(i,e,t,o,r=1,s=1){const{startX:a,startY:c,endX:u,endY:d}=i,m=o.documentModel;if(m==null)return;const{actualWidth:g,actualHeight:p}=this._predictingSize(i,e,t,o,r,s),{verticalAlign:f,paddingData:S,fill:v}=o;let I=u-a,R=d-c;if(I<g&&(I=g),R<p)R=p,m.updateDocumentDataMargin(S);else{let _=0;f===l.VerticalAlign.MIDDLE?_=(R-p)/2/s:f===l.VerticalAlign.TOP?_=S.t||0:_=(R-p)/s-(S.b||0),_=_<(S.t||0)?S.t||0:_,m.updateDocumentDataMargin({t:_})}t.calculate(),this._editAreaProcessing(I,R,i,e,v,r,s)}_predictingSize(i,e,t,o,r=1,s=1){const{startX:a,endX:c}=i,{textRotation:u,wrapStrategy:d}=o,m=o.documentModel,{vertexAngle:g}=E.convertTextRotation(u),p=document.body.clientWidth;if(d===l.WrapStrategy.WRAP&&g===0){const{actualWidth:v,actualHeight:I}=t.getActualSize();return{actualWidth:v*r,actualHeight:I*s}}m==null||m.updateDocumentDataPageSize((p-a-e.left)/r),t.calculate();const f=t.getActualSize();let S=c-a;return S<f.actualWidth*r+Gr*r&&(S=f.actualWidth*r+Gr*r),m==null||m.updateDocumentDataPageSize(S/r),m==null||m.updateDocumentRenderConfig({horizontalAlign:l.HorizontalAlign.UNSPECIFIED,cellValueType:void 0}),{actualWidth:S,actualHeight:f.actualHeight*s}}_editAreaProcessing(i,e,t,o,r,s=1,a=1){var y;const c=this._getEditorObject();if(c==null)return;let{startX:u,startY:d}=t;const{document:m,scene:g,engine:p}=c,f=g.getViewport(re.VIEWPORT_KEY.VIEW_MAIN),S=document.body.clientHeight-d-Number.parseFloat(ta.sheetFooterBarHeight)-o.top-qu*2,v=document.body.clientWidth-u-o.left;let I=e,R=f==null?void 0:f.getScrollBar();I>S?(I=S,R==null?f&&new E.ScrollBar(f,{enableHorizontal:!1,barSize:8}):f==null||f.resetSizeAndScrollBar()):(R=null,(y=f==null?void 0:f.getScrollBar())==null||y.dispose()),i+=(R==null?void 0:R.barSize)||0,i>v&&(i=v),u-=E.FIX_ONE_PIXEL_BLUR_OFFSET,d-=E.FIX_ONE_PIXEL_BLUR_OFFSET,this._addBackground(g,i/s,e/a,r);const{scaleX:_,scaleY:T}=g.getPrecisionScale();g.transformByState({width:i/s,height:e/a,scaleX:s,scaleY:a}),m.resize(i/s,e/a),requestIdleCallback(()=>{p.resizeBySize(E.fixLineWidthByScale(i,_),E.fixLineWidthByScale(I,T))}),this._cellEditorManagerService.setState({startX:u,startY:d,endX:i+u,endY:I+d,show:!0})}_addBackground(i,e,t,o){const r="_backgroundRectHelperColor_",s=i.getObject(r);s==null&&o==null||(s==null?i.addObjects([new E.Rect(r,{width:e,height:t,fill:o,evented:!1})],re.DOCS_COMPONENT_MAIN_LAYER_INDEX):o==null?s.dispose():(s.setProps({fill:o}),s.transformByState({width:e,height:t})))}_initialStartEdit(){this.disposeWithMe(this._editorBridgeService.visible$.subscribe(i=>{var y,M;const{visible:e,eventType:t,keycode:o}=i;if(e===this._editorVisiblePrevious)return;if(this._editorVisiblePrevious=e,e===!1){this._setOpenForCurrent(null,null);return}const r=this._editorBridgeService.getEditCellState();if(r==null)return;const{position:s,documentLayoutObject:a,canvasOffset:c,scaleX:u,scaleY:d,editorUnitId:m,unitId:g,sheetId:p,isInArrayFormulaRange:f=!1}=r,S=this._getEditorObject();if(S==null)return;this._setOpenForCurrent(g,p);const{document:v,scene:I}=S;this._contextService.setContextValue(l.EDITOR_ACTIVATED,!0);const{documentModel:R}=a,_=this._docSkeletonManagerService.getSkeletonByUnitId(m);if(_==null||R==null)return;const{skeleton:T}=_;if(this._fitTextSize(s,c,T,a,u,d),t===E.DeviceInputEventType.Keyboard||t===E.DeviceInputEventType.Dblclick&&f){const P=l.Tools.deepClone(R.getSnapshot()),N=this._docViewModelManagerService.getViewModel(m);if(N==null)return;this._resetBodyStyle(P.body,!!f),R.reset(P),N.reset(R),v.makeDirty(),(o===b.KeyCode.BACKSPACE||t===E.DeviceInputEventType.Dblclick)&&(T.calculate(),this._editorBridgeService.changeEditorDirty(!0)),this._textSelectionManagerService.replaceTextRanges([{startOffset:0,endOffset:0}])}else if(t===E.DeviceInputEventType.Dblclick){const P=R.getBody().dataStream.length-2||0;(y=I.getViewport(re.VIEWPORT_KEY.VIEW_MAIN))==null||y.scrollTo({y:Number.POSITIVE_INFINITY}),this._textSelectionManagerService.replaceTextRanges([{startOffset:P,endOffset:P}])}(M=this._renderManagerService.getRenderById(g))==null||M.scene.resetCursor()}))}_resetBodyStyle(i,e=!1){i.dataStream=l.DEFAULT_EMPTY_DOCUMENT_VALUE,i.textRuns!=null&&(i.textRuns.length===1&&!e?(i.textRuns[0].st=0,i.textRuns[0].ed=1):i.textRuns=void 0),i.paragraphs!=null&&(i.paragraphs.length===1?i.paragraphs[0].startIndex=0:i.paragraphs=[{startIndex:0}]),i.sectionBreaks!=null&&(i.sectionBreaks=void 0),i.tables!=null&&(i.tables=void 0),i.customRanges!=null&&(i.customRanges=void 0),i.customBlocks!=null&&(i.customBlocks=void 0)}_initialKeyboardListener(){this.disposeWithMe(this._textSelectionRenderManager.onInputBefore$.subscribe(i=>{const e=this._contextService.getContextValue(l.FOCUSING_FORMULA_EDITOR),t=this._contextService.getContextValue(l.FOCUSING_SHEET),o=this._univerInstanceService.getCurrentUniverDocInstance().getUnitId();t&&!e&&this._editorService.isSheetEditor(o)&&this._showEditorByKeyboard(i)}))}_showEditorByKeyboard(i){if(i==null)return;const e=i.event;this._commandService.executeCommand(Le.id,{visible:!0,eventType:E.DeviceInputEventType.Keyboard,keycode:e.which})}_commandExecutedListener(){const i=[re.RichTextEditingMutation.id,b.SetEditorResizeOperation.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{var t;if(i.includes(e.id)){const o=e.params,{unitId:r}=o;if(!this._editorService.isSheetEditor(r))return;const s=this._editorBridgeService.getCurrentEditorId();if(s==null)return;this._editorBridgeService.changeEditorDirty(!0);const a=(t=this._docSkeletonManagerService.getSkeletonByUnitId(s))==null?void 0:t.skeleton;if(a==null)return;const c=this._editorBridgeService.getEditCellState();if(c==null)return;const{position:u,documentLayoutObject:d,canvasOffset:m,scaleX:g,scaleY:p}=c;this._fitTextSize(u,m,a,d,g,p)}})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{e.id===h.ClearSelectionFormatCommand.id&&this._editorBridgeService.refreshEditCellState()}))}_setOpenForCurrent(i,e){const t=this._editorService.getAllEditor();for(const[o,r]of t)r.isSheetEditor()&&(r.setOpenForSheetUnitId(i),r.setOpenForSheetSubUnitId(e))}_getEditorObject(){return ki(this._editorBridgeService.getCurrentEditorId(),this._renderManagerService)}};di=Gu([l.OnLifecycle(l.LifecycleStages.Rendered,di),He(0,k.Inject(re.DocSkeletonManagerService)),He(1,k.Inject(re.DocViewModelManagerService)),He(2,l.IContextService),He(3,l.IUniverInstanceService),He(4,E.IRenderManagerService),He(5,je),He(6,Dn),He(7,E.ITextSelectionRenderManager),He(8,k.Inject(re.TextSelectionManagerService)),He(9,l.ICommandService),He(10,k.Inject(l.LocaleService)),He(11,b.IEditorService)],di);var Ku=Object.defineProperty,Qu=Object.getOwnPropertyDescriptor,Ju=(n,i,e,t)=>{for(var o=t>1?void 0:t?Qu(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&Ku(i,e,o),o},$u=(n,i)=>(e,t)=>i(e,t,n);let Ao=class extends l.Disposable{constructor(n,i){super(),this._context=n,this._formatPainterService=i,this._initialize()}_initialize(){this._bindFormatPainterStatus()}_bindFormatPainterStatus(){this.disposeWithMe(l.toDisposable(this._formatPainterService.status$.subscribe(n=>{const i=this._context.scene;i&&(n!==ze.OFF?i.setDefaultCursor(E.CURSOR_TYPE.CELL):i.setDefaultCursor(E.CURSOR_TYPE.DEFAULT))})))}};Ao=Ju([$u(1,Nt)],Ao);var eh=Object.defineProperty,th=Object.getOwnPropertyDescriptor,nh=(n,i,e,t)=>{for(var o=t>1?void 0:t?th(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&eh(i,e,o),o},bt=(n,i)=>(e,t)=>i(e,t,n);const ih="__SpreadsheetFreezeRowMainName__",oh="__SpreadsheetFreezeRowHeaderName__",rh="__SpreadsheetFreezeColumnMainName__",sh="__SpreadsheetFreezeColumnHeaderName__",ro=2,ah=.01,cn=l.createInterceptorKey("freezePermissionCheck");exports.HeaderFreezeRenderController=class extends l.Disposable{constructor(e,t,o,r,s,a,c,u){super();w(this,"_rowFreezeHeaderRect");w(this,"_rowFreezeMainRect");w(this,"_columnFreezeHeaderRect");w(this,"_columnFreezeMainRect");w(this,"_freezeDownObservers",[]);w(this,"_freezeMoveObservers",[]);w(this,"_freezeLeaveObservers",[]);w(this,"_moveObserver");w(this,"_upObserver");w(this,"_changeToRow",-1);w(this,"_changeToColumn",-1);w(this,"_changeToOffsetX",0);w(this,"_changeToOffsetY",0);w(this,"_activeViewport",null);w(this,"_freezeNormalHeaderColor","");w(this,"_freezeNormalMainColor","");w(this,"_freezeActiveColor","");w(this,"_freezeHoverColor","");w(this,"_lastFreeze");w(this,"interceptor",new l.InterceptorManager({FREEZE_PERMISSION_CHECK:cn}));this._context=e,this._sheetSkeletonManagerService=t,this._commandService=o,this._selectionManagerService=r,this._scrollManagerService=s,this._themeService=a,this._sheetInterceptorService=c,this._injector=u,this._initialize()}dispose(){super.dispose()}_initialize(){this._skeletonListener(),this._commandExecutedListener(),this._themeChangeListener(),this._interceptorCommands(),this._bindViewportScroll(),this._zoomRefresh()}_createFreeze(e=0,t){var N;const o=t!=null?t:this._getFreeze();if(o==null)return null;const r=(N=this._sheetSkeletonManagerService.getCurrent())==null?void 0:N.skeleton,{startRow:s,startColumn:a}=o,c=this._getPositionByIndex(s,a);if(c==null||r==null)return null;const u=this._getSheetObject(),d=u.engine,m=(d==null?void 0:d.width)||0,g=(d==null?void 0:d.height)||0,p=u.scene,{startX:f,startY:S}=c,{rowTotalHeight:v,columnTotalWidth:I,rowHeaderWidthAndMarginLeft:R,columnHeaderHeightAndMarginTop:_}=r,T=m>I+R?m:I+_,y=g>v+_?g:v+_;this._changeToRow=s,this._changeToColumn=a,this._changeToOffsetX=f,this._changeToOffsetY=S;const M=Math.max(p.scaleX,p.scaleY);let P=ro/(M<1?1:M);if(e===0){(s===-1||s===0)&&(P=P*2);const D=P;this._rowFreezeHeaderRect=new E.Rect(oh,{fill:this._freezeNormalHeaderColor,width:R,height:P,left:0,top:S-D,zIndex:3});let A=this._freezeNormalHeaderColor;(s===-1||s===0)&&(A=this._freezeNormalMainColor),this._rowFreezeMainRect=new E.Rect(ih,{fill:A,width:T*2/M,height:P,left:R,top:S-D,zIndex:3}),p.addObjects([this._rowFreezeHeaderRect,this._rowFreezeMainRect],pt)}else{(a===-1||a===0)&&(P=P*2);const D=P;this._columnFreezeHeaderRect=new E.Rect(sh,{fill:this._freezeNormalHeaderColor,width:P,height:_,left:f-D,top:0,zIndex:3});let A=this._freezeNormalHeaderColor;(a===-1||a===0)&&(A=this._freezeNormalMainColor),this._columnFreezeMainRect=new E.Rect(rh,{fill:A,width:P,height:y*2/M,left:f-D,top:_,zIndex:3}),p.addObjects([this._columnFreezeHeaderRect,this._columnFreezeMainRect],pt)}this._eventBinding(e)}_eventBinding(e=0){let t=this._rowFreezeHeaderRect,o=this._rowFreezeMainRect;e===1&&(t=this._columnFreezeHeaderRect,o=this._columnFreezeMainRect);const r=this._getSheetObject();if(r==null)return;const{scene:s}=r;this._freezeMoveObservers.push(t==null?void 0:t.onPointerEnterObserver.add(()=>{if(!this.interceptor.fetchThroughInterceptors(cn)(null,null))return!1;t==null||t.setProps({fill:this._freezeHoverColor,zIndex:4}),s.setCursor(E.CURSOR_TYPE.GRAB)})),this._freezeMoveObservers.push(o==null?void 0:o.onPointerEnterObserver.add(()=>{if(!this.interceptor.fetchThroughInterceptors(cn)(null,null))return!1;t==null||t.setProps({fill:this._freezeHoverColor,zIndex:4}),s.setCursor(E.CURSOR_TYPE.GRAB)})),this._freezeLeaveObservers.push(t==null?void 0:t.onPointerLeaveObserver.add(()=>{t==null||t.setProps({fill:this._freezeNormalHeaderColor,zIndex:3}),s.resetCursor()})),this._freezeLeaveObservers.push(o==null?void 0:o.onPointerLeaveObserver.add(()=>{t==null||t.setProps({fill:this._freezeNormalHeaderColor,zIndex:3}),s.resetCursor()})),this._freezeDownObservers.push(t==null?void 0:t.onPointerDownObserver.add(a=>{this._freezeDown(a,t,o,e)})),this._freezeDownObservers.push(o==null?void 0:o.onPointerDownObserver.add(a=>{this._freezeDown(a,t,o,e)}))}_getCurrentLastVisibleRow(){var g,p,f,S;const e=this._getSheetObject();if(e==null)return;const t=(g=this._sheetSkeletonManagerService.getCurrent())==null?void 0:g.skeleton;if(t==null)return;const o=e.scene,r=Math.max(o.scaleX,o.scaleY),s=this._scrollManagerService.getCurrentScroll(),a=(e.engine.height-t.columnHeaderHeight)/r,c=(p=s==null?void 0:s.sheetViewStartRow)!=null?p:0,u=c===0?-((f=s==null?void 0:s.offsetY)!=null?f:0):t.rowHeightAccumulation[c-1]-((S=s==null?void 0:s.offsetY)!=null?S:0);let d=0,m=!1;for(let v=c,I=t.rowHeightAccumulation.length;v<I;v++)if(t.rowHeightAccumulation[v]-u>a){d=v,m=!0;break}return m||(d=t.rowHeightAccumulation.length-1),d}_getActiveViewport(e){var o;const t=(o=this._getSheetObject())==null?void 0:o.scene.getViewports();return t&&t.find(r=>r.isHit(new E.Vector2(e.offsetX,e.offsetY)))||null}_freezeDown(e,t,o,r=0){var p;const s=(p=this._sheetSkeletonManagerService.getCurrent())==null?void 0:p.skeleton;if(s==null)return;const a=this._getSheetObject();if(a==null)return;if(!this.interceptor.fetchThroughInterceptors(cn)(null,null))return!1;const{scene:u}=a;u.setCursor(E.CURSOR_TYPE.GRABBING),u.disableEvent();const d=this._getCurrentLastVisibleRow(),m=d===void 0?Number.POSITIVE_INFINITY:s.rowHeightAccumulation[d];this._activeViewport=null;const g=this._getFreeze();g&&(this._changeToColumn=g.startColumn,this._changeToRow=g.startRow),this._moveObserver=u.onPointerMoveObserver.add(f=>{var M,P,N,D;const S=this._getActiveViewport(f),{startX:v,startY:I,row:R,column:_}=Yt(f.offsetX,f.offsetY,u,s,S||void 0,!0);if(!this.interceptor.fetchThroughInterceptors(cn)(null,null))return!1;u.setCursor(E.CURSOR_TYPE.GRABBING);const y=ro/Math.max(u.scaleX,u.scaleY);r===0?((M=t.transformByState({top:Math.min(I,m)-y/2}))==null||M.setProps({fill:this._freezeActiveColor}),(P=o.transformByState({top:Math.min(I,m)-y/2}))==null||P.setProps({fill:this._freezeNormalHeaderColor}),this._changeToRow=d===void 0?R:Math.min(R,d),this._changeToOffsetY=Math.min(I,m),this._activeViewport=S):((N=t.transformByState({left:v-y/2}))==null||N.setProps({fill:this._freezeActiveColor}),(D=o.transformByState({left:v-y/2}))==null||D.setProps({fill:this._freezeNormalHeaderColor}),this._changeToColumn=_,this._changeToOffsetX=v,this._activeViewport=S)}),this._upObserver=u.onPointerUpObserver.add(()=>{var A,x;u.resetCursor(),u.enableEvent(),this._clearObserverEvent();const{rowHeaderWidthAndMarginLeft:f,columnHeaderHeightAndMarginTop:S}=s;r===0&&(this._changeToRow===0||this._changeToRow===-1)||r===1&&(this._changeToColumn===0||this._changeToColumn===-1)?(t.setProps({fill:this._freezeNormalHeaderColor}),o.setProps({fill:this._freezeNormalMainColor})):(t==null||t.setProps({fill:this._freezeNormalHeaderColor}),o==null||o.setProps({fill:this._freezeNormalHeaderColor}));const v=ro/Math.max(u.scaleX,u.scaleY);r===0?(this._changeToRow===0||this._changeToRow===-1)&&(t.transformByState({top:S-v}),o.transformByState({top:S-v})):(this._changeToColumn===0||this._changeToColumn===-1)&&(t.transformByState({left:f-v}),o.transformByState({left:f-v}));const I=this._scrollManagerService.getCurrentScroll()||{sheetViewStartRow:0,sheetViewStartColumn:0},{sheetViewStartRow:R,sheetViewStartColumn:_}=I;if(_==null||R==null)return;const T=this._context.unit,y=T.getActiveSheet(),M=(A=y.getConfig())==null?void 0:A.freeze;let P=(M==null?void 0:M.xSplit)||0,N=(M==null?void 0:M.ySplit)||0;const D=(x=this._activeViewport)==null?void 0:x.viewportKey;r===0&&(!D||D===Q.VIEW_LEFT_TOP||D===Q.VIEW_MAIN_LEFT_TOP||D===Q.VIEW_MAIN_TOP||D===Q.VIEW_ROW_TOP?N=this._changeToRow-(M.startRow-M.ySplit):N=this._changeToRow-R,N=N<0?0:N),r===1&&(!D||D===Q.VIEW_LEFT_TOP||D===Q.VIEW_MAIN_LEFT_TOP||D===Q.VIEW_MAIN_LEFT||D===Q.VIEW_COLUMN_LEFT?P=this._changeToColumn-(M.startColumn-M.xSplit):P=this._changeToColumn-_,P=P<0?0:P),this._commandService.executeCommand(h.SetFrozenCommand.id,{startRow:N===0?-1:this._changeToRow,startColumn:P===0?-1:this._changeToColumn,ySplit:N,xSplit:P,unitId:T.getUnitId(),subUnitId:y.getSheetId()})})}_getViewports(){const e=this._getSheetObject();if(e==null)return;const{scene:t}=e,o=t.getViewport(Q.VIEW_COLUMN_LEFT),r=t.getViewport(Q.VIEW_COLUMN_RIGHT),s=t.getViewport(Q.VIEW_ROW_TOP),a=t.getViewport(Q.VIEW_ROW_BOTTOM),c=t.getViewport(Q.VIEW_LEFT_TOP),u=t.getViewport(Q.VIEW_MAIN),d=t.getViewport(Q.VIEW_MAIN_LEFT_TOP),m=t.getViewport(Q.VIEW_MAIN_LEFT),g=t.getViewport(Q.VIEW_MAIN_TOP);if(!(o==null||r==null||s==null||a==null||c==null||u==null||d==null||m==null||g==null))return{viewMain:u,viewMainLeftTop:d,viewMainLeft:m,viewMainTop:g,viewColumnLeft:o,viewColumnRight:r,viewRowTop:s,viewRowBottom:a,viewLeftTop:c}}_bindViewportScroll(){const e=this._getViewports();if(!e)return;const{viewMain:t,viewRowBottom:o,viewColumnRight:r,viewMainLeft:s,viewMainTop:a}=e;this.disposeWithMe(t.onScrollAfterObserver.add(c=>{const{scrollX:u,scrollY:d,actualScrollX:m,actualScrollY:g}=c;o.isActive&&o.updateScroll({scrollY:d,actualScrollY:g}),r.isActive&&r.updateScroll({scrollX:u,actualScrollX:m}),s.isActive&&s.updateScroll({scrollY:d,actualScrollY:g}),a.isActive&&a.updateScroll({scrollX:u,actualScrollX:m})}))}_updateViewport(e=-1,t=-1,o=0,r=0,s=3){var N;const a=(N=this._sheetSkeletonManagerService.getCurrent())==null?void 0:N.skeleton;if(a==null)return;const{rowHeaderWidthAndMarginLeft:c,columnHeaderHeightAndMarginTop:u}=a,d=this._getViewports();if(!d)return;const{viewMain:m,viewMainLeftTop:g,viewMainLeft:p,viewMainTop:f,viewColumnLeft:S,viewColumnRight:v,viewRowTop:I,viewRowBottom:R,viewLeftTop:_}=d;v.resize({left:c,top:0,height:u,right:0}),R.resize({left:0,top:u,bottom:0,width:c}),_.resize({left:0,top:0,width:c,height:u});let T=!0,y=!0;g.enable(),(e===-1||e===0)&&(T=!1),(t===-1||t===0)&&(y=!1);const M=a.getNoMergeCellPositionByIndexWithNoHeader(e-o,t-r),P=a.getNoMergeCellPositionByIndexWithNoHeader(e,t);if(g.disable(),f.disable(),p.disable(),I.disable(),S.disable(),g.resetPadding(),f.resetPadding(),p.resetPadding(),I.resetPadding(),S.resetPadding(),T===!1&&y===!1)m.resize({left:c,top:u,bottom:0,right:0}),m.resetPadding();else if(T===!0&&y===!1){const D=P.startY-M.startY;m.resize({left:c,top:u+D,bottom:0,right:0}),m.setPadding({startY:M.startY,endY:P.startY,startX:0,endX:0}),s&2&&this._commandService.executeCommand(Mt.id,{sheetViewStartRow:0,offsetY:0}),f.resize({left:c,top:u,height:D,right:0}),f.updateScroll({actualScrollY:M.startY,x:m.scrollX,actualScrollX:m.viewportScrollX}),I.resize({left:0,top:u,width:c,height:D}),I.updateScroll({actualScrollY:M.startY}),R.resize({left:0,top:u+D,bottom:0,width:c}),f.enable(),I.enable()}else if(T===!1&&y===!0){const D=P.startX-M.startX;m.resize({left:c+D,top:u,bottom:0,right:0}),m.setPadding({startX:M.startX,endX:P.startX,startY:0,endY:0}),s&1&&this._commandService.executeCommand(Mt.id,{sheetViewStartColumn:0,offsetX:0}),p.resize({left:c,top:u,width:D,bottom:0,right:0}),p.updateScroll({actualScrollX:M.startX,y:m.scrollY,actualScrollY:m.viewportScrollY}),S.resize({left:c,top:0,width:D,height:u}),S.updateScroll({actualScrollX:M.startX}),v.resize({left:c+D,top:0,height:u,right:0}),p.enable(),S.enable()}else{const D=P.startX-M.startX,A=P.startY-M.startY;m.resize({left:c+D,top:u+A,bottom:0,right:0}),m.setPadding({startY:M.startY,endY:P.startY,startX:M.startX,endX:P.startX}),s&&this._commandService.executeCommand(Mt.id,{...s&1?{sheetViewStartColumn:0,offsetX:0}:null,...s&2?{sheetViewStartRow:0,offsetY:0}:null}),p.resize({left:c,top:u+A,width:D,bottom:0}),p.updateScroll({actualScrollX:M.startX,y:m.scrollY,actualScrollY:m.viewportScrollY}),f.resize({left:c+D,top:u,height:A,right:0}),f.updateScroll({actualScrollY:M.startY,x:m.scrollX,actualScrollX:m.viewportScrollX}),g.resize({left:c,top:u,width:D,height:A}),g.updateScroll({actualScrollX:M.startX,actualScrollY:M.startY}),I.resize({left:0,top:u,width:c,height:A}),I.updateScroll({actualScrollY:M.startY}),R.resize({left:0,top:u+A,bottom:0,width:c}),S.resize({left:c,top:0,width:D,height:u}),S.updateScroll({actualScrollX:M.startX}),v.resize({left:c+D,top:0,height:u,right:0}),g.enable(),f.enable(),p.enable(),I.enable(),S.enable()}}_skeletonListener(){this.disposeWithMe(l.toDisposable(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(e=>{[h.SetWorksheetActiveOperation.id,h.InsertRangeMoveDownCommand.id,h.InsertRangeMoveRightCommand.id].includes((e==null?void 0:e.commandId)||"")&&this._refreshCurrent()})))}_refreshCurrent(){const o=this._context.unit.getActiveSheet().getConfig().freeze,{startRow:r=-1,startColumn:s=-1,ySplit:a=0,xSplit:c=0}=o;this._refreshFreeze(r,s,a,c,0)}_themeChangeListener(){this._themeChange(this._themeService.getCurrentTheme()),this.disposeWithMe(this._themeService.currentTheme$.subscribe(e=>{this._clearFreeze(),this._themeChange(e),this._refreshCurrent()}))}_themeChange(e){this._freezeNormalHeaderColor=e.grey400,this._freezeNormalMainColor=new l.ColorKit(e.grey400).setAlpha(ah).toRgbString(),this._freezeActiveColor=e.primaryColor,this._freezeHoverColor=e.grey500}_interceptorCommands(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:e=>{const t={redos:[],undos:[]},o=this._getFreeze();if(!o)return t;const r=s=>{const a=this._context.unit,c=a.getUnitId(),d=a.getActiveSheet().getSheetId();this._refreshFreeze(s.startRow,s.startColumn,s.ySplit,s.xSplit,0);const m={...s,unitId:c,subUnitId:d,resetScroll:!1},g=h.SetFrozenMutationFactory(this._injector,m);return{undos:[{id:h.SetFrozenMutation.id,params:g}],redos:[{id:h.SetFrozenMutation.id,params:m}]}};if(e.id===h.InsertRowCommand.id){const a=e.params.range,c=a.endRow-a.startRow+1;if(a.startRow<=o.startRow){const u={...o,startRow:Math.max(1,o.startRow+c),ySplit:Math.max(1,o.ySplit+c)};return r(u)}}if(e.id===h.InsertColCommand.id){const a=e.params.range,c=a.endColumn-a.startColumn+1;if(a.startColumn<=o.startColumn){const u={...o,startColumn:Math.max(1,o.startColumn+c),xSplit:Math.max(1,o.xSplit+c)};return r(u)}}if(e.id===h.MoveColsCommand.id){const s=this._selectionManagerService.getSelections(),{fromRange:{startColumn:a},toRange:{startColumn:c}}=e.params,u=s==null?void 0:s.filter(I=>I.range.rangeType===l.RANGE_TYPE.COLUMN&&I.range.startColumn<=a&&a<=I.range.endColumn);if(!(u!=null&&u.length))return t;const d=u[0].range,m={...d,startColumn:c,endColumn:c+d.endColumn-d.startColumn};if(!o||o.startColumn<=0||d.startColumn>=o.startColumn&&m.startColumn>=o.startColumn||d.startColumn===m.startColumn||d.endColumn<o.startColumn&&m.startColumn<o.startColumn)return t;const g=d.endColumn-d.startColumn+1,p=Math.max(Math.min(o.startColumn,d.endColumn+1)-d.startColumn,0);let f,S;m.startColumn>=o.startColumn?(f=Math.max(o.startColumn-p,1),S=Math.max(o.xSplit-p,1)):(f=o.startColumn+g-p,S=o.xSplit+g-p);const v={...o,startColumn:f,xSplit:S};return r(v)}if(e.id===h.MoveRowsCommand.id){const s=this._selectionManagerService.getSelections(),{fromRange:{startRow:a},toRange:{startRow:c}}=e.params,u=s==null?void 0:s.filter(I=>I.range.rangeType===l.RANGE_TYPE.ROW&&I.range.startRow<=a&&a<=I.range.endRow);if(!(u!=null&&u.length))return t;const d=u[0].range,m={...d,startRow:c,endRow:c+d.endRow-d.startRow};if(!o||o.startRow<=0||d.startRow>=o.startRow&&m.startRow>=o.startRow||d.startRow===m.startRow||d.endRow<o.startRow&&m.startRow<o.startRow)return t;const g=d.endRow-d.startRow+1,p=Math.max(Math.min(o.startRow,d.endRow+1)-d.startRow,0);let f,S;m.startRow>=o.startRow?(f=Math.max(o.startRow-p,1),S=Math.max(o.ySplit-p,1)):(f=o.startRow+g-p,S=o.ySplit+g-p);const v={...o,startRow:f,ySplit:S};return r(v)}if(e.id===h.RemoveColCommand.id||e.id===h.RemoveRowCommand.id){const s=e.params,a=s.range;if(a.rangeType===l.RANGE_TYPE.COLUMN&&a.startColumn<o.startColumn){const c=Math.min(o.startColumn,a.endColumn+1)-a.startColumn,u={...o,startColumn:Math.max(1,o.startColumn-c),xSplit:Math.max(1,o.xSplit-c)};return r(u)}if(s.range.rangeType===l.RANGE_TYPE.ROW&&a.startRow<o.startRow){const c=Math.min(o.startRow,a.endRow+1)-a.startRow,u={...o,startRow:Math.max(1,o.startRow-c),ySplit:Math.max(1,o.ySplit-c)};return r(u)}}return t}}))}_commandExecutedListener(){const e=[h.SetFrozenMutation.id,$e.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){const o=this._lastFreeze,r=this._context.unit,s=r.getActiveSheet(),a=t.params,{unitId:c,subUnitId:u}=a;if(!(c===r.getUnitId()&&u===s.getSheetId()))return;const d=s.getConfig().freeze;if(this._lastFreeze=d,d==null)return;let m=0;const{startRow:g=-1,startColumn:p=-1,ySplit:f=0,xSplit:S=0}=d;(!o||o.startRow!==g||o.ySplit!==f)&&(m|=2),(!o||o.startColumn!==p||o.xSplit!==S)&&(m|=1),a.resetScroll===!1&&(m=0),this._refreshFreeze(g,p,f,S,m)}else if(t.id===h.SetWorksheetRowHeightMutation.id){const o=this._getFreeze(),r=o&&t.params.ranges.some(s=>s.startRow<o.startRow);t.params&&r&&this._refreshCurrent()}else if(t.id===h.SetWorksheetColWidthMutation.id){const o=this._getFreeze();t.params&&o&&t.params.ranges.some(r=>r.startColumn<o.startColumn)&&this._refreshCurrent()}else if(t.id===h.SetWorksheetRowAutoHeightMutation.id){const o=t.params,r=this._getFreeze();if(r&&r.startRow>-1&&o.rowsAutoHeightInfo.some(s=>s.row<r.startRow)){const s=this._sheetSkeletonManagerService.currentSkeleton$.subscribe(()=>{this._refreshCurrent(),setTimeout(()=>{s.unsubscribe()})})}}else if(t.id===h.SetColHiddenMutation.id||t.id===h.SetColVisibleMutation.id){const o=t.params,r=this._getFreeze(),s=o.ranges;r&&r.startColumn>-1&&s.some(a=>a.startColumn<r.startColumn)&&this._refreshCurrent()}else if(t.id===h.SetRowHiddenMutation.id||t.id===h.SetRowVisibleMutation.id){const o=t.params,r=this._getFreeze(),s=o.ranges;r&&r.startRow>-1&&s.some(a=>a.startRow<r.startRow)&&this._refreshCurrent()}}))}_zoomRefresh(){const e=this._getSheetObject();if(e==null)return;const{scene:t}=e;t.onTransformChangeObservable.add(o=>{o.type===E.TRANSFORM_CHANGE_OBSERVABLE_TYPE.scale&&this._refreshCurrent()})}_clearObserverEvent(){const e=this._getSheetObject();if(e==null)return;const{scene:t}=e;t.onPointerMoveObserver.remove(this._moveObserver),t.onPointerUpObserver.remove(this._upObserver),this._moveObserver=null,this._upObserver=null}_clearFreeze(){var o,r,s,a;(o=this._rowFreezeHeaderRect)==null||o.dispose(),(r=this._rowFreezeMainRect)==null||r.dispose(),(s=this._columnFreezeHeaderRect)==null||s.dispose(),(a=this._columnFreezeMainRect)==null||a.dispose();const e=this._getSheetObject();if(e==null)return;const{scene:t}=e;[...this._freezeDownObservers,...this._freezeMoveObservers,...this._freezeLeaveObservers].forEach(c=>{t.onPointerDownObserver.remove(c),t.onPointerMoveObserver.remove(c),t.onPointerLeaveObserver.remove(c)}),t.onPointerEnterObserver.remove(this._moveObserver),t.onPointerMoveObserver.remove(this._upObserver)}_getPositionByIndex(e,t){var u;if(this._getSheetObject()==null)return;const r=(u=this._sheetSkeletonManagerService.getCurrent())==null?void 0:u.skeleton,s=r==null?void 0:r.getNoMergeCellPositionByIndex(e,t);if(r==null)return;if(s!=null&&(!isNaN(s.endX)||!isNaN(s.endY)))return s;const{rowHeaderWidthAndMarginLeft:a,columnHeaderHeightAndMarginTop:c}=r;return{startX:a,endX:a,startY:c,endY:c}}_getFreeze(){var t;const e=(t=this._sheetSkeletonManagerService.getCurrent())==null?void 0:t.skeleton.getWorksheetConfig();if(e!=null)return e.freeze}_getSheetObject(){return It(this._context.unit,this._context)}_refreshFreeze(e,t,o,r,s){var c;const a={startRow:e,startColumn:t,ySplit:o,xSplit:r};this._clearFreeze(),this._createFreeze(0,a),this._createFreeze(1,a),this._updateViewport(e,t,o,r,s),(c=this._getSheetObject())==null||c.spreadsheet.makeForceDirty()}};exports.HeaderFreezeRenderController=nh([bt(1,k.Inject(exports.SheetSkeletonManagerService)),bt(2,l.ICommandService),bt(3,k.Inject(h.SelectionManagerService)),bt(4,k.Inject(tt)),bt(5,k.Inject(l.ThemeService)),bt(6,k.Inject(h.SheetInterceptorService)),bt(7,k.Inject(k.Injector))],exports.HeaderFreezeRenderController);var No=(n=>(n[n.NORMAL=0]="NORMAL",n[n.HIGHLIGHT=1]="HIGHLIGHT",n))(No||{});const lh="rgba(0, 0, 0, 0.15)",st="rgb(0, 0, 0)",Xn="rgb(255, 255, 255, 1)";class ch extends E.Shape{constructor(e,t){super(e,t);w(this,"_size",12);w(this,"_iconRatio",.4);w(this,"_mode",0);this.setShapeProps(t)}setShapeProps(e){e!=null&&e.size&&(this._size=e.size),e!=null&&e.mode&&(this._mode=e.mode),this.transformByState({width:this._size,height:this._size})}_draw(e){this._mode===1&&E.Rect.drawWith(e,{width:this._size,height:this._size,radius:this._size,fill:lh});const t=this._size*.5*this._iconRatio,o=Math.PI/180*60,r=t*Math.sin(o),s=t*Math.cos(o);E.RegularPolygon.drawWith(e,{pointsGroup:[[{x:-r+this._size/2,y:-s+this._size/2},{x:r+this._size/2,y:-s+this._size/2},{x:this._size/2,y:t+this._size/2}]],fill:st})}}var dh=Object.defineProperty,uh=Object.getOwnPropertyDescriptor,hh=(n,i,e,t)=>{for(var o=t>1?void 0:t?uh(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&dh(i,e,o),o},zn=(n,i)=>(e,t)=>i(e,t,n);const mh="__SpreadsheetHeaderMenuSHAPEControllerShape__",gh="__SpreadsheetHeaderMenuMAINControllerShape__",ph="rgba(0, 0, 0, 0.1)";let xo=class extends l.Disposable{constructor(i,e,t,o,r){super();w(this,"_hoverRect");w(this,"_hoverMenu");w(this,"_currentColumn",Number.POSITIVE_INFINITY);w(this,"_observers",[]);this._context=i,this._sheetSkeletonManagerService=e,this._contextMenuService=t,this._commandService=o,this._selectionManagerService=r,this._initialize()}dispose(){var t,o;(t=this._hoverRect)==null||t.dispose(),(o=this._hoverMenu)==null||o.dispose();const i=this._context.components.get(ue.COLUMN),e=this._context.components.get(ue.ROW);this._observers.forEach(r=>{e.onPointerEnterObserver.remove(r),e.onPointerMoveObserver.remove(r),e.onPointerLeaveObserver.remove(r),i.onPointerEnterObserver.remove(r),i.onPointerMoveObserver.remove(r),i.onPointerLeaveObserver.remove(r)})}_initialize(){const i=this._context.scene;this._hoverRect=new E.Rect(mh,{fill:ph,evented:!1}),this._hoverMenu=new ch(gh,{zIndex:100,visible:!1}),i.addObjects([this._hoverRect,this._hoverMenu],pt),this._initialHover(0),this._initialHover(1),this._initialHoverMenu()}_initialHover(i=0){const e=this._context.components.get(ue.COLUMN),t=this._context.components.get(ue.ROW),o=i===0?t:e;this._observers.push(o==null?void 0:o.onPointerEnterObserver.add(()=>{var r;(r=this._hoverRect)==null||r.show()})),this._observers.push(o==null?void 0:o.onPointerMoveObserver.add(r=>{var f,S,v;const s=(f=this._sheetSkeletonManagerService.getCurrent())==null?void 0:f.skeleton;if(s==null)return;const{rowHeaderWidth:a,columnHeaderHeight:c}=s,{startX:u,startY:d,endX:m,endY:g,column:p}=Yt(r.offsetX,r.offsetY,this._context.scene,s);if(i===0)(S=this._hoverRect)==null||S.transformByState({width:a,height:g-d,left:0,top:d});else{if(this._currentColumn=p,(v=this._hoverRect)==null||v.transformByState({width:m-u,height:c,left:u,top:0}),this._hoverMenu==null)return;if(m-u<c*2){this._hoverMenu.hide();return}const I=c*.8;this._hoverMenu.transformByState({left:m-c,top:c/2-I/2}),this._hoverMenu.setShapeProps({size:I}),this._hoverMenu.show()}})),this._observers.push(o==null?void 0:o.onPointerLeaveObserver.add(()=>{var r,s;(r=this._hoverRect)==null||r.hide(),(s=this._hoverMenu)==null||s.hide()}))}_initialHoverMenu(){this._hoverMenu!=null&&(this._hoverMenu.onPointerEnterObserver.add(()=>{this._hoverMenu!=null&&(this._hoverMenu.setProps({mode:No.HIGHLIGHT,visible:!0}),this._context.scene.setCursor(E.CURSOR_TYPE.POINTER))}),this._hoverMenu.onPointerLeaveObserver.add(()=>{this._hoverMenu!=null&&(this._hoverMenu.setProps({mode:No.NORMAL,visible:!1}),this._context.scene.resetCursor())}),this._hoverMenu.onPointerDownObserver.add(i=>{const e=this._currentColumn,t=this._selectionManagerService.getSelectionRanges();if(!!!(t!=null&&t.filter(r=>r.rangeType===l.RANGE_TYPE.COLUMN).find(r=>{const{startColumn:s,endColumn:a}=r;return e>=s&&e<=a}))){const r=this._getSelectionOnColumn(e);this._commandService.syncExecuteCommand(h.SetSelectionsOperation.id,r)}i.stopPropagation(),i.preventDefault(),this._contextMenuService.triggerContextMenu(i,Ce.COL_HEADER_CONTEXT_MENU)}))}_getSelectionOnColumn(i){const e=this._context.unit,t=e.getActiveSheet();return{unitId:e.getUnitId(),subUnitId:t.getSheetId(),pluginName:h.NORMAL_SELECTION_PLUGIN_NAME,selections:[{range:{startRow:0,startColumn:i,endRow:t.getRowCount()-1,endColumn:i,rangeType:l.RANGE_TYPE.COLUMN},primary:{startRow:0,startColumn:i,endRow:0,endColumn:i,actualRow:0,actualColumn:i,isMerged:!1,isMergedMainCell:!1},style:null}]}}};xo=hh([zn(1,k.Inject(exports.SheetSkeletonManagerService)),zn(2,b.IContextMenuService),zn(3,l.ICommandService),zn(4,k.Inject(h.SelectionManagerService))],xo);var fh=Object.defineProperty,Sh=Object.getOwnPropertyDescriptor,vh=(n,i,e,t)=>{for(var o=t>1?void 0:t?Sh(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&fh(i,e,o),o},Yn=(n,i)=>(e,t)=>i(e,t,n);const Ch="__SpreadsheetHeaderMoveControllerBackground__",Ih="__SpreadsheetHeaderMoveControllerShapeLine__",Rh="rgba(0, 0, 0, 0.1)",bh="rgb(119, 119, 119)",_h=4,so=l.createInterceptorKey("headerMovePermissionCheck");exports.HeaderMoveRenderController=class extends l.Disposable{constructor(e,t,o,r,s){super();w(this,"_startOffsetX",Number.NEGATIVE_INFINITY);w(this,"_startOffsetY",Number.NEGATIVE_INFINITY);w(this,"_moveHelperBackgroundShape");w(this,"_moveHelperLineShape");w(this,"_rowOrColumnDownObservers",[]);w(this,"_rowOrColumnMoveObservers",[]);w(this,"_rowOrColumnLeaveObservers",[]);w(this,"_moveObserver");w(this,"_upObserver");w(this,"_scrollTimer");w(this,"_changeFromColumn",-1);w(this,"_changeFromRow",-1);w(this,"_changeToColumn",-1);w(this,"_changeToRow",-1);w(this,"interceptor",new l.InterceptorManager({HEADER_MOVE_PERMISSION_CHECK:so}));this._context=e,this._sheetSkeletonManagerService=t,this._commandService=o,this._selectionRenderService=r,this._selectionManagerService=s,this._initialize()}dispose(){var r,s,a;(r=this._moveHelperBackgroundShape)==null||r.dispose(),(s=this._moveHelperLineShape)==null||s.dispose();const e=this._context.components.get(ue.COLUMN),t=this._context.components.get(ue.ROW),o=this._context.scene;[...this._rowOrColumnDownObservers,...this._rowOrColumnMoveObservers,...this._rowOrColumnLeaveObservers].forEach(c=>{t.onPointerDownObserver.remove(c),e.onPointerDownObserver.remove(c)}),o.onPointerMoveObserver.remove(this._moveObserver),o.onPointerUpObserver.remove(this._upObserver),(a=this._scrollTimer)==null||a.dispose()}_initialize(){this._initialRowOrColumn(0),this._initialRowOrColumn(1)}_initialRowOrColumn(e=0){const t=this._context.components.get(ue.COLUMN),o=this._context.components.get(ue.ROW),r=this._context.scene,s=e===0?o:t;this._rowOrColumnMoveObservers.push(s==null?void 0:s.onPointerMoveObserver.add(a=>{var f,S;const c=(f=this._sheetSkeletonManagerService.getCurrent())==null?void 0:f.skeleton;if(c==null)return;const u=(S=this._selectionManagerService.getLast())==null?void 0:S.range;if(!u||!this.interceptor.fetchThroughInterceptors(so)(!1,u))return;const{row:m,column:g}=Yt(a.offsetX,a.offsetY,r,c);if(this._checkInHeaderRange(e===0?m:g,e)===!1){r.resetCursor(),this._selectionRenderService.enableSelection();return}r.setCursor(E.CURSOR_TYPE.GRAB),this._selectionRenderService.disableSelection()})),this._rowOrColumnLeaveObservers.push(s==null?void 0:s.onPointerLeaveObserver.add(()=>{var a,c;(a=this._moveHelperBackgroundShape)==null||a.hide(),(c=this._moveHelperLineShape)==null||c.hide(),r.resetCursor(),this._selectionRenderService.enableSelection()})),this._rowOrColumnDownObservers.push(s==null?void 0:s.onPointerDownObserver.add(a=>{var N,D;const c=(N=this._sheetSkeletonManagerService.getCurrent())==null?void 0:N.skeleton;if(c==null)return;const u=(D=this._selectionManagerService.getLast())==null?void 0:D.range;if(!u||!this.interceptor.fetchThroughInterceptors(so)(!1,u))return;const{offsetX:m,offsetY:g}=a,p=r.getRelativeCoord(E.Vector2.FromArray([m,g])),{x:f,y:S}=p;this._startOffsetX=f,this._startOffsetY=S;const{row:v,column:I}=Yt(a.offsetX,a.offsetY,r,c);let R;e===0?(this._changeFromRow=v,R=E.ScrollTimerType.Y):(this._changeFromColumn=I,R=E.ScrollTimerType.X);const _=this._checkInHeaderRange(e===0?v:I,e);if(_===!1)return;const T=r.getScrollXYByRelativeCoords(E.Vector2.FromArray([this._startOffsetX,this._startOffsetY]));this._newBackgroundAndLine(),r.setCursor(E.CURSOR_TYPE.GRABBING),r.disableEvent();let y=!1,M;const P=()=>{if(y)return;M=E.ScrollTimer.create(r,R);const A=r.getViewport(Q.VIEW_MAIN);M.startScroll(f,S,A),this._scrollTimer=M,y=!0};this._moveObserver=r.onPointerMoveObserver.add(A=>{P();const{offsetX:x,offsetY:L}=A,{x:U,y:H}=r.getRelativeCoord(E.Vector2.FromArray([x,L]));this._rowColumnMoving(U,H,_,T,e),M.scrolling(U,H,()=>{this._rowColumnMoving(U,H,_,T,e)})}),this._upObserver=r.onPointerUpObserver.add(()=>{var x,L,U;this._disposeBackgroundAndLine(),r.resetCursor(),r.enableEvent(),this._clearObserverEvent(),(x=this._scrollTimer)==null||x.dispose();const A=this._selectionManagerService.getSelections();if(e===0){if(this._changeFromRow!==this._changeToRow&&this._changeToRow!==-1){const W=(L=((A==null?void 0:A.filter(z=>z.range.rangeType===l.RANGE_TYPE.ROW&&z.range.startRow<=this._changeFromRow&&this._changeFromRow<=z.range.endRow))||[])[0])==null?void 0:L.range;W&&this._commandService.executeCommand(h.MoveRowsCommand.id,{fromRange:W,toRange:{...W,startRow:this._changeToRow,endRow:this._changeToRow+W.endRow-W.startRow}})}this._changeToRow=this._changeFromRow=-1}else{if(this._changeFromColumn!==this._changeToColumn&&this._changeToColumn!==-1){const W=(U=((A==null?void 0:A.filter(z=>z.range.rangeType===l.RANGE_TYPE.COLUMN&&z.range.startColumn<=this._changeFromColumn&&this._changeFromColumn<=z.range.endColumn))||[])[0])==null?void 0:U.range;W&&this._commandService.executeCommand(h.MoveColsCommand.id,{fromRange:W,toRange:{...W,startColumn:this._changeToColumn,endColumn:this._changeToColumn+W.endColumn-W.startColumn}})}this._changeToColumn=this._changeFromColumn=-1}})}))}_rowColumnMoving(e,t,o,r,s){var X,Z,G,K,ee,j,F;const a=this._context.scene,c=(X=this._sheetSkeletonManagerService.getCurrent())==null?void 0:X.skeleton;if(c==null)return;const{rowHeaderWidth:u,columnHeaderHeight:d,rowTotalHeight:m,columnTotalWidth:g}=c,p=a.getScrollXY(a.getViewport(Q.VIEW_MAIN)),{scaleX:f,scaleY:S}=a.getAncestorScale(),v=c.getCellPositionByOffset(e,t,f,S,p),{row:I,column:R}=v,_=c.getNoMergeCellPositionByIndex(I,R),{startX:T,startY:y,endX:M,endY:P}=_,N=this._selectionRenderService.attachRangeWithCoord(o.range);if(N==null)return;const D=Math.max(f,f),{startX:A,endX:x,startY:L,endY:U,startRow:H,startColumn:W,endRow:z,endColumn:q}=N;s===0?(Z=this._moveHelperBackgroundShape)==null||Z.transformByState({height:U-L,width:g+u,left:0,top:L+(t-this._startOffsetY)/D+p.y-r.y}):(G=this._moveHelperBackgroundShape)==null||G.transformByState({height:m+d,width:x-A,left:A+(e-this._startOffsetX)/D+p.x-r.x,top:0}),(K=this._moveHelperBackgroundShape)==null||K.show();const Y=_h/D;if(s===0){let te=0;if(I<=H)te=y-Y/2,this._changeToRow=I;else if(I>z)te=P-Y/2,this._changeToRow=I+1;else return;(ee=this._moveHelperLineShape)==null||ee.transformByState({height:Y,width:g,left:u,top:te})}else{let te=0;if(R<=W)te=T-Y/2,this._changeToColumn=R;else if(R>q)te=M-Y/2,this._changeToColumn=R+1;else return;(j=this._moveHelperLineShape)==null||j.transformByState({height:m,width:Y,left:te,top:d})}(F=this._moveHelperLineShape)==null||F.show()}_checkInHeaderRange(e,t=0){var c;const o=this._selectionManagerService.getSelections();if(((c=this._selectionManagerService.getCurrent())==null?void 0:c.pluginName)!==h.NORMAL_SELECTION_PLUGIN_NAME)return!1;const s=o==null?void 0:o.find(u=>{const d=u.range,{startRow:m,endRow:g,startColumn:p,endColumn:f,rangeType:S}=d;return t===1?e>=p&&e<=f&&l.RANGE_TYPE.COLUMN===S:e>=m&&e<=g&&l.RANGE_TYPE.ROW===S}),a=s==null?void 0:s.range;return s==null||a==null||a.rangeType===l.RANGE_TYPE.ALL||a.rangeType===l.RANGE_TYPE.NORMAL||a.rangeType===l.RANGE_TYPE.ROW&&t!==0||a.rangeType===l.RANGE_TYPE.COLUMN&&t!==1?!1:s}_clearObserverEvent(){const e=this._context.scene;e.onPointerMoveObserver.remove(this._moveObserver),e.onPointerUpObserver.remove(this._upObserver),this._moveObserver=null,this._upObserver=null}_newBackgroundAndLine(){const e=this._context.scene;this._moveHelperBackgroundShape=new E.Rect(Ch,{fill:Rh,evented:!1,zIndex:100}),this._moveHelperLineShape=new E.Rect(Ih,{fill:bh,evented:!1,zIndex:100}),e.addObjects([this._moveHelperBackgroundShape,this._moveHelperLineShape],pt)}_disposeBackgroundAndLine(){var e,t;(e=this._moveHelperBackgroundShape)==null||e.dispose(),(t=this._moveHelperLineShape)==null||t.dispose()}};exports.HeaderMoveRenderController=vh([Yn(1,k.Inject(exports.SheetSkeletonManagerService)),Yn(2,l.ICommandService),Yn(3,Me),Yn(4,k.Inject(h.SelectionManagerService))],exports.HeaderMoveRenderController);var Do=(n=>(n[n.VERTICAL=0]="VERTICAL",n[n.HORIZONTAL=1]="HORIZONTAL",n))(Do||{});const Th="rgba(120, 120, 120, 0.01)",ao="rgb(68, 71, 70)",gn=12,ko=4;class qr extends E.Shape{constructor(e,t){super(e,t);w(this,"_size",gn);w(this,"_color",ao);w(this,"_mode",0);this.setShapeProps(t)}get size(){return this._size}get mode(){return this._mode}get color(){return this._color}_draw(e){let{width:t,height:o}=this,r=0,s=0;const a=this.getScene(),{scaleX:c,scaleY:u}=a.getAncestorScale(),d=Math.max(c,u),m=gn/d,g=ko/d;this.mode===0?(t=g,r=m-g):(o=g,s=m-g),E.Rect.drawWith(e,{width:this.width,height:this.height,left:0,top:0,fill:Th}),E.Rect.drawWith(e,{width:t,height:o,fill:ao,radius:g}),e.save(),e.transform(1,0,0,1,r,s),E.Rect.drawWith(e,{width:t,height:o,fill:ao,radius:g}),e.restore()}setShapeProps(e){return e!=null&&e.size&&(this._size=e.size),e!=null&&e.mode&&(this._mode=e.mode),e!=null&&e.color&&(this._color=e.color),this.mode===0?this.transformByState({width:gn,height:this.size}):this.transformByState({width:this.size,height:gn}),this}}var wh=Object.defineProperty,Mh=Object.getOwnPropertyDescriptor,yh=(n,i,e,t)=>{for(var o=t>1?void 0:t?Mh(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&wh(i,e,o),o},lo=(n,i)=>(e,t)=>i(e,t,n);const Ph="__SpreadsheetHeaderResizeControllerShapeRow__",Eh="__SpreadsheetHeaderResizeControllerShapeColumn__",Kr="__SpreadsheetHeaderResizeControllerShapeHelper__",Qr="rgb(199, 199, 199)",Oh=2,co=l.createInterceptorKey("headerResizePermissionCheck");exports.HeaderResizeRenderController=class extends l.Disposable{constructor(e,t,o,r){super();w(this,"_currentRow",0);w(this,"_currentColumn",0);w(this,"_rowResizeRect");w(this,"_columnResizeRect");w(this,"_observers",[]);w(this,"_moveObserver");w(this,"_upObserver");w(this,"_resizeHelperShape");w(this,"_startOffsetX",Number.POSITIVE_INFINITY);w(this,"_startOffsetY",Number.POSITIVE_INFINITY);w(this,"interceptor",new l.InterceptorManager({HEADER_RESIZE_PERMISSION_CHECK:co}));this._context=e,this._sheetSkeletonManagerService=t,this._commandService=o,this._editorBridgeService=r,this._init()}dispose(){var o,r;(o=this._rowResizeRect)==null||o.dispose(),this._rowResizeRect=null,(r=this._columnResizeRect)==null||r.dispose(),this._columnResizeRect=null;const e=this._context.components.get(ue.COLUMN),t=this._context.components.get(ue.ROW);this._observers.forEach(s=>{t.onPointerMoveObserver.remove(s),t.onPointerLeaveObserver.remove(s),e.onPointerMoveObserver.remove(s),e.onPointerLeaveObserver.remove(s)}),this._observers=[]}_init(){const e=this._context.scene;this._rowResizeRect=new qr(Ph,{visible:!1,mode:Do.HORIZONTAL,zIndex:100}),this._columnResizeRect=new qr(Eh,{visible:!1,mode:Do.VERTICAL,zIndex:100}),e.addObjects([this._rowResizeRect,this._columnResizeRect],pt),this._initialHover(0),this._initialHover(1),this._initialHoverResize(0),this._initialHoverResize(1)}_initialHover(e=0){const t=this._context.components.get(ue.COLUMN),o=this._context.components.get(ue.ROW),r=this._context.scene,s=e===0?o:t;this._observers.push(s==null?void 0:s.onPointerMoveObserver.add((a,c)=>{var P;const u=(P=this._sheetSkeletonManagerService.getCurrent())==null?void 0:P.skeleton;if(u==null||this._rowResizeRect==null||this._columnResizeRect==null)return;const{rowHeaderWidth:d,columnHeaderHeight:m}=u,{startX:g,startY:p,endX:f,endY:S,row:v,column:I}=Yt(a.offsetX,a.offsetY,r,u),R=ri(a.offsetX,a.offsetY,r),{scaleX:_,scaleY:T}=r.getAncestorScale(),y=Math.max(_,T),M=gn/y;if(e===0){let N=p-M/2;if(R.y<=p+M/2&&R.y>=p)this._currentRow=v-1;else if(R.y>=S-M/2&&R.y<=S)this._currentRow=v,N=S-M/2;else{this._rowResizeRect.hide();return}if(this._currentRow===-1)return;if(!this.interceptor.fetchThroughInterceptors(co)(null,{row:this._currentRow}))return!1;const A=d/3;this._rowResizeRect.transformByState({left:d/2-A/2,top:N}),this._rowResizeRect.setShapeProps({size:A}),this._rowResizeRect.show()}else{let N=g-M/2;if(R.x<=g+M/2&&R.x>=g)this._currentColumn=I-1;else if(R.x>=f-M/2&&R.x<=f)this._currentColumn=I,N=f-M/2;else{this._columnResizeRect.hide();return}if(this._currentColumn===-1)return;if(!this.interceptor.fetchThroughInterceptors(co)(null,{col:this._currentColumn}))return!1;const A=m*.7;this._columnResizeRect.transformByState({left:N,top:m/2-A/2}),this._columnResizeRect.setShapeProps({size:A}),this._columnResizeRect.show()}})),this._observers.push(s==null?void 0:s.onPointerLeaveObserver.add((a,c)=>{var u,d;(u=this._rowResizeRect)==null||u.hide(),(d=this._columnResizeRect)==null||d.hide()}))}_initialHoverResize(e=0){const t=this._context.scene,o=e===0?this._rowResizeRect:this._columnResizeRect;o!=null&&(this.disposeWithMe(l.toDisposable(o.onPointerEnterObserver.add(()=>{o!=null&&(o.show(),t.setCursor(e===0?E.CURSOR_TYPE.ROW_RESIZE:E.CURSOR_TYPE.COLUMN_RESIZE))}))),this.disposeWithMe(l.toDisposable(o.onPointerLeaveObserver.add(()=>{o!=null&&(o.hide(),t.resetCursor())}))),this.disposeWithMe(l.toDisposable(o.onPointerDownObserver.add((r,s)=>{var Y,X,Z,G,K,ee,j;const a=(Y=this._sheetSkeletonManagerService.getCurrent())==null?void 0:Y.skeleton;if(a==null)return;const c=this._context.scene,u=c.getEngine(),d=(u==null?void 0:u.height)||0,m=(u==null?void 0:u.width)||0,g=c.getViewport(Q.VIEW_MAIN),p=(((Z=(X=g==null?void 0:g.getScrollBar())==null?void 0:X.horizonBarRect)==null?void 0:Z.height)||0)+10,f=(((K=(G=g==null?void 0:g.getScrollBar())==null?void 0:G.verticalBarRect)==null?void 0:K.width)||0)+10,S=ri(r.offsetX,r.offsetY,c),{scaleX:v,scaleY:I}=c.getAncestorScale();this._startOffsetX=S.x,this._startOffsetY=S.y;const R=a.getOffsetByPositionX(this._currentColumn),_=a.getOffsetByPositionY(this._currentRow),T=a.getNoMergeCellPositionByIndex(this._currentRow,this._currentColumn);let y=!1,M=0,P=0;const{columnTotalWidth:N,rowHeaderWidth:D,rowTotalHeight:A,columnHeaderHeight:x}=a,L=m>N+D?m:N+D,U=d>A+x?d:A+x,H=Math.max(v,I),W=ko/H;e===0?this._resizeHelperShape=new E.Rect(Kr,{width:L,height:W,fill:Qr,left:0,top:_-W/2}):this._resizeHelperShape=new E.Rect(Kr,{width:W,height:U,fill:Qr,left:R-W/2,top:0});const z=((ee=this._columnResizeRect)==null?void 0:ee.left)||0,q=((j=this._rowResizeRect)==null?void 0:j.top)||0;c.addObject(this._resizeHelperShape,pt),c.disableEvent(),this._editorBridgeService.changeVisible({visible:!1,eventType:E.DeviceInputEventType.PointerDown}),this._moveObserver=c.onPointerMoveObserver.add(F=>{var be,ge,nt,Ne,en,tn;const te=c.getRelativeCoord(E.Vector2.FromArray([this._startOffsetX,this._startOffsetY])),ne=c.getScrollXYByRelativeCoords(te,g),se=ri(F.offsetX,F.offsetY,c),{x:de,y:Se}=se,{scaleX:Re,scaleY:xe}=c.getAncestorScale(),Ae=Math.max(Re,xe),ve=ko/Ae;M=de-this._startOffsetX-ve/2,P=Se-this._startOffsetY-ve/2,Math.abs(e===0?P:M)>=Oh&&(y=!0),e===0?(P>d-p+ne.y-T.startY&&(P=d-p+ne.y-T.startY),P<-(T.endY-T.startY)+2&&(P=-(T.endY-T.startY)+2),y&&((be=this._resizeHelperShape)==null||be.transformByState({top:_+P}),(ge=this._rowResizeRect)==null||ge.transformByState({top:q+P+ve/2}),(nt=this._rowResizeRect)==null||nt.show(),c.setCursor(E.CURSOR_TYPE.ROW_RESIZE))):(M>m-f+ne.x-T.startX&&(M=m-f+ne.x-T.startX),M<-(T.endX-T.startX)+2&&(M=-(T.endX-T.startX)+2),y&&((Ne=this._resizeHelperShape)==null||Ne.transformByState({left:R+M}),(en=this._columnResizeRect)==null||en.transformByState({left:z+M+ve/2}),(tn=this._columnResizeRect)==null||tn.show(),c.setCursor(E.CURSOR_TYPE.COLUMN_RESIZE)))}),this._upObserver=c.onPointerUpObserver.add(F=>{var ne,se,de;const te=this._context.scene;this._clearObserverEvent(),(ne=this._resizeHelperShape)==null||ne.dispose(),this._resizeHelperShape=null,te.enableEvent(),y&&(te.resetCursor(),(se=this._rowResizeRect)==null||se.hide(),(de=this._columnResizeRect)==null||de.hide(),e===0?this._commandService.executeCommand(h.DeltaRowHeightCommand.id,{deltaY:P,anchorRow:this._currentRow}):this._commandService.executeCommand(h.DeltaColumnWidthCommand.id,{deltaX:M,anchorCol:this._currentColumn}))})}))),this.disposeWithMe(l.toDisposable(o.onDblclickObserver.add(()=>{var r;e===0&&(this._context.scene.resetCursor(),this._commandService.executeCommand(h.SetWorksheetRowIsAutoHeightCommand.id,{anchorRow:this._currentRow}),(r=this._rowResizeRect)==null||r.hide())}))))}_clearObserverEvent(){const e=this._context.scene;e.onPointerMoveObserver.remove(this._moveObserver),e.onPointerUpObserver.remove(this._upObserver),this._moveObserver=null,this._upObserver=null}};exports.HeaderResizeRenderController=yh([lo(1,k.Inject(exports.SheetSkeletonManagerService)),lo(2,l.ICommandService),lo(3,je)],exports.HeaderResizeRenderController);var Lo=(n=>(n[n.ROW=0]="ROW",n[n.COLUMN=1]="COLUMN",n))(Lo||{});const pn=12,Ah=.4;class Jr extends E.Shape{constructor(e,t,o){super(e,t);w(this,"_size",pn);w(this,"_iconRatio",Ah);w(this,"_hovered",!0);w(this,"_hasPrevious",!0);w(this,"_hasNext",!0);w(this,"_unhideType");t&&this.setShapeProps(t),this.onPointerEnterObserver.add(()=>this.setShapeProps({hovered:!0})),this.onPointerLeaveObserver.add(()=>this.setShapeProps({hovered:!1})),this.onPointerDownObserver.add(()=>o==null?void 0:o())}setShapeProps(e){e.type!==void 0&&(this._unhideType=e.type),e.hovered!==void 0&&(this._hovered=e.hovered),e.hasPrevious!==void 0&&(this._hasPrevious=e.hasPrevious),e.hasNext!==void 0&&(this._hasNext=e.hasNext),this.transformByState({width:this._size*(this._unhideType===1?2:1),height:this._size*(this._unhideType===0?2:1)})}_draw(e){this._unhideType===0?this._drawOnRow(e):this._drawOnCol(e)}_drawOnRow(e){this._hovered&&(!this._hasNext||!this._hasPrevious?E.Rect.drawWith(e,{width:this._size,height:this._size,stroke:st,fill:Xn}):E.Rect.drawWith(e,{width:this._size,height:2*this._size,stroke:st,fill:Xn}));const t=this._size*.5*this._iconRatio,o=Math.PI/3,r=t*Math.cos(o),s=t*Math.sin(o);if(this._hasPrevious&&E.RegularPolygon.drawWith(e,{pointsGroup:[[{x:this._size/2,y:this._size/2-s},{x:this._size/2-s,y:this._size/2+r},{x:this._size/2+s,y:this._size/2+r}]],fill:st}),this._hasNext){const a=this._hasPrevious?3:1;E.RegularPolygon.drawWith(e,{pointsGroup:[[{x:this._size/2,y:this._size*a/2+s},{x:this._size/2-s,y:this._size*a/2-r},{x:this._size/2+s,y:this._size*a/2-r}]],fill:st})}}_drawOnCol(e){this._hovered&&(!this._hasNext||!this._hasPrevious?E.Rect.drawWith(e,{width:this._size,height:this._size,stroke:st,fill:Xn}):E.Rect.drawWith(e,{width:2*this._size,height:this._size,stroke:st,fill:Xn}));const t=this._size*.5*this._iconRatio,o=Math.PI/3,r=t*Math.cos(o),s=t*Math.sin(o);if(this._hasPrevious&&E.RegularPolygon.drawWith(e,{pointsGroup:[[{x:-r+this._size/2,y:this._size/2},{x:this._size/2+s,y:this._size/2-s},{x:this._size/2+s,y:this._size/2+s}]],fill:st}),this._hasNext){const a=this._hasPrevious?3:1;E.RegularPolygon.drawWith(e,{pointsGroup:[[{x:r+this._size*a/2,y:this._size/2},{x:-s+this._size*a/2,y:this._size/2-s},{x:-s+this._size*a/2,y:this._size/2+s}]],fill:st})}}}var Nh=Object.defineProperty,xh=Object.getOwnPropertyDescriptor,Dh=(n,i,e,t)=>{for(var o=t>1?void 0:t?xh(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&Nh(i,e,o),o},$r=(n,i)=>(e,t)=>i(e,t,n);const es="__SpreadsheetHeaderUnhideSHAPEControllerShape__",kh=[h.InsertColMutation.id,h.InsertRowMutation.id,h.RemoveColMutation.id,h.RemoveRowMutation.id,h.SetWorksheetColWidthMutation.id,h.SetWorksheetRowIsAutoHeightMutation.id,h.SetRowHiddenMutation.id,h.SetRowVisibleMutation.id,h.SetColHiddenMutation.id,h.SetColVisibleMutation.id];let Ho=class extends l.RxDisposable{constructor(i,e,t){super();w(this,"_shapes",{cols:[],rows:[]});this._context=i,this._sheetSkeletonManagerService=e,this._commandService=t,this._init()}get _workbook(){return this._context.unit}dispose(){super.dispose(),this._clearShapes()}_init(){let i="";this._context.unit.activeSheet$.pipe(O.takeUntil(this.dispose$)).subscribe(e=>{if(this._clearShapes(),!e){i="";return}i=e.getSheetId(),this._update(this._workbook,e)}),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(!kh.includes(e.id)||!e.params||!e.params.unitId||e.params.subUnitId!==i)return;const t=this._workbook,o=t.getSheetBySheetId(e.params.subUnitId);o&&this._update(t,o)}))}_update(i,e){var g;const t=(g=this._sheetSkeletonManagerService.getUnitSkeleton(i.getUnitId(),e.getSheetId()))==null?void 0:g.skeleton;if(!t)return;const o=e.getHiddenRows(),r=e.getHiddenCols(),s=this._getSheetObject(),{scene:a}=s,c=e.getRowCount(),u=o.map(p=>{const{startRow:f,endRow:S}=p,v=Po(f,0,a,t),I=f!==0,R=S!==c-1;return new Jr(es,{type:Lo.ROW,hovered:!1,hasPrevious:I,hasNext:R,top:v.startY-(I?pn:0),left:v.startX-pn},()=>this._commandService.executeCommand(h.SetSpecificRowsVisibleCommand.id,{unitId:i.getUnitId(),subUnitId:e.getSheetId(),ranges:[p]}))}),d=e.getColumnCount(),m=r.map(p=>{const{startColumn:f,endColumn:S}=p,v=Po(0,f,a,t),I=f!==0,R=S!==d-1;return new Jr(es,{type:Lo.COLUMN,hovered:!1,hasPrevious:I,hasNext:R,top:20-pn,left:v.startX-(I?pn:0)},()=>this._commandService.executeCommand(h.SetSpecificColsVisibleCommand.id,{unitId:i.getUnitId(),subUnitId:e.getSheetId(),ranges:[p]}))});a.addObjects(m,Mr),a.addObjects(u,Mr),this._clearShapes(),this._shapes={cols:m,rows:u}}_clearShapes(){this._shapes.cols.forEach(i=>i.dispose()),this._shapes.rows.forEach(i=>i.dispose()),this._shapes={cols:[],rows:[]}}_getSheetObject(){return It(this._workbook,this._context)}};Ho=Dh([$r(1,k.Inject(exports.SheetSkeletonManagerService)),$r(2,l.ICommandService)],Ho);var Lh=Object.defineProperty,Hh=Object.getOwnPropertyDescriptor,Vh=(n,i,e,t)=>{for(var o=t>1?void 0:t?Hh(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&Lh(i,e,o),o},uo=(n,i)=>(e,t)=>i(e,t,n);let Vo=class extends l.Disposable{constructor(n,i,e,t){super(),this._context=n,this._markSelectionService=i,this._commandService=e,this._sheetSkeletonManagerService=t,this._initListeners()}_initListeners(){this._addRemoveListener(),this._addRefreshListener()}_addRemoveListener(){const n=[Le.id];this.disposeWithMe(this._commandService.onCommandExecuted(i=>{n.includes(i.id)?this._markSelectionService.removeAllShapes():this._markSelectionService.getShapeMap().forEach((t,o)=>{t.exits.includes(i.id)&&this._markSelectionService.removeShape(o)})}))}_addRefreshListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(n=>{n&&this._markSelectionService.refreshShapes()}))}};Vo=Vh([uo(1,k.Inject(Gt)),uo(2,l.ICommandService),uo(3,k.Inject(exports.SheetSkeletonManagerService))],Vo);var Wh=Object.defineProperty,Uh=Object.getOwnPropertyDescriptor,Bh=(n,i,e,t)=>{for(var o=t>1?void 0:t?Uh(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&Wh(i,e,o),o},Dt=(n,i)=>(e,t)=>i(e,t,n);let Wo=class extends l.Disposable{constructor(n,i,e,t,o,r,s){super(),this._context=n,this._sheetSkeletonManagerService=i,this._commandService=e,this._selectionRenderService=t,this._selectionManagerService=o,this._themeService=r,this._definedNamesService=s,this._init()}dispose(){super.dispose(),this._selectionRenderService.changeRuntime(null,null),this._selectionRenderService.reset(),this._selectionManagerService.reset()}_init(){const n=this._context.unit,i=n.getActiveSheet(),e=this._getSheetObject();this._initViewMainListener(e),this._initRowHeader(e),this._initColumnHeader(e),this._initLeftTop(e),this._initSelectionChangeListener(),this._initThemeChangeListener(),this._initSkeletonChangeListener(),this._initCommandListener(),this._initUserActionSyncListener(),this._initDefinedNameListener();const t=n.getUnitId(),o=i.getSheetId();this._selectionManagerService.setCurrentSelection({pluginName:h.NORMAL_SELECTION_PLUGIN_NAME,unitId:t,sheetId:o})}_initDefinedNameListener(){this.disposeWithMe(this._definedNamesService.focusRange$.subscribe(async n=>{if(n==null)return;const{unitId:i}=n;let{formulaOrRefString:e}=n;const t=this._context.unit;if(i!==t.getUnitId()||(e.substring(0,1)===$.operatorToken.EQUALS&&(e=e.substring(1)),!$.isReferenceStrings(e)))return;const r=await this._getSelections(t,i,e);this._selectionManagerService.replace(r),this._commandService.executeCommand(h.ScrollToCellOperation.id,r[0].range)}))}async _getSelections(n,i,e){const t=e.split(",");let o=n.getActiveSheet();const r=[];for(let s=0;s<t.length;s++){const a=t[s].trim(),c=$.deserializeRangeWithSheet(a.trim());if(s===0){const d=n.getSheetBySheetName(c.sheetName);d&&o.getSheetId()!==d.getSheetId()&&(o=d,await this._commandService.executeCommand(h.SetWorksheetActivateCommand.id,{subUnitId:o.getSheetId(),unitId:i}))}if(o.getName()!==c.sheetName)continue;let u=null;if(s===t.length-1){const d=c.range,{startRow:m,startColumn:g,endRow:p,endColumn:f}=d;u=h.getPrimaryForRange({startRow:m,startColumn:g,endRow:p,endColumn:f},o)}r.push({range:c.range,style:h.getNormalSelectionStyle(this._themeService),primary:u})}return r}_getActiveViewport(n){const i=this._getSheetObject();return i==null?void 0:i.scene.getActiveViewportByCoord(E.Vector2.FromArray([n.offsetX,n.offsetY]))}_initViewMainListener(n){const{spreadsheet:i}=n;this.disposeWithMe(l.toDisposable(i==null?void 0:i.onPointerDownObserver.add((e,t)=>{this._selectionRenderService.enableDetectMergedCell(),this._selectionRenderService.eventTrigger(e,i.zIndex+1,l.RANGE_TYPE.NORMAL,this._getActiveViewport(e)),e.button!==2&&t.stopPropagation()})))}_initThemeChangeListener(){this.disposeWithMe(l.toDisposable(this._themeService.currentTheme$.subscribe(()=>{this._selectionRenderService.resetStyle();const n=this._selectionManagerService.getSelections(),i=this._selectionManagerService.getCurrent();n==null||(i==null?void 0:i.pluginName)!==h.NORMAL_SELECTION_PLUGIN_NAME||this._refreshSelection(n)})))}_refreshSelection(n){const i=n.map(e=>{const t=this._selectionRenderService.attachSelectionWithCoord(e);return t.style=h.getNormalSelectionStyle(this._themeService),t});this._selectionRenderService.updateControlForCurrentByRangeData(i)}_initRowHeader(n){const{spreadsheetRowHeader:i,spreadsheet:e}=n;this.disposeWithMe(i==null?void 0:i.onPointerDownObserver.add((t,o)=>{this._selectionRenderService.disableDetectMergedCell(),this._selectionRenderService.eventTrigger(t,((e==null?void 0:e.zIndex)||1)+1,l.RANGE_TYPE.ROW,this._getActiveViewport(t),E.ScrollTimerType.Y),t.button!==2&&o.stopPropagation()}))}_initColumnHeader(n){const{spreadsheetColumnHeader:i,spreadsheet:e}=n;this.disposeWithMe(i==null?void 0:i.onPointerDownObserver.add((t,o)=>{this._selectionRenderService.disableDetectMergedCell(),this._selectionRenderService.eventTrigger(t,((e==null?void 0:e.zIndex)||1)+1,l.RANGE_TYPE.COLUMN,this._getActiveViewport(t),E.ScrollTimerType.X),t.button!==2&&o.stopPropagation()}))}_initLeftTop(n){const{spreadsheetLeftTopPlaceholder:i}=n;this.disposeWithMe(i==null?void 0:i.onPointerDownObserver.add((e,t)=>{var a;const o=(a=this._sheetSkeletonManagerService.getCurrent())==null?void 0:a.skeleton;if(o==null)return;this._selectionRenderService.reset();const r=this._getAllRange(o),s=this._selectionRenderService.attachSelectionWithCoord(r);this._selectionRenderService.addControlToCurrentByRangeData(s),this._selectionRenderService.refreshSelectionMoveStart(),e.button!==2&&t.stopPropagation()}))}_initSelectionChangeListener(){this.disposeWithMe(l.toDisposable(this._selectionManagerService.selectionMoveEnd$.subscribe(n=>{if(this._selectionRenderService.reset(),n!=null){for(const i of n){if(i==null)continue;const e=this._selectionRenderService.attachSelectionWithCoord(i);this._selectionRenderService.addControlToCurrentByRangeData(e)}this._syncDefinedNameRange(n)}}))),this.disposeWithMe(l.toDisposable(this._selectionManagerService.selectionMoving$.subscribe(n=>{n!=null&&this._syncDefinedNameRange(n)}))),this.disposeWithMe(l.toDisposable(this._selectionManagerService.selectionMoveStart$.subscribe(n=>{n!=null&&this._syncDefinedNameRange(n)})))}_syncDefinedNameRange(n){if(n.length===0)return;const i=n[n.length-1],e=this._context.unit,t=e.getActiveSheet();this._definedNamesService.setCurrentRange({range:i.range,unitId:e.getUnitId(),sheetId:t.getSheetId()})}_initUserActionSyncListener(){this.disposeWithMe(this._selectionRenderService.selectionMoveStart$.subscribe(n=>{this._move(n,h.SelectionMoveType.MOVE_START)})),this.disposeWithMe(this._selectionRenderService.selectionMoving$.subscribe(n=>{this._move(n,h.SelectionMoveType.MOVING)})),this.disposeWithMe(this._selectionRenderService.selectionMoveEnd$.subscribe(n=>{this._move(n,h.SelectionMoveType.MOVE_END)}))}_move(n,i){const e=this._context.unit;if(!e)return;const t=e.getUnitId(),o=e.getActiveSheet().getSheetId(),r=this._selectionManagerService.getCurrent();n==null||n.length===0||this._commandService.executeCommand(h.SetSelectionsOperation.id,{unitId:t,subUnitId:o,type:i,pluginName:(r==null?void 0:r.pluginName)||h.NORMAL_SELECTION_PLUGIN_NAME,selections:n.map(s=>h.convertSelectionDataToRange(s))})}_getSheetObject(){return It(this._context.unit,this._context)}_initCommandListener(){const n=[$e.id];this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(n.includes(i.id)){const e=this._context.unit,t=e.getActiveSheet(),o=i.params,{unitId:r,subUnitId:s}=o;if(!(r===e.getUnitId()&&s===t.getSheetId()))return;this._selectionManagerService.refreshSelection()}}))}_initSkeletonChangeListener(){this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(n=>{if(n==null){this._selectionRenderService.changeRuntime(null,null);return}const{unitId:i,sheetId:e,skeleton:t}=n,{scene:o}=this._context,r=o.getViewport(Q.VIEW_MAIN);this._selectionRenderService.changeRuntime(t,o,r);const s=this._selectionManagerService.getCurrent(),a=(s==null?void 0:s.pluginName)||h.NORMAL_SELECTION_PLUGIN_NAME;if((s==null?void 0:s.unitId)===i&&s.sheetId===e){const c=this._selectionManagerService.getSelections();c!=null&&this._refreshSelection(c)}else this._selectionManagerService.setCurrentSelection({pluginName:a,unitId:i,sheetId:e});a===h.NORMAL_SELECTION_PLUGIN_NAME&&this._selectionManagerService.getLast()==null&&this._selectionManagerService.add([this._getZeroRange(t)])}))}_getAllRange(n){return{range:{startRow:0,startColumn:0,endRow:n.getRowCount()-1,endColumn:n.getColumnCount()-1,rangeType:l.RANGE_TYPE.ALL},primary:this._getZeroRange(n).primary,style:null}}_getZeroRange(n){const i=n.mergeData;return h.transformCellDataToSelectionData(0,0,i)||{range:{startRow:0,startColumn:0,endRow:0,endColumn:0},primary:{actualRow:0,actualColumn:0,startRow:0,startColumn:0,endRow:0,endColumn:0,isMerged:!1,isMergedMainCell:!1},style:null}}};Wo=Bh([Dt(1,k.Inject(exports.SheetSkeletonManagerService)),Dt(2,l.ICommandService),Dt(3,Me),Dt(4,k.Inject(h.SelectionManagerService)),Dt(5,k.Inject(l.ThemeService)),Dt(6,$.IDefinedNamesService)],Wo);const lt={type:l.CommandType.COMMAND,id:"sheet.command.add-worksheet-merge",handler:async(n,i)=>{const e=n.get(l.ICommandService),t=n.get(l.IUndoRedoService),o=n.get(l.IUniverInstanceService),r=n.get(b.IConfirmService),s=n.get(l.LocaleService),a=i.unitId,c=i.subUnitId,u=i.selections,d=h.getAddMergeMutationRangeByType(u,i.value),m=o.getUniverSheetInstance(a).getSheetBySheetId(c),g=[],p=[],f=Vs(m,d);if(f&&!await r.confirm({id:"merge.confirm.add-worksheet-merge",title:{title:"merge.confirm.title"},cancelText:s.t("merge.confirm.cancel"),confirmText:s.t("merge.confirm.confirm")}))return!1;const S={unitId:a,subUnitId:c,ranges:d},v={unitId:a,subUnitId:c,ranges:d},I=h.RemoveMergeUndoMutationFactory(n,S),R=h.AddMergeUndoMutationFactory(n,v);if(I.ranges.length>0&&g.push({id:h.RemoveWorksheetMergeMutation.id,params:I}),g.push({id:h.AddWorksheetMergeMutation.id,params:v}),p.push({id:h.RemoveWorksheetMergeMutation.id,params:R}),I.ranges.length>0&&p.push({id:h.AddWorksheetMergeMutation.id,params:I}),f){const M=Ws(n,a,m,d);g.unshift(...M.redos),p.push(...M.undos)}const _=h.AddMergeRedoSelectionsOperationFactory(n,i,d);_&&g.push(_);const T=h.AddMergeUndoSelectionsOperationFactory(n,i);return T&&p.push(T),l.sequenceExecute(g,e).result?(t.pushUndoRedo({unitID:a,undoMutations:p,redoMutations:g}),!0):!1}},na={type:l.CommandType.COMMAND,id:"sheet.command.add-worksheet-merge-all",handler:async n=>{const i=n.get(l.ICommandService),t=n.get(h.SelectionManagerService).getSelectionRanges(),o=$o(Hi.MergeAll,t);if(!(o!=null&&o.length))return!1;const s=n.get(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!s)return!1;const a=s.getActiveSheet();if(!a)return!1;const c=s.getUnitId(),u=a.getSheetId();return i.executeCommand(lt.id,{selections:o,unitId:c,subUnitId:u})}},ia={type:l.CommandType.COMMAND,id:"sheet.command.add-worksheet-merge-vertical",handler:async n=>{const i=n.get(l.ICommandService),t=n.get(h.SelectionManagerService).getSelectionRanges(),o=$o(Hi.MergeVertical,t);if(!(o!=null&&o.length))return!1;const s=n.get(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!s)return!1;const a=s.getActiveSheet();if(!a)return!1;const c=s.getUnitId(),u=a.getSheetId();return i.executeCommand(lt.id,{value:l.Dimension.COLUMNS,selections:o,unitId:c,subUnitId:u})}},oa={type:l.CommandType.COMMAND,id:"sheet.command.add-worksheet-merge-horizontal",handler:async n=>{const i=n.get(l.ICommandService),t=n.get(h.SelectionManagerService).getSelectionRanges(),o=$o(Hi.MergeHorizontal,t);if(!(o!=null&&o.length))return!1;const s=n.get(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!s)return!1;const a=s.getActiveSheet();if(!a)return!1;const c=s.getUnitId(),u=a.getSheetId();return i.executeCommand(lt.id,{value:l.Dimension.ROWS,selections:o,unitId:c,subUnitId:u})}},rr={type:l.CommandType.COMMAND,id:"sheet.command.delete-range-move-left-confirm",handler:async n=>{const i=n.get(b.IConfirmService),e=n.get(l.ICommandService),t=n.get(l.LocaleService),o=n.get(h.SelectionManagerService),r=n.get(l.IUniverInstanceService),s=o.getSelections();if(!s)return!1;const a=h.getSheetCommandTarget(r);if(!a)return!1;const{worksheet:c}=a;let u=s[0].range;if(!u)return!1;u={...u,endColumn:c.getColumnCount()-1};const d=p=>p.endRow-p.startRow;return!c.getMergeData().find(p=>{const f=l.Rectangle.getIntersects(p,u);return f?d(p)>d(f):!1})||await i.confirm({id:rr.id,title:{title:t.t("merge.confirm.waring")},children:{title:t.t("merge.confirm.dismantleMergeCellWaring")},cancelText:t.t("button.cancel"),confirmText:t.t("button.confirm")})?e.executeCommand(h.DeleteRangeMoveLeftCommand.id):!0}},Pi={type:l.CommandType.COMMAND,id:"sheet.command.delete-range-move-up-confirm",handler:async n=>{const i=n.get(b.IConfirmService),e=n.get(l.ICommandService),t=n.get(l.LocaleService),o=n.get(h.SelectionManagerService),r=n.get(l.IUniverInstanceService),s=o.getSelections();if(!s)return!1;const a=h.getSheetCommandTarget(r);if(!a)return!1;const{worksheet:c}=a;let u=s[0].range;if(!u)return!1;u={...u,endRow:c.getRowCount()-1};for(let p=u.startRow;p<=u.endRow;p++)if(c.getRowFiltered(p)&&await i.confirm({id:Pi.id,title:{title:t.t("filter.confirm.error")},children:{title:t.t("filter.confirm.notAllowedToInsertRange")},confirmText:t.t("button.confirm")}))return!1;const d=p=>p.endColumn-p.startColumn;return!c.getMergeData().find(p=>{const f=l.Rectangle.getIntersects(p,u);return f?d(p)>d(f):!1})||await i.confirm({id:Pi.id,title:{title:t.t("merge.confirm.waring")},children:{title:t.t("merge.confirm.dismantleMergeCellWaring")},cancelText:t.t("button.cancel"),confirmText:t.t("button.confirm")})?e.executeCommand(h.DeleteRangeMoveUpCommand.id):!0}},Ei={type:l.CommandType.COMMAND,id:"sheet.command.insert-range-move-down-confirm",handler:async n=>{const i=n.get(b.IConfirmService),e=n.get(l.ICommandService),t=n.get(l.LocaleService),o=n.get(h.SelectionManagerService),r=n.get(l.IUniverInstanceService),s=o.getSelections();if(!s)return!1;const a=h.getSheetCommandTarget(r);if(!a)return!1;const{worksheet:c}=a;let u=s[0].range;if(!u)return!1;u={...u,endRow:c.getRowCount()-1};for(let p=u.startRow;p<=u.endRow;p++)if(c.getRowFiltered(p)&&await i.confirm({id:Ei.id,title:{title:t.t("filter.confirm.error")},children:{title:t.t("filter.confirm.notAllowedToInsertRange")},confirmText:t.t("button.confirm")}))return!1;const d=p=>p.endColumn-p.startColumn;return!c.getMergeData().find(p=>{const f=l.Rectangle.getIntersects(p,u);return f?d(p)>d(f):!1})||await i.confirm({id:Ei.id,title:{title:t.t("merge.confirm.waring")},children:{title:t.t("merge.confirm.dismantleMergeCellWaring")},cancelText:t.t("button.cancel"),confirmText:t.t("button.confirm")})?e.executeCommand(h.InsertRangeMoveDownCommand.id):!0}},sr={type:l.CommandType.COMMAND,id:"sheet.command.insert-range-move-right-confirm",handler:async n=>{const i=n.get(b.IConfirmService),e=n.get(l.ICommandService),t=n.get(l.LocaleService),o=n.get(h.SelectionManagerService),r=n.get(l.IUniverInstanceService),s=o.getSelections();if(!s)return!1;const a=h.getSheetCommandTarget(r);if(!a)return!1;const{worksheet:c}=a;let u=s[0].range;if(!u)return!1;u={...u,endColumn:c.getColumnCount()-1};const d=p=>p.endRow-p.startRow;return!c.getMergeData().find(p=>{const f=l.Rectangle.getIntersects(p,u);return f?d(p)>d(f):!1})||await i.confirm({id:sr.id,title:{title:t.t("merge.confirm.waring")},children:{title:t.t("merge.confirm.dismantleMergeCellWaring")},cancelText:t.t("button.cancel"),confirmText:t.t("button.confirm")})?e.executeCommand(h.InsertRangeMoveRightCommand.id):!0}},ra={id:"sheet.command.refill",type:l.CommandType.COMMAND,handler:async(n,i)=>{const e=n.get(Ot);return e.applyType=i.type,!0}},sa={id:"sheet.command.remove-row-confirm",type:l.CommandType.COMMAND,handler:async(n,i)=>{var u;const e=n.get(h.SelectionManagerService);let t=i==null?void 0:i.range;if(t||(t=(u=e.getLast())==null?void 0:u.range),!t)return!1;const o=n.get(l.ICommandService),r=n.get(l.IUniverInstanceService),s=h.getSheetCommandTarget(r);if(!s)return!1;const{worksheet:a}=s,c=a.getVisibleRows();if(ys(c,[t])){const d=n.get(b.IConfirmService),m=n.get(l.LocaleService);return await d.confirm({id:"sheet.confirm.remove-row",title:{title:m.t("info.problem")},children:{title:m.t("rightClick.deleteAllRowsAlert")},cancelText:m.t("button.cancel"),confirmText:m.t("button.confirm")}),!1}return await o.executeCommand(h.RemoveRowCommand.id,{range:t}),!0}},aa={id:"sheet.command.remove-col-confirm",type:l.CommandType.COMMAND,handler:async(n,i)=>{var u;const e=n.get(h.SelectionManagerService);let t=i==null?void 0:i.range;if(t||(t=(u=e.getLast())==null?void 0:u.range),!t)return!1;const o=n.get(l.ICommandService),r=n.get(l.IUniverInstanceService),s=h.getSheetCommandTarget(r);if(!s)return!1;const{worksheet:a}=s,c=a.getVisibleCols();if(Ps(c,[t])){const d=n.get(b.IConfirmService),m=n.get(l.LocaleService);return await d.confirm({id:"sheet.confirm.remove-col",title:{title:m.t("info.problem")},children:{title:m.t("rightClick.deleteAllColumnsAlert")},cancelText:m.t("button.cancel"),confirmText:m.t("button.confirm")}),!1}return await o.executeCommand(h.RemoveColCommand.id,{range:t}),!0}},la={id:"sheet.command.remove-sheet-confirm",type:l.CommandType.COMMAND,handler:async(n,i)=>{const{subUnitId:e}=i,t=n.get(b.IConfirmService),o=n.get(l.ICommandService),r=n.get(l.LocaleService);return await t.confirm({id:"sheet.confirm.remove-sheet",title:{title:r.t("sheetConfig.deleteSheet")},children:{title:r.t("sheetConfig.deleteSheetContent")},cancelText:r.t("button.cancel"),confirmText:r.t("button.confirm")})?(await o.executeCommand(h.RemoveSheetCommand.id,{subUnitId:e}),!0):!1}},$t=k.createIdentifier("univer.sheetbar-service");class Fh extends l.Disposable{constructor(){super();w(this,"renameId$");w(this,"removeId$");w(this,"scroll$");w(this,"scrollX$");w(this,"addSheet$");w(this,"_renameId$");w(this,"_removeId$");w(this,"_scroll$");w(this,"_scrollX$");w(this,"_addSheet$");w(this,"_currentHandler",null);this._renameId$=new O.Subject,this.renameId$=this._renameId$.asObservable(),this._removeId$=new O.Subject,this.removeId$=this._removeId$.asObservable(),this._scroll$=new O.Subject,this.scroll$=this._scroll$.asObservable(),this._scrollX$=new O.Subject,this.scrollX$=this._scrollX$.asObservable(),this._addSheet$=new O.Subject,this.addSheet$=this._addSheet$.asObservable()}setRenameId(e){this._renameId$.next(e)}setRemoveId(e){this._removeId$.next(e)}setScroll(e){this._scroll$.next(e)}setScrollX(e){this._scrollX$.next(e)}setAddSheet(e){this._addSheet$.next(e)}triggerSheetBarMenu(){var e;(e=this._currentHandler)==null||e.handleSheetBarMenu()}registerSheetBarMenuHandler(e){if(this._currentHandler)throw new Error("There is already a context menu handler!");return this._currentHandler=e,l.toDisposable(()=>{this._currentHandler=null})}}const ca={id:"ui-sheet.command.show-menu-list",type:l.CommandType.OPERATION,handler:async n=>(n.get($t).triggerSheetBarMenu(),!0)},da={id:"sheet.operation.set-activate-cell-edit",type:l.CommandType.OPERATION,handler:(n,i)=>(n.get(je).setEditCell(i),!0)},ua={id:"sheet.operation.rename-sheet",type:l.CommandType.OPERATION,handler:async(n,i)=>{const e=n.get($t);return i&&e.setRenameId(i.subUnitId),!0}};var Ue=function(){return Ue=Object.assign||function(n){for(var i,e=1,t=arguments.length;e<t;e++){i=arguments[e];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(n[o]=i[o])}return n},Ue.apply(this,arguments)},jh=function(n,i){var e={};for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&i.indexOf(t)<0&&(e[t]=n[t]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,t=Object.getOwnPropertySymbols(n);o<t.length;o++)i.indexOf(t[o])<0&&Object.prototype.propertyIsEnumerable.call(n,t[o])&&(e[t[o]]=n[t[o]]);return e},Te=V.forwardRef(function(n,i){var e=n.icon,t=n.id,o=n.className,r=n.extend,s=jh(n,["icon","id","className","extend"]),a="univerjs-icon univerjs-icon-".concat(t," ").concat(o||"").trim(),c=V.useRef("_".concat(Yh()));return ha(e,"".concat(t),{defIds:e.defIds,idSuffix:c.current},Ue({ref:i,className:a},s),r)});function ha(n,i,e,t,o){return V.createElement(n.tag,Ue(Ue({key:i},Xh(n,e,o)),t),(zh(n,e).children||[]).map(function(r,s){return ha(r,"".concat(i,"-").concat(n.tag,"-").concat(s),e,void 0,o)}))}function Xh(n,i,e){var t=Ue({},n.attrs);e!=null&&e.colorChannel1&&t.fill==="colorChannel1"&&(t.fill=e.colorChannel1);var o=i.defIds;return!o||o.length===0||(n.tag==="use"&&t["xlink:href"]&&(t["xlink:href"]=t["xlink:href"]+i.idSuffix),Object.entries(t).forEach(function(r){var s=r[0],a=r[1];typeof a=="string"&&(t[s]=a.replace(/url\(#(.*)\)/,"url(#$1".concat(i.idSuffix,")")))})),t}function zh(n,i){var e,t=i.defIds;return!t||t.length===0?n:n.tag==="defs"&&(!((e=n.children)===null||e===void 0)&&e.length)?Ue(Ue({},n),{children:n.children.map(function(o){return typeof o.attrs.id=="string"&&t&&t.indexOf(o.attrs.id)>-1?Ue(Ue({},o),{attrs:Ue(Ue({},o.attrs),{id:o.attrs.id+i.idSuffix})}):o})}):n}function Yh(){return Math.random().toString(36).substring(2,8)}Te.displayName="UniverIcon";var Zh={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"colorChannel1",d:"M11.0363 12.2367V14.0367C11.0363 14.3681 11.3049 14.6367 11.6363 14.6367C11.9676 14.6367 12.2363 14.3681 12.2363 14.0367V12.2367H14.0364C14.3677 12.2367 14.6364 11.9681 14.6364 11.6367C14.6364 11.3054 14.3677 11.0367 14.0364 11.0367H12.2363V9.23672C12.2363 8.90535 11.9676 8.63672 11.6363 8.63672C11.3049 8.63672 11.0363 8.90535 11.0363 9.23672V11.0367H9.23635C8.90498 11.0367 8.63635 11.3054 8.63635 11.6367C8.63635 11.9681 8.90498 12.2367 9.23635 12.2367H11.0363Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.56365 1.36377C1.90091 1.36377 1.36365 1.90103 1.36365 2.56377V6.16377C1.36365 6.82651 1.90091 7.36377 2.56365 7.36377H6.16365C6.82639 7.36377 7.36365 6.82651 7.36365 6.16377V2.56377C7.36365 1.90103 6.82639 1.36377 6.16365 1.36377H2.56365zM6.16365 2.56377H2.56365L2.56365 6.16377H6.16365V2.56377zM2.56365 8.63647C1.90091 8.63647 1.36365 9.17373 1.36365 9.83647V13.4365C1.36365 14.0992 1.90091 14.6365 2.56365 14.6365H6.16365C6.82639 14.6365 7.36365 14.0992 7.36365 13.4365V9.83647C7.36365 9.17373 6.82639 8.63647 6.16365 8.63647H2.56365zM6.16365 9.83647H2.56365L2.56365 13.4365H6.16365V9.83647zM9.83635 7.36377C9.17361 7.36377 8.63635 6.82651 8.63635 6.16377V2.56377C8.63635 1.90103 9.17361 1.36377 9.83635 1.36377H13.4364C14.0991 1.36377 14.6364 1.90103 14.6364 2.56377V6.16377C14.6364 6.82651 14.0991 7.36377 13.4364 7.36377H9.83635zM9.83635 6.16377V2.56377L13.4364 2.56377V6.16377H9.83635z",fillRule:"evenodd",clipRule:"evenodd"}}]},ma=V.forwardRef(function(n,i){return V.createElement(Te,Object.assign({},n,{id:"autofill",ref:i,icon:Zh}))});ma.displayName="Autofill";const Gh=ma;var qh={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z",fillRule:"evenodd",clipRule:"evenodd"}}]},St=V.forwardRef(function(n,i){return V.createElement(Te,Object.assign({},n,{id:"check-mark-single",ref:i,icon:qh}))});St.displayName="CheckMarkSingle";var Kh={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3.71274 2.86421C3.47843 2.6299 3.09853 2.6299 2.86421 2.86421C2.6299 3.09853 2.6299 3.47843 2.86421 3.71274L7.15154 8.00007L2.86421 12.2874C2.6299 12.5217 2.6299 12.9016 2.86421 13.1359C3.09853 13.3702 3.47843 13.3702 3.71274 13.1359L8.00007 8.84859L12.2874 13.1359C12.5217 13.3702 12.9016 13.3702 13.1359 13.1359C13.3702 12.9016 13.3702 12.5217 13.1359 12.2874L8.84859 8.00007L13.1359 3.71274C13.3702 3.47843 13.3702 3.09853 13.1359 2.86421C12.9016 2.6299 12.5217 2.6299 12.2874 2.86421L8.00007 7.15154L3.71274 2.86421Z"}}]},ga=V.forwardRef(function(n,i){return V.createElement(Te,Object.assign({},n,{id:"close-single",ref:i,icon:Kh}))});ga.displayName="CloseSingle";const Qh=ga;var Jh={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"g",attrs:{fill:"currentColor",clipPath:"url(#convert-single_clip0_911_593)"},children:[{tag:"path",attrs:{d:"M2.44766.848145C1.564.848145.847656 1.56449.847656 2.44814V6.44814C.847656 7.3318 1.564 8.04814 2.44766 8.04814H6.44766C7.33131 8.04814 8.04766 7.3318 8.04766 6.44814V2.44814C8.04766 1.56449 7.33131.848145 6.44766.848145H2.44766zM2.04766 6.44814V5.04824H3.84775V6.84814H2.44766C2.22674 6.84814 2.04766 6.66906 2.04766 6.44814zM2.04766 3.84824H3.84775V2.04814H2.44766C2.22674 2.04814 2.04766 2.22723 2.04766 2.44814V3.84824zM5.04775 6.84814V5.04824H6.84766V6.44814C6.84766 6.66906 6.66857 6.84814 6.44766 6.84814H5.04775zM5.04775 3.84824H6.84766V2.44814C6.84766 2.22723 6.66857 2.04814 6.44766 2.04814H5.04775V3.84824zM9.55215 7.95166C8.66849 7.95166 7.95215 8.668 7.95215 9.55166V13.5517C7.95215 14.4353 8.66849 15.1517 9.55215 15.1517L11.5522 15.1517 13.5521 15.1517C14.4358 15.1517 15.1521 14.4353 15.1521 13.5517L15.1521 11.5518 15.1521 9.55166C15.1521 8.668 14.4358 7.95166 13.5521 7.95166H9.55215zM13.9521 10.9518V9.55166C13.9521 9.33075 13.7731 9.15166 13.5521 9.15166H12.1522V10.9518H13.9521zM10.9522 10.9518V9.15166H9.55215C9.33123 9.15166 9.15215 9.33075 9.15215 9.55166V10.9518H10.9522zM9.15215 12.1518H10.9522V13.9517H9.55215C9.33123 13.9517 9.15215 13.7726 9.15215 13.5517V12.1518zM12.1522 12.1518H13.9521V13.5517C13.9521 13.7726 13.7731 13.9517 13.5521 13.9517H12.1522V12.1518z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{d:"M9.62158 2.44912C9.62158 2.11775 9.89021 1.84912 10.2216 1.84912H12.7516C13.6352 1.84912 14.3516 2.56547 14.3516 3.44912V5.9791C14.3516 6.31047 14.0829 6.5791 13.7516 6.5791 13.4202 6.5791 13.1516 6.31047 13.1516 5.9791V3.44912C13.1516 3.22821 12.9725 3.04912 12.7516 3.04912H10.2216C9.89021 3.04912 9.62158 2.78049 9.62158 2.44912zM5.77871 14.1507C6.11008 14.1507 6.37871 13.8821 6.37871 13.5507 6.37871 13.2193 6.11008 12.9507 5.77871 12.9507L3.24873 12.9507C3.02782 12.9507 2.84873 12.7716 2.84873 12.5507L2.84873 10.0207C2.84873 9.68933 2.5801 9.4207 2.24873 9.4207 1.91736 9.4207 1.64873 9.68933 1.64873 10.0207L1.64873 12.5507C1.64873 13.4343 2.36507 14.1507 3.24873 14.1507H5.77871z"}}]},{tag:"defs",attrs:{},children:[{tag:"clipPath",attrs:{id:"convert-single_clip0_911_593"},children:[{tag:"path",attrs:{fill:"#fff",d:"M0 0H16V16H0z"}}]}]}],defIds:["convert-single_clip0_911_593"]},pa=V.forwardRef(function(n,i){return V.createElement(Te,Object.assign({},n,{id:"convert-single",ref:i,icon:Jh}))});pa.displayName="ConvertSingle";const $h=pa;var em={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.3313 1.4667C5.3313 1.13533 5.59993.866699 5.9313.866699H10.069C10.4004.866699 10.669 1.13533 10.669 1.4667 10.669 1.79807 10.4004 2.0667 10.069 2.0667H5.9313C5.59993 2.0667 5.3313 1.79807 5.3313 1.4667zM1.09985 3.64443C1.09985 3.31306 1.36848 3.04443 1.69985 3.04443H14.2999C14.6312 3.04443 14.8999 3.31306 14.8999 3.64443 14.8999 3.9758 14.6312 4.24443 14.2999 4.24443H1.69985C1.36848 4.24443 1.09985 3.9758 1.09985 3.64443zM6.12398 8.30171C6.35829 8.0674 6.73819 8.0674 6.97251 8.30171L8.00007 9.32928 9.02764 8.30171C9.26195 8.0674 9.64185 8.0674 9.87617 8.30171 10.1105 8.53603 10.1105 8.91593 9.87617 9.15024L8.8486 10.1778 9.87617 11.2054C10.1105 11.4397 10.1105 11.8196 9.87617 12.0539 9.64185 12.2882 9.26195 12.2882 9.02764 12.0539L8.00007 11.0263 6.97251 12.0539C6.73819 12.2882 6.35829 12.2882 6.12398 12.0539 5.88966 11.8196 5.88966 11.4397 6.12398 11.2054L7.15154 10.1778 6.12398 9.15024C5.88966 8.91593 5.88966 8.53603 6.12398 8.30171z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.75332 5.22217C3.86966 5.22217 3.15332 5.93851 3.15332 6.82217V12.5331C3.15332 13.9691 4.31738 15.1332 5.75332 15.1332H10.2465C11.6825 15.1332 12.8465 13.9691 12.8465 12.5331V6.82217C12.8465 5.93851 12.1302 5.22217 11.2465 5.22217H4.75332ZM4.35332 6.82217C4.35332 6.60125 4.53241 6.42217 4.75332 6.42217H11.2465C11.4674 6.42217 11.6465 6.60125 11.6465 6.82217V12.5331C11.6465 13.3063 11.0197 13.9332 10.2465 13.9332H5.75332C4.98012 13.9332 4.35332 13.3063 4.35332 12.5331V6.82217Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Zi=V.forwardRef(function(n,i){return V.createElement(Te,Object.assign({},n,{id:"delete-single",ref:i,icon:em}))});Zi.displayName="DeleteSingle";var tm={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"mask",attrs:{id:"mask0_371_77",style:{maskType:"alpha"},width:16,height:16,x:0,y:0,maskUnits:"userSpaceOnUse"},children:[{tag:"path",attrs:{fill:"#DCDCDC",d:"M0 0H16V16H0z"}}]},{tag:"g",attrs:{mask:"url(#mask0_371_77)"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.85869 12.9216C8.38445 13.4708 7.61555 13.4708 7.14131 12.9216L0.358114 5.06726C-0.406895 4.18144 0.134916 2.66683 1.2168 2.66683L14.7832 2.66683C15.8651 2.66683 16.4069 4.18144 15.6419 5.06726L8.85869 12.9216Z"}}]}]},fa=V.forwardRef(function(n,i){return V.createElement(Te,Object.assign({},n,{id:"dropdown-single",ref:i,icon:tm}))});fa.displayName="DropdownSingle";const ts=fa;var nm={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8ZM10.3097 5.69014C10.544 5.92445 10.544 6.30435 10.3097 6.53867L8.84843 7.9999L10.3099 9.46137C10.5442 9.69569 10.5442 10.0756 10.3099 10.3099C10.0756 10.5442 9.69569 10.5442 9.46137 10.3099L7.9999 8.84843L6.53842 10.3099C6.30411 10.5442 5.92421 10.5442 5.6899 10.3099C5.45558 10.0756 5.45558 9.69569 5.6899 9.46137L7.15137 7.9999L5.69014 6.53867C5.45583 6.30435 5.45583 5.92445 5.69014 5.69014C5.92445 5.45583 6.30435 5.45583 6.53867 5.69014L7.9999 7.15137L9.46113 5.69014C9.69544 5.45583 10.0753 5.45583 10.3097 5.69014Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Sa=V.forwardRef(function(n,i){return V.createElement(Te,Object.assign({},n,{id:"error-single",ref:i,icon:nm}))});Sa.displayName="ErrorSingle";const va=Sa;var im={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.28096 4.6541C1.57489 4.50109 1.93721 4.61533 2.09022 4.90926C2.27315 5.26067 2.55999 5.60455 2.94829 5.92278C4.04628 6.82266 5.87505 7.44865 7.99828 7.44865C10.1215 7.44865 11.9503 6.82267 13.0482 5.92279C13.4366 5.60455 13.7234 5.26067 13.9063 4.90927C14.0594 4.61533 14.4217 4.50109 14.7156 4.65409C15.0095 4.8071 15.1238 5.16941 14.9708 5.46334C14.6995 5.98445 14.2981 6.44997 13.8089 6.8509C13.7298 6.91575 13.6481 6.97914 13.564 7.041L15.2245 8.70153C15.4588 8.93585 15.4588 9.31575 15.2245 9.55006C14.9902 9.78438 14.6103 9.78438 14.376 9.55006L12.5041 7.67822C11.8977 7.97568 11.2181 8.21208 10.4884 8.37706L11.0996 10.6581C11.1853 10.9782 10.9954 11.3072 10.6753 11.393C10.3552 11.4787 10.0262 11.2888 9.94045 10.9687L9.29949 8.57652C8.8758 8.62404 8.44081 8.64865 7.99828 8.64865C7.55276 8.64865 7.11487 8.62371 6.68846 8.57555L6.04723 10.9687C5.96147 11.2888 5.63247 11.4788 5.31239 11.393C4.99231 11.3073 4.80236 10.9783 4.88812 10.6582L5.49983 8.37516C4.7743 8.2105 4.09843 7.9752 3.49498 7.67947L1.62436 9.55009C1.39005 9.78441 1.01015 9.78441 0.775835 9.5501C0.54152 9.31578 0.541518 8.93588 0.775832 8.70157L2.43478 7.04261C2.34987 6.98024 2.26746 6.91632 2.18764 6.8509C1.69842 6.44997 1.29706 5.98445 1.0258 5.46335C0.872791 5.16942 0.987031 4.80711 1.28096 4.6541Z"}}]},Ca=V.forwardRef(function(n,i){return V.createElement(Te,Object.assign({},n,{id:"eyelash-single",ref:i,icon:im}))});Ca.displayName="EyelashSingle";const om=Ca;var rm={tag:"svg",attrs:{fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M6.06409 5.53454C5.93592 5.53454 5.84083 5.41567 5.86897 5.29063L5.95442 4.9109C6.05444 4.48178 6.23806 4.11547 6.51182 3.81952 6.81082 3.49628 7.25398 3.35405 7.79738 3.35405 7.99847 3.35405 8.21359 3.37775 8.44188 3.42245 8.46089 3.42617 8.47974 3.43006 8.49846 3.4341 8.7099 3.4798 8.93698 3.38478 9.02031 3.18514L9.24767 2.6404C9.33457 2.43219 9.23178 2.19404 9.01582 2.12874 8.98358 2.11899 8.95028 2.10912 8.91591 2.09914 8.62745 2.01631 8.28392 1.97217 7.88074 1.97217 6.82015 1.97217 6.02714 2.23936 5.4746 2.7444 4.90987 3.26069 4.50889 3.99917 4.28413 4.9762L2.83703 11.1909C2.76126 11.5286 2.666 11.8917 2.54844 12.2812 2.42975 12.6734 2.2873 13.0595 2.12221 13.4373 1.95577 13.8159 1.76813 14.1762 1.55955 14.5171 1.49345 14.6251 1.42515 14.7282 1.35467 14.8263 1.26508 14.9509 1.3347 15.133 1.48655 15.1554 2.13635 15.2509 2.8179 15.0763 3.18197 14.5296 3.32661 14.3124 3.46779 14.0646 3.60509 13.7851 3.96635 13.0497 4.30522 12.0103 4.61867 10.6574L5.469 7.01534C5.49013 6.92483 5.57082 6.86081 5.66376 6.86081H7.62478C7.8097 6.86081 7.97051 6.73405 8.01371 6.55425L8.14014 6.02798C8.20057 5.77642 8.00992 5.53454 7.75121 5.53454H6.06409zM14.3211 5.72037L12.5124 7.96963 11.4089 5.77754C11.3422 5.63012 11.1954 5.5354 11.0336 5.5354H10.3129C10.0085 5.5354 9.80921 5.85428 9.9427 6.1279L11.4089 9.05502 8.79783 12.1493C8.56587 12.4158 8.75519 12.8315 9.10855 12.8315H9.68607C9.80672 12.8315 9.9605 12.7822 10.0388 12.6904L12.1108 10.2648 13.1176 12.561C13.1786 12.7231 13.333 12.8315 13.5061 12.8315H14.3C14.5831 12.8315 14.7417 12.6175 14.6426 12.3524L13.1728 9.28628C13.1728 9.28628 15.4009 6.45542 15.6013 6.17892 15.7966 5.90929 15.6023 5.5354 15.2693 5.5354H14.6661C14.5275 5.5354 14.4333 5.58887 14.3211 5.72037z"}}]},Ia=V.forwardRef(function(n,i){return V.createElement(Te,Object.assign({},n,{id:"fx-single",ref:i,icon:rm}))});Ia.displayName="FxSingle";const sm=Ia;var am={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.6 1.99991C8.60001 1.66854 8.33138 1.39991 8.00001 1.3999C7.66864 1.3999 7.40001 1.66853 7.4 1.9999L7.39996 7.3999H1.9999C1.66853 7.3999 1.3999 7.66853 1.3999 7.9999C1.3999 8.33127 1.66853 8.5999 1.9999 8.5999H7.39995L7.3999 13.9999C7.3999 14.3313 7.66853 14.5999 7.9999 14.5999C8.33127 14.5999 8.5999 14.3313 8.5999 13.9999L8.59995 8.5999H13.9999C14.3313 8.5999 14.5999 8.33127 14.5999 7.9999C14.5999 7.66853 14.3313 7.3999 13.9999 7.3999H8.59996L8.6 1.99991Z"}}]},Ra=V.forwardRef(function(n,i){return V.createElement(Te,Object.assign({},n,{id:"increase-single",ref:i,icon:am}))});Ra.displayName="IncreaseSingle";const ba=Ra;var lm={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M2.62402 7.72905C2.58427 7.72905 2.55205 7.76127 2.55205 7.80102V13.6782C2.55205 13.7179 2.58427 13.7502 2.62402 13.7502H13.3755C13.4152 13.7502 13.4474 13.7179 13.4474 13.6782V7.80102C13.4474 7.76127 13.4152 7.72905 13.3755 7.72905H2.62402ZM1.35205 7.80102C1.35205 7.09853 1.92153 6.52905 2.62402 6.52905H13.3755C14.0779 6.52905 14.6474 7.09853 14.6474 7.80102V13.6782C14.6474 14.3807 14.0779 14.9502 13.3755 14.9502H2.62402C1.92153 14.9502 1.35205 14.3807 1.35205 13.6782V7.80102Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M8 2.25005C6.69847 2.25003 5.64336 3.30513 5.64336 4.60666V7.12895C5.64336 7.46032 5.37473 7.72895 5.04336 7.72895 4.71199 7.72895 4.44336 7.46032 4.44336 7.12895V4.60666C4.44336 2.64239 6.04451 1.05565 8.00879 1.05566M8 2.25005L8.00879 1.05566 8 2.25005zM8.00879 1.05566L8 2.25005C9.30154 2.25003 10.3567 3.30513 10.3567 4.60666V7.12895C10.3567 7.46032 10.6253 7.72895 10.9567 7.72895 11.288 7.72895 11.5567 7.46032 11.5567 7.12895V4.60666C11.5567 2.64239 9.97306 1.05565 8.00879 1.05566zM8.00039 9.4668C8.33176 9.4668 8.60039 9.73543 8.60039 10.0668V12.0827C8.60039 12.4141 8.33176 12.6827 8.00039 12.6827 7.66902 12.6827 7.40039 12.4141 7.40039 12.0827V10.0668C7.40039 9.73543 7.66902 9.4668 8.00039 9.4668z",fillRule:"evenodd",clipRule:"evenodd"}}]},ar=V.forwardRef(function(n,i){return V.createElement(Te,Object.assign({},n,{id:"lock-single",ref:i,icon:lm}))});ar.displayName="LockSingle";var cm={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M11.3536 6.14645C11.5488 6.34171 11.5488 6.65829 11.3536 6.85355L8.35355 9.85355C8.15829 10.0488 7.84171 10.0488 7.64645 9.85355L4.64645 6.85355C4.45118 6.65829 4.45118 6.34171 4.64645 6.14645C4.84171 5.95118 5.15829 5.95118 5.35355 6.14645L8 8.79289L10.6464 6.14645C10.8417 5.95118 11.1583 5.95118 11.3536 6.14645Z",fillRule:"evenodd",clipRule:"evenodd"}}]},_a=V.forwardRef(function(n,i){return V.createElement(Te,Object.assign({},n,{id:"more-down-single",ref:i,icon:cm}))});_a.displayName="MoreDownSingle";const Oi=_a;var dm={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.90913 3.57564C6.14345 3.34132 6.52335 3.34132 6.75766 3.57564L10.7577 7.57564C10.992 7.80995 10.992 8.18985 10.7577 8.42417L6.75766 12.4242C6.52335 12.6585 6.14345 12.6585 5.90913 12.4242C5.67482 12.1899 5.67482 11.81 5.90913 11.5756L9.48487 7.9999L5.90913 4.42417C5.67482 4.18985 5.67482 3.80995 5.90913 3.57564Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Ta=V.forwardRef(function(n,i){return V.createElement(Te,Object.assign({},n,{id:"more-single",ref:i,icon:dm}))});Ta.displayName="MoreSingle";const ns=Ta;var um={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"mask",attrs:{id:"mask0_102_1204",style:{maskType:"alpha"},width:16,height:16,x:0,y:0,maskUnits:"userSpaceOnUse"},children:[{tag:"path",attrs:{fill:"#DCDCDC",d:"M0 0H16V16H0z"}}]},{tag:"g",attrs:{mask:"url(#mask0_102_1204)"},children:[{tag:"rect",attrs:{width:12.62,height:2.79,x:1.69,y:12.25,fill:"colorChannel1",rx:1.4}},{tag:"path",attrs:{fill:"currentColor",d:"M7.74646 2.1642C7.34284 1.65121 6.85947 1.28205 6.38447 1.09593C5.86863 0.893787 5.15166 0.852126 4.70047 1.42917C4.29842 1.94344 4.33082 2.70249 4.57691 3.50395C4.68808 3.8661 4.86846 4.22254 5.12522 4.56617C5.13695 4.58185 5.14927 4.5968 5.16211 4.61102C5.17152 4.6214 5.18122 4.63139 5.19115 4.64096C5.20459 4.65393 5.21855 4.66618 5.23296 4.6777L3.5064 6.40422C3.26756 6.64306 3.26756 7.03033 3.5064 7.26919L7.23756 11.0004C7.47648 11.2392 7.86375 11.2392 8.1026 11.0004L12.8329 6.27001C13.0717 6.03117 13.0717 5.6439 12.8329 5.40505L9.10172 1.67387C8.86288 1.43503 8.47561 1.43503 8.23676 1.67387L7.74646 2.1642ZM7.46162 4.50638C7.47252 4.57574 7.48163 4.64652 7.4888 4.71868C7.52232 5.05481 7.82194 5.30013 8.15807 5.26661C8.4942 5.23311 8.73954 4.93345 8.70601 4.59732C8.65786 4.11463 8.54251 3.6666 8.37892 3.26169L8.66928 2.97135L11.5354 5.83753L10.6106 6.76237H4.87824L7.40802 4.2326C7.42885 4.32128 7.44684 4.41255 7.46162 4.50638ZM6.87284 3.03784C6.57441 2.62008 6.22261 2.34634 5.93815 2.23487C5.80233 2.18165 5.71528 2.17827 5.67638 2.18335C5.6725 2.18387 5.66929 2.18443 5.6666 2.18497L5.6619 2.18607C5.64166 2.21954 5.53594 2.45979 5.74626 3.1449C5.81241 3.36036 5.92262 3.58602 6.09307 3.81761L6.87284 3.03784Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M12.1932 11.5463C12.6454 11.5463 13.012 11.1797 13.012 10.7275C13.012 10.4475 12.6981 9.92821 12.459 9.5733C12.3299 9.38173 12.0564 9.38174 11.9274 9.57331C11.6883 9.92822 11.3744 10.4475 11.3744 10.7275C11.3744 11.1797 11.741 11.5463 12.1932 11.5463Z"}}]}]},wa=V.forwardRef(function(n,i){return V.createElement(Te,Object.assign({},n,{id:"paint-bucket",ref:i,icon:um}))});wa.displayName="PaintBucket";const hm=wa;var mm={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.785 6.77762C5.78908 6.7777 5.79316 6.77774 5.79725 6.77774C5.80134 6.77774 5.80543 6.7777 5.8095 6.77762H10.0184C10.0225 6.7777 10.0266 6.77774 10.0307 6.77774C10.0347 6.77774 10.0388 6.7777 10.0429 6.77762H13.6638V7.63727C13.6638 7.96864 13.9324 8.23727 14.2638 8.23727C14.5951 8.23727 14.8638 7.96864 14.8638 7.63727V3.9999C14.8638 2.56395 13.6997 1.39989 12.2637 1.3999L3.56389 1.39999C2.12797 1.40001 0.96393 2.56405 0.96392 3.99998L0.963867 11.6666C0.963857 13.1025 2.12792 14.2666 3.56387 14.2666H8.0542C8.38557 14.2666 8.6542 13.9979 8.6542 13.6666C8.6542 13.3352 8.38557 13.0666 8.0542 13.0666H3.56387C2.79067 13.0666 2.16386 12.4398 2.16387 11.6666L2.1639 6.77762H5.785ZM6.39725 2.59996L9.43065 2.59993V5.57762H6.39725V2.59996ZM5.19725 5.57762V2.59998L3.56391 2.59999C2.79072 2.6 2.16393 3.22679 2.16392 3.99998L2.16391 5.57762H5.19725ZM13.6638 5.57762V3.9999C13.6638 3.2267 13.037 2.59989 12.2638 2.5999L10.6307 2.59992V5.57762H13.6638Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.1223 10.2333V10.7496C14.7087 10.9869 15.1223 11.5618 15.1223 12.2333V12.8999C15.1223 13.7836 14.406 14.4999 13.5223 14.4999H11.5223C10.6387 14.4999 9.92235 13.7836 9.92235 12.8999V12.2333C9.92235 11.5618 10.336 10.9869 10.9223 10.7496V10.2333C10.9223 9.34961 11.6387 8.63328 12.5223 8.63328C13.406 8.63328 14.1223 9.34961 14.1223 10.2333ZM11.1223 12.2333C11.1223 12.0124 11.3014 11.8333 11.5223 11.8333H13.5223C13.7433 11.8333 13.9223 12.0124 13.9223 12.2333V12.8999C13.9223 13.1209 13.7433 13.2999 13.5223 13.2999H11.5223C11.3014 13.2999 11.1223 13.1209 11.1223 12.8999V12.2333ZM12.9223 10.2333V10.6333H12.1223V10.2333C12.1223 10.0124 12.3014 9.83328 12.5223 9.83328C12.7433 9.83328 12.9223 10.0124 12.9223 10.2333Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Ma=V.forwardRef(function(n,i){return V.createElement(Te,Object.assign({},n,{id:"protect-single",ref:i,icon:mm}))});Ma.displayName="ProtectSingle";var gm={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8ZM8.00008 12.3671C8.46031 12.3671 8.83342 11.994 8.83342 11.5338C8.83342 11.0735 8.46031 10.7004 8.00008 10.7004C7.53985 10.7004 7.16675 11.0735 7.16675 11.5338C7.16675 11.994 7.53985 12.3671 8.00008 12.3671ZM8.5999 4.4335C8.5999 4.10213 8.33127 3.8335 7.9999 3.8335C7.66853 3.8335 7.3999 4.10213 7.3999 4.4335V9.36683C7.3999 9.6982 7.66853 9.96683 7.9999 9.96683C8.33127 9.96683 8.5999 9.6982 8.5999 9.36683V4.4335Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ya=V.forwardRef(function(n,i){return V.createElement(Te,Object.assign({},n,{id:"warning-single",ref:i,icon:gm}))});ya.displayName="WarningSingle";const is=ya;var pm={tag:"svg",attrs:{fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.6551 1.98906C11.7476 1.08113 10.2757 1.08149 9.3686 1.98987L4.82542 6.53955C4.75087 6.61421 4.69336 6.70411 4.65682 6.80309L3.2461 10.625C3.16506 10.8446 3.21909 11.0912 3.3845 11.2568C3.54991 11.4224 3.79651 11.4767 4.01616 11.3959L7.85031 9.98517C7.94979 9.94856 8.04014 9.89077 8.11508 9.81579L12.6552 5.27327C13.5618 4.36621 13.5618 2.89607 12.6551 1.98906ZM10.2177 2.83779C10.6562 2.39869 11.3677 2.39851 11.8064 2.8374C12.2447 3.27584 12.2447 3.9865 11.8065 4.42497L7.3392 8.89457L4.82213 9.82068L5.74706 7.31487L10.2177 2.83779Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.79238 13.2999C1.46101 13.2999 1.19238 13.5685 1.19238 13.8999C1.19238 14.2313 1.46101 14.4999 1.79238 14.4999H14.4924C14.8238 14.4999 15.0924 14.2313 15.0924 13.8999C15.0924 13.5685 14.8238 13.2999 14.4924 13.2999H1.79238Z"}}]},lr=V.forwardRef(function(n,i){return V.createElement(Te,Object.assign({},n,{id:"write-single",ref:i,icon:pm}))});lr.displayName="WriteSingle";const fm=()=>C.jsxs("svg",{width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[C.jsx("path",{d:"M0.98999 1.08218H-0.0100098V0.0821838H0.98999V1.08218Z",fill:"black"}),C.jsx("path",{d:"M5.78992 1.08218H2.78992V0.0821838H5.78992V1.08218Z",fill:"black"}),C.jsx("path",{d:"M7.58984 1.08218H8.58984V0.0821838H7.58984V1.08218Z",fill:"black"}),C.jsx("path",{d:"M14.9152 1.08218H13.9152V0.0821838H14.9152V1.08218Z",fill:"black"}),C.jsx("path",{d:"M16.7151 1.08218H19.7151V0.0821838H16.7151V1.08218Z",fill:"black"}),C.jsx("path",{d:"M22.515 1.08218H21.515V0.0821838H22.515V1.08218Z",fill:"black"}),C.jsx("path",{d:"M27.8405 1.08218H28.8405V0.0821838H27.8405V1.08218Z",fill:"black"}),C.jsx("path",{d:"M33.6404 1.08218H30.6404V0.0821838H33.6404V1.08218Z",fill:"black"}),C.jsx("path",{d:"M35.4403 1.08218H36.4403V0.0821838H35.4403V1.08218Z",fill:"black"}),C.jsx("path",{d:"M42.7657 1.08218H41.7657V0.0821838H42.7657V1.08218Z",fill:"black"}),C.jsx("path",{d:"M44.5657 1.08218H47.5657V0.0821838H44.5657V1.08218Z",fill:"black"}),C.jsx("path",{d:"M50.3656 1.08218H49.3656V0.0821838H50.3656V1.08218Z",fill:"black"}),C.jsx("path",{d:"M55.691 1.08218H56.691V0.0821838H55.691V1.08218Z",fill:"black"}),C.jsx("path",{d:"M61.491 1.08218H58.491V0.0821838H61.491V1.08218Z",fill:"black"}),C.jsx("path",{d:"M63.2909 1.08218H64.2909V0.0821838H63.2909V1.08218Z",fill:"black"}),C.jsx("path",{d:"M70.6163 1.08218H69.6163V0.0821838H70.6163V1.08218Z",fill:"black"}),C.jsx("path",{d:"M72.4163 1.08218H75.4163V0.0821838H72.4163V1.08218Z",fill:"black"}),C.jsx("path",{d:"M78.2162 1.08218H77.2162V0.0821838H78.2162V1.08218Z",fill:"black"}),C.jsx("path",{d:"M83.5416 1.08218H84.5416V0.0821838H83.5416V1.08218Z",fill:"black"}),C.jsx("path",{d:"M89.3416 1.08218H86.3416V0.0821838H89.3416V1.08218Z",fill:"black"}),C.jsx("path",{d:"M91.1415 1.08218H92.1415V0.0821838H91.1415V1.08218Z",fill:"black"}),C.jsx("path",{d:"M98.4669 1.08218H97.4669V0.0821838H98.4669V1.08218Z",fill:"black"}),C.jsx("path",{d:"M100.267 1.08218H103.267V0.0821838H100.267V1.08218Z",fill:"black"}),C.jsx("path",{d:"M106.067 1.08218H105.067V0.0821838H106.067V1.08218Z",fill:"black"}),C.jsx("path",{d:"M111.392 1.08218H112.392V0.0821838H111.392V1.08218Z",fill:"black"}),C.jsx("path",{d:"M117.192 1.08218H114.192V0.0821838H117.192V1.08218Z",fill:"black"}),C.jsx("path",{d:"M118.992 1.08218H119.992V0.0821838H118.992V1.08218Z",fill:"black"})]}),Sm=()=>C.jsxs("svg",{width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[C.jsx("path",{d:"M-0.0100098 1.15771H0.98999V0.157715H-0.0100098V1.15771Z",fill:"black"}),C.jsx("path",{d:"M2.78992 1.15771H5.78992V0.157715H2.78992V1.15771Z",fill:"black"}),C.jsx("path",{d:"M8.58984 1.15771H7.58984V0.157715H8.58984V1.15771Z",fill:"black"}),C.jsx("path",{d:"M10.3899 1.15771H11.3899V0.157715H10.3899V1.15771Z",fill:"black"}),C.jsx("path",{d:"M19.0903 1.15771H18.0903V0.157715H19.0903V1.15771Z",fill:"black"}),C.jsx("path",{d:"M20.8903 1.15771H23.8903V0.157715H20.8903V1.15771Z",fill:"black"}),C.jsx("path",{d:"M26.6902 1.15771H25.6902V0.157715H26.6902V1.15771Z",fill:"black"}),C.jsx("path",{d:"M28.4902 1.15771H29.4902V0.157715H28.4902V1.15771Z",fill:"black"}),C.jsx("path",{d:"M37.1907 1.15771H36.1907V0.157715H37.1907V1.15771Z",fill:"black"}),C.jsx("path",{d:"M38.9906 1.15771H41.9906V0.157715H38.9906V1.15771Z",fill:"black"}),C.jsx("path",{d:"M44.7905 1.15771H43.7905V0.157715H44.7905V1.15771Z",fill:"black"}),C.jsx("path",{d:"M46.5906 1.15771H47.5906V0.157715H46.5906V1.15771Z",fill:"black"}),C.jsx("path",{d:"M55.291 1.15771H54.291V0.157715H55.291V1.15771Z",fill:"black"}),C.jsx("path",{d:"M57.0909 1.15771H60.0909V0.157715H57.0909V1.15771Z",fill:"black"}),C.jsx("path",{d:"M62.8909 1.15771H61.8909V0.157715H62.8909V1.15771Z",fill:"black"}),C.jsx("path",{d:"M64.6909 1.15771H65.6909V0.157715H64.6909V1.15771Z",fill:"black"}),C.jsx("path",{d:"M73.3914 1.15771H72.3914V0.157715H73.3914V1.15771Z",fill:"black"}),C.jsx("path",{d:"M75.1913 1.15771H78.1913V0.157715H75.1913V1.15771Z",fill:"black"}),C.jsx("path",{d:"M80.9912 1.15771H79.9912V0.157715H80.9912V1.15771Z",fill:"black"}),C.jsx("path",{d:"M82.7913 1.15771H83.7913V0.157715H82.7913V1.15771Z",fill:"black"}),C.jsx("path",{d:"M91.4917 1.15771H90.4917V0.157715H91.4917V1.15771Z",fill:"black"}),C.jsx("path",{d:"M93.2916 1.15771H96.2916V0.157715H93.2916V1.15771Z",fill:"black"}),C.jsx("path",{d:"M99.0916 1.15771H98.0916V0.157715H99.0916V1.15771Z",fill:"black"}),C.jsx("path",{d:"M100.892 1.15771H101.892V0.157715H100.892V1.15771Z",fill:"black"}),C.jsx("path",{d:"M109.592 1.15771H108.592V0.157715H109.592V1.15771Z",fill:"black"}),C.jsx("path",{d:"M111.392 1.15771H114.392V0.157715H111.392V1.15771Z",fill:"black"}),C.jsx("path",{d:"M117.192 1.15771H116.192V0.157715H117.192V1.15771Z",fill:"black"}),C.jsx("path",{d:"M118.992 1.15771H119.992V0.157715H118.992V1.15771Z",fill:"black"})]}),vm=()=>C.jsxs("svg",{width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[C.jsx("path",{d:"M-0.00842285 1.22449H2.99158V0.224487H-0.00842285V1.22449Z",fill:"black"}),C.jsx("path",{d:"M6.14941 1.22449H9.14941V0.224487H6.14941V1.22449Z",fill:"black"}),C.jsx("path",{d:"M15.3073 1.22449H12.3073V0.224487H15.3073V1.22449Z",fill:"black"}),C.jsx("path",{d:"M18.4651 1.22449H21.4651V0.224487H18.4651V1.22449Z",fill:"black"}),C.jsx("path",{d:"M27.6229 1.22449H24.6229V0.224487H27.6229V1.22449Z",fill:"black"}),C.jsx("path",{d:"M30.7808 1.22449H33.7808V0.224487H30.7808V1.22449Z",fill:"black"}),C.jsx("path",{d:"M39.9386 1.22449H36.9386V0.224487H39.9386V1.22449Z",fill:"black"}),C.jsx("path",{d:"M43.0964 1.22449H46.0964V0.224487H43.0964V1.22449Z",fill:"black"}),C.jsx("path",{d:"M52.2543 1.22449H49.2543V0.224487H52.2543V1.22449Z",fill:"black"}),C.jsx("path",{d:"M55.4121 1.22449H58.4121V0.224487H55.4121V1.22449Z",fill:"black"}),C.jsx("path",{d:"M64.5699 1.22449H61.5699V0.224487H64.5699V1.22449Z",fill:"black"}),C.jsx("path",{d:"M67.7278 1.22449H70.7278V0.224487H67.7278V1.22449Z",fill:"black"}),C.jsx("path",{d:"M76.8856 1.22449H73.8856V0.224487H76.8856V1.22449Z",fill:"black"}),C.jsx("path",{d:"M80.0435 1.22449H83.0435V0.224487H80.0435V1.22449Z",fill:"black"}),C.jsx("path",{d:"M89.2013 1.22449H86.2013V0.224487H89.2013V1.22449Z",fill:"black"}),C.jsx("path",{d:"M92.3591 1.22449H95.3591V0.224487H92.3591V1.22449Z",fill:"black"}),C.jsx("path",{d:"M101.517 1.22449H98.517V0.224487H101.517V1.22449Z",fill:"black"}),C.jsx("path",{d:"M104.675 1.22449H107.675V0.224487H104.675V1.22449Z",fill:"black"}),C.jsx("path",{d:"M113.833 1.22449H110.833V0.224487H113.833V1.22449Z",fill:"black"}),C.jsx("path",{d:"M116.99 1.22449H119.99V0.224487H116.99V1.22449Z",fill:"black"})]}),Cm=()=>C.jsxs("svg",{width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[C.jsx("path",{d:"M-0.00976562 1.65707H0.990234V0.657074H-0.00976562V1.65707Z",fill:"black"}),C.jsx("path",{d:"M2.32361 1.65707H3.32361V0.657074H2.32361V1.65707Z",fill:"black"}),C.jsx("path",{d:"M5.65698 1.65707H4.65698V0.657074H5.65698V1.65707Z",fill:"black"}),C.jsx("path",{d:"M6.99036 1.65707H7.99036V0.657074H6.99036V1.65707Z",fill:"black"}),C.jsx("path",{d:"M10.3237 1.65707H9.32373V0.657074H10.3237V1.65707Z",fill:"black"}),C.jsx("path",{d:"M11.6571 1.65707H12.6571V0.657074H11.6571V1.65707Z",fill:"black"}),C.jsx("path",{d:"M14.9905 1.65707H13.9905V0.657074H14.9905V1.65707Z",fill:"black"}),C.jsx("path",{d:"M16.3239 1.65707H17.3239V0.657074H16.3239V1.65707Z",fill:"black"}),C.jsx("path",{d:"M19.6572 1.65707H18.6572V0.657074H19.6572V1.65707Z",fill:"black"}),C.jsx("path",{d:"M20.9906 1.65707H21.9906V0.657074H20.9906V1.65707Z",fill:"black"}),C.jsx("path",{d:"M24.324 1.65707H23.324V0.657074H24.324V1.65707Z",fill:"black"}),C.jsx("path",{d:"M25.6573 1.65707H26.6573V0.657074H25.6573V1.65707Z",fill:"black"}),C.jsx("path",{d:"M28.9907 1.65707H27.9907V0.657074H28.9907V1.65707Z",fill:"black"}),C.jsx("path",{d:"M30.3241 1.65707H31.3241V0.657074H30.3241V1.65707Z",fill:"black"}),C.jsx("path",{d:"M33.6575 1.65707H32.6575V0.657074H33.6575V1.65707Z",fill:"black"}),C.jsx("path",{d:"M34.9908 1.65707H35.9908V0.657074H34.9908V1.65707Z",fill:"black"}),C.jsx("path",{d:"M38.3242 1.65707H37.3242V0.657074H38.3242V1.65707Z",fill:"black"}),C.jsx("path",{d:"M39.6576 1.65707H40.6576V0.657074H39.6576V1.65707Z",fill:"black"}),C.jsx("path",{d:"M42.991 1.65707H41.991V0.657074H42.991V1.65707Z",fill:"black"}),C.jsx("path",{d:"M44.3243 1.65707H45.3243V0.657074H44.3243V1.65707Z",fill:"black"}),C.jsx("path",{d:"M47.6577 1.65707H46.6577V0.657074H47.6577V1.65707Z",fill:"black"}),C.jsx("path",{d:"M48.9911 1.65707H49.9911V0.657074H48.9911V1.65707Z",fill:"black"}),C.jsx("path",{d:"M52.3245 1.65707H51.3245V0.657074H52.3245V1.65707Z",fill:"black"}),C.jsx("path",{d:"M53.6578 1.65707H54.6578V0.657074H53.6578V1.65707Z",fill:"black"}),C.jsx("path",{d:"M56.9912 1.65707H55.9912V0.657074H56.9912V1.65707Z",fill:"black"}),C.jsx("path",{d:"M58.3246 1.65707H59.3246V0.657074H58.3246V1.65707Z",fill:"black"}),C.jsx("path",{d:"M61.658 1.65707H60.658V0.657074H61.658V1.65707Z",fill:"black"}),C.jsx("path",{d:"M62.9913 1.65707H63.9913V0.657074H62.9913V1.65707Z",fill:"black"}),C.jsx("path",{d:"M66.3247 1.65707H65.3247V0.657074H66.3247V1.65707Z",fill:"black"}),C.jsx("path",{d:"M67.6581 1.65707H68.6581V0.657074H67.6581V1.65707Z",fill:"black"}),C.jsx("path",{d:"M70.9915 1.65707H69.9915V0.657074H70.9915V1.65707Z",fill:"black"}),C.jsx("path",{d:"M72.3248 1.65707H73.3248V0.657074H72.3248V1.65707Z",fill:"black"}),C.jsx("path",{d:"M75.6582 1.65707H74.6582V0.657074H75.6582V1.65707Z",fill:"black"}),C.jsx("path",{d:"M76.9916 1.65707H77.9916V0.657074H76.9916V1.65707Z",fill:"black"}),C.jsx("path",{d:"M80.325 1.65707H79.325V0.657074H80.325V1.65707Z",fill:"black"}),C.jsx("path",{d:"M81.6583 1.65707H82.6583V0.657074H81.6583V1.65707Z",fill:"black"}),C.jsx("path",{d:"M84.9917 1.65707H83.9917V0.657074H84.9917V1.65707Z",fill:"black"}),C.jsx("path",{d:"M86.3251 1.65707H87.3251V0.657074H86.3251V1.65707Z",fill:"black"}),C.jsx("path",{d:"M89.6584 1.65707H88.6584V0.657074H89.6584V1.65707Z",fill:"black"}),C.jsx("path",{d:"M90.9918 1.65707H91.9918V0.657074H90.9918V1.65707Z",fill:"black"}),C.jsx("path",{d:"M94.3252 1.65707H93.3252V0.657074H94.3252V1.65707Z",fill:"black"}),C.jsx("path",{d:"M95.6586 1.65707H96.6586V0.657074H95.6586V1.65707Z",fill:"black"}),C.jsx("path",{d:"M98.9919 1.65707H97.9919V0.657074H98.9919V1.65707Z",fill:"black"}),C.jsx("path",{d:"M100.325 1.65707H101.325V0.657074H100.325V1.65707Z",fill:"black"}),C.jsx("path",{d:"M103.659 1.65707H102.659V0.657074H103.659V1.65707Z",fill:"black"}),C.jsx("path",{d:"M104.992 1.65707H105.992V0.657074H104.992V1.65707Z",fill:"black"}),C.jsx("path",{d:"M108.325 1.65707H107.325V0.657074H108.325V1.65707Z",fill:"black"}),C.jsx("path",{d:"M109.659 1.65707H110.659V0.657074H109.659V1.65707Z",fill:"black"}),C.jsx("path",{d:"M112.992 1.65707H111.992V0.657074H112.992V1.65707Z",fill:"black"}),C.jsx("path",{d:"M114.325 1.65707H115.325V0.657074H114.325V1.65707Z",fill:"black"}),C.jsx("path",{d:"M117.659 1.65707H116.659V0.657074H117.659V1.65707Z",fill:"black"}),C.jsx("path",{d:"M118.992 1.65707H119.992V0.657074H118.992V1.65707Z",fill:"black"})]}),Im=()=>C.jsx("svg",{width:"120",height:"3",viewBox:"0 0 120 3",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:C.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M119.991 2.42035H-0.0090332V0.420349H119.991V2.42035Z",fill:"black"})}),Rm=()=>C.jsxs("svg",{width:"120",height:"3",viewBox:"0 0 120 3",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[C.jsx("path",{d:"M-0.0100098 2.47614H1.98999V0.476135H-0.0100098V2.47614Z",fill:"black"}),C.jsx("path",{d:"M3.99014 2.47614H9.99014V0.476135H3.99014V2.47614Z",fill:"black"}),C.jsx("path",{d:"M13.9901 2.47614H11.9901V0.476135H13.9901V2.47614Z",fill:"black"}),C.jsx("path",{d:"M21.1904 2.47614H23.1904V0.476135H21.1904V2.47614Z",fill:"black"}),C.jsx("path",{d:"M31.1906 2.47614H25.1906V0.476135H31.1906V2.47614Z",fill:"black"}),C.jsx("path",{d:"M33.1906 2.47614H35.1906V0.476135H33.1906V2.47614Z",fill:"black"}),C.jsx("path",{d:"M44.3909 2.47614H42.3909V0.476135H44.3909V2.47614Z",fill:"black"}),C.jsx("path",{d:"M46.391 2.47614H52.391V0.476135H46.391V2.47614Z",fill:"black"}),C.jsx("path",{d:"M56.391 2.47614H54.391V0.476135H56.391V2.47614Z",fill:"black"}),C.jsx("path",{d:"M63.5913 2.47614H65.5913V0.476135H63.5913V2.47614Z",fill:"black"}),C.jsx("path",{d:"M73.5915 2.47614H67.5915V0.476135H73.5915V2.47614Z",fill:"black"}),C.jsx("path",{d:"M75.5915 2.47614H77.5915V0.476135H75.5915V2.47614Z",fill:"black"}),C.jsx("path",{d:"M86.7917 2.47614H84.7917V0.476135H86.7917V2.47614Z",fill:"black"}),C.jsx("path",{d:"M88.7919 2.47614H94.7919V0.476135H88.7919V2.47614Z",fill:"black"}),C.jsx("path",{d:"M98.7919 2.47614H96.7919V0.476135H98.7919V2.47614Z",fill:"black"}),C.jsx("path",{d:"M105.992 2.47614H107.992V0.476135H105.992V2.47614Z",fill:"black"}),C.jsx("path",{d:"M115.992 2.47614H109.992V0.476135H115.992V2.47614Z",fill:"black"}),C.jsx("path",{d:"M117.992 2.47614H119.992V0.476135H117.992V2.47614Z",fill:"black"})]}),bm=()=>C.jsxs("svg",{width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[C.jsx("path",{d:"M-0.0100098 2.00415H1.98999V0.00415039H-0.0100098V2.00415Z",fill:"black"}),C.jsx("path",{d:"M3.99014 2.00415H9.99014V0.00415039H3.99014V2.00415Z",fill:"black"}),C.jsx("path",{d:"M13.9901 2.00415H11.9901V0.00415039H13.9901V2.00415Z",fill:"black"}),C.jsx("path",{d:"M15.9901 2.00415H17.9901V0.00415039H15.9901V2.00415Z",fill:"black"}),C.jsx("path",{d:"M27.4905 2.00415H25.4905V0.00415039H27.4905V2.00415Z",fill:"black"}),C.jsx("path",{d:"M29.4906 2.00415H35.4906V0.00415039H29.4906V2.00415Z",fill:"black"}),C.jsx("path",{d:"M39.4906 2.00415H37.4906V0.00415039H39.4906V2.00415Z",fill:"black"}),C.jsx("path",{d:"M41.4906 2.00415H43.4906V0.00415039H41.4906V2.00415Z",fill:"black"}),C.jsx("path",{d:"M52.991 2.00415H50.991V0.00415039H52.991V2.00415Z",fill:"black"}),C.jsx("path",{d:"M54.9911 2.00415H60.9911V0.00415039H54.9911V2.00415Z",fill:"black"}),C.jsx("path",{d:"M64.9911 2.00415H62.9911V0.00415039H64.9911V2.00415Z",fill:"black"}),C.jsx("path",{d:"M66.9911 2.00415H68.9911V0.00415039H66.9911V2.00415Z",fill:"black"}),C.jsx("path",{d:"M78.4915 2.00415H76.4915V0.00415039H78.4915V2.00415Z",fill:"black"}),C.jsx("path",{d:"M80.4916 2.00415H86.4916V0.00415039H80.4916V2.00415Z",fill:"black"}),C.jsx("path",{d:"M90.4916 2.00415H88.4916V0.00415039H90.4916V2.00415Z",fill:"black"}),C.jsx("path",{d:"M92.4916 2.00415H94.4916V0.00415039H92.4916V2.00415Z",fill:"black"}),C.jsx("path",{d:"M103.992 2.00415H101.992V0.00415039H103.992V2.00415Z",fill:"black"}),C.jsx("path",{d:"M105.992 2.00415H111.992V0.00415039H105.992V2.00415Z",fill:"black"}),C.jsx("path",{d:"M115.992 2.00415H113.992V0.00415039H115.992V2.00415Z",fill:"black"}),C.jsx("path",{d:"M117.992 2.00415H119.992V0.00415039H117.992V2.00415Z",fill:"black"})]}),_m=()=>C.jsxs("svg",{width:"118",height:"3",viewBox:"0 0 118 3",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[C.jsx("path",{d:"M-0.00854492 2.94815H1.99146V0.948151H-0.00854492V2.94815Z",fill:"black"}),C.jsx("path",{d:"M6.09668 2.94815H8.09668V0.948151H6.09668V2.94815Z",fill:"black"}),C.jsx("path",{d:"M14.2019 2.94815H12.2019V0.948151H14.2019V2.94815Z",fill:"black"}),C.jsx("path",{d:"M18.3071 2.94815H20.3071V0.948151H18.3071V2.94815Z",fill:"black"}),C.jsx("path",{d:"M26.4124 2.94815H24.4124V0.948151H26.4124V2.94815Z",fill:"black"}),C.jsx("path",{d:"M30.5176 2.94815H32.5176V0.948151H30.5176V2.94815Z",fill:"black"}),C.jsx("path",{d:"M38.6228 2.94815H36.6228V0.948151H38.6228V2.94815Z",fill:"black"}),C.jsx("path",{d:"M42.728 2.94815H44.728V0.948151H42.728V2.94815Z",fill:"black"}),C.jsx("path",{d:"M50.8333 2.94815H48.8333V0.948151H50.8333V2.94815Z",fill:"black"}),C.jsx("path",{d:"M54.9385 2.94815H56.9385V0.948151H54.9385V2.94815Z",fill:"black"}),C.jsx("path",{d:"M63.0437 2.94815H61.0437V0.948151H63.0437V2.94815Z",fill:"black"}),C.jsx("path",{d:"M67.1489 2.94815H69.1489V0.948151H67.1489V2.94815Z",fill:"black"}),C.jsx("path",{d:"M75.2542 2.94815H73.2542V0.948151H75.2542V2.94815Z",fill:"black"}),C.jsx("path",{d:"M79.3594 2.94815H81.3594V0.948151H79.3594V2.94815Z",fill:"black"}),C.jsx("path",{d:"M87.4645 2.94815H85.4645V0.948151H87.4645V2.94815Z",fill:"black"}),C.jsx("path",{d:"M91.5697 2.94815H93.5697V0.948151H91.5697V2.94815Z",fill:"black"}),C.jsx("path",{d:"M99.6749 2.94815H97.6749V0.948151H99.6749V2.94815Z",fill:"black"}),C.jsx("path",{d:"M103.78 2.94815H105.78V0.948151H103.78V2.94815Z",fill:"black"}),C.jsx("path",{d:"M111.885 2.94815H109.885V0.948151H111.885V2.94815Z",fill:"black"}),C.jsx("path",{d:"M115.991 2.94815H117.991V0.948151H115.991V2.94815Z",fill:"black"})]}),Tm=()=>C.jsx("svg",{width:"120",height:"4",viewBox:"0 0 120 4",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:C.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M119.991 3.86215H-0.0090332V0.862152H119.991V3.86215Z",fill:"black"})}),os=()=>C.jsx("svg",{width:"120",height:"2",viewBox:"0 0 120 2",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:C.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M119.991 1.15668H-0.0090332V0.156677H119.991V1.15668Z",fill:"black"})});function rs(n){const{type:i=l.BorderStyleTypes.THIN}=n;switch(i){case l.BorderStyleTypes.DASH_DOT:return C.jsx(fm,{});case l.BorderStyleTypes.DASH_DOT_DOT:return C.jsx(Sm,{});case l.BorderStyleTypes.DASHED:return C.jsx(vm,{});case l.BorderStyleTypes.HAIR:return C.jsx(Cm,{});case l.BorderStyleTypes.MEDIUM:return C.jsx(Im,{});case l.BorderStyleTypes.MEDIUM_DASH_DOT:return C.jsx(Rm,{});case l.BorderStyleTypes.MEDIUM_DASH_DOT_DOT:return C.jsx(bm,{});case l.BorderStyleTypes.MEDIUM_DASHED:return C.jsx(_m,{});case l.BorderStyleTypes.THICK:return C.jsx(Tm,{});case l.BorderStyleTypes.THIN:return C.jsx(os,{});default:return C.jsx(os,{})}}const wm="univer-ui-plugin-sheets-border-panel",Mm="univer-ui-plugin-sheets-border-panel-position",ym="univer-ui-plugin-sheets-border-panel-position-item",Pm="univer-ui-plugin-sheets-border-panel-position-item-active",Em="univer-ui-plugin-sheets-border-panel-styles",Om="univer-ui-plugin-sheets-border-panel-board",Am="univer-ui-plugin-sheets-border-panel-button",Nm="univer-ui-plugin-sheets-border-panel-more-icon",Xe={uiPluginSheetsBorderPanel:wm,uiPluginSheetsBorderPanelPosition:Mm,uiPluginSheetsBorderPanelPositionItem:ym,uiPluginSheetsBorderPanelPositionItemActive:Pm,uiPluginSheetsBorderPanelStyles:Em,uiPluginSheetsBorderPanelBoard:Om,uiPluginSheetsBorderPanelButton:Am,uiPluginSheetsBorderPanelMoreIcon:Nm},Pa=`${Qt}_BORDER_PANEL_COMPONENT`,Ea=[{label:"borderLine.borderTop",icon:"UpBorder",value:"top"},{label:"borderLine.borderBottom",icon:"DownBorder",value:"bottom"},{label:"borderLine.borderLeft",icon:"LeftBorder",value:"left"},{label:"borderLine.borderRight",icon:"RightBorder",value:"right"},{label:"borderLine.borderNone",icon:"NoBorderSingle",value:"none"},{label:"borderLine.borderAll",icon:"AllBorderSingle",value:"all"},{label:"borderLine.borderOutside",icon:"OuterBorder",value:"outside"},{label:"borderLine.borderInside",icon:"InnerBorder",value:"inside"},{label:"borderLine.borderHorizontal",icon:"HorizontalBorder",value:"horizontal"},{label:"borderLine.borderVertical",icon:"VerticalBorder",value:"vertical"},{label:"borderLine.borderTlbr",icon:"BackSlashSingle",value:"tlbr"},{label:"borderLine.borderTlbcTlmr",icon:"LeftDoubleDiagonalSingle",value:"tlbc_tlmr"},{label:"borderLine.borderTlbrTlbcTlmr",icon:"LeftTridiagonalSingle",value:"tlbr_tlbc_tlmr"},{label:"borderLine.borderBlTr",icon:"SlashSingle",value:"bltr"},{label:"borderLine.borderMltrBctr",icon:"RightDoubleDiagonalSingle",value:"mltr_bctr"}],xm=[{label:l.BorderStyleTypes.THIN,value:l.BorderStyleTypes.THIN},{label:l.BorderStyleTypes.HAIR,value:l.BorderStyleTypes.HAIR},{label:l.BorderStyleTypes.DOTTED,value:l.BorderStyleTypes.DOTTED},{label:l.BorderStyleTypes.DASHED,value:l.BorderStyleTypes.DASHED},{label:l.BorderStyleTypes.DASH_DOT,value:l.BorderStyleTypes.DASH_DOT},{label:l.BorderStyleTypes.DASH_DOT_DOT,value:l.BorderStyleTypes.DASH_DOT_DOT},{label:l.BorderStyleTypes.MEDIUM,value:l.BorderStyleTypes.MEDIUM},{label:l.BorderStyleTypes.MEDIUM_DASHED,value:l.BorderStyleTypes.MEDIUM_DASHED},{label:l.BorderStyleTypes.MEDIUM_DASH_DOT,value:l.BorderStyleTypes.MEDIUM_DASH_DOT},{label:l.BorderStyleTypes.MEDIUM_DASH_DOT_DOT,value:l.BorderStyleTypes.MEDIUM_DASH_DOT_DOT},{label:l.BorderStyleTypes.THICK,value:l.BorderStyleTypes.THICK}];function Dm(n){var c;const i=B.useDependency(b.ComponentManager),e=B.useDependency(h.BorderStyleManagerService),{onChange:t,value:o}=n;function r(u,d){t==null||t({...o,[d]:u})}function s(u){const d=i.get(u);return d&&C.jsx(d,{extend:{colorChannel1:"rgb(var(--primary-color))"}})}function a(u){u.stopPropagation()}return C.jsxs("section",{className:Xe.uiPluginSheetsBorderPanel,children:[C.jsx("div",{className:Xe.uiPluginSheetsBorderPanelPosition,children:Ea.map(u=>C.jsx("div",{className:e.getBorderInfo().type===u.value?`${Xe.uiPluginSheetsBorderPanelPositionItemActive} ${Xe.uiPluginSheetsBorderPanelPositionItem}`:Xe.uiPluginSheetsBorderPanelPositionItem,onClick:d=>{d.stopPropagation(),r(u.value,"type")},children:s(u.icon)},u.value))}),C.jsxs("div",{className:Xe.uiPluginSheetsBorderPanelStyles,children:[C.jsx("div",{children:C.jsx(ie.Dropdown,{align:{offset:[0,18]},overlay:C.jsx("section",{className:Xe.uiPluginSheetsBorderPanelBoard,onClick:a,children:C.jsx(ie.ColorPicker,{onChange:u=>r(u,"color")})}),children:C.jsxs("a",{className:Xe.uiPluginSheetsBorderPanelButton,onClick:a,children:[C.jsx(hm,{extend:{colorChannel1:(c=o.color)!=null?c:"rgb(var(--primary-color))"}}),C.jsx("span",{className:Xe.uiPluginSheetsBorderPanelMoreIcon,children:C.jsx(Oi,{})})]})})}),C.jsx("div",{children:C.jsx(ie.Dropdown,{align:{offset:[0,18]},overlay:C.jsx("section",{onClick:a,children:C.jsx(ie.Menu,{children:xm.map(u=>C.jsx(ie.MenuItem,{eventKey:u.value.toString(),onClick:()=>r(u.value,"style"),children:C.jsx(rs,{type:u.value})},u.value))})}),children:C.jsxs("a",{className:Xe.uiPluginSheetsBorderPanelButton,onClick:a,children:[C.jsx(rs,{type:l.BorderStyleTypes.THIN}),C.jsx("span",{className:Xe.uiPluginSheetsBorderPanelMoreIcon,children:C.jsx(Oi,{})})]})})})]})]})}const km="univer-count-bar",Lm={countBar:km},Hm=[50,80,100,130,150,170,200,400];function Vm(){const n=B.useDependency(l.ICommandService),i=B.useDependency(l.IUniverInstanceService),e=V.useCallback(()=>{const s=i.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getActiveSheet().getZoomRatio()*100||100;return Math.round(s)},[i]),[t,o]=V.useState(()=>e());V.useEffect(()=>n.onCommandExecuted(a=>{if(a.id===$e.id||a.id===h.SetWorksheetActiveOperation.id){const c=e();o(c)}}).dispose,[n,e]);function r(s){o(s);const a=i.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),c=a==null?void 0:a.getActiveSheet();if(c==null)return;const u=s/100;n.executeCommand(Bi.id,{unitId:a.getUnitId(),subUnitId:c.getSheetId(),zoomRatio:u})}return C.jsx(ie.Slider,{min:bo[0],value:t,shortcuts:Hm,onChange:r})}function Wm(n){return C.jsx("section",{className:Lm.countBar,children:C.jsx(Vm,{})})}const Um="univer-editor-container",Bm="univer-editor-input",ss={editorContainer:Um,editorInput:Bm},Ai=-1e3,as={width:0,height:0,top:Ai,left:Ai},Fm=()=>{const[n,i]=V.useState({...as}),e=B.useDependency(Dn),t=B.useDependency(b.IEditorService),o=B.useDependency(l.IContextService),r=b.useObservable(()=>o.subscribeContextValue$(b.DISABLE_AUTO_FOCUS_KEY),!1,void 0,[o,b.DISABLE_AUTO_FOCUS_KEY]),s={id:l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,body:{dataStream:`${l.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[],paragraphs:[{startIndex:0}]},documentStyle:{}};return V.useEffect(()=>{e.state$.subscribe(a=>{if(a==null)return;const{startX:c=Ai,startY:u=Ai,endX:d=0,endY:m=0,show:g=!1}=a;if(!g)i({...as});else{i({width:d-c-E.FIX_ONE_PIXEL_BLUR_OFFSET+2,height:m-u-E.FIX_ONE_PIXEL_BLUR_OFFSET+2,left:c+E.FIX_ONE_PIXEL_BLUR_OFFSET,top:u+E.FIX_ONE_PIXEL_BLUR_OFFSET});const p=t.getEditor(l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);if(p==null)return;const{left:f,top:S,width:v,height:I}=p.getBoundingClientRect();e.setRect({left:f,top:S,width:v,height:I})}})},[]),V.useEffect(()=>{r||e.setFocus(!0)},[r,n]),C.jsx("div",{className:ss.editorContainer,style:{left:n.left,top:n.top,width:n.width,height:n.height},children:C.jsx(b.TextEditor,{id:l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,className:ss.editorInput,snapshot:s,cancelDefaultResizeListener:!0,isSheetEditor:!0,isSingle:!1})})},jm="univer-defined-name",Xm="univer-defined-name-drop-down",zm="univer-defined-name-drop-down-disable",Ym="univer-defined-name-overlay",Zm="univer-defined-name-overlay-container",Gm="univer-defined-name-overlay-item",qm="univer-defined-name-overlay-item-name",Km="univer-defined-name-overlay-item-name-for-sheet",Qm="univer-defined-name-overlay-item-formula",Jm="univer-defined-name-overlay-manager",$m="univer-defined-name-overlay-manager-title",eg="univer-defined-name-overlay-manager-content",tg="univer-defined-name-container",ng="univer-defined-name-container-scroll",ig="univer-defined-name-container-addButton",og="univer-defined-name-container-addButton-text",rg="univer-defined-name-container-item",sg="univer-defined-name-container-item-name",ag="univer-defined-name-container-item-name-for-sheet",lg="univer-defined-name-container-item-formula-or-refString",cg="univer-defined-name-container-item-update",dg="univer-defined-name-container-item-delete",ug="univer-defined-name-container-item-show",hg="univer-defined-name-input",mg="univer-defined-name-input-validation",gg="univer-defined-name-input-disable",me={definedName:jm,definedNameDropDown:Xm,definedNameDropDownDisable:zm,definedNameOverlay:Ym,definedNameOverlayContainer:Zm,definedNameOverlayItem:Gm,definedNameOverlayItemName:qm,definedNameOverlayItemNameForSheet:Km,definedNameOverlayItemFormula:Qm,definedNameOverlayManager:Jm,definedNameOverlayManagerTitle:$m,definedNameOverlayManagerContent:eg,definedNameContainer:tg,definedNameContainerScroll:ng,definedNameContainerAddButton:ig,definedNameContainerAddButtonText:og,definedNameContainerItem:rg,definedNameContainerItemName:sg,definedNameContainerItemNameForSheet:ag,definedNameContainerItemFormulaOrRefString:lg,definedNameContainerItemUpdate:cg,definedNameContainerItemDelete:dg,definedNameContainerItemShow:ug,definedNameInput:hg,definedNameInputValidation:mg,definedNameInputDisable:gg},Oa="DefinedNameContainer",Uo="AllDefaultWorkbook",Aa={id:"sidebar.operation.defined-name",type:l.CommandType.COMMAND,handler:async(n,i)=>{const e=n.get(b.ISidebarService),t=n.get(b.IEditorService),o=n.get(l.LocaleService),r=n.get(l.IUniverInstanceService),s=h.getSheetCommandTarget(r);if(!s)return!1;const{unitId:a}=s;switch(i.value){case"open":t.setOperationSheetUnitId(a),e.open({header:{title:o.t("definedName.featureTitle")},children:{label:Oa},onClose:()=>{t.closeRangePrompt()},width:333});break;case"close":default:e.close();break}return!0}};function pg(n){const i=B.useDependency(l.ICommandService),e=B.useDependency(l.LocaleService),t=B.useDependency($.IDefinedNamesService),s=B.useDependency(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getUnitId(),a=()=>{const g=t.getDefinedNameMap(s);return g?Array.from(Object.values(g)):[]},[c,u]=V.useState(a());V.useEffect(()=>{const g=t.update$.subscribe(()=>{u(a())});return()=>{g.unsubscribe()}},[]);const d=()=>{i.executeCommand(Aa.id,{value:"open"})},m=g=>{t.focusRange(s,g.id)};return C.jsxs("div",{className:me.definedNameOverlay,children:[C.jsx("div",{className:me.definedNameOverlayContainer,children:c.map((g,p)=>C.jsxs("div",{className:me.definedNameOverlayItem,onClick:()=>{m(g)},children:[C.jsx("div",{className:me.definedNameOverlayItemName,title:g.name,children:g.name}),C.jsx("div",{className:me.definedNameOverlayItemFormula,title:g.formulaOrRefString,children:g.formulaOrRefString})]},p))}),C.jsxs("div",{className:me.definedNameOverlayManager,onClick:d,children:[C.jsx("div",{className:me.definedNameOverlayManagerTitle,children:e.t("definedName.managerTitle")}),C.jsx("div",{className:me.definedNameOverlayManagerContent,children:e.t("definedName.managerDescription")})]})]})}function fg({disable:n}){const[i,e]=V.useState(""),t=B.useDependency($.IDefinedNamesService);return V.useEffect(()=>{const o=t.currentRange$.subscribe(()=>{e(t.getCurrentRangeForString())});return()=>{o.unsubscribe()}},[]),C.jsxs("div",{className:me.definedName,children:[C.jsx(ie.Input,{className:fe({[me.defineNameInputDisable]:n}),value:i,type:"text",size:"small",affixWrapperStyle:{border:"none",paddingLeft:"6px",paddingRight:"6px",height:"100%"}}),C.jsx(ie.Dropdown,{overlay:C.jsx(pg,{}),children:C.jsx("div",{className:fe(me.definedNameDropDown,{[me.definedNameDropDownDisable]:n}),children:C.jsx(Oi,{})})})]})}const Sg="univer-formula-box",vg="univer-name-ranges",Cg="univer-formula-bar",Ig="univer-formula-icon",Rg="univer-formula-icon-disable",bg="univer-formula-icon-wrapper",_g="univer-icon-container",Tg="univer-icon-container-success",wg="univer-formula-active",Mg="univer-icon-container-error",yg="univer-icon-container-fx",Pg="univer-formula-input",Eg="univer-formula-content",Og="univer-arrow-container",Ag="univer-arrow-container-disable",Ie={formulaBox:Sg,nameRanges:vg,formulaBar:Cg,formulaIcon:Ig,formulaIconDisable:Rg,formulaIconWrapper:bg,iconContainer:_g,iconContainerSuccess:Tg,formulaActive:wg,iconContainerError:Mg,iconContainerFx:yg,formulaInput:Pg,formulaContent:Eg,arrowContainer:Og,arrowContainerDisable:Ag};function Ng(){const[n,i]=V.useState(Ie.formulaGrey),[e,t]=V.useState(0),o=B.useDependency(Yi),r=B.useDependency(je),a=B.useDependency(l.ThemeService).getCurrentTheme().primaryColor,[c,u]=V.useState(!1),d=B.useDependency(l.IUniverInstanceService),m=B.useDependency(h.SelectionManagerService),g=B.useDependency(h.WorksheetProtectionRuleModel),p=B.useDependency(h.RangeProtectionRuleModel),f=B.useDependency(l.IPermissionService);V.useLayoutEffect(()=>{const y=d.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);O.merge(g.ruleChange$,p.ruleChange$,m.selectionMoveEnd$).subscribe(()=>{var z,q;const M=y.getUnitId(),N=y.getActiveSheet().getSheetId();if(!((z=m.getLast())==null?void 0:z.range))return;const A=f.getPermissionPoint(new h.WorksheetSetCellValuePermission(M,N).id),x=f.getPermissionPoint(new h.WorksheetEditPermission(M,N).id);if(!A||!x){u(!0);return}const L=(q=m.getSelections())==null?void 0:q.map(Y=>Y.range),U=p.getSubunitRuleList(M,N).filter(Y=>Y.ranges.some(X=>L==null?void 0:L.some(Z=>l.Rectangle.intersects(X,Z)))),H=[];U.forEach(Y=>{H.push(new h.RangeProtectionPermissionEditPoint(M,N,Y.permissionId).id)});const W=f.composePermission(H).every(Y=>Y.value);u(!W)})},[]);const S={id:l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,body:{dataStream:`${l.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[],paragraphs:[{startIndex:0}]},documentStyle:{pageSize:{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},marginTop:5,marginBottom:5,marginRight:0,marginLeft:0,paragraphLineGapDefault:0,renderConfig:{horizontalAlign:l.HorizontalAlign.UNSPECIFIED,verticalAlign:l.VerticalAlign.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:l.WrapStrategy.WRAP}}};V.useEffect(()=>{const y=r.visible$.subscribe(M=>{i(M.visible?Ie.formulaActive:Ie.formulaGrey)});return()=>y.unsubscribe()},[r.visible$]);function v(y){if(y==null)return;const M=y.getBoundingClientRect();o.setPosition(M)}function I(){t(e===0?1:0),setTimeout(()=>{o.handleFoldBtnClick(e===1)},150)}function R(){r.isVisible().visible&&r.changeVisible({visible:!1,eventType:E.DeviceInputEventType.Keyboard,keycode:b.KeyCode.ESC})}function _(){r.isVisible().visible&&r.changeVisible({visible:!1,eventType:E.DeviceInputEventType.PointerDown})}function T(){o.handleFxBtnClick(!0)}return C.jsxs("div",{className:Ie.formulaBox,style:{height:e===0?"28px":"82px",pointerEvents:c?"none":"auto"},children:[C.jsx("div",{className:Ie.nameRanges,children:C.jsx(fg,{disable:c})}),C.jsxs("div",{className:Ie.formulaBar,children:[C.jsx("div",{className:fe(Ie.formulaIcon,{[Ie.formulaIconDisable]:c}),children:C.jsxs("div",{className:Ie.formulaIconWrapper,children:[C.jsx("span",{className:fe(Ie.iconContainer,Ie.iconContainerError,n),onClick:R,children:C.jsx(Qh,{})}),C.jsx("span",{className:fe(Ie.iconContainer,Ie.iconContainerSuccess,n),onClick:_,children:C.jsx(St,{})}),C.jsx("span",{className:fe(Ie.iconContainer,Ie.iconContainerFx),onClick:T,children:C.jsx(sm,{})})]})}),C.jsxs("div",{className:Ie.formulaInput,children:[C.jsx(b.TextEditor,{id:l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,isSheetEditor:!0,resizeCallBack:v,cancelDefaultResizeListener:!0,onContextMenu:y=>y.preventDefault(),className:Ie.formulaContent,snapshot:S,isSingle:!1}),C.jsx("div",{className:fe(Ie.arrowContainer,{[Ie.arrowContainerDisable]:c}),onClick:I,children:e===0?C.jsx(ts,{}):C.jsx(ts,{style:{transform:"rotateZ(180deg)"}})})]})]}),C.jsx(b.ProgressBar,{barColor:a})]})}const xg="univer-operate-container",Dg="univer-auto-fill-popup-menu",kg="univer-auto-fill-popup-menu-item",Lg="univer-auto-fill-popup-menu-item-icon",Hg="univer-auto-fill-popup-menu-item-title",Vg="univer-auto-fill-popup-menu-item-hide",Wg="univer-btn-container",Ug="univer-btn-container-expand",wt={operateContainer:xg,autoFillPopupMenu:Dg,autoFillPopupMenuItem:kg,autoFillPopupMenuItemIcon:Lg,autoFillPopupMenuItemTitle:Hg,autoFillPopupMenuItemHide:Vg,btnContainer:Wg,btnContainerExpand:Ug},Bg=()=>{const[,n]=V.useState({});return V.useCallback(()=>n(i=>!i),[])},Fg=()=>{var X;const n=B.useDependency(l.ICommandService),i=B.useDependency(exports.SheetSkeletonManagerService),e=B.useDependency(l.IUniverInstanceService),t=B.useDependency(E.IRenderManagerService),o=B.useDependency(Me),r=B.useDependency(Ot),s=B.useDependency(l.LocaleService),[a,c]=V.useState([]),[u,d]=V.useState(!1),[m,g]=V.useState({row:-1,col:-1}),[p,f]=V.useState(ce.SERIES),[S,v]=V.useState(!1),I=()=>{v(!0)},R=()=>{v(!1)},_=Bg();if(V.useEffect(()=>n.onCommandExecuted((G,K)=>{G.id===ft.id&&_()}).dispose,[_,n]),V.useEffect(()=>l.toDisposable(i.currentSkeleton$.subscribe(G=>{G&&_()})).dispose,[i,_]),V.useEffect(()=>l.toDisposable(r.menu$.subscribe(G=>{c(G.map(K=>({...K,index:G.indexOf(K)})))})).dispose,[r]),V.useEffect(()=>l.toDisposable(r.showMenu$.subscribe(G=>{const{source:K,target:ee}=r.autoFillLocation||{source:null,target:null};if(G&&K&&ee){const j=Math.max(K.rows[K.rows.length-1],ee.rows[ee.rows.length-1]),F=Math.max(K.cols[K.cols.length-1],ee.cols[ee.cols.length-1]);g({row:j,col:F})}else g({row:-1,col:-1})})).dispose,[r]),V.useEffect(()=>l.toDisposable(r.applyType$.subscribe(G=>{f(G)})).dispose,[r]),V.useEffect(()=>{function Z(){d(!1)}return document.addEventListener("wheel",Z),()=>{document.removeEventListener("wheel",Z)}},[u]),m.col<0||m.row<0)return null;const T=It(e,t);if(!T)return null;const{scene:y}=T,M=(X=i.getCurrent())==null?void 0:X.skeleton,P=o.getViewPort(),N=y==null?void 0:y.scaleX,D=y==null?void 0:y.scaleY,A=y==null?void 0:y.getScrollXY(P);if(!N||!y||!N||!D||!A)return null;const x=(M==null?void 0:M.getNoMergeCellPositionByIndex(m.row,m.col).endX)||0,L=(M==null?void 0:M.getNoMergeCellPositionByIndex(m.row,m.col).endY)||0,U=M==null?void 0:M.convertTransformToOffsetX(x,N,A),H=M==null?void 0:M.convertTransformToOffsetY(L,D,A);if(U==null||H==null)return null;const W=Z=>{d(Z)},z=Z=>{n.executeCommand(ra.id,{type:Z.value})},q=u||S,Y=a.filter(Z=>!Z.disable);return C.jsx("div",{onMouseEnter:I,onMouseLeave:R,style:{left:`${U+2}px`,top:`${H+2}px`,position:"absolute"},children:C.jsx(ie.Dropdown,{placement:"bottomLeft",trigger:["click"],overlay:C.jsx("ul",{className:wt.autoFillPopupMenu,children:Y.map(Z=>C.jsxs("li",{onClick:()=>z(Z),className:wt.autoFillPopupMenuItem,children:[C.jsx("span",{className:wt.autoFillPopupMenuItemIcon,children:Z.value===p&&C.jsx(St,{style:{color:"rgb(var(--green-700, #409f11))"}})}),C.jsx("span",{className:wt.autoFillPopupMenuItemTitle,children:s.t(Z.label)})]},Z.index))}),visible:u,onVisibleChange:W,children:C.jsxs("div",{className:fe(wt.btnContainer,{[wt.btnContainerExpand]:u}),children:[C.jsx(Gh,{style:{color:"#35322B"},extend:{colorChannel1:"rgb(var(--green-700, #409f11))"}}),q&&C.jsx(Oi,{style:{color:"#CCCCCC",fontSize:"8px",marginLeft:"8px"}})]})})})},jg=()=>C.jsx("div",{className:wt.operateContainer,children:C.jsx(Fg,{})}),Xg="univer-sheet-bar",zg="univer-sheet-bar-options",Yg="univer-sheet-bar-options-divider",Zn={sheetBar:Xg,sheetBarOptions:zg,sheetBarOptionsDivider:Yg},Zg="univer-sheet-bar-btn",Gg={sheetBarBtn:Zg};function ui(n){const{children:i,className:e,style:t,disabled:o=!1,onClick:r,...s}=n,a=c=>{if(o){c.preventDefault();return}r&&r(c)};return C.jsx("button",{className:Gg.sheetBarBtn,style:t,disabled:o,onClick:a,...s,children:i})}const qg="univer-sheet-bar-menu",Kg="univer-sheet-bar-menu-item",Qg="univer-sheet-bar-menu-item-icon",Jg="univer-sheet-bar-menu-item-hide",$g="univer-sheet-bar-menu-item-select",ep="univer-sheet-bar-menu-item-label",dt={sheetBarMenu:qg,sheetBarMenuItem:Kg,sheetBarMenuItemIcon:Qg,sheetBarMenuItemHide:Jg,sheetBarMenuItemSelect:$g,sheetBarMenuItemLabel:ep};function tp(n){const{style:i}=n,[e,t]=V.useState([]),[o,r]=V.useState(!1),s=B.useDependency(l.IUniverInstanceService),a=B.useDependency(l.ICommandService),c=B.useDependency($t),u=B.useDependency(h.WorksheetProtectionRuleModel),d=b.useObservable(()=>s.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET),null,!1,[]),m=v=>{const{sheetId:I}=v;!I||!d||(v.hidden?a.executeCommand(h.SetWorksheetShowCommand.id,{unitId:d.getUnitId(),subUnitId:I,value:I}):v.selected||a.executeCommand(h.SetWorksheetActivateCommand.id,{unitId:d.getUnitId(),subUnitId:I}),r(!1))},g=V.useCallback(()=>{if(!d)return;const v=d.getSheets(),I=d.getActiveSheet(),R=v.map((_,T)=>({label:_.getName(),index:`${T}`,sheetId:_.getSheetId(),hidden:_.isSheetHidden()===l.BooleanNumber.TRUE,selected:I===_}));t(R)},[d,u]),p=V.useCallback(()=>a.onCommandExecuted(v=>{switch(v.id){case h.SetWorksheetHideMutation.id:case h.RemoveSheetMutation.id:case h.SetWorksheetNameMutation.id:case h.InsertSheetMutation.id:case h.SetWorksheetOrderMutation.id:case h.SetWorksheetActiveOperation.id:g();break}}),[a,g]);function f(){r(!0)}const S=v=>{r(v)};return V.useEffect(()=>{g();const v=new l.DisposableCollection;return v.add(p()),v.add(c.registerSheetBarMenuHandler({handleSheetBarMenu:f})),()=>v.dispose()},[p,c,g,d]),C.jsx(ie.Dropdown,{placement:"topLeft",trigger:["click"],overlay:C.jsx("ul",{className:dt.sheetBarMenu,style:{...i},children:e.map(v=>C.jsxs("li",{onClick:()=>m(v),className:v.selected?`${dt.sheetBarMenuItem} ${dt.sheetBarMenuItemSelect}`:v.hidden?`${dt.sheetBarMenuItem} ${dt.sheetBarMenuItemHide}`:dt.sheetBarMenuItem,children:[C.jsx("span",{className:dt.sheetBarMenuItemIcon,children:v.selected?C.jsx(St,{}):v.hidden?C.jsx(om,{}):C.jsx(St,{})}),C.jsx("div",{className:dt.sheetBarMenuItemLabel,children:v.label})]},v.index))}),visible:o,onVisibleChange:S,children:C.jsx(ui,{children:C.jsx($h,{})})})}const np="univer-slide-tab-bar-container",ip="univer-slide-tab-bar",op="univer-slide-tab-item",rp="univer-slide-tab-active",sp="univer-slide-tab-div",ap="univer-slide-tab-div-edit",lp="univer-slide-tab-item-dropdown",We={slideTabBarContainer:np,slideTabBar:ip,slideTabItem:op,slideTabActive:rp,slideTabDiv:sp,slideTabDivEdit:ap,slideTabItemDropdown:lp};function cp(n){const{sheetId:i,label:e,color:t,selected:o}=n,[r,s]=V.useState(o),a=B.useDependency(l.ThemeService);V.useEffect(()=>{s(o)},[o]);const c=u=>{const d=a.getCurrentTheme(),m=d.textColor,g=d.colorWhite;return new l.ColorKit(u).isDark()?g:m};return C.jsx("div",{"data-id":i,className:r?`${We.slideTabActive} ${We.slideTabItem}`:We.slideTabItem,style:{backgroundColor:!r&&t?t:"",color:!r&&t?c(t):"",boxShadow:r&&t?`0px 0px 8px rgba(0, 0, 0, 0.08), inset 0px -2px 0px 0px ${t}`:""},children:C.jsx("div",{className:We.slideTabDiv,children:e})},i)}const dp={easeOutStrong(n,i,e,t){return-e*((n=n/t-1)*n*n*n-1)+i},backOut(n,i,e,t,o){return typeof o>"u"&&(o=.7),e*((n=n/t-1)*n*((o+1)*n+o)+1)+i}},up={loop:!1,begin:0,end:0,duration:300,delay:0,type:"easeOutStrong",receive(n){},success(n){},cancel(n){},complete(n){}};class hp{constructor(i){w(this,"_config");w(this,"_status",0);w(this,"_start",0);w(this,"_handle",0);w(this,"_delayHandle",null);this._config={...up,...i},this._config.loop&&(this._config.complete=()=>{},this._config.success=()=>{this.request()})}static success(...i){let e=0;return new Promise(t=>{for(let o=0;o<i.length;o++){const r=i[o],s=r._config,a=s.success;s.loop||(s.success=u=>{e++,a&&a.call(r,u),e===i.length&&t()})}})}request(){this._config.delay===0?(this._status=0,this._start=Date.now(),this._fakeHandle()):(this._delayHandle&&clearTimeout(this._delayHandle),this._delayHandle=setTimeout(()=>{this._status=0,this._start=Date.now(),this._fakeHandle()},this._config.delay))}cancel(){this._status=1,this._delayHandle&&clearTimeout(this._delayHandle),cancelAnimationFrame(this._handle)}_fakeHandle(){let i=Date.now()-this._start;i=i>=this._config.duration?this._config.duration:i;const t=dp[this._config.type](i,this._config.begin,this._config.end-this._config.begin,this._config.duration,.7).toFixed(2);if(this._config.receive(t),this._status===1){this._config.cancel(t),this._config.complete(t);return}if(i===this._config.duration){this._config.success(t),this._config.complete(t);return}this._handle=requestAnimationFrame(()=>{this._fakeHandle()})}}class yt{constructor(i,e){w(this,"_slideTabItem");w(this,"_animate");w(this,"_midline",0);w(this,"_translateX");w(this,"_scrollbar");w(this,"_slideTabBar");w(this,"_editMode");w(this,"_placeholder");this._slideTabItem=i,this._animate=null,this._translateX=0,this._editMode=!1,this._slideTabBar=e,this._placeholder=null,this._scrollbar=e.getScrollbar(),this.update()}static midline(i){return i.getBoundingRect().x+i.getBoundingRect().width/2}static leftLine(i){return i.getBoundingRect().x}static rightLine(i){return i.getBoundingRect().x+i.getBoundingRect().width}static make(i,e){const t=[];return i.forEach(o=>t.push(new yt(o,e))),t}getSlideTabItem(){return this._slideTabItem}getEditor(){return this._slideTabItem.querySelector("span")}focus(){var i;(i=this.getEditor())==null||i.focus()}selectAll(){const i=this.getEditor();i&&Ft.keepSelectAll(i)}isEditMode(){return this._editMode}classList(){return this._slideTabItem.classList}translateX(i){return this._translateX=i,this._slideTabItem.style.transform=`translateX(${i}px)`,this.getTranslateXDirection()}setEditor(i){if(!this._slideTabBar.getConfig().onNameChangeCheck())return;let e=!0;if(this._editMode===!1){const t=this._slideTabItem.querySelector("span"),o=u=>{if(!this.nameCheck()){if(this._editMode=!1,t&&(t.removeAttribute("contentEditable"),t.removeEventListener("blur",o),t.removeEventListener("compositionstart",s),t.removeEventListener("compositionend",a),t.removeEventListener("input",c),t.removeEventListener("keydown",r),t.classList.remove(this._slideTabBar.getConfig().slideTabBarSpanEditClassName)),this._slideTabBar.removeListener(),this._slideTabBar.updateItems(),this._slideTabBar.getConfig().onChangeName){const d=(t==null?void 0:t.innerText)||"",m=this.getId();this._slideTabBar.getConfig().onChangeName(m,d)}i&&i(u)}};let r=u=>{t&&(u.stopPropagation(),u.key==="Enter"&&t.blur())};const s=u=>{e=!1},a=u=>{e=!0},c=u=>{if(!t)return;const d=50;setTimeout(()=>{if(e){const m=t.innerText;m.length>d&&(t.innerText=m.substring(0,d),Ft.keepLastIndex(t))}},0)};t&&(t.setAttribute("contentEditable","true"),t.addEventListener("blur",o),t.addEventListener("compositionstart",s),t.addEventListener("compositionend",a),t.addEventListener("input",c),t.addEventListener("keydown",r),t.classList.add(this._slideTabBar.getConfig().slideTabBarSpanEditClassName),this._editMode=!0,Ft.keepSelectAll(t))}}nameCheck(){const i=this._slideTabItem.querySelector("span");if(!i)return!1;const e=i.innerText;return this._slideTabBar.getConfig().onNameCheckAlert(e)}animate(){return{translateX:i=>{this._translateX!==i&&(this._animate&&(this._animate.cancel(),this._animate=null),this._animate=new hp({begin:this._translateX,end:i,receive:e=>{this._slideTabItem.style.transform=`translateX(${e}px)`}}),this._translateX=i,this._animate.request())},cancel:()=>{this._animate&&(this._animate.cancel(),this._animate=null)}}}after(i){this._slideTabItem.after(i._slideTabItem||i)}update(){this._midline=yt.midline(this)}disableFixed(){if(this._placeholder){const i=this._slideTabBar.primeval();this._slideTabItem.style.removeProperty("position"),this._slideTabItem.style.removeProperty("left"),this._slideTabItem.style.removeProperty("top"),this._slideTabItem.style.removeProperty("width"),this._slideTabItem.style.removeProperty("height"),this._slideTabItem.style.removeProperty("background"),this._slideTabItem.style.removeProperty("padding"),this._slideTabItem.style.removeProperty("box-sizing"),this._slideTabItem.style.removeProperty("font-size"),this._slideTabItem.style.removeProperty("font-family"),this._slideTabItem.style.removeProperty("font-weight"),this._slideTabItem.style.removeProperty("color"),this._slideTabItem.style.removeProperty("border-radius"),this._placeholder.after(this._slideTabItem),i.removeChild(this._placeholder),this._placeholder=null}}enableFixed(){const i=document.createElement("div"),e=this.getBoundingRect(),t=getComputedStyle(this._slideTabItem),o=this._slideTabItem.querySelector("span");if(this._placeholder=i,this._placeholder.style.width=`${e.width}px`,this._placeholder.style.height=`${e.height}px`,this._placeholder.style.flexShrink="0",this._placeholder.style.margin=t.margin,this._slideTabItem.style.background=t.background,o){const r=getComputedStyle(o).padding;this._slideTabItem.style.padding=r}this._slideTabItem.style.boxSizing=t.boxSizing,this._slideTabItem.style.fontSize=t.fontSize,this._slideTabItem.style.fontFamily=t.fontFamily,this._slideTabItem.style.fontWeight=t.fontWeight,this._slideTabItem.style.color=t.color,this._slideTabItem.style.borderRadius=t.borderRadius,this._slideTabItem.style.left=`${e.x-this.getScrollbar().getScrollX()}px`,this._slideTabItem.style.top=`${e.y}px`,this._slideTabItem.style.width=`${e.width}px`,this._slideTabItem.style.height=`${e.height}px`,this._slideTabItem.style.position="fixed",this._slideTabItem.after(i),document.body.appendChild(this._slideTabItem)}addEventListener(i,e,t){this._slideTabItem.addEventListener(i,e,t)}removeEventListener(i,e,t){this._slideTabItem.removeEventListener(i,e,t)}getScrollbar(){return this._scrollbar}getMidLine(){return this._midline}getBoundingRect(){const i=this._slideTabItem.getBoundingClientRect();return i.x+=this._scrollbar.getScrollX(),i}getWidth(){return this.getBoundingRect().width}getTranslateXDirection(){const i=yt.midline(this);return i>this._midline?1:i<this._midline?-1:0}equals(i){return i&&i._slideTabItem===this._slideTabItem}getId(){return this._slideTabItem.dataset.id||""}}class mp{constructor(i){w(this,"_slideTabBar");w(this,"_scrollX");const e=i.primeval();this._scrollX=e.scrollLeft,this._slideTabBar=i}scrollX(i){const e=this._slideTabBar.primeval();e.scrollLeft=i,this._scrollX=e.scrollLeft}scrollRight(){const i=this._slideTabBar.primeval();i.scrollLeft=i.scrollWidth,this._scrollX=i.scrollLeft}getScrollX(){return this._scrollX}}const Ut=class Ut{constructor(i){w(this,"_activeTabItemIndex",0);w(this,"_slideTabBar");w(this,"_slideTabItems",[]);w(this,"_config");w(this,"_downActionX",0);w(this,"_moveActionX",0);w(this,"_compareIndex",0);w(this,"_activeTabItem",null);w(this,"_moveAction");w(this,"_upAction");w(this,"_downAction");w(this,"_wheelAction");w(this,"_scrollIncremental",0);w(this,"_compareDirection",0);w(this,"_autoScrollTime",null);w(this,"_slideScrollbar");w(this,"_longPressTimer",null);w(this,"_leftBoundingLine",0);w(this,"_rightBoundingLine",0);w(this,"_leftMoveX",0);w(this,"_rightMoveX",0);var s;if(i.slideTabBarContainer==null)throw new Error("not found slide-tab-bar root element");const e=i.slideTabBarContainer.querySelector(`.${(s=i.slideTabBarClassName)!=null?s:"slide-tab-bar"}`);if(e==null)throw new Error("not found slide-tab-bar");this._slideTabBar=e,this._slideScrollbar=new mp(this),this._config=i,this._initConfig();let t=0,o=0,r=0;this._downAction=a=>{var M,P,N,D,A,x;if((M=this._activeTabItem)!=null&&M.isEditMode())return;const c=(N=(P=a.target)==null?void 0:P.closest(`.${i.slideTabBarItemClassName}`))==null?void 0:N.getAttribute("data-id"),u=this._slideTabItems.findIndex(L=>L.getId()===c);if(c==null||u===-1)return;if(this._activeTabItemIndex!==u){(D=this._activeTabItem)==null||D.removeEventListener("pointermove",this._moveAction),(A=this._activeTabItem)==null||A.removeEventListener("pointerup",this._upAction),this.removeListener(),this._config.onChangeTab(a,c);return}if(this._compareIndex=u,this._downActionX=a.pageX,this._moveActionX=0,this._scrollIncremental=0,this._activeTabItem=this._slideTabItems[u],!this._activeTabItem){console.error("Not found active slide-tab-item in sheet bar");return}const d=this._activeTabItem.getSlideTabItem();d==null||d.setPointerCapture(a.pointerId),(x=this._activeTabItem)==null||x.addEventListener("pointerup",this._upAction);const{x:m,width:g}=this._activeTabItem.getBoundingRect(),{x:p,width:f}=this.getBoundingRect(),S=this._slideScrollbar.getScrollX();if(this._leftBoundingLine=this._downActionX-(m-S),this._rightBoundingLine=m-S+g-this._downActionX,this._leftMoveX=m-p-S,this._rightMoveX=p+f-(m+g)+S,a.button===2||this._hasEditItem())return;const{pageX:v,pageY:I}=a,R=Date.now(),_=R-r<=Ut.DoubleClickDelay,T=Math.abs(v-t)<10,y=Math.abs(I-o)<10;_&&T&&y&&this._activeTabItem.setEditor(),t=v,o=I,r=R,this._longPressTimer=setTimeout(()=>{var L,U;(L=this._activeTabItem)==null||L.enableFixed(),this._startAutoScroll(),d&&(d.setPointerCapture(a.pointerId),d.style.cursor="move",(U=this._activeTabItem)==null||U.addEventListener("pointermove",this._moveAction))},Ut.LongPressDelay)},this._upAction=a=>{var u,d,m;if(this._longPressTimer&&(clearTimeout(this._longPressTimer),this._longPressTimer=null),!this._activeTabItem)return;this._closeAutoScroll(),this._activeTabItem.disableFixed(),this.updateItems();const c=(u=this._activeTabItem)==null?void 0:u.getSlideTabItem();c&&(c.style.cursor="",c.releasePointerCapture(a.pointerId),(d=this._activeTabItem)==null||d.removeEventListener("pointermove",this._moveAction),(m=this._activeTabItem)==null||m.removeEventListener("pointerup",this._upAction),this._config.onSlideEnd&&this._activeTabItemIndex!==this._compareIndex&&(this.removeListener(),this._config.onSlideEnd(a,this._compareIndex||0)),this._scrollIncremental=0,this._downActionX=0,this._moveActionX=0,this._compareIndex=0)},this._moveAction=a=>{this._activeTabItem&&(this._moveActionX=a.pageX-this._downActionX,this._moveActionX<=-this._leftMoveX?this._moveActionX=-this._leftMoveX:this._moveActionX>=this._rightMoveX&&(this._moveActionX=this._rightMoveX),this._scrollIncremental=0,this._scrollLeft(a),this._scrollRight(a))},this._wheelAction=a=>{this.setScroll(a.deltaY)},this.addListener()}static checkedSkipSlide(i){let e=i.target;for(;e!=null&&e!==document.body;){if(e.getAttribute("data-slide-skip"))return!0;e=e.parentElement}return!1}static keepLastIndex(i){setTimeout(()=>{const e=window.getSelection();e&&(e.selectAllChildren(i),e.collapseToEnd())})}static keepSelectAll(i){setTimeout(()=>{const e=window.getSelection();if(!e)return;const t=document.createRange();t.selectNodeContents(i),e.removeAllRanges(),e.addRange(t)})}update(i){this._config.currentIndex=i,this._initConfig(),this.removeListener(),this.addListener()}primeval(){return this._slideTabBar}updateItems(){for(let i=0;i<this._slideTabItems.length;i++)this._slideTabItems[i].animate().cancel(),this._slideTabItems[i].translateX(0),this._slideTabItems[i].update()}getScrollbar(){return this._slideScrollbar}getConfig(){return this._config}getBoundingRect(){return this._slideTabBar.getBoundingClientRect()}getSlideTabItems(){return this._slideTabItems}getActiveItem(){return this._activeTabItem}isLeftEnd(){return this._slideTabBar.scrollLeft===0}isRightEnd(){const i=this._slideTabBar.parentElement;return i?this._slideTabBar.scrollWidth-i.clientWidth===this._slideTabBar.scrollLeft:!1}addListener(){this._slideTabBar.addEventListener("wheel",this._wheelAction),this._slideTabItems.forEach(i=>{i.addEventListener("pointerdown",this._downAction)})}removeListener(){this._slideTabBar.removeEventListener("wheel",this._wheelAction),this._slideTabItems.forEach(i=>{i.removeEventListener("pointerdown",this._downAction)})}setScroll(i){if(this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+i),i>0){const e=this.calculateLeftScrollX();this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}else if(i<0){const e=this.calculateRightScrollX();this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}flipPage(i){if(i>0){const e=this.calculateLeftScrollX(!0);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}else if(i<0){const e=this.calculateRightScrollX(!0);this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+e)}this._config.onScroll({leftEnd:this.isLeftEnd(),rightEnd:this.isRightEnd()})}calculateLeftScrollX(i){let e=0;const t=4;return this._slideTabItems.some(o=>{const r=this._slideTabBar.getBoundingClientRect(),s=r.left+r.width,a=o.getSlideTabItem().getBoundingClientRect(),c=a.left,u=a.width;return c<s&&c+u+t*2>s?(e=i?c-r.left-t:c+u-s+t,!0):!1}),e}calculateRightScrollX(i){let e=0;const t=4;return this._slideTabItems.some(o=>{const r=this._slideTabBar.getBoundingClientRect(),s=r.left,a=o.getSlideTabItem().getBoundingClientRect(),c=a.left,u=a.width;return c-t*2<s&&c+u>s?(e=i?c+u-r.left-r.width+t:c-s-t,!0):!1}),e}destroy(){this._downActionX=0,this._moveActionX=0,this._compareDirection=0,this._compareIndex=0,this._slideTabItems=[],this._activeTabItem=null,this.removeListener()}_hasEditItem(){for(let i=0;i<this._slideTabItems.length;i++)if(this._slideTabItems[i].isEditMode())return!0;return!1}_autoScrollFrame(){if(this._activeTabItem)switch(this._compareDirection=this._activeTabItem.translateX(this._moveActionX),this._compareDirection){case 1:{this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareRight();break}case 0:{this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareIndex=this._activeTabItemIndex;break}case-1:{this._slideScrollbar.scrollX(this._slideScrollbar.getScrollX()+this._scrollIncremental),this._compareLeft();break}}this._autoScrollTime=requestAnimationFrame(()=>{this._autoScrollFrame()})}_startAutoScroll(){this._autoScrollTime==null&&this._autoScrollFrame()}_closeAutoScroll(){this._autoScrollTime&&cancelAnimationFrame(this._autoScrollTime),this._autoScrollTime=null}_scrollLeft(i){const e=this.getBoundingRect(),t=i.pageX-e.x;t<this._leftBoundingLine&&(this._scrollIncremental=-Math.min(Math.abs(t-this._leftBoundingLine)*.1,50))}_scrollRight(i){const e=this.getBoundingRect(),t=i.pageX-e.x;t>e.width-this._rightBoundingLine&&(this._scrollIncremental=Math.min(Math.abs(t-(e.width-this._rightBoundingLine))*.1,50))}_sortedItems(){if(this._activeTabItem!=null&&this._activeTabItemIndex!=null&&this._compareIndex!=null&&(this._slideTabItems.splice(this._activeTabItemIndex,1),this._slideTabItems.splice(this._compareIndex,0,this._activeTabItem),this._config.slideTabBarItemAutoSort))for(let i=0;i<this._slideTabItems.length;i++){const e=this._slideTabItems[i],t=this._slideTabItems[i+1];t&&e.after(t)}}_compareLeft(){if(this._activeTabItem&&this._activeTabItemIndex){const i=this._slideTabItems.findIndex(r=>r.equals(this._activeTabItem)),e=this._slideTabItems.length,t=[];for(let r=0;r<i&&!(r>=i);r++)t.push(this._slideTabItems[r]);for(let r=i+1;r<e;r++)this._slideTabItems[r].animate().translateX(0);let o=!0;for(let r=t.length-1;r>=0;r--){const s=t[r];yt.leftLine(this._activeTabItem)<s.getMidLine()?(s.animate().translateX(this._activeTabItem.getWidth()),this._compareIndex=r,o=!1):(s.animate().translateX(0),o&&(this._compareIndex=this._activeTabItemIndex))}}}_compareRight(){if(this._activeTabItem){const i=this._slideTabItems.findIndex(r=>r.equals(this._activeTabItem)),e=this._slideTabItems.length,t=[];for(let r=i+1;r<e;r++)t.push(this._slideTabItems[r]);for(let r=0;r<i;r++)this._slideTabItems[r].animate().translateX(0);let o=!0;for(let r=0;r<t.length;r++){const s=t[r];yt.rightLine(this._activeTabItem)>s.getMidLine()?(s.animate().translateX(-this._activeTabItem.getWidth()),this._compareIndex=i+r+1,o=!1):(s.animate().translateX(0),o&&(this._compareIndex=this._activeTabItemIndex))}}}_initConfig(){var e;const i=this._slideTabBar.querySelectorAll(`.${(e=this._config.slideTabBarItemClassName)!=null?e:"slide-tab-item"}`);this._downActionX=0,this._moveActionX=0,this._compareDirection=0,this._compareIndex=0,this._slideTabItems=yt.make(i,this),this._activeTabItemIndex=this._config.currentIndex,this._activeTabItem=this._slideTabItems[this._activeTabItemIndex]}};w(Ut,"LongPressDelay",500),w(Ut,"DoubleClickDelay",300);let Ft=Ut;function gp(){const[n,i]=V.useState([]),[e,t]=V.useState(""),[o,r]=V.useState(""),[s,a]=V.useState(!1),[c,u]=V.useState([0,0]),d=V.useRef({slideTabBar:null}),m=V.useRef(null),g=B.useDependency(l.IUniverInstanceService),p=B.useDependency(l.ICommandService),f=B.useDependency($t),S=B.useDependency(l.LocaleService),v=B.useDependency(b.IConfirmService),I=B.useDependency(Me),R=B.useDependency(je),_=B.useDependency(h.WorksheetProtectionRuleModel),T=B.useDependency(h.RangeProtectionRuleModel),y=b.useObservable(_.resetOrder$),M=g.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),P=B.useDependency(l.IPermissionService),N=V.useCallback(()=>{const j=M.getActiveSheet().getSheetId();t(j);const F=M.getSheets(),te=M.getActiveSheet(),ne=F.filter(se=>!se.isSheetHidden()).map((se,de)=>{var ve;const Se=_.getRule(M.getUnitId(),se.getSheetId()),Re=T.getSubunitRuleList(M.getUnitId(),se.getSheetId()).length>0,Ae=(Se==null?void 0:Se.permissionId)||Re?C.jsxs(C.Fragment,{children:[C.jsx(ar,{}),C.jsx("span",{children:se.getName()})]}):C.jsx("span",{children:se.getName()});return{sheetId:se.getSheetId(),label:Ae,index:de,selected:te===se,color:(ve=se.getTabColor())!=null?ve:void 0}});i(ne)},[M,_]);V.useEffect(()=>{N();const j=D(),F=W(),te=[z(),q(),Y(),X()];return()=>{F.dispose(),j.destroy(),te.forEach(ne=>ne.unsubscribe())}},[y]),V.useEffect(()=>{n.length>0&&H()},[n]),V.useEffect(()=>{const j=O.merge(_.ruleChange$,T.ruleChange$).subscribe(()=>{N()});return()=>{j.unsubscribe()}},[_,N]);const D=()=>{const j=new Ft({slideTabBarClassName:We.slideTabBar,slideTabBarItemActiveClassName:We.slideTabActive,slideTabBarItemClassName:We.slideTabItem,slideTabBarSpanEditClassName:We.slideTabDivEdit,slideTabBarItemAutoSort:!0,slideTabBarContainer:m.current,currentIndex:0,onChangeName:(F,te)=>{p.executeCommand(h.SetWorksheetNameCommand.id,{subUnitId:F,name:te})},onSlideEnd:async(F,te)=>{await p.executeCommand(h.SetWorksheetOrderCommand.id,{order:te})},onChangeTab:(F,te)=>{p.executeCommand(h.SetWorksheetActiveOperation.id,{subUnitId:te,unitId:M.getUnitId()}).then(()=>{F.button===2&&ee(!0)})},onScroll:F=>{f.setScroll(F)},onNameCheckAlert:F=>A(F)||x(F),onNameChangeCheck:()=>{var Se,Re,xe,Ae;const F=M.getUnitId(),ne=(M==null?void 0:M.getActiveSheet()).getSheetId(),se=_.getRule(F,ne),de=T.getSubunitRuleList(F,ne).length>0;return se||de?(Re=(Se=P.getPermissionPoint(new h.WorkbookManageCollaboratorPermission(F).id))==null?void 0:Se.value)!=null?Re:!1:(Ae=(xe=P.getPermissionPoint(new h.WorkbookEditablePermission(F).id))==null?void 0:xe.value)!=null?Ae:!1}});return d.current.slideTabBar=j,K(j),j},A=j=>{if(j.trim()===""){const F="sheetNameEmptyAlert";return v.open({id:F,title:{title:S.t("sheetConfig.sheetNameErrorTitle")},children:{title:S.t("sheetConfig.sheetNameCannotIsEmptyError")},cancelText:S.t("button.cancel"),confirmText:S.t("button.confirm"),onClose(){L(),v.close(F)},onConfirm(){L(),v.close(F)}}),!0}return!1},x=j=>{const F=g.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(F.getActiveSheet().getName()===j)return!1;const se=F.checkSheetName(j);if(se){const de="sheetNameRepeatAlert";v.open({id:de,title:{title:S.t("sheetConfig.sheetNameErrorTitle")},children:{title:S.t("sheetConfig.sheetNameAlreadyExistsError")},cancelText:S.t("button.cancel"),confirmText:S.t("button.confirm"),onClose(){v.close(de),L()},onConfirm(){v.close(de),L()}})}return se},L=()=>{I.endSelection(),setTimeout(()=>{var F;const j=(F=d.current.slideTabBar)==null?void 0:F.getActiveItem();j&&(j.focus(),j.selectAll())},0)},U=()=>{var j,F;(F=(j=d.current.slideTabBar)==null?void 0:j.getActiveItem())==null||F.setEditor()},H=()=>{var F;const j=n.findIndex(te=>te.selected);(F=d.current.slideTabBar)==null||F.update(j)},W=()=>p.onCommandExecuted(j=>{switch(j.id){case h.SetTabColorMutation.id:case h.SetWorksheetHideMutation.id:case h.RemoveSheetMutation.id:case h.SetWorksheetNameMutation.id:case h.InsertSheetMutation.id:case h.SetWorksheetOrderMutation.id:case h.SetWorksheetActiveOperation.id:N();break}}),z=()=>f.scroll$.subscribe(j=>{Z(j)}),q=()=>f.scrollX$.subscribe(j=>{var F;(F=d.current.slideTabBar)==null||F.flipPage(j)}),Y=()=>f.renameId$.subscribe(()=>{U()}),X=()=>f.addSheet$.subscribe(()=>{var j;(j=d.current.slideTabBar)==null||j.getScrollbar().scrollRight()}),Z=j=>{const{leftEnd:F,rightEnd:te}=j;let ne="";F&&te?ne="":F&&!te?ne="inset -10px 0px 10px -10px rgba(0, 0, 0, 0.2)":!F&&te?ne="inset 10px 0px 10px -10px rgba(0, 0, 0, 0.2)":!F&&!te&&(ne="inset 10px 0px 10px -10px rgba(0, 0, 0, 0.2), inset -10px 0px 10px -10px rgba(0, 0, 0, 0.2)"),r(ne)},G=j=>{f.setScroll({leftEnd:j.isLeftEnd(),rightEnd:j.isRightEnd()})},K=j=>{var ne;const F=(ne=m.current)==null?void 0:ne.querySelector(`.${We.slideTabBar}`);if(!F)return;new ResizeObserver(()=>{G(j)}).observe(F)},ee=j=>{var F,te,ne,se,de;if(!R.isForceKeepVisible()){if(j){const{left:Se}=(te=(F=m.current)==null?void 0:F.getBoundingClientRect())!=null?te:{},{left:Re}=(de=(se=(ne=d.current.slideTabBar)==null?void 0:ne.getActiveItem())==null?void 0:se.getSlideTabItem().getBoundingClientRect())!=null?de:{};Se!==void 0&&Re!==void 0&&u([Re-Se,0])}a(j)}};return C.jsx(ie.Dropdown,{className:We.slideTabItemDropdown,visible:s,align:{offset:c},trigger:["contextMenu"],overlay:C.jsx(b.Menu,{menuType:Ce.SHEET_BAR,onOptionSelect:j=>{const{label:F,value:te}=j;p.executeCommand(F,{value:te,subUnitId:e}),a(!1)}}),onVisibleChange:ee,children:C.jsx("div",{className:We.slideTabBarContainer,ref:m,children:C.jsx("div",{className:We.slideTabBar,style:{boxShadow:o},children:n.map(j=>V.createElement(cp,{...j,key:j.sheetId,selected:e===j.sheetId}))})})})}const ls=100,pp=()=>{const[n,i]=V.useState(!0),[e,t]=V.useState(!0),[o,r]=V.useState(!1),s=B.useDependency(l.ICommandService),a=B.useDependency($t),c=B.useDependency(l.IPermissionService),m=B.useDependency(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getUnitId();V.useEffect(()=>{const v=a.scroll$.subscribe(I=>{g(I)});return()=>{v.unsubscribe()}},[]),V.useEffect(()=>{var I,R,_;const v=(_=(R=c.getPermissionPoint$((I=new h.WorkbookEditablePermission(m))==null?void 0:I.id))==null?void 0:R.pipe(O.map(T=>{var y;return(y=T==null?void 0:T.value)!=null?y:!1})))==null?void 0:_.subscribe(T=>{r(T!=null?T:!1)});return()=>{v&&v.unsubscribe()}},[]);const g=v=>{const{leftEnd:I,rightEnd:R}=v;i(I),t(R)},p=()=>{s.executeCommand(h.InsertSheetCommand.id),setTimeout(()=>{a.setAddSheet(0)},0)},f=()=>{a.setScrollX(-ls)},S=()=>{a.setScrollX(ls)};return C.jsxs("div",{className:Zn.sheetBar,children:[C.jsxs("div",{className:Zn.sheetBarOptions,children:[C.jsx(ui,{onClick:p,disabled:!o,children:C.jsx(ba,{})}),C.jsx(tp,{})]}),C.jsx(gp,{}),(!n||!e)&&C.jsxs("div",{className:`${Zn.sheetBarOptions} ${Zn.sheetBarOptionsDivider}`,children:[C.jsx(ui,{disabled:n,onClick:f,children:C.jsx(ns,{style:{transform:"rotateZ(180deg)"}})}),C.jsx(ui,{disabled:e,onClick:S,children:C.jsx(ns,{})})]})]})};class fp{constructor(){w(this,"_functions",[{func:$.FUNCTION_NAMES_STATISTICAL.MAX,filter:i=>{var e,t,o,r;return((t=(e=i.values.find(s=>s.func===$.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?t:0)>1&&((r=(o=i.values.find(s=>s.func===$.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:o.value)!=null?r:0)>0}},{func:$.FUNCTION_NAMES_STATISTICAL.MIN,filter:i=>{var e,t,o,r;return((t=(e=i.values.find(s=>s.func===$.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?t:0)>1&&((r=(o=i.values.find(s=>s.func===$.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:o.value)!=null?r:0)>0}},{func:$.FUNCTION_NAMES_MATH.SUM,filter:i=>{var e,t,o,r;return((t=(e=i.values.find(s=>s.func===$.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?t:0)>1&&((r=(o=i.values.find(s=>s.func===$.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:o.value)!=null?r:0)>0}},{func:$.FUNCTION_NAMES_STATISTICAL.COUNTA,filter:i=>{var e,t;return((t=(e=i.values.find(o=>o.func===$.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?t:0)>1}},{func:$.FUNCTION_NAMES_STATISTICAL.COUNT,filter:i=>{var e,t,o,r;return((t=(e=i.values.find(s=>s.func===$.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?t:0)>1&&((r=(o=i.values.find(s=>s.func===$.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:o.value)!=null?r:0)>0}},{func:$.FUNCTION_NAMES_STATISTICAL.AVERAGE,filter:i=>{var e,t,o,r;return((t=(e=i.values.find(s=>s.func===$.FUNCTION_NAMES_STATISTICAL.COUNTA))==null?void 0:e.value)!=null?t:0)>1&&((r=(o=i.values.find(s=>s.func===$.FUNCTION_NAMES_STATISTICAL.COUNT))==null?void 0:o.value)!=null?r:0)>0}}]);w(this,"_state$",new O.BehaviorSubject(null));w(this,"state$",this._state$.asObservable())}dispose(){this._state$.complete()}setState(i){var t;const e={values:[],pattern:null};i==null||i.values.forEach(o=>{const r=this._functions.find(s=>s.func===o.func);r&&(r.filter===void 0||r.filter(i))&&e.values.push(o)}),e.pattern=(t=i==null?void 0:i.pattern)!=null?t:null,this._state$.next(e)}getState(){return this._state$.getValue()}getFunctions(){return this._functions}addFunctions(i){this._functions.push(...i)}}const cr=k.createIdentifier("univer.sheet-status-bar.service"),Sp="univer-status-bar",vp="univer-single-mode",Cp="univer-status-bar-div",Ip="univer-statistic-list",Rp="univer-statistic-list-column",bp="univer-statistic-item",_p="univer-statistic-picker",Tp="univer-statistic-picker-item",wp="univer-statistic-more",Ht={statusBar:Sp,singleMode:vp,statusBarDiv:Cp,statisticList:Ip,statisticListColumn:Rp,statisticItem:bp,statisticPicker:_p,statisticPickerItem:Tp,statisticMore:wp},Mp=[$.FUNCTION_NAMES_MATH.SUM,$.FUNCTION_NAMES_STATISTICAL.AVERAGE,$.FUNCTION_NAMES_STATISTICAL.MIN,$.FUNCTION_NAMES_STATISTICAL.MAX],ho={[$.FUNCTION_NAMES_MATH.SUM]:"statusbar.sum",[$.FUNCTION_NAMES_STATISTICAL.AVERAGE]:"statusbar.average",[$.FUNCTION_NAMES_STATISTICAL.MIN]:"statusbar.min",[$.FUNCTION_NAMES_STATISTICAL.MAX]:"statusbar.max",[$.FUNCTION_NAMES_STATISTICAL.COUNT]:"statusbar.count",[$.FUNCTION_NAMES_STATISTICAL.COUNTA]:"statusbar.countA",[$.FUNCTION_NAMES_TEXT.CONCATENATE]:"concatenate"},mo=n=>{const i=B.useDependency(l.LocaleService),e=B.useDependency(b.IMessageService),t=B.useDependency(b.IClipboardInterfaceService),o=yp(n),r=async()=>{await t.writeText(n.value.toString()),e.show({type:ie.MessageType.Success,content:i.t("statusbar.copied")})};return C.jsx(ie.Tooltip,{title:i.t("statusbar.clickToCopy"),placement:"top",children:C.jsx("div",{className:Ht.statisticItem,onClick:r,children:C.jsx("span",{children:`${i.t((ho==null?void 0:ho[n.name])||n.name)}: ${o}`})},n.name)})};function yp(n){const{pattern:i,value:e}=n;return typeof e!="number"?"Invalid input":e>=1e8?e.toExponential(2):i&&Mp.includes(n.name)?ii.format(i,e):e.toLocaleString()}const cs=800,Pp=3,Ep=()=>{const[n,i]=V.useState(window.innerWidth<cs),[e,t]=V.useState(!0),o=B.useDependency(cr),r=o.getFunctions().map((g,p)=>({name:g.func,value:0,show:!0,disable:!1,pattern:null})),[s,a]=V.useState(r),c=s.find(g=>g.show&&!g.disable),u=n&&c?[c]:s.filter(g=>g.show&&!g.disable);V.useEffect(()=>{const g=o.state$.subscribe(p=>{const f=p==null?void 0:p.values;if(!f||f.length===0)t(!1);else{t(!0);const S=s.map(v=>{var R;const I=f.find(_=>_.func===v.name);return I?(v.value=I.value,v.disable=!1):v.disable=!0,v.pattern=(R=p==null?void 0:p.pattern)!=null?R:null,v});a(S)}});return()=>{g.unsubscribe()}},[o]);const d=l.debounce(()=>{const g=window.innerWidth<cs;n!==g&&i(g)},100);V.useEffect(()=>(window.addEventListener("resize",d),()=>{window.removeEventListener("resize",d)}),[n]);let m=null;if(u.length>Pp){const g=[];u.forEach((p,f)=>{f%2===0&&g.push(u.slice(f,f+2))}),m=C.jsxs(C.Fragment,{children:[" ",g.map((p,f)=>C.jsxs("div",{className:Ht.statisticListColumn,children:[(p==null?void 0:p[0])&&C.jsx(mo,{...p==null?void 0:p[0]},p==null?void 0:p[0].name),(p==null?void 0:p[1])&&C.jsx(mo,{...p==null?void 0:p[1]},p==null?void 0:p[1].name)]},`stat-col-${f}`))," "]})}else m=C.jsx(C.Fragment,{children:u.map(g=>C.jsx(mo,{...g},g.name))});return e&&C.jsxs("div",{className:fe(Ht.statusBar,{[Ht.singleMode]:n}),children:[C.jsx("div",{className:fe(Ht.statisticList),children:m}),C.jsx("div",{className:Ht.statusBarDiv})]})};function Op(){const n=B.useDependency(l.IUniverInstanceService);return b.useObservable(()=>n.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET),null,!1,[])?C.jsxs("section",{className:ta.sheetContainer,"data-range-selector":!0,children:[C.jsx(pp,{}),C.jsx(Ep,{}),C.jsx(Wm,{})]}):null}function Ap(){const n=B.useDependency(l.IUniverInstanceService);return b.useObservable(()=>n.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET),null,!1,[])?C.jsx(Ng,{}):null}function Np(){const n=B.useDependency(l.IUniverInstanceService);return b.useObservable(()=>n.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET),null,!1,[])?C.jsxs(C.Fragment,{children:[C.jsx(Fm,{}),C.jsx(jg,{})]}):null}const go={width:"100%"},ds=n=>{const{inputId:i,state:e=!1,type:t="range",confirm:o,cancel:r,name:s,formulaOrRefString:a,comment:c="",localSheetId:u=Uo,hidden:d=!1,id:m}=n,p=B.useDependency(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),f=B.useDependency(l.LocaleService),S=B.useDependency($.IDefinedNamesService),v=B.useDependency($.IFunctionService),I=B.useDependency($.LexerTreeBuilder);if(p==null)return;const R=p.getUnitId();p.getActiveSheet().getSheetId();const[_,T]=V.useState(s),[y,M]=V.useState(a),[P,N]=V.useState(c),[D,A]=V.useState(u),[x,L]=V.useState(""),[U,H]=V.useState(t),[W,z]=V.useState(!0),q=[{label:f.t("definedName.scopeWorkbook"),value:Uo}],Y=j=>!$.isReferenceStrings(j);V.useEffect(()=>{z(!0),T(s),N(c),A(u);let j=a;a.substring(0,1)===$.operatorToken.EQUALS?H("formula"):Y(a)?(H("formula"),j=$.operatorToken.EQUALS+a):H("range"),M(j),L("")},[e]),p.getSheetOrders().forEach(j=>{const F=p.getSheetBySheetId(j);q.push({label:(F==null?void 0:F.getName())||"",value:j})});const X=j=>j.map(te=>{var ne;return $.serializeRangeToRefString({...te,sheetName:((ne=p.getSheetBySheetId(te.sheetId))==null?void 0:ne.getName())||""})}).join(","),Z=j=>{M(X(j))},G=j=>{M(j||"")},K=()=>{if(_.length===0){L(f.t("definedName.nameEmpty"));return}if(S.getValueByName(R,_)!=null&&(m==null||m.length===0)){L(f.t("definedName.nameDuplicate"));return}if(!l.Tools.isValidParameter(_)||$.isReferenceStringWithEffectiveColumn(_)||!l.Tools.isStartValidPosition(_)&&!E.hasCJKText(_.substring(0,1))){L(f.t("definedName.nameInvalid"));return}if(p.getSheetOrders().map(F=>{var te;return((te=p.getSheetBySheetId(F))==null?void 0:te.getName())||""}).includes(_)){L(f.t("definedName.nameSheetConflict"));return}if(y.length===0){L(f.t("definedName.formulaOrRefStringEmpty"));return}if(!W){L(f.t("definedName.formulaOrRefStringInvalid"));return}if(v.hasExecutor(_.toUpperCase())){L(f.t("definedName.nameConflict"));return}o&&o({id:m||"",name:_,formulaOrRefString:I.convertRefersToAbsolute(y,l.AbsoluteRefType.ALL,l.AbsoluteRefType.ALL),comment:P,localSheetId:D})},ee=j=>{const F=j;F==="formula"&&y.substring(0,1)!==$.operatorToken.EQUALS?(M(`${$.operatorToken.EQUALS}`),M(`${$.operatorToken.EQUALS}`)):y.substring(0,1)===$.operatorToken.EQUALS&&(M(""),M("")),H(F)};return C.jsxs("div",{className:me.definedNameInput,style:{display:e?"block":"none"},children:[C.jsx("div",{children:C.jsx(ie.Input,{placeholder:f.t("definedName.inputNamePlaceholder"),value:_,allowClear:!0,onChange:T,affixWrapperStyle:go})}),C.jsx("div",{children:C.jsxs(ie.RadioGroup,{value:U,onChange:ee,children:[C.jsx(ie.Radio,{value:"range",children:f.t("definedName.ratioRange")}),C.jsx(ie.Radio,{value:"formula",children:f.t("definedName.ratioFormula")})]})}),C.jsx("div",{style:{display:U==="range"?"block":"none"},children:C.jsx(b.RangeSelector,{value:y,onValid:z,onChange:Z,placeholder:f.t("definedName.inputRangePlaceholder"),id:l.createInternalEditorID(`${i}-rangeSelector`),width:"99%",openForSheetUnitId:R},`${i}-rangeSelector`)}),C.jsx("div",{style:{display:U==="range"?"none":"block"},children:C.jsx(b.TextEditor,{value:y,onValid:z,onChange:G,id:l.createInternalEditorID(`${i}-editor`),placeholder:f.t("definedName.inputFormulaPlaceholder"),openForSheetUnitId:R,onlyInputFormula:!0,style:{width:"99%"},canvasStyle:{fontSize:10}},`${i}-editor`)}),C.jsx("div",{children:C.jsx(ie.Select,{style:go,value:D,options:q,onChange:A})}),C.jsx("div",{children:C.jsx(ie.Input,{affixWrapperStyle:go,placeholder:f.t("definedName.inputCommentPlaceholder"),value:P,onChange:N})}),C.jsxs("div",{style:{display:x.length===0?"none":"flex"},className:me.definedNameInputValidation,children:[C.jsx("span",{children:x}),C.jsx(va,{})]}),C.jsxs("div",{children:[C.jsx(ie.Button,{onClick:()=>{r&&r()},children:f.t("definedName.cancel")}),C.jsx(ie.Button,{style:{marginLeft:15},type:"primary",onClick:K,children:f.t("definedName.confirm")})]})]})},xp=()=>{const n=B.useDependency(l.ICommandService),e=B.useDependency(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),t=B.useDependency(l.LocaleService),o=B.useDependency($.IDefinedNamesService),r=B.useDependency(h.SelectionManagerService);if(e==null)return;const s=e.getUnitId(),a=()=>{const x=o.getDefinedNameMap(s);return x?Array.from(Object.values(x)):[]},[c,u]=V.useState(!1),[d,m]=V.useState(a()),[g,p]=V.useState(null),[f,S]=V.useState();V.useEffect(()=>{const x=o.update$.subscribe(()=>{m(a())});return()=>{x.unsubscribe()}},[]);const v=x=>{const{name:L,formulaOrRefString:U,comment:H,localSheetId:W,hidden:z}=x;let q=x.id;if(q==null||q.length===0)q=l.Tools.generateRandomId(10),n.executeCommand(h.InsertDefinedNameCommand.id,{id:q,unitId:s,name:L,formulaOrRefString:U,comment:H,localSheetId:W,hidden:z});else{const Y=o.getValueById(s,q),X={id:q,unitId:s,name:L,formulaOrRefString:U,comment:H,localSheetId:W,hidden:z};n.executeCommand(h.SetDefinedNameCommand.id,{unitId:s,oldDefinedName:{...Y,unitId:s},newDefinedName:X})}u(!1),p(null)},I=x=>{S(x)};function R(){S(null)}function _(x){const L=o.getValueById(s,x);n.executeCommand(h.RemoveDefinedNameCommand.id,{...L,unitId:s}),S(null)}const T=x=>{o.focusRange(s,x.id)},y=()=>{const x=d.length+1,L=t.t("definedName.defaultName")+x;if(o.getValueByName(s,L)==null)return L;let U=x+1;for(;;){const H=t.t("definedName.defaultName")+U;if(o.getValueByName(s,H)==null)return H;U++}},M=()=>{const x=e.getActiveSheet().getName(),L=r.getSelections();return L==null?"":L.map(H=>$.serializeRangeWithSheet(x,H.range)).join(",")},P=()=>{u(!1),p(null)},N=()=>{u(!0),p(null)},D=x=>{u(!1),p(x)},A=x=>{const L=e.getSheetBySheetId(x);return L==null?"":L.getName()};return C.jsx("div",{className:me.definedNameContainer,children:C.jsxs("div",{className:me.definedNameContainerScroll,children:[C.jsxs("div",{children:[C.jsxs("div",{onClick:N,className:me.definedNameContainerAddButton,style:{display:c?"none":"flex"},children:[C.jsx(ba,{}),C.jsx("span",{className:me.definedNameContainerAddButtonText,children:t.t("definedName.addButton")})]}),C.jsx(ds,{confirm:v,cancel:P,state:c,inputId:"insertDefinedName",name:y(),formulaOrRefString:M()})]},"insertDefinedName"),d.map((x,L)=>C.jsxs("div",{children:[C.jsxs("div",{onClick:()=>{T(x)},className:me.definedNameContainerItem,style:{display:x.id===g?"none":"flex"},children:[C.jsxs("div",{title:x.comment,children:[C.jsxs("div",{className:me.definedNameContainerItemName,children:[x.name,C.jsx("span",{className:me.definedNameContainerItemNameForSheet,children:x.localSheetId===Uo||x.localSheetId==null?"":A(x.localSheetId)})]}),C.jsx("div",{className:me.definedNameContainerItemFormulaOrRefString,children:x.formulaOrRefString})]}),C.jsx(ie.Tooltip,{title:t.t("definedName.updateButton"),placement:"top",style:{pointerEvents:"none"},children:C.jsx("div",{className:fe(me.definedNameContainerItemUpdate,me.definedNameContainerItemShow),onClick:()=>{D(x.id)},children:C.jsx(St,{})})}),C.jsx(ie.Tooltip,{title:t.t("definedName.deleteButton"),placement:"top",style:{pointerEvents:"none"},children:C.jsx("div",{className:fe(me.definedNameContainerItemDelete,me.definedNameContainerItemShow),onClick:()=>{I(x.id)},children:C.jsx(Zi,{})})})]}),C.jsx(ie.Confirm,{visible:f===x.id,onClose:R,onConfirm:()=>{_(x.id)},children:t.t("definedName.deleteConfirmText")}),C.jsx(ds,{confirm:v,cancel:P,state:x.id===g,id:x.id,inputId:x.id+L,name:x.name,formulaOrRefString:x.formulaOrRefString,comment:x.comment,localSheetId:x.localSheetId})]},L))]})})};var Dp=Object.defineProperty,kp=Object.getOwnPropertyDescriptor,Lp=(n,i,e,t)=>{for(var o=t>1?void 0:t?kp(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&Dp(i,e,o),o};const us={name:"",unitId:"",subUnitId:"",permissionId:"",unitType:ae.Unkonwn,id:"",ranges:[]};var Wt=(n=>(n.othersCanView="othersCanView",n.noOneElseCanView="noOneElseCanView",n))(Wt||{});let ye=class{constructor(){w(this,"_rule",us);w(this,"_rule$",new O.BehaviorSubject(this._rule));w(this,"_oldRule");w(this,"_rangeErrorMsg$",new O.BehaviorSubject(""));w(this,"rangeErrorMsg$",this._rangeErrorMsg$.asObservable());w(this,"rule$",this._rule$.asObservable())}setRangeErrorMsg(n){this._rangeErrorMsg$.next(n)}get rule(){return this._rule}setRule(n){this._rule={...this._rule,...n},this._rule$.next(this._rule)}resetRule(){this._rule=us,this._rule$.next(this._rule)}get oldRule(){return this._oldRule}setOldRule(n){this._oldRule=n}};ye=Lp([l.OnLifecycle(l.LifecycleStages.Starting,ye)],ye);class kn{constructor(){w(this,"_userList",[]);w(this,"_oldCollaboratorList",[]);w(this,"_selectUserList",[]);w(this,"_allUserList",[]);w(this,"_selectUserList$",new O.BehaviorSubject(this._selectUserList));w(this,"selectUserList$",this._selectUserList$.asObservable())}get userList(){return this._userList}get allUserList(){return this._allUserList}setAllUserList(i){this._allUserList=i}setUserList(i){this._userList=i}get oldCollaboratorList(){return this._oldCollaboratorList}setOldCollaboratorList(i){this._oldCollaboratorList=i}get selectUserList(){return this._selectUserList}setSelectUserList(i){this._selectUserList=i,this._selectUserList$.next(i)}}const Ln="UNIVER_SHEET_PERMISSION_PANEL",Hn="UNIVER_SHEET_PERMISSION_PANEL_FOOTER",Na="UNIVER_SHEET_PERMISSION_USER_DIALOG",xa="UNIVER_SHEET_PERMISSION_DIALOG",Ni="UNIVER_SHEET_PERMISSION_USER_DIALOG_ID",xi="UNIVER_SHEET_PERMISSION_DIALOG_ID",Gn={[J.Copy]:"Copy",[J.SetCellStyle]:"SetCellStyle",[J.SetCellValue]:"SetCellValue",[J.SetRowStyle]:"SetRowStyle",[J.SetColumnStyle]:"SetColumnStyle",[J.InsertRow]:"InsertRow",[J.InsertColumn]:"InsertColumn",[J.InsertHyperlink]:"InsertHyperlink",[J.DeleteRow]:"DeleteRow",[J.DeleteColumn]:"DeleteColumn",[J.Sort]:"Sort",[J.Filter]:"Filter",[J.PivotTable]:"PivotTable",[J.EditExtraObject]:"EditExtraObject"},Hp=[J.Copy,J.SetCellStyle,J.SetCellValue,J.SetRowStyle,J.SetColumnStyle,J.InsertRow,J.InsertColumn,J.InsertHyperlink,J.DeleteRow,J.DeleteColumn,J.Sort,J.Filter,J.PivotTable,J.EditExtraObject,J.View],Da="sheet-permission-menu-icon",Vp="sheet-permission-delete-icon",Wp="sheet-permission-edit-icon",Up="sheet-permission-check-icon",ka="sheet-permission-lock-icon",vt={type:l.CommandType.OPERATION,id:"sheet-permission.operation.openPanel",async handler(n,i={}){const e=n.get(b.ISidebarService),t=n.get(ye),o=n.get(kn),{showDetail:r=!0,fromSheetBar:s=!1}=i,a={header:{title:"permission.panel.title"},children:{label:Ln,showDetail:r,fromSheetBar:s},width:320,footer:{label:Hn,showDetail:r},onClose:()=>{t.setRangeErrorMsg(""),t.resetRule(),o.setUserList([]),o.setSelectUserList([]),o.setOldCollaboratorList([]),o.setAllUserList([])}};return e.open(a),!0}},Bp={type:l.CommandType.OPERATION,id:"sheet-permission.operation.openDialog",async handler(n,i){const e=n.get(b.IDialogService);return e.close("DESKTOP_FIND_REPLACE_DIALOG"),e.open({id:xi,title:{title:"permission.dialog.allowedPermissionType"},children:{label:xa},width:393,destroyOnClose:!0,onClose:()=>e.close(xi)}),!0}},dr={type:l.CommandType.COMMAND,id:"sheet.command.add-worksheet-protection",async handler(n,i){if(!i)return!1;const e=n.get(l.ICommandService),t=n.get(l.IUndoRedoService),{rule:o,unitId:r}=i,s=o.subUnitId;if(await e.executeCommand(h.AddWorksheetProtectionMutation.id,{unitId:r,rule:o})){const c=[{id:h.AddWorksheetProtectionMutation.id,params:{unitId:r,rule:o}}],u=[{id:h.DeleteWorksheetProtectionMutation.id,params:{unitId:r,subUnitId:s}}];t.pushUndoRedo({unitID:r,redoMutations:c,undoMutations:u})}return!0}},wn={type:l.CommandType.COMMAND,id:"sheet.command.delete-worksheet-protection",handler(n,i){if(!i)return!1;const e=n.get(l.ICommandService),t=n.get(l.IUndoRedoService),{rule:o,unitId:r,subUnitId:s}=i;e.executeCommand(h.DeleteWorksheetProtectionMutation.id,{unitId:r,subUnitId:s});const a=[{id:h.DeleteWorksheetProtectionMutation.id,params:{unitId:r,subUnitId:s}}],c=[{id:h.AddWorksheetProtectionMutation.id,params:{unitId:r,rule:o}}];return t.pushUndoRedo({unitID:r,redoMutations:a,undoMutations:c}),!0}},Fp={type:l.CommandType.COMMAND,id:"sheet.command.set-worksheet-protection",async handler(n,i){if(!i)return!1;const e=n.get(l.ICommandService),t=n.get(ye),o=n.get(l.IUndoRedoService),{rule:r,permissionId:s}=i,{unitId:a,subUnitId:c}=r,u={...r,permissionId:s},d=t.oldRule;if(await e.executeCommand(h.SetWorksheetProtectionMutation.id,{unitId:a,subUnitId:c,newRule:u})){const g=[{id:h.SetWorksheetProtectionMutation.id,params:{unitId:a,subUnitId:c,newRule:u}}],p=[{id:h.SetWorksheetProtectionMutation.id,params:{unitId:a,subUnitId:c,rule:d}}];o.pushUndoRedo({unitID:a,redoMutations:g,undoMutations:p})}return!0}},La={type:l.CommandType.COMMAND,id:"sheet.command.delete-worksheet-protection-from-sheet-bar",async handler(n,i){if(!i)return!1;const e=n.get(l.ICommandService),t=n.get(l.IUndoRedoService),o=n.get(h.WorksheetProtectionRuleModel),s=n.get(l.IUniverInstanceService).getCurrentUnitForType(wi.UNIVER_SHEET),a=s==null?void 0:s.getActiveSheet(),c=s.getUnitId(),u=a.getSheetId(),d=o.getRule(c,u);if(await e.executeCommand(wn.id,{unitId:c,subUnitId:u})){const g=[{id:wn.id,params:{unitId:c,subUnitId:u}}],p=[{id:dr.id,params:{unitId:c,rule:d}}];t.pushUndoRedo({unitID:c,redoMutations:g,undoMutations:p})}return!0}},Ha={type:l.CommandType.COMMAND,id:"sheet.command.change-sheet-protection-from-sheet-bar",async handler(n){return await n.get(l.ICommandService).executeCommand("sheet-permission.operation.openDialog"),!0}},Va={type:l.CommandType.COMMAND,id:"sheet.command.add-range-protection-from-toolbar",async handler(n){const i=n.get(l.ICommandService);return n.get(ye).resetRule(),await i.executeCommand(vt.id,{showDetail:!0}),!0}},Wa={type:l.CommandType.COMMAND,id:"sheet.command.add-range-protection-from-context-menu",async handler(n){const i=n.get(l.ICommandService);return n.get(ye).resetRule(),await i.executeCommand(vt.id,{showDetail:!0}),!0}},Ua={type:l.CommandType.COMMAND,id:"sheet.command.view-sheet-permission-from-context-menu",async handler(n){return await n.get(l.ICommandService).executeCommand(vt.id,{showDetail:!1}),!0}},Ba={type:l.CommandType.COMMAND,id:"sheet.command.add-range-protection-from-sheet-bar",async handler(n){const i=n.get(l.ICommandService);return n.get(ye).resetRule(),await i.executeCommand(vt.id,{fromSheetBar:!0,showDetail:!0}),!0}},Fa={type:l.CommandType.COMMAND,id:"sheet.command.view-sheet-permission-from-sheet-bar",async handler(n){return await n.get(l.ICommandService).executeCommand(vt.id,{showDetail:!1}),!0}};l.CommandType.COMMAND;l.CommandType.COMMAND;l.CommandType.COMMAND;const ja={type:l.CommandType.COMMAND,id:"sheet.command.delete-range-protection-from-context-menu",async handler(n){var m;const i=n.get(l.ICommandService),e=n.get(l.IUniverInstanceService),t=n.get(l.IUndoRedoService),o=n.get(h.SelectionManagerService),r=n.get(h.WorksheetProtectionRuleModel),s=e.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),a=s.getActiveSheet(),c=s.getUnitId(),u=a.getSheetId(),d=r.getRule(c,u);if(d!=null&&d.permissionId&&(d!=null&&d.name))return i.executeCommand(wn.id,{unitId:c,subUnitId:u,rule:d});{const g=(m=o.getLast())==null?void 0:m.range;if(!g)return!1;const S=n.get(h.RangeProtectionRuleModel).getSubunitRuleList(c,u).find(v=>v.ranges.some(I=>l.Rectangle.intersects(I,g)));if(S){const v={unitId:c,subUnitId:u,ruleIds:[S.id]};return await i.executeCommand(h.DeleteRangeProtectionMutation.id,v)&&t.pushUndoRedo({unitID:c,redoMutations:[{id:h.DeleteRangeProtectionMutation.id,params:v}],undoMutations:[{id:h.AddRangeProtectionMutation.id,params:{unitId:c,subUnitId:u,rules:[S]}}]}),!0}else return!1}}},Xa={type:l.CommandType.COMMAND,id:"sheet.command.set-range-protection-from-context-menu",async handler(n){var m;const i=n.get(l.ICommandService),e=n.get(l.IUniverInstanceService),t=n.get(h.SelectionManagerService),o=n.get(h.WorksheetProtectionRuleModel),r=e.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),s=r.getActiveSheet(),a=r.getUnitId(),c=s.getSheetId(),u=o.getRule(a,c),d=n.get(ye);if(u!=null&&u.permissionId&&(u!=null&&u.name)){const g={...u,unitId:a,subUnitId:c,ranges:[]};return d.setRule(g),d.setOldRule(g),await i.executeCommand(vt.id,{showDetail:!0}),!0}else{const g=(m=t.getLast())==null?void 0:m.range;if(!g)return!1;const S=n.get(h.RangeProtectionRuleModel).getSubunitRuleList(a,c).find(v=>{var I;return(I=v==null?void 0:v.ranges)==null?void 0:I.some(R=>l.Rectangle.intersects(R,g))});if(S){const v={...S,unitId:a,subUnitId:c};return d.setRule(v),d.setOldRule(v),await i.executeCommand(vt.id,{showDetail:!0}),!0}else return!1}}},za={type:l.CommandType.COMMAND,id:"sheet.command.set-protection",async handler(n,i){if(!i)return!1;const e=n.get(l.ICommandService),t=n.get(l.IUndoRedoService),o=n.get(ye),r=n.get(h.RangeProtectionRuleModel),{rule:s}=i,{unitId:a,subUnitId:c}=s,u=[],d=[],m=o.oldRule;return(m==null?void 0:m.unitType)===s.unitType?s.unitType===ae.Worksheet?(u.push({id:h.SetWorksheetProtectionMutation.id,params:{unitId:a,subUnitId:c,rule:s}}),d.push({id:h.SetWorksheetProtectionMutation.id,params:{unitId:a,subUnitId:c,rule:m}})):(u.push({id:h.SetRangeProtectionMutation.id,params:{unitId:a,subUnitId:c,rule:s,ruleId:s.id}}),d.push({id:h.SetRangeProtectionMutation.id,params:{unitId:a,subUnitId:c,ruleId:m.id,rule:m}})):(m&&(m.unitType===ae.Worksheet?(u.push({id:h.DeleteWorksheetProtectionMutation.id,params:{unitId:a,subUnitId:c}}),d.push({id:h.AddWorksheetProtectionMutation.id,params:{unitId:a,rule:m}})):m.unitType===ae.SelectRange&&(u.push({id:h.DeleteRangeProtectionMutation.id,params:{unitId:a,subUnitId:c,ruleIds:[m.id]}}),d.push({id:h.AddRangeProtectionMutation.id,params:{unitId:a,subUnitId:c,rules:[m]}}))),s.unitType===ae.Worksheet?(u.push({id:h.AddWorksheetProtectionMutation.id,params:{unitId:a,rule:s}}),d.unshift({id:h.DeleteWorksheetProtectionMutation.id,params:{unitId:a,subUnitId:c}})):s.unitType===ae.SelectRange&&(s.id=r.createRuleId(a,c),u.push({id:h.AddRangeProtectionMutation.id,params:{unitId:a,subUnitId:c,rules:[s]}}),d.unshift({id:h.DeleteRangeProtectionMutation.id,params:{unitId:a,subUnitId:c,ruleIds:[s.id]}}))),l.sequenceExecute(u,e)&&t.pushUndoRedo({unitID:a,undoMutations:d,redoMutations:u}),!0}},Gi="sheet.menu.clear-selection";function jp(n){return{id:Gi,group:b.MenuGroup.CONTEXT_MENU_FORMAT,type:b.MenuItemType.SUBITEMS,icon:"ClearFormat",title:"rightClick.clearSelection",positions:[b.MenuPosition.CONTEXT_MENU,Ce.COL_HEADER_CONTEXT_MENU,Ce.ROW_HEADER_CONTEXT_MENU]}}function Xp(n){return{id:h.ClearSelectionContentCommand.id,type:b.MenuItemType.BUTTON,title:"rightClick.clearContent",positions:[Gi],disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellValuePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function zp(n){return{id:h.ClearSelectionFormatCommand.id,type:b.MenuItemType.BUTTON,title:"rightClick.clearFormat",positions:[Gi],disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function Yp(n){return{id:h.ClearSelectionAllCommand.id,type:b.MenuItemType.BUTTON,title:"rightClick.clearAll",positions:[Gi],disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellValuePermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}const Vn="sheet.menu.delete";function Zp(n){return{id:Vn,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.SUBITEMS,title:"rightClick.delete",icon:"Reduce",positions:[b.MenuPosition.CONTEXT_MENU],hidden$:Vi(n),disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission]})}}function Gp(n){return{id:aa.id,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.BUTTON,icon:"DeleteColumn",positions:[Vn,Ce.COL_HEADER_CONTEXT_MENU],title:"rightClick.deleteSelectedColumn",hidden$:xs(n,"col"),disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetDeleteColumnPermission]})}}function qp(n){return{id:sa.id,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.BUTTON,icon:"DeleteRow",positions:[Vn,Ce.ROW_HEADER_CONTEXT_MENU],title:"rightClick.deleteSelectedRow",disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetDeleteRowPermission]}),hidden$:xs(n,"row")}}function Kp(n){return{id:rr.id,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.BUTTON,title:"rightClick.moveLeft",icon:"DeleteCellShiftLeft",positions:[Vn],disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]}),hidden$:Wi(n,"col")}}function Qp(n){return{id:Pi.id,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.BUTTON,title:"rightClick.moveUp",icon:"DeleteCellShiftUp",positions:[Vn],disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]}),hidden$:Wi(n,"row")}}const ur="sheet.menu.col-insert";function Jp(n){return{id:ur,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.SUBITEMS,title:"rightClick.insert",icon:"Insert",positions:[Ce.COL_HEADER_CONTEXT_MENU],hidden$:Vi(n),disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetInsertColumnPermission]})}}const hr="sheet.menu.row-insert";function $p(n){return{id:hr,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.SUBITEMS,title:"rightClick.insert",icon:"Insert",positions:[Ce.ROW_HEADER_CONTEXT_MENU],hidden$:Vi(n),disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetInsertRowPermission,h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}const Wn="sheet.menu.cell-insert";function ef(n){return{id:Wn,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.SUBITEMS,title:"rightClick.insert",icon:"Insert",positions:[b.MenuPosition.CONTEXT_MENU],hidden$:Vi(n),disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetInsertColumnPermission,h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]})}}function tf(n){return{id:h.InsertRowBeforeCommand.id,type:b.MenuItemType.BUTTON,title:"rightClick.insertRowBefore",icon:"InsertRowAbove",positions:[hr,Wn],disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetInsertRowPermission,h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]}),hidden$:Ns(n,"row")}}function nf(n){return{id:h.InsertRowAfterCommand.id,type:b.MenuItemType.BUTTON,positions:[hr],title:"rightClick.insertRow",icon:"InsertRowBelow",disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetInsertRowPermission,h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]}),hidden$:As(n,"row")}}function of(n){return{id:h.InsertColBeforeCommand.id,type:b.MenuItemType.BUTTON,positions:[ur,Wn],title:"rightClick.insertColumnBefore",icon:"LeftInsertColumn",disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetInsertColumnPermission,h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]}),hidden$:Ns(n,"col")}}function rf(n){return{id:h.InsertColAfterCommand.id,type:b.MenuItemType.BUTTON,positions:[ur],title:"rightClick.insertColumn",icon:"RightInsertColumn",disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetInsertColumnPermission,h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]}),hidden$:As(n,"col")}}function sf(n){return{id:sr.id,type:b.MenuItemType.BUTTON,title:"rightClick.moveRight",icon:"InsertCellShiftRight",positions:[Wn],disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]}),hidden$:Wi(n,"col")}}function af(n){return{id:Ei.id,type:b.MenuItemType.BUTTON,title:"rightClick.moveDown",icon:"InsertCellDown",positions:[Wn],disabled$:oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]}),hidden$:Wi(n,"row")}}function lf(n){const i=n.get(l.IUniverInstanceService),e=n.get(l.ICommandService);n.get(h.WorkbookPermissionService),n.get(h.WorksheetProtectionRuleModel),i.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getUnitId();const o=new O.Observable(s=>{const a=e.onCommandExecuted(c=>{const u=c.id;if(u===h.RemoveSheetMutation.id||u===h.InsertSheetMutation.id||u===h.SetWorksheetHideMutation.id){const d=i.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getWorksheets(),m=Array.from(d.values()).filter(g=>g.getConfig().hidden===l.BooleanNumber.FALSE);s.next(m.length===1)}});return s.next(!1),a.dispose}),r=Kt(n);return{id:la.id,type:b.MenuItemType.BUTTON,positions:[Ce.SHEET_BAR],title:"sheetConfig.delete",disabled$:O.combineLatest([o,r]).pipe(O.map(([s,a])=>s||a))}}function cf(n){return{id:h.CopySheetCommand.id,type:b.MenuItemType.BUTTON,positions:[Ce.SHEET_BAR],title:"sheetConfig.copy",disabled$:Kt(n)}}function df(n){return{id:ua.id,type:b.MenuItemType.BUTTON,positions:[Ce.SHEET_BAR],title:"sheetConfig.rename",disabled$:Kt(n)}}function uf(n){return{id:h.SetTabColorCommand.id,title:"sheetConfig.changeColor",positions:[Ce.SHEET_BAR],type:b.MenuItemType.SELECTOR,selections:[{label:{name:Xi,hoverable:!1}}],hidden$:Kt(n)}}function hf(n){const i=n.get(l.IUniverInstanceService),e=n.get(l.ICommandService);return{id:h.SetWorksheetHideCommand.id,type:b.MenuItemType.BUTTON,positions:[Ce.SHEET_BAR],title:"sheetConfig.hide",disabled$:new O.Observable(t=>{const o=e.onCommandExecuted(r=>{const s=r.id;if(s===h.RemoveSheetMutation.id||s===h.InsertSheetMutation.id||s===h.SetWorksheetHideMutation.id){const a=i.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getWorksheets(),c=Array.from(a.values()).filter(u=>u.getConfig().hidden===l.BooleanNumber.FALSE);t.next(c.length===1)}});return t.next(!1),o.dispose}).pipe(O.combineLatestWith(Kt(n)),O.map(([t,o])=>t||o))}}function mf(n){const i=n.get(l.IUniverInstanceService),e=n.get(l.ICommandService);return{id:ca.id,type:b.MenuItemType.BUTTON,positions:[Ce.SHEET_BAR],title:"sheetConfig.unhide",disabled$:new O.Observable(t=>{const o=e.onCommandExecuted(r=>{const s=r.id;if(s===h.RemoveSheetMutation.id||s===h.InsertSheetMutation.id||s===h.SetWorksheetHideMutation.id){const a=i.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getWorksheets(),c=Array.from(a.values());t.next(c.length===1)}});return t.next(!1),o.dispose}).pipe(O.combineLatestWith(Kt(n)),O.map(([t,o])=>t||o))}}const gf={id:h.SetRowHiddenCommand.id,preconditions:n=>le(n),binding:b.KeyCode.Digit9|b.MetaKeys.CTRL_COMMAND},pf={id:h.SetColHiddenCommand.id,preconditions:n=>le(n),binding:b.KeyCode.Digit0|b.MetaKeys.CTRL_COMMAND|b.MetaKeys.SHIFT},ff={id:Fe.id,description:"shortcut.sheet.select-below-cell",group:"3_sheet-view",binding:b.KeyCode.ARROW_DOWN,priority:100,preconditions:le,staticParameters:{direction:l.Direction.DOWN}},Sf={id:Fe.id,description:"shortcut.sheet.select-up-cell",group:"3_sheet-view",binding:b.KeyCode.ARROW_UP,priority:100,preconditions:le,staticParameters:{direction:l.Direction.UP}},vf={id:Fe.id,description:"shortcut.sheet.select-left-cell",group:"3_sheet-view",binding:b.KeyCode.ARROW_LEFT,priority:100,preconditions:Ss,staticParameters:{direction:l.Direction.LEFT}},Cf={id:Fe.id,description:"shortcut.sheet.select-right-cell",group:"3_sheet-view",binding:b.KeyCode.ARROW_RIGHT,priority:100,preconditions:Ss,staticParameters:{direction:l.Direction.RIGHT}},If={id:At.id,description:"shortcut.sheet.select-next-cell",group:"3_sheet-view",binding:b.KeyCode.TAB,priority:100,preconditions:le,staticParameters:{direction:l.Direction.RIGHT,keycode:b.KeyCode.TAB}},Rf={id:At.id,description:"shortcut.sheet.select-previous-cell",group:"3_sheet-view",binding:b.KeyCode.TAB|b.MetaKeys.SHIFT,priority:100,preconditions:le,staticParameters:{direction:l.Direction.LEFT,keycode:b.KeyCode.TAB}},bf={id:At.id,description:"shortcut.sheet.select-below-cell",group:"3_sheet-view",binding:b.KeyCode.ENTER,priority:100,preconditions:le,staticParameters:{direction:l.Direction.DOWN,keycode:b.KeyCode.ENTER}},_f={id:At.id,description:"shortcut.sheet.select-up-cell",group:"3_sheet-view",binding:b.KeyCode.ENTER|b.MetaKeys.SHIFT,priority:100,preconditions:le,staticParameters:{direction:l.Direction.UP,keycode:b.KeyCode.ENTER}},Tf={id:Fe.id,description:"shortcut.sheet.select-below-value-cell",group:"3_sheet-view",binding:b.KeyCode.ARROW_DOWN|b.MetaKeys.CTRL_COMMAND,preconditions:le,staticParameters:{direction:l.Direction.DOWN,jumpOver:et.moveGap}},wf={id:Fe.id,description:"shortcut.sheet.select-up-value-cell",group:"3_sheet-view",binding:b.KeyCode.ARROW_UP|b.MetaKeys.CTRL_COMMAND,preconditions:le,staticParameters:{direction:l.Direction.UP,jumpOver:et.moveGap}},Mf={id:Fe.id,description:"shortcut.sheet.select-left-value-cell",group:"3_sheet-view",binding:b.KeyCode.ARROW_LEFT|b.MetaKeys.CTRL_COMMAND,preconditions:le,staticParameters:{direction:l.Direction.LEFT,jumpOver:et.moveGap}},yf={id:Fe.id,description:"shortcut.sheet.select-right-value-cell",group:"3_sheet-view",binding:b.KeyCode.ARROW_RIGHT|b.MetaKeys.CTRL_COMMAND,preconditions:le,staticParameters:{direction:l.Direction.RIGHT,jumpOver:et.moveGap}},Pf={id:Ye.id,description:"shortcut.sheet.expand-selection-down",group:"3_sheet-view",binding:b.KeyCode.ARROW_DOWN|b.MetaKeys.SHIFT,preconditions:le,staticParameters:{direction:l.Direction.DOWN}},Ef={id:Ye.id,description:"shortcut.sheet.expand-selection-up",group:"3_sheet-view",binding:b.KeyCode.ARROW_UP|b.MetaKeys.SHIFT,preconditions:le,staticParameters:{direction:l.Direction.UP}},Of={id:Ye.id,description:"shortcut.sheet.expand-selection-left",group:"3_sheet-view",binding:b.KeyCode.ARROW_LEFT|b.MetaKeys.SHIFT,preconditions:le,staticParameters:{direction:l.Direction.LEFT}},Af={id:Ye.id,description:"shortcut.sheet.expand-selection-right",group:"3_sheet-view",binding:b.KeyCode.ARROW_RIGHT|b.MetaKeys.SHIFT,preconditions:le,staticParameters:{direction:l.Direction.RIGHT}},Nf={id:Ye.id,description:"shortcut.sheet.expand-selection-to-below-gap",group:"3_sheet-view",binding:b.KeyCode.ARROW_DOWN|b.MetaKeys.SHIFT|b.MetaKeys.CTRL_COMMAND,preconditions:le,staticParameters:{direction:l.Direction.DOWN,jumpOver:et.moveGap}},xf={id:Ye.id,description:"shortcut.sheet.expand-selection-to-up-gap",group:"3_sheet-view",binding:b.KeyCode.ARROW_UP|b.MetaKeys.SHIFT|b.MetaKeys.CTRL_COMMAND,preconditions:le,staticParameters:{direction:l.Direction.UP,jumpOver:et.moveGap}},Df={id:Ye.id,description:"shortcut.sheet.expand-selection-to-left-gap",group:"3_sheet-view",binding:b.KeyCode.ARROW_LEFT|b.MetaKeys.SHIFT|b.MetaKeys.CTRL_COMMAND,preconditions:le,staticParameters:{direction:l.Direction.LEFT,jumpOver:et.moveGap}},kf={id:Ye.id,description:"shortcut.sheet.expand-selection-to-right-gap",group:"3_sheet-view",binding:b.KeyCode.ARROW_RIGHT|b.MetaKeys.SHIFT|b.MetaKeys.CTRL_COMMAND,preconditions:le,staticParameters:{direction:l.Direction.RIGHT,jumpOver:et.moveGap}},Lf={id:Es.id,description:"shortcut.sheet.select-all",group:"3_sheet-view",binding:b.KeyCode.A|b.MetaKeys.CTRL_COMMAND,preconditions:le,staticParameters:{expandToGapFirst:!0,loop:!0}},Hf={id:yn.id,description:"shortcut.sheet.set-bold",group:"4_sheet-edit",preconditions:n=>le(n),binding:b.KeyCode.B|b.MetaKeys.CTRL_COMMAND},Vf={id:Pn.id,description:"shortcut.sheet.set-italic",group:"4_sheet-edit",preconditions:n=>le(n),binding:b.KeyCode.I|b.MetaKeys.CTRL_COMMAND},Wf={id:En.id,description:"shortcut.sheet.set-underline",group:"4_sheet-edit",preconditions:n=>le(n),binding:b.KeyCode.U|b.MetaKeys.CTRL_COMMAND},Uf={id:On.id,description:"shortcut.sheet.set-strike-through",group:"4_sheet-edit",preconditions:n=>le(n),binding:b.KeyCode.X|b.MetaKeys.SHIFT|b.MetaKeys.CTRL_COMMAND},Bf={id:h.ClearSelectionContentCommand.id,preconditions:n=>le(n),binding:b.KeyCode.DELETE,mac:b.KeyCode.BACKSPACE},Ff={id:Ui.id,description:"shortcut.sheet.zoom-in",binding:b.KeyCode.EQUAL|b.MetaKeys.CTRL_COMMAND,group:"3_sheet-view",preconditions:le,priority:1,staticParameters:{delta:.2}},jf={id:l.NilCommand.id,binding:b.KeyCode.EQUAL|b.MetaKeys.CTRL_COMMAND},Xf={id:Ui.id,description:"shortcut.sheet.zoom-out",binding:b.KeyCode.MINUS|b.MetaKeys.CTRL_COMMAND,group:"3_sheet-view",preconditions:le,priority:1,staticParameters:{delta:-.2}},zf={id:l.NilCommand.id,binding:b.KeyCode.MINUS|b.MetaKeys.CTRL_COMMAND},Yf={id:Ui.id,description:"shortcut.sheet.reset-zoom",binding:b.KeyCode.Digit0|b.MetaKeys.CTRL_COMMAND,preconditions:le,group:"3_sheet-view",priority:1,staticParameters:{reset:!0}},Zf={id:l.NilCommand.id,binding:b.KeyCode.Digit0|b.MetaKeys.CTRL_COMMAND};function Gf(n){const i=n.get(h.BorderStyleManagerService),e=oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]});return{id:h.SetBorderBasicCommand.id,icon:new O.Observable(t=>{const o="AllBorderSingle",r=n.get(h.BorderStyleManagerService),s=n.get(l.ICommandService).onCommandExecuted(a=>{var g;if(a.id!==h.SetBorderBasicCommand.id)return;const{type:u}=r.getBorderInfo(),d=Ea.find(p=>p.value===u),m=(g=d==null?void 0:d.icon)!=null?g:o;t.next(m)});return t.next(o),s.dispose}),group:b.MenuGroup.TOOLBAR_FORMAT,tooltip:"toolbar.border.main",positions:[b.MenuPosition.TOOLBAR_START],type:b.MenuItemType.BUTTON_SELECTOR,selections:[{label:{name:Pa,hoverable:!1},value$:i.borderInfo$}],value$:i.borderInfo$,hidden$:b.getMenuHiddenObservable(n,l.UniverInstanceType.UNIVER_SHEET),disabled$:e}}function qf(n){const i=n.get(h.SelectionManagerService),e=n.get(h.RangeProtectionRuleModel),o=n.get(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),r=o.getUnitId();return O.combineLatest([i.selectionMoveEnd$,o.activeSheet$]).pipe(O.map(([s,a])=>{if(!a||!s||s.length===0)return!1;const c=a.getSheetId(),u=e.getSubunitRuleList(r,c).map(d=>d.ranges).flat();if(s.length<2){const d=s[0].range;return u.some(g=>l.Rectangle.intersects(g,d)&&!l.Rectangle.contains(g,d))}for(let d=0;d<s.length;d++)for(let m=d+1;m<s.length;m++)if(l.Rectangle.intersects(s[d].range,s[m].range))return!0;return!1}))}function Kf(n){const i=oe(n,{workbookTypes:[h.WorkbookEditablePermission],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellValuePermission,h.WorksheetSetCellStylePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint]}),e=qf(n);return{id:lt.id,icon:"MergeAllSingle",tooltip:"toolbar.mergeCell.main",positions:[b.MenuPosition.TOOLBAR_START],group:b.MenuGroup.TOOLBAR_LAYOUT,type:b.MenuItemType.SUBITEMS,hidden$:b.getMenuHiddenObservable(n,l.UniverInstanceType.UNIVER_SHEET),disabled$:i.pipe(O.combineLatestWith(e),O.map(([t,o])=>t||o))}}function Qf(n){return{id:na.id,type:b.MenuItemType.BUTTON,title:"merge.all",icon:"MergeAllSingle",positions:[lt.id]}}function Jf(n){return{id:ia.id,type:b.MenuItemType.BUTTON,title:"merge.vertical",icon:"VerticalIntegrationSingle",positions:[lt.id]}}function $f(n){return{id:oa.id,type:b.MenuItemType.BUTTON,title:"merge.horizontal",icon:"HorizontalMergeSingle",positions:[lt.id]}}function eS(n){return{id:h.RemoveWorksheetMergeCommand.id,type:b.MenuItemType.BUTTON,title:"merge.cancel",icon:"CancelMergeSingle",positions:[lt.id]}}var tS=Object.defineProperty,nS=Object.getOwnPropertyDescriptor,iS=(n,i,e,t)=>{for(var o=t>1?void 0:t?nS(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&tS(i,e,o),o},_t=(n,i)=>(e,t)=>i(e,t,n);const oS={};let vn=class extends l.Disposable{constructor(n,i,e,t,o,r,s,a){super(),this._config=n,this._injector=i,this._componentManager=e,this._layoutService=t,this._commandService=o,this._shortcutService=r,this._menuService=s,this._uiPartsService=a,this._init()}_init(){this._initCustomComponents(),this._initCommands(),this._initMenus(),this._initShortcuts(),this._initWorkbenchParts(),this._initFocusHandler()}_initCustomComponents(){const n=this._componentManager;this.disposeWithMe(n.register(ir,wd)),this.disposeWithMe(n.register(Pa,Dm)),this.disposeWithMe(n.register(Xi,ie.ColorPicker)),this.disposeWithMe(n.register(zs,b.FontFamily)),this.disposeWithMe(n.register(Ys,b.FontFamilyItem)),this.disposeWithMe(n.register(Zs,b.FontSize)),this.disposeWithMe(n.register(Oa,xp))}_initCommands(){[na,lt,oa,ia,Ui,Ye,Fe,At,ua,la,sa,aa,Ds,ks,Mt,Os,Es,da,h.SetBoldCommand,Tn,Le,er,yn,Pn,En,On,rd,sd,Ls,Hs,yi,h.SetItalicCommand,h.SetStrikeThroughCommand,h.SetFontFamilyCommand,h.SetFontSizeCommand,tr,Bs,nr,Fi,ft,Sn,ji,Fs,js,Xs,h.SetUnderlineCommand,Bi,$e,ca,ra,Ei,Pi,sr,rr,Aa,In,oi,vt,Bp,Va,Wa,Ua,Ba,Fa,Ha,ja,Xa,dr,wn,Fp,La,za].forEach(n=>{this.disposeWithMe(this._commandService.registerCommand(n))})}_initMenus(){const{menu:n={}}=this._config;[Bd,Fd,jd,Xd,zd,Yd,Zd,Xp,zp,Yp,jp,Jp,$p,ef,tf,nf,of,rf,qp,tu,iu,nu,ou,Gp,ru,Gd,su,Zp,Kp,Qp,sf,af,Qd,Jd,$d,eu,qd,Kd,Md,yd,Pd,Ed,Od,Ad,Nd,xd,Dd,kd,Ld,Gf,Kf,Qf,Jf,$f,eS,Hd,Vd,Wd,Ud,lf,cf,df,uf,hf,mf].forEach(i=>{this.disposeWithMe(this._menuService.addMenuItem(this._injector.invoke(i),n))})}_initShortcuts(){[ff,Sf,vf,Cf,If,Rf,bf,_f,Tf,wf,Mf,yf,Pf,Ef,Of,Af,Nf,xf,Df,kf,Lf,Ff,Xf,Yf,Zf,jf,zf,Hf,Vf,Wf,Uf,Bf,...Mu(),Pu,yu,Eu,Au,Nu,xu,Ou,gf,pf].forEach(n=>{this.disposeWithMe(this._shortcutService.registerShortcut(n))})}_initWorkbenchParts(){const n=this._uiPartsService,i=this._injector;this.disposeWithMe(n.registerComponent(b.BuiltInUIPart.HEADER,()=>B.connectInjector(Ap,i))),this.disposeWithMe(n.registerComponent(b.BuiltInUIPart.FOOTER,()=>B.connectInjector(Op,i))),this.disposeWithMe(n.registerComponent(b.BuiltInUIPart.CONTENT,()=>B.connectInjector(Np,i)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(l.UniverInstanceType.UNIVER_SHEET,n=>{this._injector.get(E.ITextSelectionRenderManager).focus()}))}};vn=iS([l.OnLifecycle(l.LifecycleStages.Ready,vn),_t(1,k.Inject(k.Injector)),_t(2,k.Inject(b.ComponentManager)),_t(3,b.ILayoutService),_t(4,l.ICommandService),_t(5,b.IShortcutService),_t(6,b.IMenuService),_t(7,b.IUIPartsService)],vn);var rS=Object.defineProperty,sS=Object.getOwnPropertyDescriptor,aS=(n,i,e,t)=>{for(var o=t>1?void 0:t?sS(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&rS(i,e,o),o},Tt=(n,i)=>(e,t)=>i(e,t,n);const hs=l.createInterceptorKey("statusBarPermissionCorrect");exports.StatusBarController=class extends l.Disposable{constructor(e,t,o,r,s,a,c){super();w(this,"_calculateTimeout",-1);w(this,"interceptor",new l.InterceptorManager({STATUS_BAR_PERMISSION_CORRECT:hs}));this._univerInstanceService=e,this._selectionManagerService=t,this._functionService=o,this._statusBarService=r,this._commandService=s,this._formulaDataModel=a,this._numfmtService=c,this._init()}_init(){this._registerSelectionListener()}_registerSelectionListener(){const e=l.debounce(t=>{var r;const o=(r=t[t.length-1])==null?void 0:r.primary;this._calculateSelection(t.map(s=>s.range),o)},100);this.disposeWithMe(l.toDisposable(this._selectionManagerService.selectionMoving$.subscribe(t=>{var o;((o=this._selectionManagerService.getCurrent())==null?void 0:o.pluginName)===h.NORMAL_SELECTION_PLUGIN_NAME&&t&&e(t)}))),this.disposeWithMe(l.toDisposable(this._selectionManagerService.selectionMoveEnd$.subscribe(t=>{var o;((o=this._selectionManagerService.getCurrent())==null?void 0:o.pluginName)===h.NORMAL_SELECTION_PLUGIN_NAME&&t&&e(t)}))),this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===h.SetRangeValuesMutation.id){const o=this._selectionManagerService.getSelections();o&&e(o)}}))}_clearResult(){this._statusBarService.setState(null)}_calculateSelection(e,t){var u;const o=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!o)return this._clearResult();const r=o.getUnitId(),s=o.getActiveSheet().getSheetId(),a={},c=this._formulaDataModel.getArrayFormulaCellData();if(this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getSheets().forEach(d=>{const m=d.getConfig();a[d.getSheetId()]={cellData:new l.ObjectMatrix(m.cellData),rowCount:m.rowCount,columnCount:m.columnCount,rowData:m.rowData,columnData:m.columnData}}),e!=null&&e.length){const d=e.map(R=>new $.RangeReferenceObject(R,s,r));d.forEach(R=>{R.setUnitData({[r]:a}),c&&R.setArrayFormulaCellData($.convertUnitDataToRuntime(c))});const m=this._statusBarService.getFunctions();let g=d.map(R=>R.toArrayValueObject(!1));const p=this.interceptor.fetchThroughInterceptors(hs)(g,g);p&&(g=p);const f=m.map(R=>{const _=this._functionService.getExecutor(R.func);if(!_)return;const T=_==null?void 0:_.calculate(...g),y=T==null?void 0:T.getValue();if(y)return{func:R.func,value:y}});if(f.every(R=>R===void 0))return;let S=null;if(t){const{actualRow:R,actualColumn:_}=t;S=(u=this._numfmtService.getValue(r,s,R,_))==null?void 0:u.pattern}const I={values:f.filter(R=>R!==void 0),pattern:S};this._statusBarService.setState(I)}else this._clearResult()}};exports.StatusBarController=aS([l.OnLifecycle(l.LifecycleStages.Ready,exports.StatusBarController),Tt(0,l.IUniverInstanceService),Tt(1,k.Inject(h.SelectionManagerService)),Tt(2,$.IFunctionService),Tt(3,cr),Tt(4,l.ICommandService),Tt(5,k.Inject($.FormulaDataModel)),Tt(6,k.Inject(h.INumfmtService))],exports.StatusBarController);var lS=Object.defineProperty,cS=Object.getOwnPropertyDescriptor,dS=(n,i,e,t)=>{for(var o=t>1?void 0:t?cS(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&lS(i,e,o),o},po=(n,i)=>(e,t)=>i(e,t,n);exports.SheetCanvasView=class extends l.RxDisposable{constructor(e,t,o,r){super();w(this,"_fps$",new O.BehaviorSubject(""));w(this,"fps$",this._fps$.asObservable());this._context=e,this._commandService=t,this._renderManagerService=o,this._sheetSkeletonManagerService=r,this._addNewRender(this._context.unit)}dispose(){this._fps$.complete()}_addNewRender(e){const{scene:t,engine:o}=this._context;t.addLayer(new E.Layer(t,[],0),new E.Layer(t,[],2)),this._addComponent(e),e.getShouldRenderLoopImmediately()&&o.runRenderLoop(()=>{t.render(),this._fps$.next(Math.round(o.getFps()).toString())})}_addComponent(e){const{scene:t,components:o}=this._context,r=e.getActiveSheet();e.getUnitId(),r.getSheetId();const s=new E.Spreadsheet(ue.MAIN);this._addViewport(r);const a=new E.SpreadsheetRowHeader(ue.ROW),c=new E.SpreadsheetColumnHeader(ue.COLUMN),u=new E.Rect(ue.LEFT_TOP,{zIndex:2,left:-1,top:-1,fill:"rgb(248, 249, 250)",stroke:"rgb(217, 217, 217)",strokeWidth:1});this._context.mainComponent=s,o.set(ue.MAIN,s),o.set(ue.ROW,a),o.set(ue.COLUMN,c),o.set(ue.LEFT_TOP,u),t.addObjects([s],wr),t.addObjects([a,c,u],pt),t.enableLayerCache(wr,pt)}_initViewports(e,t,o){const a=new E.Viewport(E.SHEET_VIEWPORT_KEY.VIEW_MAIN,e,{left:t.width,top:o.height,bottom:0,right:0,isWheelPreventDefaultX:!0,isRelativeX:!0,isRelativeY:!0,allowCache:!0,bufferEdgeX:100,bufferEdgeY:100}),c=new E.Viewport(E.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP,e,{isWheelPreventDefaultX:!0,active:!1,isRelativeX:!1,isRelativeY:!1,allowCache:!0,bufferEdgeX:0,bufferEdgeY:0}),u=new E.Viewport(E.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT,e,{isWheelPreventDefaultX:!0,active:!1,isRelativeX:!1,isRelativeY:!0,allowCache:!0,bufferEdgeX:0,bufferEdgeY:100}),d=new E.Viewport(E.SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP,e,{isWheelPreventDefaultX:!0,active:!1,isRelativeX:!0,isRelativeY:!1,allowCache:!0,bufferEdgeX:100,bufferEdgeY:0}),m=new E.Viewport(E.SHEET_VIEWPORT_KEY.VIEW_ROW_TOP,e,{active:!1,isWheelPreventDefaultX:!0,isRelativeX:!1,isRelativeY:!1}),g=new E.Viewport(E.SHEET_VIEWPORT_KEY.VIEW_ROW_BOTTOM,e,{left:0,top:o.height,bottom:0,width:t.width,isWheelPreventDefaultX:!0,isRelativeX:!1,isRelativeY:!0}),p=new E.Viewport(E.SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT,e,{active:!1,isWheelPreventDefaultX:!0,isRelativeX:!1,isRelativeY:!1}),f=new E.Viewport(E.SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT,e,{left:t.width,top:0,height:o.height,right:0,isWheelPreventDefaultX:!0,isRelativeX:!0,isRelativeY:!1}),S=new E.Viewport(E.SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP,e,{left:0,top:0,width:t.width,height:o.height,isWheelPreventDefaultX:!0,isRelativeX:!1,isRelativeY:!1});return{viewMain:a,viewLeftTop:S,viewMainLeftTop:c,viewMainLeft:u,viewMainTop:d,viewColumnLeft:p,viewRowTop:m,viewRowBottom:g,viewColumnRight:f}}_addViewport(e){const t=this._context.scene;if(t==null)return;const{rowHeader:o,columnHeader:r}=e.getConfig(),{viewMain:s}=this._initViewports(t,o,r);return this._initMouseWheel(t,s),new E.ScrollBar(s),t.attachControl(),s}_initMouseWheel(e,t){this.disposeWithMe(l.toDisposable(e.onMouseWheelObserver.add((o,r)=>{if(o.ctrlKey)return;let s=0,a=0;const c=t.limitedScroll();if(o.inputIndex===E.PointerInput.MouseWheelX){const d=Math.abs(o.deltaX);o.deltaX>0?s=d:s=-d,this._commandService.executeCommand(Sn.id,{offsetX:s}),e.getParent().classType===E.RENDER_CLASS_TYPE.SCENE_VIEWER?c!=null&&c.isLimitedX||r.stopPropagation():t.isWheelPreventDefaultX?o.preventDefault():c!=null&&c.isLimitedX||o.preventDefault()}if(o.inputIndex===E.PointerInput.MouseWheelY){let d=Math.abs(o.deltaY);o.shiftKey?(d*=3,o.deltaY>0?s=d:s=-d,this._commandService.executeCommand(Sn.id,{offsetX:s}),e.getParent().classType===E.RENDER_CLASS_TYPE.SCENE_VIEWER?c!=null&&c.isLimitedX||r.stopPropagation():t.isWheelPreventDefaultX?o.preventDefault():c!=null&&c.isLimitedX||o.preventDefault()):(o.deltaY>0?a=d:a=-d,this._commandService.executeCommand(Sn.id,{offsetY:a}),e.getParent().classType===E.RENDER_CLASS_TYPE.SCENE_VIEWER?c!=null&&c.isLimitedY||r.stopPropagation():t.isWheelPreventDefaultY?o.preventDefault():c!=null&&c.isLimitedY||o.preventDefault())}this._context.scene.makeDirty(!0)})))}};exports.SheetCanvasView=dS([po(1,l.ICommandService),po(2,E.IRenderManagerService),po(3,k.Inject(exports.SheetSkeletonManagerService))],exports.SheetCanvasView);var uS=Object.defineProperty,hS=Object.getOwnPropertyDescriptor,mS=(n,i,e,t)=>{for(var o=t>1?void 0:t?hS(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&uS(i,e,o),o},qn=(n,i)=>(e,t)=>i(e,t,n);exports.HoverManagerService=class extends l.Disposable{constructor(e,t,o,r){super();w(this,"_currentCell$",new O.Subject);w(this,"currentCell$",this._currentCell$.asObservable().pipe(O.distinctUntilChanged((e,t)=>{var o,r,s,a,c,u,d,m;return((o=e==null?void 0:e.location)==null?void 0:o.unitId)===((r=t==null?void 0:t.location)==null?void 0:r.unitId)&&((s=e==null?void 0:e.location)==null?void 0:s.subUnitId)===((a=t==null?void 0:t.location)==null?void 0:a.subUnitId)&&((c=e==null?void 0:e.location)==null?void 0:c.row)===((u=t==null?void 0:t.location)==null?void 0:u.row)&&((d=e==null?void 0:e.location)==null?void 0:d.col)===((m=t==null?void 0:t.location)==null?void 0:m.col)})));w(this,"currentPosition$",this._currentCell$.asObservable());w(this,"_lastPosition",null);this._univerInstanceService=e,this._scrollManagerService=t,this._sheetSkeletonManagerService=o,this._renderManagerService=r,this._initCellDisposableListener()}dispose(){super.dispose(),this._currentCell$.complete()}_initCellDisposableListener(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{e||this._currentCell$.next(null)}))}_calcActiveCell(){if(!this._lastPosition)return;const{offsetX:e,offsetY:t}=this._lastPosition,o=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!o){this._currentCell$.next(null);return}const r=o.getActiveSheet(),s=this._sheetSkeletonManagerService.getCurrent(),a=this._renderManagerService.getRenderById(o.getUnitId()),c=this._scrollManagerService.getCurrentScroll();if(!s||!c||!a)return;const u=Us(a,o,r,s,e,t);if(!u){this._currentCell$.next(null);return}const{location:d,position:m}=u;this._currentCell$.next({location:d,position:m})}onMouseMove(e,t){this._lastPosition={offsetX:e,offsetY:t},this._calcActiveCell()}onScroll(){this._currentCell$.next(null)}};exports.HoverManagerService=mS([qn(0,l.IUniverInstanceService),qn(1,k.Inject(tt)),qn(2,k.Inject(exports.SheetSkeletonManagerService)),qn(3,E.IRenderManagerService)],exports.HoverManagerService);var gS=Object.defineProperty,pS=Object.getOwnPropertyDescriptor,fS=(n,i,e,t)=>{for(var o=t>1?void 0:t?pS(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&gS(i,e,o),o},Kn=(n,i)=>(e,t)=>i(e,t,n);exports.HoverRenderController=class extends l.Disposable{constructor(i,e,t,o,r){super(),this._context=i,this._renderManagerService=e,this._hoverManagerService=t,this._sheetSkeletonManagerService=o,this._scrollManagerService=r,this._initPointerEvent(),this._initScrollEvent()}_initPointerEvent(){const i=new l.DisposableCollection,e=t=>{if(i.dispose(),!t)return;const o=this._renderManagerService.getRenderById(t.unitId);if(!o)return;const{mainComponent:r}=o,s=r==null?void 0:r.onPointerMoveObserver.add(a=>{this._hoverManagerService.onMouseMove(a.offsetX,a.offsetY)});i.add({dispose(){s==null||s.dispose()}})};e(this._sheetSkeletonManagerService.getCurrent()),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(t=>{e(t)}))}_initScrollEvent(){this.disposeWithMe(this._scrollManagerService.scrollInfo$.subscribe(()=>{this._hoverManagerService.onScroll()}))}};exports.HoverRenderController=fS([l.OnLifecycle(l.LifecycleStages.Rendered,exports.HoverRenderController),Kn(1,E.IRenderManagerService),Kn(2,k.Inject(exports.HoverManagerService)),Kn(3,k.Inject(exports.SheetSkeletonManagerService)),Kn(4,k.Inject(tt))],exports.HoverRenderController);const SS="univer-cell-alert",vS="univer-cell-alert-title",CS="univer-cell-alert-icon",IS="univer-cell-alert-icon-error",RS="univer-cell-alert-icon-info",bS="univer-cell-alert-icon-warning",_S="univer-cell-alert-content",ot={cellAlert:SS,cellAlertTitle:vS,cellAlertIcon:CS,cellAlertIconError:IS,cellAlertIconInfo:RS,cellAlertIconWarning:bS,cellAlertContent:_S};function TS({popup:n}){var s;const i=(s=n.extraProps)==null?void 0:s.alert;if(!i)return null;const{type:e,title:t,message:o}=i,r={[jt.ERROR]:C.jsx(va,{className:fe(ot.cellAlertIcon,ot.cellAlertIconError)}),[jt.INFO]:C.jsx(is,{className:fe(ot.cellAlertIcon,ot.cellAlertIconInfo)}),[jt.WARNING]:C.jsx(is,{className:fe(ot.cellAlertIcon,ot.cellAlertIconWarning)})};return C.jsxs("div",{className:ot.cellAlert,children:[C.jsxs("div",{className:ot.cellAlertTitle,children:[e?r[e]:null,t]}),C.jsx("div",{className:ot.cellAlertContent,children:o})]})}const Ya="univer.sheet.cell-alert";var wS=Object.defineProperty,MS=Object.getOwnPropertyDescriptor,yS=(n,i,e,t)=>{for(var o=t>1?void 0:t?MS(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&wS(i,e,o),o},kt=(n,i)=>(e,t)=>i(e,t,n);exports.SheetCanvasPopManagerService=class extends l.Disposable{constructor(i,e,t,o,r,s){super(),this._globalPopupManagerService=i,this._renderManagerService=e,this._univerInstanceService=t,this._sheetSkeletonManagerService=o,this._refRangeService=r,this._commandService=s}_createObjectPositionObserver(i,e,t,o){const r=()=>{const{scene:u}=e,{left:d,top:m,width:g,height:p}=i,f={left:d,right:d+g,top:m,bottom:m+p},S=hd(f,u,t,o);return{left:S.left,right:S.right,top:S.top,bottom:S.bottom}},s=r(),a=new O.BehaviorSubject(s),c=new l.DisposableCollection;return c.add(this._commandService.onCommandExecuted(u=>{(u.id===ft.id||u.id===$e.id)&&a.next(r())})),{position:s,position$:a,disposable:c}}attachPopupToObject(i,e){const t=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),o=t.getActiveSheet(),r=t.getUnitId(),s=o.getSheetId(),a=this._sheetSkeletonManagerService.getOrCreateSkeleton({unitId:r,sheetId:s}),c=this._renderManagerService.getRenderById(r);if(!c||!a)return{dispose:()=>{}};const{position:u,position$:d,disposable:m}=this._createObjectPositionObserver(i,c,a,o),g=this._globalPopupManagerService.addPopup({...e,unitId:r,subUnitId:s,anchorRect:u,anchorRect$:d});return{dispose:()=>{this._globalPopupManagerService.removePopup(g),d.complete(),m.dispose()}}}attachPopupToCell(i,e,t,o){const r=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),s=r.getActiveSheet(),a=r.getUnitId(),c=s.getSheetId(),u=this._sheetSkeletonManagerService.getOrCreateSkeleton({unitId:a,sheetId:c}),d=this._renderManagerService.getRenderById(a);if(!d||!u)return null;const m=o!=null?o:ud(i,e,d.scene,s);if(!m)return null;const{position:g,position$:p,disposable:f,updateRowCol:S}=this._createCellPositionObserver(i,e,d,u,m),v=this._globalPopupManagerService.addPopup({...t,unitId:a,subUnitId:c,anchorRect:g,anchorRect$:p}),I=new l.DisposableCollection;I.add(f),I.add(l.toDisposable(()=>{this._globalPopupManagerService.removePopup(v),p.complete()}));const R={startRow:i,endRow:i,startColumn:e,endColumn:e};return I.add(this._refRangeService.watchRange(a,c,R,(_,T)=>{T?S(T.startRow,T.startColumn):I.dispose()})),I}_createCellPositionObserver(i,e,t,o,r){let s=i,a=e;const c=this._calcCellPositionByCell(s,a,t,o,r),u=new O.BehaviorSubject(c),d=()=>u.next(this._calcCellPositionByCell(s,a,t,o,r)),m=new l.DisposableCollection;return m.add(this._commandService.onCommandExecuted(p=>{if(p.id===h.SetWorksheetRowAutoHeightMutation.id&&p.params.rowsAutoHeightInfo.findIndex(S=>S.row===s)>-1){d();return}(h.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(p.id)>-1||p.id===ft.id||p.id===$e.id)&&d()})),{position$:u,disposable:m,position:c,updateRowCol:(p,f)=>{s=p,a=f,d()}}}_calcCellPositionByCell(i,e,t,o,r){const{scene:s}=t,a=o.getCellByIndex(i,e),c=a.isMergedMainCell?a.mergeInfo:a,{scaleX:u,scaleY:d}=s.getAncestorScale(),m={x:r.viewportScrollX,y:r.viewportScrollY};return{left:(c.startX-m.x)*u,right:(c.endX-m.x)*u,top:(c.startY-m.y)*d,bottom:(c.endY-m.y)*d}}};exports.SheetCanvasPopManagerService=yS([kt(0,k.Inject(b.ICanvasPopupService)),kt(1,E.IRenderManagerService),kt(2,l.IUniverInstanceService),kt(3,k.Inject(exports.SheetSkeletonManagerService)),kt(4,k.Inject(h.RefRangeService)),kt(5,l.ICommandService)],exports.SheetCanvasPopManagerService);var PS=Object.defineProperty,ES=Object.getOwnPropertyDescriptor,OS=(n,i,e,t)=>{for(var o=t>1?void 0:t?ES(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&PS(i,e,o),o},ms=(n,i)=>(e,t)=>i(e,t,n),jt=(n=>(n[n.INFO=0]="INFO",n[n.WARNING=1]="WARNING",n[n.ERROR=2]="ERROR",n))(jt||{});exports.CellAlertManagerService=class{constructor(i,e){w(this,"_currentAlert$",new O.Subject);w(this,"_currentAlert",new Map);w(this,"currentAlert$",this._currentAlert$.asObservable());this._renderManagerService=i,this._canvasPopManagerService=e}get currentAlert(){return this._currentAlert}showAlert(i){let e=this._currentAlert.get(i.key);e&&e.dispose.dispose(),e?e.dispose.dispose():(e={alert:i,dispose:{dispose(){}}},this._currentAlert.set(i.key,e));const{location:t}=i,{row:o,col:r,unitId:s}=t;if(!this._renderManagerService.getRenderById(s))return;const c=this._canvasPopManagerService.attachPopupToCell(o,r,{componentKey:Ya,direction:"horizontal",offset:[2,0],extraProps:{alert:i}});c&&(e.dispose=c),this._currentAlert$.next(Array.from(this._currentAlert.entries()))}removeAlert(i){const e=this._currentAlert.get(i);e&&(this._currentAlert.delete(i),e==null||e.dispose.dispose(),this._currentAlert$.next(Array.from(this._currentAlert.entries())))}clearAlert(){this._currentAlert.forEach(i=>{i.dispose.dispose()}),this._currentAlert.clear(),this._currentAlert$.next(Array.from(this._currentAlert.entries()))}};exports.CellAlertManagerService=OS([ms(0,E.IRenderManagerService),ms(1,k.Inject(exports.SheetCanvasPopManagerService))],exports.CellAlertManagerService);var AS=Object.defineProperty,NS=Object.getOwnPropertyDescriptor,xS=(n,i,e,t)=>{for(var o=t>1?void 0:t?NS(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&AS(i,e,o),o},DS=(n,i)=>(e,t)=>i(e,t,n);let hi=class extends l.Disposable{constructor(n,i){super(),this._context=n,this._componentManager=i,this._initComponent()}_initComponent(){this._componentManager.register(Ya,TS)}};hi=xS([l.OnLifecycle(l.LifecycleStages.Starting,hi),DS(1,k.Inject(b.ComponentManager))],hi);var kS=Object.defineProperty,LS=Object.getOwnPropertyDescriptor,HS=(n,i,e,t)=>{for(var o=t>1?void 0:t?LS(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&kS(i,e,o),o},gs=(n,i)=>(e,t)=>i(e,t,n);let mi=class extends l.RxDisposable{constructor(n,i,e){super(),this._context=n,this._sheetSkeletonManagerService=i,this._sheetInterceptorService=e,this._init()}_init(){this._initViewModelIntercept()}_initViewModelIntercept(){const n={tl:{size:6,color:"#409f11"}};this.disposeWithMe(this._sheetInterceptorService.intercept(h.INTERCEPTOR_POINT.CELL_CONTENT,{priority:10,handler:(i,e,t)=>{var s;if(!((s=this._sheetSkeletonManagerService.getCurrent())==null?void 0:s.skeleton))return t(i);const r=e.worksheet.getCellRaw(e.row,e.col);return!r||r.v===null||r.v===void 0?t(i):(i==null?void 0:i.t)===l.CellValueType.FORCE_STRING&&l.isRealNum(r.v)?t({...i,markers:{...i==null?void 0:i.markers,...n}}):t(i)}}))}};mi=HS([l.OnLifecycle(l.LifecycleStages.Rendered,mi),gs(1,k.Inject(exports.SheetSkeletonManagerService)),gs(2,k.Inject(h.SheetInterceptorService))],mi);var VS=Object.defineProperty,WS=Object.getOwnPropertyDescriptor,US=(n,i,e,t)=>{for(var o=t>1?void 0:t?WS(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&VS(i,e,o),o},Qn=(n,i)=>(e,t)=>i(e,t,n);const fo="SHEET_FORCE_STRING_ALERT";let gi=class extends l.Disposable{constructor(n,i,e,t,o){super(),this._context=n,this._hoverManagerService=i,this._cellAlertManagerService=e,this._univerInstanceService=t,this._localeService=o,this._init()}_init(){this._initCellAlertPopup()}_initCellAlertPopup(){this.disposeWithMe(this._hoverManagerService.currentCell$.subscribe(n=>{var i;if(n){const o=this._context.unit.getActiveSheet().getCell(n.location.row,n.location.col);if((o==null?void 0:o.t)===l.CellValueType.FORCE_STRING&&o.v&&l.isRealNum(o.v)){const r=this._cellAlertManagerService.currentAlert.get(fo),s=(i=r==null?void 0:r.alert)==null?void 0:i.location;if(s&&s.row===n.location.row&&s.col===n.location.col&&s.subUnitId===n.location.subUnitId&&s.unitId===n.location.unitId)return;this._cellAlertManagerService.showAlert({type:jt.ERROR,title:this._localeService.t("info.error"),message:this._localeService.t("info.forceStringInfo"),location:n.location,width:200,height:74,key:fo});return}}this._cellAlertManagerService.removeAlert(fo)}))}};gi=US([l.OnLifecycle(l.LifecycleStages.Rendered,gi),Qn(1,k.Inject(exports.HoverManagerService)),Qn(2,k.Inject(exports.CellAlertManagerService)),Qn(3,l.IUniverInstanceService),Qn(4,k.Inject(l.LocaleService))],gi);var BS=Object.defineProperty,FS=Object.getOwnPropertyDescriptor,jS=(n,i,e,t)=>{for(var o=t>1?void 0:t?FS(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&BS(i,e,o),o},So=(n,i)=>(e,t)=>i(e,t,n);let Bo=class extends l.Disposable{constructor(n,i,e,t){super(),this._context=n,this._contextMenuService=i,this._selectionManagerService=e,this._selectionRenderService=t,this._addListeners()}_addListeners(){var c,u;const n=(u=(c=this._context)==null?void 0:c.mainComponent)==null?void 0:u.onPointerDownObserver,i=n.add(d=>{if(d.button===2){const m=this._selectionManagerService.getSelections(),g=m==null?void 0:m[0];if(!g)return;const p=g.range.rangeType,f=this._selectionRenderService.attachSelectionWithCoord(g).rangeWithCoord,S=()=>{if(!f)return!1;const I=d.offsetX,R=d.offsetY;switch(p){case l.RANGE_TYPE.ROW:return f.startY<=R&&f.endY>=R;case l.RANGE_TYPE.COLUMN:return f.startX<=I&&f.endX>=I;default:return f.startX<=I&&f.endX>=I&&f.startY<=R&&f.endY>=R}},v=I=>{this._contextMenuService.triggerContextMenu(d,I)};S()?p===l.RANGE_TYPE.COLUMN?v(Ce.COL_HEADER_CONTEXT_MENU):p===l.RANGE_TYPE.ROW?v(Ce.ROW_HEADER_CONTEXT_MENU):v(b.MenuPosition.CONTEXT_MENU):v(b.MenuPosition.CONTEXT_MENU)}});this.disposeWithMe(l.toDisposable(()=>n.remove(i)));const e=this._context.components.get(ue.COLUMN),r=this._context.components.get(ue.ROW).onPointerDownObserver.add(d=>{d.button===2&&this._contextMenuService.triggerContextMenu(d,Ce.ROW_HEADER_CONTEXT_MENU)});this.disposeWithMe(l.toDisposable(()=>n.remove(r)));const a=e.onPointerDownObserver.add(d=>{d.button===2&&this._contextMenuService.triggerContextMenu(d,Ce.COL_HEADER_CONTEXT_MENU)});this.disposeWithMe(l.toDisposable(()=>n.remove(a)))}};Bo=jS([So(1,b.IContextMenuService),So(2,k.Inject(h.SelectionManagerService)),So(3,Me)],Bo);var XS=Object.defineProperty,zS=Object.getOwnPropertyDescriptor,YS=(n,i,e,t)=>{for(var o=t>1?void 0:t?zS(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&XS(i,e,o),o},ut=(n,i)=>(e,t)=>i(e,t,n);let Fo=class extends l.RxDisposable{constructor(n,i,e,t,o,r,s,a,c){super(),this._context=n,this._injector=i,this._commandService=e,this._editorBridgeService=t,this._layoutService=o,this._editorService=r,this._contextService=s,this._selectionManagerService=a,this._rangeSelectorService=c,this._initialize(),this._commandExecutedListener()}_initialize(){this._initSelectionChangeListener(),this._initEventListener(),this._initialRangeSelector()}_initSelectionChangeListener(){O.merge(this._selectionManagerService.selectionMoveEnd$,this._selectionManagerService.selectionMoveStart$).pipe(O.takeUntil(this.dispose$)).subscribe(n=>this._handleSelectionChange(n))}_updateEditorPosition(n){const i=this._getSheetObject(),{scene:e,engine:t}=i,o=this._context.unitId,r=this._context.unit.getActiveSheet().getSheetId();this._commandService.executeCommand(da.id,{scene:e,engine:t,primary:n,unitId:o,sheetId:r})}_handleSelectionChange(n){var t;const i=this._selectionManagerService.getCurrent();if((i==null?void 0:i.pluginName)!==h.NORMAL_SELECTION_PLUGIN_NAME||this._editorBridgeService.isVisible().visible)return;const e=(t=n==null?void 0:n[n.length-1])==null?void 0:t.primary;e&&this._updateEditorPosition(e)}_initEventListener(){const n=this._getSheetObject(),{spreadsheet:i,spreadsheetColumnHeader:e,spreadsheetLeftTopPlaceholder:t,spreadsheetRowHeader:o}=n;i.onDblclickObserver.add(r=>{if(r.button===2)return;const s=this._selectionManagerService.getCurrent();(s==null?void 0:s.pluginName)===h.NORMAL_SELECTION_PLUGIN_NAME&&this._commandService.executeCommand(Le.id,{visible:!0,eventType:E.DeviceInputEventType.Dblclick})}),i.onPointerDownObserver.add(this._keepVisibleHideEditor.bind(this)),e.onPointerDownObserver.add(this._keepVisibleHideEditor.bind(this)),t.onPointerDownObserver.add(this._keepVisibleHideEditor.bind(this)),o.onPointerDownObserver.add(this._keepVisibleHideEditor.bind(this))}_keepVisibleHideEditor(){this._editorBridgeService.isForceKeepVisible()||this._hideEditor()}_hideEditor(){this._editorBridgeService.isVisible().visible===!0&&(this._selectionManagerService.makeDirty(!1),this._commandService.executeCommand(Le.id,{visible:!1,eventType:E.DeviceInputEventType.PointerDown}),setTimeout(()=>{this._selectionManagerService.makeDirty(!0)},0))}_initialRangeSelector(){this.disposeWithMe(this._selectionManagerService.selectionMoving$.subscribe(this._rangeSelector.bind(this))),this.disposeWithMe(this._selectionManagerService.selectionMoveStart$.subscribe(this._rangeSelector.bind(this))),this.disposeWithMe(this._rangeSelectorService.openSelector$.subscribe(()=>{const n=this._selectionManagerService.getSelections(),{unitId:i,sheetId:e,sheetName:t}=this._getCurrentUnitIdAndSheetId(),o=n==null?void 0:n.map(r=>({range:r.range,unitId:i,sheetId:e,sheetName:t}));o&&this._rangeSelectorService.selectionChange(o)}))}_rangeSelector(n){if(!n)return;const{unitId:i,sheetId:e,sheetName:t}=this._getCurrentUnitIdAndSheetId(),o=n.map(r=>({range:r.range,unitId:i,sheetId:e,sheetName:t}));this._rangeSelectorService.selectionChange(o)}_getCurrentUnitIdAndSheetId(){const n=this._context.unit,i=n.getActiveSheet();return{unitId:n.getUnitId(),sheetId:i.getSheetId(),sheetName:i.getName()}}_getSheetObject(){return It(this._context.unit,this._context)}_commandExecutedListener(){const n=h.COMMAND_LISTENER_SKELETON_CHANGE;this.disposeWithMe(this._commandService.onCommandExecuted((i,e)=>{e!=null&&e.fromCollab||(i.id===h.SetWorksheetActiveOperation.id?this._keepVisibleHideEditor():n.includes(i.id)&&this._hideEditor())})),this.disposeWithMe(this._commandService.onCommandExecuted(i=>{i.id===Bi.id&&this._editorBridgeService.refreshEditCellState()}))}};Fo=YS([ut(1,k.Inject(k.Injector)),ut(2,l.ICommandService),ut(3,je),ut(4,b.ILayoutService),ut(5,b.IEditorService),ut(6,l.IContextService),ut(7,k.Inject(h.SelectionManagerService)),ut(8,b.IRangeSelectorService)],Fo);var ZS=Object.defineProperty,GS=Object.getOwnPropertyDescriptor,qS=(n,i,e,t)=>{for(var o=t>1?void 0:t?GS(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&ZS(i,e,o),o},Jn=(n,i)=>(e,t)=>i(e,t,n);let pi=class extends l.Disposable{constructor(n,i,e,t){super(),this._commandService=n,this._formatPainterService=i,this._univerInstanceService=e,this._selectionRenderService=t,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(l.toDisposable(this._selectionRenderService.selectionMoveEnd$.subscribe(n=>{if(this._formatPainterService.getStatus()!==ze.OFF){const{rangeWithCoord:i}=n[n.length-1];this._applyFormatPainter({startRow:i.startRow,startColumn:i.startColumn,endRow:i.endRow,endColumn:i.endColumn}),this._formatPainterService.getStatus()===ze.ONCE&&this._commandService.executeCommand(nr.id)}})))}async _applyFormatPainter(n){const{styles:i,merges:e}=this._formatPainterService.getSelectionFormat(),t=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),o=t.getUnitId(),r=t.getActiveSheet().getSheetId();if(!i)return;const{startRow:s,startColumn:a,endRow:c,endColumn:u}=i.getDataRange(),d=c-s+1,m=u-a+1,g=Array.from({length:n.endRow-n.startRow+1},()=>Array.from({length:n.endColumn-n.startColumn+1},()=>({}))),p=[];g.forEach((S,v)=>{S.forEach((I,R)=>{const _=v%d+s,T=R%m+a,y=i.getValue(_,T);y&&(g[v][R].s=y)})}),e.forEach(S=>{const v={startRow:S.startRow-s,startColumn:S.startColumn-a,endRow:S.endRow-s,endColumn:S.endColumn-a},I=Math.max(1,Math.floor((n.endRow-n.startRow+1)/d)),R=Math.max(1,Math.floor((n.endColumn-n.startColumn+1)/m));for(let _=0;_<I;_++)for(let T=0;T<R;T++)p.push({startRow:v.startRow+_*d+n.startRow,startColumn:v.startColumn+T*m+n.startColumn,endRow:v.endRow+_*d+n.startRow,endColumn:v.endColumn+T*m+n.startColumn})});const f={subUnitId:r,unitId:o,styleRange:n,styleValues:g,mergeRanges:p};await this._commandService.executeCommand(Fi.id,f)}};pi=qS([l.OnLifecycle(l.LifecycleStages.Rendered,pi),Jn(0,l.ICommandService),Jn(1,Nt),Jn(2,l.IUniverInstanceService),Jn(3,Me)],pi);var KS=Object.defineProperty,QS=Object.getOwnPropertyDescriptor,JS=(n,i,e,t)=>{for(var o=t>1?void 0:t?QS(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&KS(i,e,o),o},$n=(n,i)=>(e,t)=>i(e,t,n);exports.DragManagerService=class extends l.Disposable{constructor(e,t,o,r){super();w(this,"_currentCell$",new O.Subject);w(this,"currentCell$",this._currentCell$.asObservable().pipe(O.distinctUntilChanged((e,t)=>{var o,r,s,a,c,u,d,m;return((o=e==null?void 0:e.location)==null?void 0:o.unitId)===((r=t==null?void 0:t.location)==null?void 0:r.unitId)&&((s=e==null?void 0:e.location)==null?void 0:s.subUnitId)===((a=t==null?void 0:t.location)==null?void 0:a.subUnitId)&&((c=e==null?void 0:e.location)==null?void 0:c.row)===((u=t==null?void 0:t.location)==null?void 0:u.row)&&((d=e==null?void 0:e.location)==null?void 0:d.col)===((m=t==null?void 0:t.location)==null?void 0:m.col)})));w(this,"_endCell$",new O.Subject);w(this,"endCell$",this._endCell$.asObservable());this._univerInstanceService=e,this._scrollManagerService=t,this._sheetSkeletonManagerService=o,this._renderManagerService=r,this._initCellDisposableListener()}dispose(){super.dispose(),this._currentCell$.complete(),this._endCell$.complete()}_initCellDisposableListener(){this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{e||(this._currentCell$.next(null),this._endCell$.next(null))}))}_calcActiveCell(e,t){const o=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!o)return null;const r=o.getActiveSheet(),s=this._sheetSkeletonManagerService.getCurrent(),a=this._renderManagerService.getRenderById(o.getUnitId()),c=this._scrollManagerService.getCurrentScroll();if(!(!s||!c||!a))return Us(a,o,r,s,e,t)}onDragOver(e){const{offsetX:t,offsetY:o,dataTransfer:r}=e,s=this._calcActiveCell(t,o);if(!s){this._currentCell$.next(null);return}const{location:a,position:c}=s;this._currentCell$.next({location:a,position:c,dataTransfer:r})}onDrop(e){const{offsetX:t,offsetY:o,dataTransfer:r}=e,s=this._calcActiveCell(t,o);if(!s){this._endCell$.next(null);return}const{location:a,position:c}=s;this._endCell$.next({location:a,position:c,dataTransfer:r})}};exports.DragManagerService=JS([$n(0,l.IUniverInstanceService),$n(1,k.Inject(tt)),$n(2,k.Inject(exports.SheetSkeletonManagerService)),$n(3,E.IRenderManagerService)],exports.DragManagerService);var $S=Object.defineProperty,ev=Object.getOwnPropertyDescriptor,tv=(n,i,e,t)=>{for(var o=t>1?void 0:t?ev(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&$S(i,e,o),o},vo=(n,i)=>(e,t)=>i(e,t,n);exports.DragRenderController=class extends l.Disposable{constructor(i,e,t,o){super(),this._context=i,this._renderManagerService=e,this._dragManagerService=t,this._sheetSkeletonManagerService=o,this._initDragEvent()}_initDragEvent(){const i=new l.DisposableCollection,e=t=>{if(i.dispose(),!t)return;const o=this._renderManagerService.getRenderById(t.unitId);if(!o)return;const{scene:r}=o,s=r.onDragOverObserver.add(c=>{this._dragManagerService.onDragOver(c)}),a=r.onDropObserver.add(c=>{this._dragManagerService.onDrop(c)});i.add({dispose(){r.onDragOverObserver.remove(s),r.onDropObserver.remove(a)}})};e(this._sheetSkeletonManagerService.getCurrent()),this.disposeWithMe(this._sheetSkeletonManagerService.currentSkeleton$.subscribe(t=>{e(t)}))}};exports.DragRenderController=tv([l.OnLifecycle(l.LifecycleStages.Rendered,exports.DragRenderController),vo(1,E.IRenderManagerService),vo(2,k.Inject(exports.DragManagerService)),vo(3,k.Inject(exports.SheetSkeletonManagerService))],exports.DragRenderController);const jo="UNIVER_SHEET_PERMISSION_ALERT_DIALOG_ID",Za="UNIVER_SHEET_PERMISSION_ALERT_DIALOG";var nv=Object.defineProperty,iv=Object.getOwnPropertyDescriptor,ov=(n,i,e,t)=>{for(var o=t>1?void 0:t?iv(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&nv(i,e,o),o},Ve=(n,i)=>(e,t)=>i(e,t,n);exports.SheetPermissionInterceptorBaseController=class extends l.Disposable{constructor(e,t,o,r,s,a,c,u,d,m,g,p){super();w(this,"disposableCollection",new l.DisposableCollection);this._commandService=e,this._univerInstanceService=t,this._permissionService=o,this._selectionManagerService=r,this._dialogService=s,this._rangeProtectionRuleModel=a,this._worksheetProtectionRuleModel=c,this._autoFillService=u,this._localeService=d,this._lexerTreeBuilder=m,this._contextService=g,this._definedNamesService=p,this._initialize()}haveNotPermissionHandle(e){const t={id:jo,title:{title:""},children:{label:Za,errorMsg:e},width:320,destroyOnClose:!0,onClose:()=>this._dialogService.close(jo),className:"sheet-permission-user-dialog"};throw this._dialogService.open(t),new Error("have not permission")}_getPermissionCheck(e,t){var s;let o=!0,r="";switch(e){case re.InsertCommand.id:case Le.id:if(this._contextService.getContextValue(l.FOCUSING_EDITOR_STANDALONE)===!0)break;o=this.permissionCheckWithoutRange({workbookTypes:[h.WorkbookEditablePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetSetCellValuePermission,h.WorksheetEditPermission]}),r=this._localeService.t("permission.dialog.editErr");break;case h.SetRangeValuesCommand.id:l.isICellData(t.value)&&t.value.f?(o=this._permissionCheckWithFormula(t),r=this._localeService.t("permission.dialog.formulaErr")):o=this._permissionCheckBySetRangeValue({workbookTypes:[h.WorkbookEditablePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetSetCellValuePermission,h.WorksheetEditPermission]},t);break;case h.ClearSelectionContentCommand.id:o=this.permissionCheckWithRanges({workbookTypes:[h.WorkbookEditablePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetSetCellValuePermission,h.WorksheetEditPermission]}),r=this._localeService.t("permission.dialog.editErr");break;case Li.id:o=this.permissionCheckWithoutRange({workbookTypes:[h.WorkbookEditablePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetColumnStylePermission]}),r=this._localeService.t("permission.dialog.pasteErr");break;case Ti.id:o=this._permissionCheckByPaste(t),r=this._localeService.t("permission.dialog.pasteErr");break;case Fi.id:o=this.permissionCheckWithRanges({workbookTypes:[h.WorkbookEditablePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetCellValuePermission,h.WorksheetSetCellStylePermission]}),r=this._localeService.t("permission.dialog.commonErr");break;case h.SetBackgroundColorCommand.id:case yn.id:case Pn.id:case En.id:case On.id:o=this.permissionCheckWithRanges({workbookTypes:[h.WorkbookEditablePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetSetCellStylePermission,h.WorksheetEditPermission]}),r=this._localeService.t("permission.dialog.setStyleErr");break;case Ko.id:case Qo.id:o=this.permissionCheckWithRanges({workbookTypes:[h.WorkbookCopyPermission],rangeTypes:[h.RangeProtectionPermissionViewPoint],worksheetTypes:[h.WorksheetCopyPermission]}),r=this._localeService.t("permission.dialog.copyErr");break;case h.DeltaColumnWidthCommand.id:case h.SetColWidthCommand.id:o=this.permissionCheckWithoutRange({workbookTypes:[h.WorkbookEditablePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetSetRowStylePermission,h.WorksheetEditPermission]}),r=this._localeService.t("permission.dialog.setRowColStyleErr");break;case h.DeltaRowHeightCommand.id:case h.SetRowHeightCommand.id:case h.SetWorksheetRowIsAutoHeightCommand.id:o=this.permissionCheckWithoutRange({workbookTypes:[h.WorkbookEditablePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetSetRowStylePermission,h.WorksheetEditPermission]}),r=this._localeService.t("permission.dialog.setRowColStyleErr");break;case h.MoveColsCommand.id:case h.MoveRowsCommand.id:o=this._permissionCheckByMoveCommand(t),r=this._localeService.t("permission.dialog.moveRowColErr");break;case h.MoveRangeCommand.id:o=this._permissionCheckByMoveRangeCommand(t),r=this._localeService.t("permission.dialog.moveRangeErr");break;case In.id:o=this._permissionCheckByAutoFillCommand((s=this._autoFillService.autoFillLocation)==null?void 0:s.target),r=this._localeService.t("permission.dialog.autoFillErr");break;case h.SetWorksheetOrderCommand.id:case h.SetWorksheetNameCommand.id:case h.SetWorksheetShowCommand.id:o=this._permissionCheckByWorksheetCommand(),r=this._localeService.t("permission.dialog.operatorSheetErr"),o===!1&&this._worksheetProtectionRuleModel.resetOrder();break;case h.SetSpecificColsVisibleCommand.id:o=this.permissionCheckWithRanges({workbookTypes:[h.WorkbookEditablePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetColumnStylePermission]},t.ranges),r=this._localeService.t("permission.dialog.setRowColStyleErr");break;case h.SetSpecificRowsVisibleCommand.id:o=this.permissionCheckWithRanges({workbookTypes:[h.WorkbookEditablePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetRowStylePermission]},t.ranges),r=this._localeService.t("permission.dialog.setRowColStyleErr");break;case h.SetSelectedColsVisibleCommand.id:o=this.permissionCheckWithRanges({workbookTypes:[h.WorkbookEditablePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetColumnStylePermission]}),r=this._localeService.t("permission.dialog.setRowColStyleErr");break;case h.SetSelectedRowsVisibleCommand.id:o=this.permissionCheckWithRanges({workbookTypes:[h.WorkbookEditablePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetEditPermission,h.WorksheetSetRowStylePermission]}),r=this._localeService.t("permission.dialog.setRowColStyleErr");break;case h.InsertRangeMoveRightCommand.id:o=this._permissionCheckWithInsertRangeMove("right"),r=this._localeService.t("permission.dialog.insertOrDeleteMoveRangeErr");break;case h.InsertRangeMoveDownCommand.id:o=this._permissionCheckWithInsertRangeMove("bottom"),r=this._localeService.t("permission.dialog.insertOrDeleteMoveRangeErr");break;case h.DeleteRangeMoveLeftCommand.id:o=this._permissionCheckWithInsertRangeMove("left"),r=this._localeService.t("permission.dialog.insertOrDeleteMoveRangeErr");break;case h.DeleteRangeMoveUpCommand.id:o=this._permissionCheckWithInsertRangeMove("top"),r=this._localeService.t("permission.dialog.insertOrDeleteMoveRangeErr");break}o||this.haveNotPermissionHandle(r)}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{this._getPermissionCheck(e.id,e==null?void 0:e.params)})),this.disposeWithMe(this._commandService.onCommandExecuted(e=>{var t;if(e.id===h.SetWorksheetNameMutation.id){const o=e.params,{unitId:r=(t=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET))==null?void 0:t.getUnitId(),subUnitId:s}=o;if(!r||!s)return;const a=this._worksheetProtectionRuleModel.getRule(r,s),c=this._rangeProtectionRuleModel.getSubunitRuleList(r,s);a&&this._worksheetProtectionRuleModel.ruleRefresh(a.permissionId),c.length&&this._rangeProtectionRuleModel.ruleRefresh(s)}}))}_permissionCheckWithInsertRangeMove(e){var d;const t=h.getSheetCommandTarget(this._univerInstanceService);if(!t)return!1;const{worksheet:o,unitId:r,subUnitId:s}=t,a=(d=this._selectionManagerService.getLast())==null?void 0:d.range;return!(!a||(e==="top"?a.startRow=0:e==="left"?a.startColumn=0:e==="right"?a.endColumn=o.getColumnCount()-1:e==="bottom"&&(a.endRow=o.getRowCount()-1),this._rangeProtectionRuleModel.getSubunitRuleList(r,s).map(m=>m.ranges).flat().some(m=>l.Rectangle.getIntersects(a,m))))}_permissionCheckByWorksheetCommand(){var a,c,u,d;const e=h.getSheetCommandTarget(this._univerInstanceService);if(!e)return!1;const{unitId:t,subUnitId:o}=e,r=this._worksheetProtectionRuleModel.getRule(t,o),s=this._rangeProtectionRuleModel.getSubunitRuleList(t,o).length>0;return r||s?(c=(a=this._permissionService.getPermissionPoint(new h.WorkbookManageCollaboratorPermission(t).id))==null?void 0:a.value)!=null?c:!1:(d=(u=this._permissionService.getPermissionPoint(new h.WorkbookEditablePermission(t).id))==null?void 0:u.value)!=null?d:!1}permissionCheckWithoutRange(e){var p,f,S,v;const t=h.getSheetCommandTarget(this._univerInstanceService);if(!t)return!1;const{worksheet:o,unitId:r,subUnitId:s}=t,a=this._selectionManagerService.getLast();if(!a)return!0;const c=(f=(p=a==null?void 0:a.primary)==null?void 0:p.actualRow)!=null?f:0,u=(v=(S=a==null?void 0:a.primary)==null?void 0:S.actualColumn)!=null?v:0,{workbookTypes:d=[h.WorkbookEditablePermission],worksheetTypes:m,rangeTypes:g}=e;return!(d&&d.some(R=>{var y,M;const _=new R(r);return((M=(y=this._permissionService.getPermissionPoint(_.id))==null?void 0:y.value)!=null?M:!1)===!1})===!0||m&&m.some(R=>{var y,M;const _=new R(r,s);return((M=(y=this._permissionService.getPermissionPoint(_.id))==null?void 0:y.value)!=null?M:!1)===!1})===!0||g&&g.some(R=>{var P,N,D,A,x;const _=(N=(P=o.getCell(c,u))==null?void 0:P.selectionProtection)==null?void 0:N[0];if(!(_!=null&&_.ruleId))return!1;const T=(D=this._rangeProtectionRuleModel.getRule(r,s,_.ruleId))==null?void 0:D.permissionId;if(!T)return!1;const y=new R(r,s,T);return((x=(A=this._permissionService.getPermissionPoint(y.id))==null?void 0:A.value)!=null?x:!1)===!1})===!0)}permissionCheckWithRanges(e,t,o,r){var p;const s=h.getSheetCommandTarget(this._univerInstanceService);if(!s)return!1;const{workbook:a,worksheet:c}=s;o||(o=a.getUnitId()),r||(r=c.getSheetId());const u=t!=null?t:(p=this._selectionManagerService.getSelections())==null?void 0:p.map(f=>f.range);if(!u)return!1;const{workbookTypes:d=[h.WorkbookEditablePermission],worksheetTypes:m,rangeTypes:g}=e;return d&&d.some(S=>{var R,_;const v=new S(o);return((_=(R=this._permissionService.getPermissionPoint(v.id))==null?void 0:R.value)!=null?_:!1)===!1})===!0||m&&m.some(S=>{var R,_;const v=new S(o,r);return((_=(R=this._permissionService.getPermissionPoint(v.id))==null?void 0:R.value)!=null?_:!1)===!1})===!0?!1:g?u==null?void 0:u.every(S=>g.every(v=>{var I,R,_,T,y;for(let M=S.startRow;M<=S.endRow;M++)for(let P=S.startColumn;P<=S.endColumn;P++){const N=(R=(I=c.getCell(M,P))==null?void 0:I.selectionProtection)==null?void 0:R[0];if(!(N!=null&&N.ruleId))continue;const D=(_=this._rangeProtectionRuleModel.getRule(o,r,N.ruleId))==null?void 0:_.permissionId;if(!D)continue;const A=new v(o,r,D);if(((y=(T=this._permissionService.getPermissionPoint(A.id))==null?void 0:T.value)!=null?y:!1)===!1)return!1}return!0})):!0}_permissionCheckByPaste(e){return e.value==="special-paste-value"||e.value==="special-paste-formula"?this.permissionCheckWithRanges({workbookTypes:[h.WorkbookEditablePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetSetCellStylePermission,h.WorksheetEditPermission]}):e.value==="special-paste-format"?this.permissionCheckWithRanges({workbookTypes:[h.WorkbookEditablePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetSetCellStylePermission,h.WorksheetEditPermission]}):this.permissionCheckWithRanges({workbookTypes:[h.WorkbookEditablePermission],rangeTypes:[h.RangeProtectionPermissionEditPoint],worksheetTypes:[h.WorksheetSetCellValuePermission,h.WorksheetSetCellStylePermission,h.WorksheetEditPermission]})}_permissionCheckByMoveCommand(e){const t=h.getSheetCommandTarget(this._univerInstanceService);if(!t)return!1;const{worksheet:o,unitId:r,subUnitId:s}=t,a=e.toRange;a.endRow===o.getRowCount()-1?a.endColumn=a.startColumn:a.endRow=a.startRow;const c=this._rangeProtectionRuleModel.getSubunitRuleList(r,s).reduce((u,d)=>[...u,...d.ranges],[]).filter(u=>l.Rectangle.intersects(u,a));return c.length>0?!1:(c.forEach(u=>{var d,m;for(let g=u.startRow;g<=u.endRow;g++)for(let p=u.startColumn;p<=u.endColumn;p++){const f=(m=(d=o.getCell(g,p))==null?void 0:d.selectionProtection)==null?void 0:m[0];if((f==null?void 0:f[J.Edit])===!1)return!1}}),!0)}_permissionCheckByAutoFillCommand(e){if(!e)return!1;const{rows:t,cols:o}=e,r=t[0],s=t[t.length-1],a=o[0],c=o[o.length-1],u={startRow:r,endRow:s,startColumn:a,endColumn:c},d=h.getSheetCommandTarget(this._univerInstanceService);if(!d)return!1;const{worksheet:m,unitId:g,subUnitId:p}=d;return!this._rangeProtectionRuleModel.getSubunitRuleList(g,p).reduce((v,I)=>[...v,...I.ranges],[]).filter(v=>l.Rectangle.intersects(v,u)).some(v=>{var I,R;for(let _=v.startRow;_<=v.endRow;_++)for(let T=v.startColumn;T<=v.endColumn;T++){const y=(R=(I=m.getCell(_,T))==null?void 0:I.selectionProtection)==null?void 0:R[0];if((y==null?void 0:y[J.Edit])===!1)return!0}return!1})}_permissionCheckByMoveRangeCommand(e){const t=h.getSheetCommandTarget(this._univerInstanceService);if(!t)return!1;const{worksheet:o,unitId:r,subUnitId:s}=t,a=e.toRange,c=this._rangeProtectionRuleModel.getSubunitRuleList(r,s).reduce((u,d)=>[...u,...d.ranges],[]).filter(u=>l.Rectangle.intersects(u,a));return c.length>0?!1:(c.forEach(u=>{var d,m;for(let g=u.startRow;g<=u.endRow;g++)for(let p=u.startColumn;p<=u.endColumn;p++){const f=(m=(d=o.getCell(g,p))==null?void 0:d.selectionProtection)==null?void 0:m[0];if((f==null?void 0:f[J.Edit])===!1)return!1}}),!0)}_permissionCheckBySetRangeValue(e,t){let o=[];t.range?o=[t.range]:o=[new l.ObjectMatrix(t.value).getDataRange()];const{unitId:r,subUnitId:s}=t;return this.permissionCheckWithRanges(e,o,r,s)}_permissionCheckWithFormula(e){var s,a,c,u,d;const t=e.value,o=e.range,r=t.f;if(r){const m=r.substring(1),g=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),p=(s=e.unitId)!=null?s:g.getUnitId(),f=this._definedNamesService.getValueByName(p,m);if(f){let S=f.formulaOrRefString;S.startsWith($.operatorToken.EQUALS)&&(S=S.slice(1));const v=S.split(",");for(let I=0;I<v.length;I++){const R=v[I],_=$.deserializeRangeWithSheet(R);if(_.sheetName){const T=g.getSheetBySheetName(_.sheetName);if(!T)return!1;const{startRow:y,endRow:M,startColumn:P,endColumn:N}=_.range;for(let D=y;D<=M;D++)for(let A=P;A<=N;A++){const x=(c=(a=T.getCell(D,A))==null?void 0:a.selectionProtection)==null?void 0:c[0];if((x==null?void 0:x[J.View])===!1)return!1}}}return!0}else{const S=this._lexerTreeBuilder.sequenceNodesBuilder(r);if(!S)return!0;for(let v=0;v<S.length;v++){const I=S[v];if(typeof I=="string")continue;const{token:R}=I,_=$.deserializeRangeWithSheet(R),T=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);let y=T.getActiveSheet();const M=T.getUnitId();if(_.sheetName){if(y=T.getSheetBySheetName(_.sheetName),!y)return!1;const x=y==null?void 0:y.getSheetId();if(!this._permissionService.getPermissionPoint(new h.WorksheetViewPermission(M,x).id))return!1}if(!y)return!1;const{startRow:P,endRow:N,startColumn:D,endColumn:A}=_.range;for(let x=P;x<=N;x++)for(let L=D;L<=A;L++){const U=(d=(u=y.getCell(x,L))==null?void 0:u.selectionProtection)==null?void 0:d[0];if((U==null?void 0:U[J.View])===!1)return!1}}}}if(o){const m=h.getSheetCommandTarget(this._univerInstanceService);if(!m)return!1;const g=e.unitId||m.unitId,p=e.subUnitId||m.subUnitId,S=this._rangeProtectionRuleModel.getSubunitRuleList(g,p).filter(I=>I.ranges.some(R=>l.Rectangle.intersects(R,o))).map(I=>new h.RangeProtectionPermissionEditPoint(g,p,I.permissionId).id);if(!this._permissionService.composePermission(S).every(I=>I.value))return!1}return!0}};exports.SheetPermissionInterceptorBaseController=ov([l.OnLifecycle(l.LifecycleStages.Steady,exports.SheetPermissionInterceptorBaseController),Ve(0,l.ICommandService),Ve(1,l.IUniverInstanceService),Ve(2,l.IPermissionService),Ve(3,k.Inject(h.SelectionManagerService)),Ve(4,b.IDialogService),Ve(5,k.Inject(h.RangeProtectionRuleModel)),Ve(6,k.Inject(h.WorksheetProtectionRuleModel)),Ve(7,Ot),Ve(8,k.Inject(l.LocaleService)),Ve(9,k.Inject($.LexerTreeBuilder)),Ve(10,l.IContextService),Ve(11,$.IDefinedNamesService)],exports.SheetPermissionInterceptorBaseController);var rv=Object.defineProperty,sv=Object.getOwnPropertyDescriptor,av=(n,i,e,t)=>{for(var o=t>1?void 0:t?sv(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&rv(i,e,o),o},dn=(n,i)=>(e,t)=>i(e,t,n);const lv="SHEET_PERMISSION_PASTE_PLUGIN";let fi=class extends l.Disposable{constructor(i,e,t,o,r){super();w(this,"disposableCollection",new l.DisposableCollection);this._univerInstanceService=i,this._selectionManagerService=e,this._localService=t,this._sheetClipboardService=o,this._sheetPermissionInterceptorBaseController=r,this._initClipboardHook()}_initClipboardHook(){this.disposeWithMe(this._sheetClipboardService.addClipboardHook({id:lv,onBeforePaste:i=>{var g,p,f;const[e]=Zt([i.range]).ranges,t=(g=this._selectionManagerService.getLast())==null?void 0:g.range;if(!t)return!1;const o={startRow:t.startRow+e.startRow,endRow:t.startRow+e.endRow,startColumn:t.startColumn+e.startColumn,endColumn:t.startColumn+e.endColumn},s=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getActiveSheet(),{startRow:a,endRow:c,startColumn:u,endColumn:d}=o;let m=!0;for(let S=a;S<=c;S++)for(let v=u;v<=d;v++){const I=(f=(p=s.getCell(S,v))==null?void 0:p.selectionProtection)==null?void 0:f[0];if((I==null?void 0:I[J.Edit])===!1){m=!1;break}}return m||this._sheetPermissionInterceptorBaseController.haveNotPermissionHandle(this._localService.t("permission.dialog.pasteErr")),m}}))}};fi=av([l.OnLifecycle(l.LifecycleStages.Steady,fi),dn(0,l.IUniverInstanceService),dn(1,k.Inject(h.SelectionManagerService)),dn(2,k.Inject(l.LocaleService)),dn(3,k.Inject(Ct)),dn(4,k.Inject(exports.SheetPermissionInterceptorBaseController))],fi);function cv(n){const i=n.get(l.IUniverInstanceService),e=n.get(h.SelectionManagerService),t=i.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),o=n.get(h.RangeProtectionRuleModel),r=n.get(h.WorksheetProtectionRuleModel);return O.merge(e.selectionMoveEnd$,o.ruleChange$,r.ruleChange$).pipe(O.map(()=>{const s=t.getActiveSheet(),a=t.getUnitId(),c=s.getSheetId(),u=o.getSubunitRuleList(a,c),d=e.getSelections(),m=d==null?void 0:d.map(f=>f.range),g=u.map(f=>f.ranges).flat();if(!m)return!1;const p=r.getRule(a,c);return p!=null&&p.permissionId&&(p!=null&&p.name)?!0:m==null?void 0:m.some(f=>g.some(S=>l.Rectangle.intersects(f,S)))}))}function dv(n){const i=n.get(l.IUniverInstanceService),e=n.get(h.SelectionManagerService),t=i.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),o=n.get(h.RangeProtectionRuleModel),r=n.get(h.WorksheetProtectionRuleModel);return O.merge(e.selectionMoveEnd$,o.ruleChange$,r.ruleChange$).pipe(O.map(()=>{var S;const s=t.getActiveSheet(),a=t.getUnitId(),c=s.getSheetId(),u=o.getSubunitRuleList(a,c),d=(S=e.getSelections())==null?void 0:S.map(v=>v.range),m=u.map(v=>v.ranges).flat();if(!(d!=null&&d.length)||d.length>1)return!0;const g=d[0],p=r.getRule(a,c);return p!=null&&p.permissionId&&(p!=null&&p.name)?!1:m.filter(v=>l.Rectangle.intersects(v,g)).length!==1}))}function uv(n){const e=n.get(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),t=n.get(h.RangeProtectionRuleModel),o=n.get(h.WorksheetProtectionRuleModel),r=e.getUnitId(),s=n.get(l.IPermissionService),a=n.get(h.SelectionManagerService),c=n.get(l.UserManagerService);return O.combineLatest([e.activeSheet$,c.currentUser$]).pipe(O.switchMap(([u,d])=>{var p,f;if(!u)return O.of(!0);const m=(f=(p=s.getPermissionPoint$(new h.WorkbookManageCollaboratorPermission(r).id))==null?void 0:p.pipe(O.map(S=>!!S.value)))!=null?f:O.of(!1),g=O.merge(a.selectionMoveEnd$,t.ruleChange$,o.ruleChange$).pipe(O.startWith(null));return O.combineLatest([m,g]).pipe(O.map(([S,v])=>{if(!S)return!0;const I=a.getSelections(),R=I==null?void 0:I.map(_=>_.range);return R!=null&&R.length?R.length>1:!1}))}))}function Ga(n){const e=n.get(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),t=n.get(h.RangeProtectionRuleModel),o=n.get(h.WorksheetProtectionRuleModel),r=e.getUnitId(),s=n.get(h.SelectionManagerService),a=n.get(l.UserManagerService),c=n.get(l.IPermissionService),d=n.get(l.IContextService).subscribeContextValue$(l.FOCUSING_COMMON_DRAWINGS);return O.combineLatest([e.activeSheet$,a.currentUser$,d]).pipe(O.switchMap(([m,g,p])=>{var I,R;if(!m||p)return O.of(!0);const f=m.getSheetId(),S=(R=(I=c.getPermissionPoint$(new h.WorkbookManageCollaboratorPermission(r).id))==null?void 0:I.pipe(O.map(_=>!!_.value)))!=null?R:O.of(!1),v=O.merge(s.selectionMoveEnd$,t.ruleChange$,o.ruleChange$).pipe(O.startWith(null));return O.combineLatest([S,v]).pipe(O.map(([_,T])=>{if(!_)return!0;const y=s.getSelections(),M=y==null?void 0:y.map(A=>A.range);if(!(M!=null&&M.length))return!0;const P=o.getRule(r,f);if(P!=null&&P.permissionId&&(P!=null&&P.name))return!0;const N=t.getSubunitRuleList(r,f);return M==null?void 0:M.some(A=>N.some(x=>x.ranges.some(L=>l.Rectangle.intersects(A,L))))}))}))}function hv(n){const e=n.get(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),t=n.get(h.RangeProtectionRuleModel),o=n.get(h.WorksheetProtectionRuleModel),r=n.get(l.IPermissionService),s=n.get(l.UserManagerService);return O.combineLatest([e.activeSheet$,s.currentUser$]).pipe(O.switchMap(([a,c])=>{var p,f;if(!a)return O.of(!0);const u=e.getUnitId(),d=a.getSheetId(),m=(f=(p=r.getPermissionPoint$(new h.WorkbookManageCollaboratorPermission(u).id))==null?void 0:p.pipe(O.map(S=>!!S.value)))!=null?f:O.of(!1),g=O.merge(o.ruleChange$,t.ruleChange$).pipe(O.startWith(null));return O.combineLatest([m,g]).pipe(O.map(([S,v])=>{var _;if(!S)return!0;const I=o.getRule(u,d);return I!=null&&I.permissionId&&(I!=null&&I.name)?!0:((_=t.getSubunitRuleList(u,d))==null?void 0:_.filter(T=>(T==null?void 0:T.permissionId)&&(T==null?void 0:T.name))).length>0}))}))}function mv(n){const e=n.get(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),t=n.get(h.WorksheetProtectionRuleModel),o=n.get(l.UserManagerService),r=n.get(l.IPermissionService);return O.combineLatest([e.activeSheet$,o.currentUser$,t.ruleChange$.pipe(O.startWith(null))]).pipe(O.switchMap(([s,a])=>{var m,g;if(!s)return O.of(!0);const c=e.getUnitId(),u=s.getSheetId();return((g=(m=r.getPermissionPoint$(new h.WorkbookManageCollaboratorPermission(c).id))==null?void 0:m.pipe(O.map(p=>!!p.value)))!=null?g:O.of(!1)).pipe(O.map(p=>{if(!p)return!0;const f=t.getRule(c,u);return!(f!=null&&f.permissionId&&(f!=null&&f.name))}))}))}function gv(n){const e=n.get(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),t=n.get(l.IPermissionService),o=e.getUnitId(),r=n.get(l.UserManagerService),s=n.get(h.WorksheetProtectionRuleModel),a=n.get(h.RangeProtectionRuleModel);return O.combineLatest([e.activeSheet$,r.currentUser$]).pipe(O.switchMap(([c,u])=>{var p,f;if(!c)return O.of(!0);const d=(f=(p=t.getPermissionPoint$(new h.WorkbookManageCollaboratorPermission(o).id))==null?void 0:p.pipe(O.map(S=>!!S.value)))!=null?f:O.of(!1),m=s.ruleChange$.pipe(O.startWith(null)),g=a.ruleChange$.pipe(O.startWith(null));return O.combineLatest([d,m,g]).pipe(O.map(([S,v,I])=>{if(!S)return!0;const R=c.getSheetId(),_=s.getRule(o,R),T=a.getSubunitRuleList(o,R);return!(_||T.length)}))}))}function pv(n){const e=n.get(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),t=n.get(h.RangeProtectionRuleModel),o=n.get(h.WorksheetProtectionRuleModel),r=e.getUnitId(),s=n.get(l.IPermissionService),a=n.get(l.UserManagerService);return O.combineLatest([e.activeSheet$,a.currentUser$]).pipe(O.switchMap(([c,u])=>{var p,f;if(!c)return O.of(!0);const d=c.getSheetId(),m=O.merge(n.get(h.SelectionManagerService).selectionMoveEnd$,n.get(h.RangeProtectionRuleModel).ruleChange$,n.get(h.WorksheetProtectionRuleModel).ruleChange$),g=(f=(p=s.getPermissionPoint$(new h.WorkbookManageCollaboratorPermission(r).id))==null?void 0:p.pipe(O.map(S=>!!S.value)))!=null?f:O.of(!1);return O.combineLatest([m,g]).pipe(O.map(([S,v])=>{if(!v)return!0;const I=n.get(h.SelectionManagerService).getSelections(),R=I==null?void 0:I.map(P=>P.range);if(!(R!=null&&R.length)||R.length>1)return!0;const _=R[0],T=o.getRule(r,d);return!(T!=null&&T.permissionId&&(T!=null&&T.name)||t.getSubunitRuleList(r,d).map(P=>P.ranges).flat().some(P=>l.Rectangle.intersects(_,P)))}))}))}function qa(n){const e=n.get(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),t=e.getUnitId(),o=n.get(l.UserManagerService),r=n.get(l.IPermissionService);return O.combineLatest([e.activeSheet$,o.currentUser$]).pipe(O.switchMap(([s,a])=>{var u,d;return s?((d=(u=r.getPermissionPoint$(new h.WorkbookEditablePermission(t).id))==null?void 0:u.pipe(O.map(m=>!!m.value)))!=null?d:O.of(!1)).pipe(O.map(m=>!m)):O.of(!0)}))}const Lt=(n,i,e)=>{n[i]||(n[i]={}),n[i].isSkip=e};var fv=Object.defineProperty,Sv=Object.getOwnPropertyDescriptor,vv=(n,i,e,t)=>{for(var o=t>1?void 0:t?Sv(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&fv(i,e,o),o},Je=(n,i)=>(e,t)=>i(e,t,n);let Si=class extends l.Disposable{constructor(n,i,e,t,o,r,s,a,c,u){super(),this._univerInstanceService=n,this._dialogService=i,this._permissionService=e,this._authzIoService=t,this._rangeProtectionRuleModel=o,this._worksheetProtectionRuleModel=r,this._userManagerService=s,this._worksheetProtectionPointRuleModel=a,this._sheetInterceptorService=c,this._selectionProtectionRenderModel=u,this._initRangePermissionFromSnapshot(),this._initRangePermissionChange(),this._initWorksheetPermissionFromSnapshot(),this._initWorksheetPermissionChange(),this._initWorksheetPermissionPointsChange(),this._initWorkbookPermissionChange(),this._initUserChange(),this._initViewModelByRangeInterceptor(),this._initViewModelBySheetInterceptor()}_initRangePermissionFromSnapshot(){const n=[],i=this._univerInstanceService.getCurrentUnitForType(wi.UNIVER_SHEET),e=i.getUnitId(),t=i.getSheets(),o=new Map;t.forEach(r=>{const s=r.getSheetId();this._rangeProtectionRuleModel.getSubunitRuleList(e,s).forEach(a=>{o.set(a.permissionId,a),n.push({objectID:a.permissionId,unitID:e,objectType:ae.SelectRange,actions:[J.View,J.Edit]})})}),n.length&&this._authzIoService.batchAllowed(n).then(r=>{r.forEach(s=>{const a=o.get(s.objectID);a&&h.getAllRangePermissionPoint().forEach(c=>{const u=new c(e,a.subUnitId,s.objectID),d=u.subType,m=s.actions.find(g=>g.action===d);(m==null?void 0:m.allowed)!==void 0&&this._permissionService.updatePermissionPoint(u.id,m.allowed)})})})}_initRangePermissionChange(){this.disposeWithMe(this._rangeProtectionRuleModel.ruleChange$.subscribe(n=>{n.type!=="delete"?this._authzIoService.allowed({objectID:n.rule.permissionId,unitID:n.unitId,objectType:ae.SelectRange,actions:[J.Edit,J.View]}).then(i=>{h.getAllRangePermissionPoint().forEach(e=>{if(n.type==="set"){const{rule:a,oldRule:c}=n;if(a.permissionId===(c==null?void 0:c.permissionId))return}const t=n.rule,o=new e(t.unitId,t.subUnitId,t.permissionId),r=o.subType;i.find(a=>a.action===r)&&this._permissionService.updatePermissionPoint(o.id,!1)})}):this._rangeProtectionRuleModel.getSubunitRuleList(n.unitId,n.subUnitId).length===0&&(this._worksheetProtectionPointRuleModel.deleteRule(n.unitId,n.subUnitId),[...h.getAllWorksheetPermissionPointByPointPanel()].forEach(e=>{const t=new e(n.unitId,n.subUnitId);this._permissionService.addPermissionPoint(t)}))}))}_initWorkbookPermissionChange(){const i=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getUnitId();this._authzIoService.allowed({objectID:i,objectType:ae.Workbook,unitID:i,actions:h.defaultWorkbookPermissionPoints}).then(e=>{h.getAllWorkbookPermissionPoint().forEach(t=>{const o=new t(i),r=o.subType,s=e.find(a=>a.action===r);s&&this._permissionService.updatePermissionPoint(o.id,s.allowed)})})}_initWorksheetPermissionChange(){this.disposeWithMe(this._worksheetProtectionRuleModel.ruleChange$.subscribe(n=>{n.type!=="delete"?this._authzIoService.allowed({objectID:n.rule.permissionId,unitID:n.unitId,objectType:ae.Worksheet,actions:[J.Edit,J.View]}).then(i=>{h.getAllWorksheetPermissionPoint().forEach(e=>{const t=new e(n.unitId,n.subUnitId),o=t.subType,r=i.find(s=>s.action===o);r&&this._permissionService.updatePermissionPoint(t.id,r.allowed)})}):([...h.getAllWorksheetPermissionPoint(),...h.getAllWorksheetPermissionPointByPointPanel()].forEach(i=>{const e=new i(n.unitId,n.subUnitId);this._permissionService.addPermissionPoint(e)}),this._worksheetProtectionPointRuleModel.deleteRule(n.unitId,n.subUnitId))}))}_initWorksheetPermissionPointsChange(){this.disposeWithMe(this._worksheetProtectionPointRuleModel.pointChange$.subscribe(n=>{this._authzIoService.allowed({objectID:n.permissionId,unitID:n.unitId,objectType:ae.Worksheet,actions:h.defaultWorksheetPermissionPoint}).then(i=>{h.getAllWorksheetPermissionPointByPointPanel().forEach(e=>{const t=new e(n.unitId,n.subUnitId),o=t.subType,r=i.find(s=>s.action===o);r&&this._permissionService.updatePermissionPoint(t.id,r.allowed)})})}))}_initWorksheetPermissionFromSnapshot(){const n=[],i=this._univerInstanceService.getCurrentUnitForType(wi.UNIVER_SHEET),e=i.getUnitId(),t=i.getSheets(),o=new Map;t.forEach(r=>{const s=r.getSheetId(),a=this._worksheetProtectionRuleModel.getRule(e,s);a&&(o.set(a.permissionId,a),n.push({objectID:a.permissionId,unitID:e,objectType:ae.Worksheet,actions:[J.Edit,J.View]}));const c=this._worksheetProtectionPointRuleModel.getRule(e,s);c&&(o.set(c.permissionId,c),n.push({objectID:c.permissionId,unitID:e,objectType:ae.Worksheet,actions:h.defaultWorksheetPermissionPoint}))}),n.length&&this._authzIoService.batchAllowed(n).then(r=>{r.forEach(s=>{const a=o.get(s.objectID);a&&[...h.getAllWorksheetPermissionPoint(),...h.getAllWorksheetPermissionPointByPointPanel()].forEach(c=>{const u=new c(e,a.subUnitId),d=u.subType,m=s.actions.find(g=>g.action===d);(m==null?void 0:m.allowed)!==void 0&&this._permissionService.updatePermissionPoint(u.id,m.allowed)})})})}_initUserChange(){this.disposeWithMe(this._userManagerService.currentUser$.subscribe(()=>{this._permissionService.clearPermissionMap(),this._worksheetProtectionRuleModel.changeRuleInitState(!1);const n=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),i=n.getUnitId();h.getAllWorkbookPermissionPoint().forEach(e=>{const t=new e(i);this._permissionService.addPermissionPoint(t)}),n.getSheets().forEach(e=>{const t=e.getSheetId();[...h.getAllWorksheetPermissionPoint(),...h.getAllWorksheetPermissionPointByPointPanel()].forEach(r=>{const s=new r(i,t);this._permissionService.addPermissionPoint(s)}),this._rangeProtectionRuleModel.getSubunitRuleList(i,t).forEach(r=>{h.getAllRangePermissionPoint().forEach(s=>{const a=new s(i,t,r.permissionId);this._permissionService.addPermissionPoint(a)})})}),this._initWorkbookPermissionChange(),this._initWorksheetPermissionFromSnapshot(),this._initRangePermissionFromSnapshot()}))}_initViewModelByRangeInterceptor(){this.disposeWithMe(this._sheetInterceptorService.intercept(h.INTERCEPTOR_POINT.CELL_CONTENT,{handler:(n={},i,e)=>{const{unitId:t,subUnitId:o,row:r,col:s}=i,a=this._selectionProtectionRenderModel.getCellInfo(t,o,r,s).filter(c=>!!c.ruleId).map(c=>{const u=this._rangeProtectionRuleModel.getRule(t,o,c.ruleId)||{};return{...c,ranges:u.ranges}}).filter(c=>!!c.ranges);if(a.length){const c=a.some(g=>!(g!=null&&g[J.View])),u={...n,selectionProtection:a},{markers:d,dataValidation:m}=u;return c&&(d&&(d.isSkip=!0),m&&(m.isSkip=!0),Lt(u,"fontRenderExtension",!0),Lt(u,"backgroundRenderExtension",!0),Lt(u,"borderRenderExtension",!0)),e(u)}return e(n)}}))}_initViewModelBySheetInterceptor(){this.disposeWithMe(this._sheetInterceptorService.intercept(h.INTERCEPTOR_POINT.CELL_CONTENT,{handler:(n={},i,e)=>{var s,a,c,u,d;const{unitId:t,subUnitId:o}=i,r=this._worksheetProtectionRuleModel.getRule(t,o);if(r!=null&&r.permissionId&&r.name){const m=[{[J.View]:(a=(s=this._permissionService.getPermissionPoint(new h.WorksheetViewPermission(t,o).id))==null?void 0:s.value)!=null?a:!1,[J.Edit]:(u=(c=this._permissionService.getPermissionPoint(new h.WorksheetEditPermission(t,o).id))==null?void 0:c.value)!=null?u:!1}],g=!((d=m[0])!=null&&d[J.View]),p={...n,hasWorksheetRule:!0,selectionProtection:m},{markers:f,dataValidation:S}=p;return g&&(f&&(f.isSkip=!0),S&&(S.isSkip=!0),Lt(p,"fontRenderExtension",!0),Lt(p,"backgroundRenderExtension",!0),Lt(p,"borderRenderExtension",!0)),e(p)}return e(n)}}))}};Si=vv([l.OnLifecycle(l.LifecycleStages.Rendered,Si),Je(0,l.IUniverInstanceService),Je(1,b.IDialogService),Je(2,l.IPermissionService),Je(3,l.IAuthzIoService),Je(4,k.Inject(h.RangeProtectionRuleModel)),Je(5,k.Inject(h.WorksheetProtectionRuleModel)),Je(6,k.Inject(l.UserManagerService)),Je(7,k.Inject(h.WorksheetProtectionPointModel)),Je(8,k.Inject(h.SheetInterceptorService)),Je(9,k.Inject(h.RangeProtectionRenderModel))],Si);const Un="sheet.contextMenu.permission";function Cv(n){return{id:Va.id,type:b.MenuItemType.BUTTON,positions:[b.MenuPosition.TOOLBAR_START],group:b.MenuGroup.TOOLBAR_OTHERS,icon:Da,tooltip:"permission.toolbarMenu",hidden$:b.getMenuHiddenObservable(n,l.UniverInstanceType.UNIVER_SHEET),disabled$:Ga(n)}}function Iv(){return{id:Un,group:b.MenuGroup.CONTEXT_MENU_LAYOUT,type:b.MenuItemType.SUBITEMS,title:"rightClick.protectRange",icon:ka,positions:[b.MenuPosition.CONTEXT_MENU,"rowHeaderContextMenu","colHeaderContextMenu"]}}function Rv(n){return{id:Wa.id,type:b.MenuItemType.BUTTON,title:"rightClick.turnOnProtectRange",positions:[Un],hidden$:cv(n),disabled$:Ga(n)}}function bv(n){return{id:Xa.id,type:b.MenuItemType.BUTTON,title:"rightClick.editProtectRange",positions:[Un],hidden$:dv(n),disabled$:uv(n)}}function _v(n){return{id:ja.id,type:b.MenuItemType.BUTTON,title:"rightClick.removeProtectRange",positions:[Un],disabled$:pv(n)}}function Tv(n){return{id:Ua.id,type:b.MenuItemType.BUTTON,title:"rightClick.viewAllProtectArea",positions:[Un],disabled$:qa(n)}}function wv(n){return{id:Ba.id,type:b.MenuItemType.BUTTON,positions:["sheetBar"],title:"sheetConfig.addProtectSheet",disabled$:hv(n)}}function Mv(n){return{id:La.id,type:b.MenuItemType.BUTTON,positions:["sheetBar"],title:"sheetConfig.removeProtectSheet",disabled$:mv(n)}}function yv(n){return{id:Ha.id,type:b.MenuItemType.BUTTON,positions:["sheetBar"],title:"sheetConfig.changeSheetPermission",disabled$:gv(n)}}function Pv(n){return{id:Fa.id,type:b.MenuItemType.BUTTON,positions:["sheetBar"],title:"sheetConfig.viewAllProtectArea",disabled$:qa(n)}}const Ka="data:image/png;base64,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",Ev="univer-spin-container",Ov="univer-spin-overlay",Av="univer-spinner",Nv="univer-spin",xv="univer-content-blur",ei={spinContainer:Ev,spinOverlay:Ov,spinner:Av,spin:Nv,contentBlur:xv},Dv=({loading:n,children:i})=>C.jsxs("div",{className:ei.spinContainer,children:[n&&C.jsx("div",{className:ei.spinOverlay,children:C.jsx("div",{className:ei.spinner})}),C.jsx("div",{className:n?ei.contentBlur:"",children:i})]}),Qa=Dv,kv="univer-permission-panel-detail-wrapper",Lv="univer-radio-group-vertical",Hv="univer-sheet-permission-design-person-panel",Vv="univer-sheet-permission-design-person-panel-header",Wv="univer-sheet-permission-design-person-panel-header-add",Uv="univer-sheet-permission-design-person-panel-split",Bv="univer-sheet-permission-design-person-panel-content-item",Fv="univer-sheet-permission-design-person-panel-content-item-name",jv="univer-sheet-permission-design-person-panel-content-item-select",Xv="univer-sheet-permission-design-person-panel-content",zv="univer-sheet-permission-user-list-empty",Yv="univer-sheet-permission-user-list-empty-text",Zv="univer-sheet-permission-panel-title",Gv="univer-permission-range-selector",qv="univer-permission-range-selector-error",Kv="univer-sheet-permission-panel-name-input-error",Qv="univer-permission-range-selector-error-text",Jv="univer-sheet-permission-panel-name-input-error-text",pe={permissionPanelDetailWrapper:kv,radioGroupVertical:Lv,sheetPermissionDesignPersonPanel:Hv,sheetPermissionDesignPersonPanelHeader:Vv,sheetPermissionDesignPersonPanelHeaderAdd:Wv,sheetPermissionDesignPersonPanelSplit:Uv,sheetPermissionDesignPersonPanelContentItem:Bv,sheetPermissionDesignPersonPanelContentItemName:Fv,sheetPermissionDesignPersonPanelContentItemSelect:jv,sheetPermissionDesignPersonPanelContent:Xv,sheetPermissionUserListEmpty:zv,sheetPermissionUserListEmptyText:Yv,sheetPermissionPanelTitle:Zv,permissionRangeSelector:Gv,permissionRangeSelectorError:qv,sheetPermissionPanelNameInputError:Kv,permissionRangeSelectorErrorText:Qv,sheetPermissionPanelNameInputErrorText:Jv},$v=({fromSheetBar:n})=>{var x,L,U;const i=B.useDependency(l.LocaleService),e=B.useDependency(b.IDialogService),t=B.useDependency(l.IUniverInstanceService),o=B.useDependency(h.SelectionManagerService),r=B.useDependency(ye),s=b.useObservable(r.rule$,r.rule),a=B.useDependency(l.UserManagerService),c=B.useDependency(kn),u=B.useDependency(l.IAuthzIoService),d=B.useDependency(b.ISidebarService),m=B.useDependency(h.RangeProtectionRuleModel),g=B.useDependency(h.WorksheetProtectionRuleModel),p=b.useObservable(r.rangeErrorMsg$),f=t.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),S=f.getActiveSheet(),v=f.getUnitId(),I=S.getSheetId(),R=b.useObservable(c.selectUserList$,c.selectUserList),[_,T]=V.useState(R.length?"designedUserCanEdit":"onlyMe"),[y,M]=V.useState(Wt.othersCanView),[P,N]=V.useState(!1),D=async()=>{const H=await u.listCollaborators({objectID:v,unitID:v});H.forEach(W=>{W!=null&&W.subject&&a.addUser(W.subject)}),c.setUserList(H),e.open({id:Ni,title:{title:""},children:{label:Na},width:280,destroyOnClose:!0,onClose:()=>e.close(Ni),className:"sheet-permission-user-dialog"})},A=H=>{let W="";if(H.length===0)W=i.t("permission.panel.emptyRangeError");else if(H.length>1){let z=!1;for(let q=0;q<H.length;q++){for(let Y=q+1;Y<H.length;Y++)if(l.Rectangle.intersects(H[q],H[Y])){z=!0;break}if(z)break}z&&(W=i.t("permission.panel.rangeOverlapError"))}if(!W){if(g.getRule(v,I)&&!(s!=null&&s.permissionId))return W=i.t("permission.panel.rangeOverlapOverPermissionError"),W;const q=m.getSubunitRuleList(v,I).filter(X=>X.permissionId!==(s==null?void 0:s.permissionId)).find(X=>X.ranges.some(Z=>H.some(G=>l.Rectangle.intersects(Z,G))));(q==null?void 0:q.ranges.find(X=>H.some(Z=>l.Rectangle.intersects(X,Z))))&&(W=i.t("permission.panel.rangeOverlapOverPermissionError"))}return W};return V.useEffect(()=>{var X;if(s==null?void 0:s.permissionId){s.unitType===ae.Worksheet&&r.setRule({ranges:[{startRow:0,startColumn:0,endRow:S.getRowCount()-1,endColumn:S.getColumnCount()-1,rangeType:l.RANGE_TYPE.ALL}]});return}n&&(o.clear(),o.add([{primary:null,style:null,range:{startRow:0,startColumn:0,endRow:S.getRowCount()-1,endColumn:S.getColumnCount()-1,rangeType:l.RANGE_TYPE.ALL}}]));const W=(X=o.getSelectionRanges())!=null?X:[],z=A(W);r.setRangeErrorMsg(z);const q=W!=null&&W.length?W.map(Z=>{const G=$.serializeRange(Z);return G==="NaN"?"":G}).filter(Z=>!!Z).join(","):"",Y=S.getName();r.setRule({ranges:W,name:n?`${Y}`:`${Y}(${q})`,unitId:v,subUnitId:I,unitType:n?ae.Worksheet:ae.SelectRange})},[s==null?void 0:s.permissionId,n,o,r,I,v,S]),V.useEffect(()=>{const H=async()=>{const W=s==null?void 0:s.permissionId;N(!0);const z=await u.listCollaborators({objectID:W,unitID:v}),q=z.filter(X=>X.role===we.Editor);c.setSelectUserList(q),N(!1),(q==null?void 0:q.length)>0&&T("designedUserCanEdit");const Y=z.filter(X=>X.role===we.Reader);Y.length===0&&M(Wt.noOneElseCanView),c.setOldCollaboratorList(q.concat(Y))};s!=null&&s.permissionId?H():(c.setSelectUserList([]),T("onlyMe"))},[s==null?void 0:s.permissionId]),V.useEffect(()=>{(async()=>{const W=await u.listCollaborators({objectID:v,unitID:v});W.forEach(z=>{z!=null&&z.subject&&a.addUser(z.subject)}),c.setUserList(W.filter(z=>z.role===we.Editor)),c.setAllUserList(W.filter(z=>z.role===we.Editor||z.role===we.Reader))})()},[]),V.useEffect(()=>{r.setRule({viewStatus:y})},[r,y]),V.useEffect(()=>{const H=t.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);if(!H)return;const W=H.activeSheet$.subscribe(z=>{(z==null?void 0:z.getSheetId())!==I&&d.close()});return()=>{W.unsubscribe()}},[d,I,t]),(x=s==null?void 0:s.ranges)==null||x.map(H=>$.serializeRange(H)).join(","),C.jsxs("div",{className:pe.permissionPanelDetailWrapper,children:[C.jsxs(ie.FormLayout,{className:pe.sheetPermissionPanelTitle,label:i.t("permission.panel.protectedRange"),children:[C.jsx(b.RangeSelector,{className:fe(pe.permissionRangeSelector),textEditorClassName:fe({[pe.permissionRangeSelectorError]:p}),value:(L=s==null?void 0:s.ranges)==null?void 0:L.map(H=>$.serializeRange(H)).join(","),id:l.createInternalEditorID("sheet-permission-panel"),openForSheetUnitId:v,openForSheetSubUnitId:I,onChange:H=>{if(H.some(j=>!l.isValidRange(j.range)||j.range.endColumn<j.range.startColumn||j.range.endRow<j.range.startRow))return;const W=t.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),z=W.getActiveSheet(),q=W.getUnitId(),Y=z.getSheetId(),X=H.map(j=>{const F={...j.range},te=z.getRowCount(),ne=z.getColumnCount();return h.setEndForRange(F,te,ne),F}),Z=A(X);if(r.setRangeErrorMsg(Z),Z)return;const G=z.getName(),K=X.map(j=>{const F=$.serializeRange(j);return F==="NaN"?"":F}).filter(j=>!!j).join(","),ee={ranges:X,unitId:q,subUnitId:Y,unitType:ae.SelectRange,name:`${G}(${K})`};if(ee.ranges.length===1){const{startRow:j,endRow:F,startColumn:te,endColumn:ne}=ee.ranges[0];j===0&&F===z.getRowCount()-1&&te===0&&z.getColumnCount()-1===ne&&(ee.unitType=ae.Worksheet,ee.name=`${G}`)}r.setRule(ee)}}),p&&C.jsx("span",{className:pe.sheetPermissionPanelNameInputErrorText,children:p})]}),C.jsx(ie.FormLayout,{className:pe.sheetPermissionPanelTitle,label:i.t("permission.panel.permissionDirection"),children:C.jsx(ie.Input,{value:(U=s==null?void 0:s.description)!=null?U:"",onChange:H=>r.setRule({description:H}),placeholder:i.t("permission.panel.permissionDirectionPlaceholder")})}),C.jsx(ie.FormLayout,{className:pe.sheetPermissionPanelTitle,label:i.t("permission.panel.editPermission"),children:C.jsxs(ie.RadioGroup,{value:_,onChange:H=>{T(H),H==="onlyMe"&&c.setSelectUserList([])},className:pe.radioGroupVertical,children:[C.jsx(ie.Radio,{value:"onlyMe",children:C.jsx("span",{className:pe.text,children:i.t("permission.panel.onlyICanEdit")})}),C.jsx(ie.Radio,{value:"designedUserCanEdit",children:C.jsx("span",{className:pe.text,children:i.t("permission.panel.designedUserCanEdit")})})]})}),_==="designedUserCanEdit"&&C.jsx("div",{className:pe.sheetPermissionDesignPersonPanel,children:C.jsxs(Qa,{loading:P,children:[C.jsxs("div",{className:pe.sheetPermissionDesignPersonPanelHeader,children:[C.jsx("span",{children:i.t("permission.panel.designedPerson")}),C.jsx("span",{className:pe.sheetPermissionDesignPersonPanelHeaderAdd,onClick:D,children:i.t("permission.panel.addPerson")})]}),C.jsx("div",{className:pe.sheetPermissionDesignPersonPanelSplit}),C.jsx("div",{className:pe.sheetPermissionDesignPersonPanelContent,children:(R==null?void 0:R.length)>0?R.map(H=>{var W,z,q;return C.jsxs("div",{className:pe.sheetPermissionDesignPersonPanelContentItem,children:[C.jsx(ie.Avatar,{size:24,src:(W=H.subject)==null?void 0:W.avatar}),C.jsx("span",{className:pe.sheetPermissionDesignPersonPanelContentItemName,children:(z=H.subject)==null?void 0:z.name}),C.jsx(ie.Select,{className:pe.sheetPermissionDesignPersonPanelContentItemSelect,value:"edit",onChange:Y=>{Y==="delete"&&c.setSelectUserList(R.filter(X=>{var Z,G;return((Z=X.subject)==null?void 0:Z.userID)!==((G=H.subject)==null?void 0:G.userID)}))},options:[{label:`${i.t("permission.panel.canEdit")}`,value:"edit"},{label:`${i.t("permission.panel.delete")}`,value:"delete"}]})]},(q=H.subject)==null?void 0:q.userID)}):C.jsxs("div",{className:pe.sheetPermissionUserListEmpty,children:[C.jsx("img",{width:240,height:120,src:Ka,alt:""}),C.jsx("p",{className:pe.sheetPermissionUserListEmptyText,children:i.t("permission.dialog.userEmpty")})]})})]})}),C.jsx(ie.FormLayout,{className:pe.sheetPermissionPanelTitle,label:i.t("permission.panel.viewPermission"),children:C.jsxs(ie.RadioGroup,{value:y,onChange:H=>M(H),className:pe.radioGroupVertical,children:[C.jsx(ie.Radio,{value:Wt.othersCanView,children:C.jsx("span",{className:pe.text,children:i.t("permission.panel.othersCanView")})}),C.jsx(ie.Radio,{value:Wt.noOneElseCanView,children:C.jsx("span",{className:pe.text,children:i.t("permission.panel.noOneElseCanView")})})]})})]})},Ja=(n=[])=>{const i=B.useDependency(Gt);V.useEffect(()=>{const e=n.map(t=>i.addShape({range:t,style:{hasAutoFill:!1,fill:"rgba(73, 184, 17, 0.05)",strokeWidth:1,stroke:"#49B811",widgets:{}},primary:{startColumn:t.startColumn,endColumn:t.endColumn,startRow:t.startRow,endRow:t.endRow,actualRow:t.startRow,actualColumn:t.startColumn,isMerged:!1,isMergedMainCell:!1}}));return()=>{e.forEach(t=>{t&&i.removeShape(t)})}},[n])},eC="data:image/png;base64,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",tC="univer-sheet-permission-list-panel-wrapper",nC="univer-sheet-permission-list-panel-header",iC="univer-sheet-permission-list-panel-header-type",oC="univer-sheet-permission-list-panel-header-type-bottom",rC="univer-sheet-permission-list-panel-header-select",sC="univer-sheet-permission-list-item-header-icon",aC="univer-sheet-permission-list-item",lC="univer-sheet-permission-list-item-header",cC="univer-sheet-permission-list-item-header-name",dC="univer-sheet-permission-list-item-header-operator",uC="univer-sheet-permission-list-item-split",hC="univer-sheet-permission-list-item-content-edit",mC="univer-sheet-permission-list-item-content-view",gC="univer-sheet-permission-list-item-content-desc",pC="univer-sheet-permission-list-empty",fC="univer-sheet-permission-list-empty-text",SC="univer-sheet-permission-list-item-content-title",vC="univer-sheet-permission-list-item-content-sub",he={sheetPermissionListPanelWrapper:tC,sheetPermissionListPanelHeader:nC,sheetPermissionListPanelHeaderType:iC,sheetPermissionListPanelHeaderTypeBottom:oC,sheetPermissionListPanelHeaderSelect:rC,sheetPermissionListItemHeaderIcon:sC,sheetPermissionListItem:aC,sheetPermissionListItemHeader:lC,sheetPermissionListItemHeaderName:cC,sheetPermissionListItemHeaderOperator:dC,sheetPermissionListItemSplit:uC,sheetPermissionListItemContentEdit:hC,sheetPermissionListItemContentView:mC,sheetPermissionListItemContentDesc:gC,sheetPermissionListEmpty:pC,sheetPermissionListEmptyText:fC,sheetPermissionListItemContentTitle:SC,sheetPermissionListItemContentSub:vC},CC=()=>{const[n,i]=V.useState(!0),[e,t]=V.useState(!1),o=B.useDependency(ye),r=B.useDependency(l.LocaleService),s=B.useDependency(h.RangeProtectionRuleModel),a=B.useDependency(h.WorksheetProtectionRuleModel),u=B.useDependency(l.IUniverInstanceService).getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),d=u.getUnitId(),m=B.useDependency(l.ICommandService),g=B.useDependency(b.ISidebarService),p=B.useDependency(l.IAuthzIoService),f=B.useDependency(l.IPermissionService),v=B.useDependency(l.UserManagerService).currentUser,[I,R]=V.useState([]);b.useObservable(a.ruleRefresh$),b.useObservable(s.ruleRefresh$);const _=V.useCallback(async A=>{var G;const x=u.getActiveSheet(),L=u.getUnitId(),U=x.getSheetId(),H=[],W=[];u.getSheets().forEach(K=>{const ee=K.getSheetId();s.getSubunitRuleList(L,ee).forEach(te=>{te.permissionId&&te.name&&H.push(te.permissionId)});const F=a.getRule(L,ee);F!=null&&F.permissionId&&F.name&&W.push(F.permissionId)});const z=[...H,...W],q=await p.list({objectIDs:z,unitID:L,actions:[J.View,J.Edit]}),Y=s.getSubunitRuleList(L,U).map(K=>K.permissionId),X=(G=a.getRule(L,U))==null?void 0:G.permissionId;X&&Y.push(X);const Z=q.filter(K=>{var ee;return Y.includes(K.objectID)||K.objectID===((ee=a.getRule(L,U))==null?void 0:ee.permissionId)});return A?Z:q},[]),[T,y]=V.useState([]);V.useEffect(()=>{const A=O.merge(s.ruleChange$,a.ruleChange$).subscribe(async()=>{const x=await _(n);y(x)});return()=>{A.unsubscribe()}},[n]),V.useEffect(()=>{const A=u.activeSheet$.subscribe(async()=>{const x=await _(!0);y(x)});return()=>{A.unsubscribe()}},[]);const M=A=>{const{unitId:x,subUnitId:L,unitType:U}=A;let H;U===ae.Worksheet?H=m.executeCommand(wn.id,{unitId:x,subUnitId:L,rule:A}):U===ae.SelectRange&&(H=m.executeCommand(h.DeleteRangeProtectionCommand.id,{unitId:x,subUnitId:L,rule:A})),H&&(t(!e),A.ranges===I&&R([]))};Ja(I);const P=new Map;u.getSheets().forEach(A=>{const x=A.getSheetId();s.getSubunitRuleList(d,x).forEach(H=>{P.set(H.permissionId,H)});const U=a.getRule(d,x);U&&P.set(U==null?void 0:U.permissionId,U)});const N=A=>{o.setRule(A),o.setOldRule(A),m.executeCommand(h.SetWorksheetActiveOperation.id,{unitId:A.unitId,subUnitId:A.subUnitId});const x={header:{title:"permission.panel.title"},children:{label:Ln,showDetail:!0},width:320,footer:{label:Hn,showDetail:!0}};g.open(x)},D=async A=>{i(A);const x=await _(A);y(x)};return C.jsxs("div",{className:he.sheetPermissionListPanelWrapper,children:[C.jsxs("div",{className:he.sheetPermissionListPanelHeader,children:[C.jsxs("div",{className:he.sheetPermissionListPanelHeaderType,onClick:()=>D(!0),children:[C.jsx("div",{className:fe({[he.sheetPermissionListPanelHeaderSelect]:n}),children:r.t("permission.panel.currentSheet")}),n&&C.jsx("div",{className:he.sheetPermissionListPanelHeaderTypeBottom})]}),C.jsxs("div",{className:he.sheetPermissionListPanelHeaderType,onClick:()=>D(!1),children:[C.jsx("div",{className:fe({[he.sheetPermissionListPanelHeaderSelect]:!n}),children:r.t("permission.panel.allSheet")}),!n&&C.jsx("div",{className:he.sheetPermissionListPanelHeaderTypeBottom})]})]}),(T==null?void 0:T.length)>0?C.jsx("div",{className:he.sheetPermissionListPanelContent,children:T==null?void 0:T.map(A=>{var Z,G,K,ee,j;const x=P.get(A.objectID);if(!x)return null;const L=A.actions.find(F=>F.action===J.Edit),U=L==null?void 0:L.allowed,H=A.actions.find(F=>F.action===J.View),W=H==null?void 0:H.allowed,q=((G=(Z=f.getPermissionPoint(new h.WorkbookManageCollaboratorPermission(d).id))==null?void 0:Z.value)!=null?G:!1)||v.userID===((K=A.creator)==null?void 0:K.userID),Y=u.getActiveSheet();let X="";if(x.unitType===ae.SelectRange){const F=x.ranges,te=F!=null&&F.length?F.map(ne=>{const se=$.serializeRange(ne);return se==="NaN"?"":se}).filter(ne=>!!ne).join(","):"";X=`${Y.getName()}(${te})`}else x.unitType===ae.Worksheet&&(X=Y.getName());return C.jsxs("div",{className:he.sheetPermissionListItem,onMouseMove:()=>{const{subUnitId:F,unitType:te}=x,ne=u.getActiveSheet(),se=ne.getSheetId();if(F!==se)return!1;if(te===ae.SelectRange){const de=x.ranges||[];de!==I&&R(de)}else if(te===ae.Worksheet){const de=[{startRow:0,endRow:ne.getRowCount()-1,startColumn:0,endColumn:ne.getColumnCount()-1}];de!==I&&R(de)}},onMouseLeave:()=>R([]),children:[C.jsxs("div",{className:he.sheetPermissionListItemHeader,children:[C.jsx(ie.Tooltip,{title:X,children:C.jsx("div",{className:he.sheetPermissionListItemHeaderName,children:X})}),q&&C.jsxs("div",{className:he.sheetPermissionListItemHeaderOperator,children:[C.jsx(ie.Tooltip,{title:r.t("permission.panel.edit"),children:C.jsx("div",{className:he.sheetPermissionListItemHeaderIcon,onClick:()=>N(x),children:C.jsx(lr,{})})}),C.jsx(ie.Tooltip,{title:r.t("permission.panel.delete"),children:C.jsx("div",{className:he.sheetPermissionListItemHeaderIcon,onClick:()=>M(x),children:C.jsx(Zi,{})})})]})]}),C.jsx("div",{className:he.sheetPermissionListItemSplit}),C.jsxs("div",{className:he.sheetPermissionListItemContent,children:[C.jsxs("div",{className:he.sheetPermissionListItemContentEdit,children:[C.jsx(ie.Tooltip,{title:(ee=A.creator)==null?void 0:ee.userID,children:C.jsx("div",{children:C.jsx(ie.Avatar,{src:(j=A.creator)==null?void 0:j.avatar,style:{marginRight:6},size:24})})}),C.jsx("span",{className:he.sheetPermissionListItemContentTitle,children:r.t("permission.panel.created")}),C.jsx("span",{className:he.sheetPermissionListItemContentSub,children:U?`${r.t("permission.panel.iCanEdit")}`:`${r.t("permission.panel.iCanNotEdit")}`})]}),C.jsxs("div",{className:he.sheetPermissionListItemContentView,children:[C.jsx("span",{className:he.sheetPermissionListItemContentTitle,children:r.t("permission.panel.viewPermission")}),C.jsx("span",{className:he.sheetPermissionListItemContentSub,children:W?`${r.t("permission.panel.iCanView")}`:`${r.t("permission.panel.iCanNotView")}`})]}),x.description&&C.jsx(ie.Tooltip,{title:x.description,children:C.jsx("div",{className:he.sheetPermissionListItemContentDesc,children:x.description})})]})]},A.objectID)})}):C.jsxs("div",{className:he.sheetPermissionListEmpty,children:[C.jsx("img",{width:240,height:120,src:eC,alt:""}),C.jsx("p",{className:he.sheetPermissionListEmptyText,children:r.t("permission.dialog.listEmpty")})]})]})},IC=({showDetail:n,fromSheetBar:i})=>n?C.jsx($v,{fromSheetBar:i}):C.jsx(CC,{}),RC="univer-sheet-permission-panel-footer",bC="univer-sheet-permission-panel-footer-cancel",_C="univer-sheet-permission-panel-add-button",Xo={sheetPermissionPanelFooter:RC,sheetPermissionPanelFooterCancel:bC,sheetPermissionPanelAddButton:_C},TC=()=>{var f,S,v,I;const n=B.useDependency(b.ISidebarService),i=B.useDependency(l.LocaleService),e=B.useDependency(l.IUniverInstanceService),t=B.useDependency(l.IPermissionService),o=e.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),r=o.getUnitId(),s=b.useObservable(o.activeSheet$),a=(S=(f=t.getPermissionPoint(new h.WorkbookEditablePermission(r).id))==null?void 0:f.value)!=null?S:!1,c=(I=(v=t.getPermissionPoint(new h.WorkbookManageCollaboratorPermission(r).id))==null?void 0:v.value)!=null?I:!1,u=a&&c,d=B.useDependency(ye),m=B.useDependency(h.WorksheetProtectionRuleModel),g=s==null?void 0:s.getSheetId();if(!g)return null;const p=m.getRule(r,g);return!u||p?null:C.jsx("div",{children:C.jsxs(ie.Button,{className:Xo.sheetPermissionPanelAddButton,type:"primary",onClick:()=>{d.resetRule();const R={header:{title:"保护行列"},children:{label:Ln,showDetail:!0},width:320,footer:{label:Hn,showDetail:!0}};n.open(R)},children:[C.jsx("div",{children:"+ "}),i.t("permission.button.addNewPermission")]})})},wC=()=>{const n=B.useDependency(ye),i=b.useObservable(n.rule$,n.rule),e=B.useDependency(b.ISidebarService),t=B.useDependency(l.IAuthzIoService),o=B.useDependency(l.LocaleService),r=B.useDependency(l.ICommandService),s=B.useDependency(kn),a=b.useObservable(n.rangeErrorMsg$);return C.jsxs("div",{className:Xo.sheetPermissionPanelFooter,children:[C.jsx(ie.Button,{type:"primary",onClick:async()=>{if(!i.name||a)return;const c=s.selectUserList;i.viewStatus===Wt.othersCanView&&s.allUserList.forEach(m=>{if(!c.some(p=>p.id===m.id)){const p={...m,role:we.Reader};c.push(p)}});const u=ad(c,s.oldCollaboratorList);if(i.permissionId){const m=n.oldRule;if(i.unitType===(m==null?void 0:m.unitType)&&i.name===m.name&&i.description===m.description&&i.ranges===m.ranges&&!u)await t.putCollaborators({objectID:i.permissionId,unitID:i.unitId,collaborators:c});else{let g=i.permissionId;u||(i.unitType===ae.Worksheet?g=await t.create({worksheetObject:{collaborators:c,unitID:i.unitId,name:i.name,strategies:[{role:we.Editor,action:J.Edit},{role:we.Reader,action:J.View}]},objectType:ae.Worksheet}):g=await t.create({selectRangeObject:{collaborators:c,unitID:i.unitId,name:i.name},objectType:ae.SelectRange})),r.executeCommand(za.id,{rule:{...i,permissionId:g}})}}else if(i.unitType===ae.Worksheet){const m=await t.create({worksheetObject:{collaborators:c,unitID:i.unitId,name:i.name,strategies:[{role:we.Editor,action:J.Edit},{role:we.Reader,action:J.View}]},objectType:ae.Worksheet}),{ranges:g=[],...p}=i;p.permissionId=m,r.executeCommand(dr.id,{rule:p,unitId:i.unitId})}else if(i.unitType===ae.SelectRange){const m=await t.create({selectRangeObject:{collaborators:c,unitID:i.unitId,name:i.name},objectType:ae.SelectRange});r.executeCommand(h.AddRangeProtectionCommand.id,{rule:i,permissionId:m})}n.resetRule(),s.setSelectUserList([]);const d={header:{title:"保护行列"},children:{label:Ln,showDetail:!1},width:320,footer:{label:Hn,showDetail:!1}};e.open(d)},children:o.t("permission.button.confirm")}),C.jsx(ie.Button,{className:Xo.sheetPermissionPanelFooterCancel,onClick:()=>{n.resetRule(),s.setSelectUserList([]),e.close()},children:o.t("permission.button.cancel")})]})},MC=({showDetail:n})=>n?C.jsx(wC,{}):C.jsx(TC,{}),yC="univer-sheet-permission-user-dialog-wrapper",PC="univer-sheet-permission-user-dialog-search-input",EC="univer-sheet-permission-user-list",OC="univer-sheet-permission-user-list-empty",AC="univer-sheet-permission-user-list-empty-text",NC="univer-sheet-permission-user-item",xC="univer-sheet-permission-user-item-name",DC="univer-sheet-permission-split",kC="univer-sheet-permission-user-dialog-footer",LC="univer-sheet-permission-user-dialog-footer-confirm",HC="univer-sheet-permission-user-dialog-button",ke={sheetPermissionUserDialogWrapper:yC,sheetPermissionUserDialogSearchInput:PC,sheetPermissionUserList:EC,sheetPermissionUserListEmpty:OC,sheetPermissionUserListEmptyText:AC,sheetPermissionUserItem:NC,sheetPermissionUserItemName:xC,sheetPermissionSplit:DC,sheetPermissionUserDialogFooter:kC,sheetPermissionUserDialogFooterConfirm:LC,sheetPermissionUserDialogButton:HC},VC=()=>{const[n,i]=V.useState(""),e=B.useDependency(l.LocaleService),t=B.useDependency(b.IDialogService),o=B.useDependency(kn),s=o.userList.filter(d=>{var m;return((m=d.subject)==null?void 0:m.name.toLocaleLowerCase().includes(n.toLocaleLowerCase()))&&d.role!==we.Owner}),[a,c]=V.useState(o.selectUserList),u=d=>{if((a==null?void 0:a.findIndex(g=>{var p,f;return((p=g.subject)==null?void 0:p.userID)===((f=d.subject)==null?void 0:f.userID)}))===-1){const g={...d};c([...a,g])}else{const g=a.filter(p=>{var f,S;return((f=p.subject)==null?void 0:f.userID)!==((S=d.subject)==null?void 0:S.userID)});c(g)}};return C.jsxs("div",{className:ke.sheetPermissionUserDialogWrapper,children:[C.jsx("div",{className:ke.sheetPermissionUserDialogSearch,children:C.jsx(ie.Input,{placeholder:"search",className:ke.sheetPermissionUserDialogSearchInput,value:n,onChange:d=>i(d)})}),C.jsx("div",{className:ke.sheetPermissionUserList,children:(s==null?void 0:s.length)>0?C.jsx(C.Fragment,{children:s==null?void 0:s.map(d=>{var m,g,p;return C.jsxs("div",{className:ke.sheetPermissionUserItem,onClick:()=>u(d),children:[C.jsx(ie.Avatar,{src:(m=d.subject)==null?void 0:m.avatar,size:24}),C.jsx("div",{className:ke.sheetPermissionUserItemName,children:(g=d.subject)==null?void 0:g.name}),(a==null?void 0:a.findIndex(f=>{var S,v;return((S=f.subject)==null?void 0:S.userID)===((v=d.subject)==null?void 0:v.userID)}))!==-1&&C.jsx("div",{children:C.jsx(St,{})})]},(p=d.subject)==null?void 0:p.userID)})}):C.jsxs("div",{className:ke.sheetPermissionUserListEmpty,children:[C.jsx("img",{width:240,height:120,src:Ka,alt:""}),C.jsx("p",{className:ke.sheetPermissionUserListEmptyText,children:e.t("permission.dialog.userEmpty")})]})}),C.jsx("div",{className:ke.sheetPermissionSplit}),C.jsxs("div",{className:ke.sheetPermissionUserDialogFooter,children:[C.jsx(ie.Button,{className:ke.sheetPermissionUserDialogButton,onClick:()=>t.close(Ni),children:e.t("permission.button.cancel")}),C.jsx(ie.Button,{type:"primary",onClick:()=>{o.setSelectUserList(a),t.close(Ni)},className:fe(ke.sheetPermissionUserDialogFooterConfirm,ke.sheetPermissionUserDialogButton),children:e.t("permission.button.confirm")})]})]})},WC="univer-sheet-permission-dialog-wrapper",UC="univer-sheet-permission-dialog-split",BC="univer-sheet-permission-dialog-item",FC="univer-sheet-permission-user-dialog-footer",jC="univer-sheet-permission-user-dialog-footer-confirm",XC="univer-sheet-permission-user-dialog-button",ht={sheetPermissionDialogWrapper:WC,sheetPermissionDialogSplit:UC,sheetPermissionDialogItem:BC,sheetPermissionUserDialogFooter:FC,sheetPermissionUserDialogFooterConfirm:jC,sheetPermissionUserDialogButton:XC},zC=()=>{const n=B.useDependency(l.LocaleService),i=B.useDependency(l.IUniverInstanceService),e=B.useDependency(l.IAuthzIoService),t=B.useDependency(h.WorksheetProtectionPointModel),o=B.useDependency(b.IDialogService),r=B.useDependency(l.IPermissionService),s=i.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),a=s.getActiveSheet(),[c,u]=V.useState([]),d=B.useDependency(l.ICommandService),[m,g]=V.useState(()=>!!t.getRule(s.getUnitId(),a.getSheetId())),[p,f]=V.useState(()=>Object.keys(Gn).reduce((v,I)=>(v[I]={text:n.t(`permission.panel.${Gn[Number(I)]}`),allowed:!0},v),{}));V.useEffect(()=>{(async()=>{const I=s.getUnitId(),R=await e.listCollaborators({objectID:I,unitID:I});u(R)})()},[]),V.useEffect(()=>{(async()=>{const I=s.getUnitId(),R=t.getRule(I,a.getSheetId());if(!R)return;g(!0);const T=(await e.list({unitID:s.getUnitId(),objectIDs:[R.permissionId],actions:Hp}))[0].strategies.reduce((y,M)=>(Gn[M.action]&&(y[M.action]={text:n.t(`permission.panel.${Gn[M.action]}`),allowed:M.role!==we.Owner}),y),{});f(T),setTimeout(()=>{g(!1)},100)})()},[]);const S=async()=>{const v=i.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET),I=v==null?void 0:v.getActiveSheet(),R=v.getUnitId(),_=I.getSheetId(),T=t.getRule(R,_),y=Object.keys(p).map(P=>({action:Number(P),role:p[P].allowed?we.Editor:we.Owner}));let M=T==null?void 0:T.permissionId;M?e.update({objectType:ae.Worksheet,objectID:M,unitID:R,strategies:y,share:void 0,name:""}).then(()=>{h.getAllWorksheetPermissionPoint().forEach(P=>{const N=new P(R,_),D=N.subType,A=y.find(x=>x.action===D);A&&r.updatePermissionPoint(N.id,A.role===we.Editor)})}):(M=await e.create({objectType:ae.Worksheet,worksheetObject:{unitID:R,collaborators:c,name:"",strategies:y}}),d.executeCommand(h.SetWorksheetPermissionPointsCommand.id,{rule:{permissionId:M,unitId:R,subUnitId:_}}))};return C.jsx(Qa,{loading:m,children:C.jsx("div",{className:ht.sheetPermissionDialogWrapper,children:C.jsxs(C.Fragment,{children:[C.jsx("div",{className:ht.sheetPermissionDialogSplit}),Object.keys(p).map(v=>{const I=p[v],{text:R,allowed:_}=I;return C.jsxs("div",{className:ht.sheetPermissionDialogItem,children:[C.jsx("div",{children:R}),C.jsx(ie.Switch,{defaultChecked:_,onChange:()=>{f({...p,[v]:{...I,allowed:!_}})}})]},R)}),C.jsx("div",{className:ht.sheetPermissionDialogSplit}),C.jsxs("div",{className:ht.sheetPermissionUserDialogFooter,children:[C.jsx(ie.Button,{className:ht.sheetPermissionUserDialogButton,onClick:()=>{o.close(xi)},children:n.t("permission.button.cancel")}),C.jsx(ie.Button,{type:"primary",onClick:()=>{S(),o.close(xi)},className:fe(ht.sheetPermissionUserDialogFooterConfirm,ht.sheetPermissionUserDialogButton),children:n.t("permission.button.confirm")})]})]})})})},YC="univer-sheet-permission-alert-dialog",ZC="univer-sheet-permission-alert-dialog-title",GC="univer-sheet-permission-alert-dialog-button",Co={sheetPermissionAlertDialog:YC,sheetPermissionAlertDialogTitle:ZC,sheetPermissionAlertDialogButton:GC},qC=({errorMsg:n})=>{const i=B.useDependency(l.LocaleService),e=B.useDependency(b.IDialogService);return C.jsxs("div",{className:Co.sheetPermissionAlertDialog,children:[C.jsx("h1",{className:Co.sheetPermissionAlertDialogTitle,children:i.t("permission.dialog.alert")}),C.jsx("p",{children:n||i.t("permission.dialog.alertContent")}),C.jsx("div",{className:Co.sheetPermissionAlertDialogButton,children:C.jsx(ie.Button,{type:"primary",onClick:()=>{e.close(jo)},children:i.t("permission.button.confirm")})})]})};var KC=Object.defineProperty,QC=Object.getOwnPropertyDescriptor,JC=(n,i,e,t)=>{for(var o=t>1?void 0:t?QC(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&KC(i,e,o),o},Io=(n,i)=>(e,t)=>i(e,t,n);let Cn=class extends l.Disposable{constructor(n,i,e,t){super(),this._config=n,this._menuService=i,this._componentManager=e,this._injector=t,this._init()}_init(){this._initToolbarMenu(),this._initContextMenu(),this._initComponents()}_initToolbarMenu(){const{menu:n={}}=this._config;[Cv].forEach(i=>{this.disposeWithMe(this._menuService.addMenuItem(this._injector.invoke(i),n))})}_initContextMenu(){const{menu:n={}}=this._config;[Iv,Rv,bv,_v,Tv,wv,Mv,yv,Pv].forEach(i=>{this.disposeWithMe(this._menuService.addMenuItem(this._injector.invoke(i),n))})}_initComponents(){[[Da,Ma],[Vp,Zi],[Wp,lr],[Up,St],[ka,ar],[Ln,IC],[Hn,MC],[Na,VC],[xa,zC],[Za,qC]].forEach(([n,i])=>{this.disposeWithMe(this._componentManager.register(n,i))})}};Cn=JC([l.OnLifecycle(l.LifecycleStages.Rendered,Cn),Io(1,b.IMenuService),Io(2,k.Inject(b.ComponentManager)),Io(3,k.Inject(k.Injector))],Cn);var $C=Object.defineProperty,e1=Object.getOwnPropertyDescriptor,t1=(n,i,e,t)=>{for(var o=t>1?void 0:t?e1(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&$C(i,e,o),o},rt=(n,i)=>(e,t)=>i(e,t,n);let vi=class extends l.RxDisposable{constructor(i,e,t,o,r,s,a,c,u,d){super();w(this,"disposableCollection",new l.DisposableCollection);this._context=i,this._univerInstanceService=e,this._permissionService=t,this._selectionManagerService=o,this._dialogService=r,this._rangeProtectionRuleModel=s,this._headerMoveRenderController=a,this._headerResizeRenderController=c,this._selectionRenderService=u,this._headerFreezeRenderController=d,this._initHeaderMovePermissionInterceptor(),this._initHeaderResizePermissionInterceptor(),this._initRangeFillPermissionInterceptor(),this._initRangeMovePermissionInterceptor(),this._initFreezePermissionInterceptor()}_initHeaderMovePermissionInterceptor(){this.disposeWithMe(this._headerMoveRenderController.interceptor.intercept(this._headerMoveRenderController.interceptor.getInterceptPoints().HEADER_MOVE_PERMISSION_CHECK,{handler:(i,e)=>{var d,m;const t=h.getSheetCommandTarget(this._univerInstanceService);if(!t)return!1;const{worksheet:o,unitId:r,subUnitId:s}=t;return((m=(d=this._permissionService.getPermissionPoint(new h.WorksheetEditPermission(r,s).id))==null?void 0:d.value)!=null?m:!1)?e?!this._rangeProtectionRuleModel.getSubunitRuleList(r,s).reduce((g,p)=>[...g,...p.ranges],[]).filter(g=>l.Rectangle.intersects(g,e)).some(g=>{var I,R;const{startRow:p,startColumn:f,endRow:S,endColumn:v}=g;for(let _=p;_<=S;_++)for(let T=f;T<=v;T++){const y=(R=(I=o.getCell(_,T))==null?void 0:I.selectionProtection)==null?void 0:R[0];if((y==null?void 0:y[J.Edit])===!1)return!0}return!1}):!0:!1}}))}_initHeaderResizePermissionInterceptor(){this.disposeWithMe(this._headerResizeRenderController.interceptor.intercept(this._headerResizeRenderController.interceptor.getInterceptPoints().HEADER_RESIZE_PERMISSION_CHECK,{handler:(i,e)=>{var m,g,p,f,S,v;const t=h.getSheetCommandTarget(this._univerInstanceService);if(!t)return!1;const{worksheet:o,unitId:r,subUnitId:s}=t;if(!((g=(m=this._permissionService.getPermissionPoint(new h.WorksheetEditPermission(r,s).id))==null?void 0:m.value)!=null?g:!1))return!1;if(e.row){if(((f=(p=this._permissionService.getPermissionPoint(new h.WorksheetSetRowStylePermission(r,s).id))==null?void 0:p.value)!=null?f:!1)===!1)return!1}else if(e.col&&((v=(S=this._permissionService.getPermissionPoint(new h.WorksheetSetColumnStylePermission(r,s).id))==null?void 0:S.value)!=null?v:!1)===!1)return!1;let c;return e.row!==void 0?c={startRow:e.row,endRow:e.row,startColumn:0,endColumn:o.getColumnCount()-1}:e.col!==void 0&&(c={startRow:0,endRow:o.getRowCount()-1,startColumn:e.col,endColumn:e.col}),c?!this._rangeProtectionRuleModel.getSubunitRuleList(r,s).reduce((I,R)=>[...I,...R.ranges],[]).filter(I=>l.Rectangle.intersects(I,c)).some(I=>{var M,P;const{startRow:R,startColumn:_,endRow:T,endColumn:y}=I;for(let N=R;N<=T;N++)for(let D=_;D<=y;D++){const A=(P=(M=o.getCell(N,D))==null?void 0:M.selectionProtection)==null?void 0:P[0];if((A==null?void 0:A[J.Edit])===!1)return!0}return!1}):!0}}))}_initRangeFillPermissionInterceptor(){this.disposeWithMe(this._selectionRenderService.interceptor.intercept(this._selectionRenderService.interceptor.getInterceptPoints().RANGE_FILL_PERMISSION_CHECK,{handler:(i,e)=>{var f,S,v,I,R;const t=h.getSheetCommandTarget(this._univerInstanceService);if(!t)return!1;const{worksheet:o,unitId:r,subUnitId:s}=t;if(!((S=(f=this._permissionService.getPermissionPoint(new h.WorksheetEditPermission(r,s).id))==null?void 0:f.value)!=null?S:!1))return!1;const c=(v=this._selectionManagerService.getSelections())==null?void 0:v.map(_=>_.range),u=c==null?void 0:c.find(_=>{const T=e.skeleton.getCellByIndex(_.endRow,_.endColumn),y=Math.abs(T.endX-e.x),M=Math.abs(T.endY-e.y);return y<=5&&M<=5});if(!u)return!0;const{startRow:d,endRow:m,startColumn:g,endColumn:p}=u;for(let _=d;_<=m;_++)for(let T=g;T<=p;T++){const y=(R=(I=o.getCell(_,T))==null?void 0:I.selectionProtection)==null?void 0:R[0];if((y==null?void 0:y[J.Edit])===!1||(y==null?void 0:y[J.View])===!1)return!1}return!0}}))}_initRangeMovePermissionInterceptor(){this.disposeWithMe(this._selectionRenderService.interceptor.intercept(this._selectionRenderService.interceptor.getInterceptPoints().RANGE_MOVE_PERMISSION_CHECK,{handler:(i,e)=>{var g,p,f;const t=h.getSheetCommandTarget(this._univerInstanceService);if(!t)return!1;const{worksheet:o,unitId:r,subUnitId:s}=t;if(!((p=(g=this._permissionService.getPermissionPoint(new h.WorksheetEditPermission(r,s).id))==null?void 0:g.value)!=null?p:!1))return!1;const c=(f=this._selectionManagerService.getSelections())==null?void 0:f.map(S=>S.range),u=this._rangeProtectionRuleModel.getSubunitRuleList(r,s).reduce((S,v)=>[...S,...v.ranges],[]),d=c==null?void 0:c.filter(S=>u.some(v=>l.Rectangle.intersects(v,S)));return!(d==null?void 0:d.some(S=>{var T,y;const{startRow:v,startColumn:I,endRow:R,endColumn:_}=S;for(let M=v;M<=R;M++)for(let P=I;P<=_;P++){const N=(y=(T=o.getCell(M,P))==null?void 0:T.selectionProtection)==null?void 0:y[0];if((N==null?void 0:N[J.Edit])===!1)return!0}return!1}))}}))}_initFreezePermissionInterceptor(){this.disposeWithMe(this._headerFreezeRenderController.interceptor.intercept(this._headerFreezeRenderController.interceptor.getInterceptPoints().FREEZE_PERMISSION_CHECK,{handler:(i,e)=>{var s,a;const t=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);return t.getActiveSheet()&&(a=(s=this._permissionService.getPermissionPoint(new h.WorkbookEditablePermission(t.getUnitId()).id))==null?void 0:s.value)!=null?a:!1}}))}};vi=t1([l.OnLifecycle(l.LifecycleStages.Steady,vi),rt(1,l.IUniverInstanceService),rt(2,l.IPermissionService),rt(3,k.Inject(h.SelectionManagerService)),rt(4,b.IDialogService),rt(5,k.Inject(h.RangeProtectionRuleModel)),rt(6,k.Inject(exports.HeaderMoveRenderController)),rt(7,k.Inject(exports.HeaderResizeRenderController)),rt(8,Me),rt(9,k.Inject(exports.HeaderFreezeRenderController))],vi);var n1=Object.defineProperty,i1=Object.getOwnPropertyDescriptor,o1=(n,i,e,t)=>{for(var o=t>1?void 0:t?i1(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&n1(i,e,o),o},un=(n,i)=>(e,t)=>i(e,t,n);let Ci=class extends l.RxDisposable{constructor(i,e,t,o,r,s){super();w(this,"disposableCollection",new l.DisposableCollection);this._context=i,this._injector=e,this._univerInstanceService=t,this._permissionService=o,this._rangeProtectionRuleModel=r,this._statusBarController=s,this._initFormulaEditorPermissionInterceptor(),this._initStatusBarPermissionInterceptor()}_initStatusBarPermissionInterceptor(){this.disposeWithMe(this._statusBarController.interceptor.intercept(this._statusBarController.interceptor.getInterceptPoints().STATUS_BAR_PERMISSION_CORRECT,{priority:100,handler:(i,e)=>{const t=h.getSheetCommandTarget(this._univerInstanceService);if(!t)return i!=null?i:[];const{worksheet:o}=t;return e.forEach(r=>{const s=r.getArrayValue(),a=r.getCurrentRow(),c=r.getCurrentColumn();s.forEach((u,d)=>{u.forEach((m,g)=>{var f,S;const p=(S=(f=o.getCell(d+a,g+c))==null?void 0:f.selectionProtection)==null?void 0:S[0];(p==null?void 0:p[J.View])===!1&&(s[d][g]=$.NullValueObject.create())})})}),e}}))}_initFormulaEditorPermissionInterceptor(){let i;this.disposeWithMe(this._univerInstanceService.unitAdded$.pipe(Ri.filter(e=>e.type===l.UniverInstanceType.UNIVER_DOC&&e.getUnitId()===l.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),Ri.debounceTime(200)).subscribe(()=>{const e=this._injector.get(exports.FormulaEditorController);i&&i(),i=e.interceptor.intercept(e.interceptor.getInterceptPoints().FORMULA_EDIT_PERMISSION_CHECK,{handler:(t,o)=>{var f,S;const r=h.getSheetCommandTarget(this._univerInstanceService);if(!r)return!1;const{unitId:s,subUnitId:a}=r;if(!((S=(f=this._permissionService.getPermissionPoint(new h.WorksheetEditPermission(s,a).id))==null?void 0:f.value)!=null?S:!1))return!1;const{row:u,col:d}=o,g=this._rangeProtectionRuleModel.getSubunitRuleList(s,a).filter(v=>v.ranges.some(I=>l.Rectangle.intersects(I,{startRow:u,endRow:u,startColumn:d,endColumn:d}))).map(v=>new h.RangeProtectionPermissionViewPoint(s,a,v.permissionId).id);return this._permissionService.composePermission(g).every(v=>v.value)}})}))}};Ci=o1([l.OnLifecycle(l.LifecycleStages.Steady,Ci),un(1,k.Inject(k.Injector)),un(2,l.IUniverInstanceService),un(3,l.IPermissionService),un(4,k.Inject(h.RangeProtectionRuleModel)),un(5,k.Inject(exports.StatusBarController))],Ci);var r1=Object.defineProperty,s1=Object.getOwnPropertyDescriptor,a1=(n,i,e,t)=>{for(var o=t>1?void 0:t?s1(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&r1(i,e,o),o},hn=(n,i)=>(e,t)=>i(e,t,n);let Ii=class extends l.Disposable{constructor(i,e,t,o,r){super();w(this,"_rangeProtectionCanViewRenderExtension",new h.RangeProtectionCanViewRenderExtension);w(this,"_rangeProtectionCanNotViewRenderExtension",new h.RangeProtectionCanNotViewRenderExtension);this._renderManagerService=i,this._univerInstanceService=e,this._rangeProtectionRuleModel=t,this._sheetSkeletonManagerService=o,this._permissionService=r,this._initRender(),this._initSkeleton(),this._rangeProtectionRuleModel.ruleChange$.subscribe(s=>{var a,c;((a=s.oldRule)!=null&&a.id&&this._rangeProtectionCanViewRenderExtension.renderCache.has(s.oldRule.id)||this._rangeProtectionCanViewRenderExtension.renderCache.has(s.rule.id))&&this._rangeProtectionCanViewRenderExtension.clearCache(),((c=s.oldRule)!=null&&c.id&&this._rangeProtectionCanNotViewRenderExtension.renderCache.has(s.oldRule.id)||this._rangeProtectionCanNotViewRenderExtension.renderCache.has(s.rule.id))&&this._rangeProtectionCanNotViewRenderExtension.clearCache()})}_initRender(){const i=t=>{const o=t&&this._renderManagerService.getRenderById(t),r=o&&o.mainComponent;r&&(r.getExtensionByKey(h.RANGE_PROTECTION_CAN_VIEW_RENDER_EXTENSION_KEY)||r.register(this._rangeProtectionCanViewRenderExtension),r.getExtensionByKey(h.RANGE_PROTECTION_CAN_NOT_VIEW_RENDER_EXTENSION_KEY)||r.register(this._rangeProtectionCanNotViewRenderExtension))};this.disposeWithMe(this._renderManagerService.currentRender$.subscribe(t=>{t&&i(t)}));const e=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET);e&&i(e.getUnitId())}_initSkeleton(){const i=()=>{var t,o;this._sheetSkeletonManagerService.reCalculate();const e=this._univerInstanceService.getCurrentUnitForType(l.UniverInstanceType.UNIVER_SHEET).getUnitId();(o=(t=this._renderManagerService.getRenderById(e))==null?void 0:t.mainComponent)==null||o.makeDirty()};this.disposeWithMe(O.merge(this._permissionService.permissionPointUpdate$.pipe(Ri.throttleTime(300,void 0,{trailing:!0})),this._rangeProtectionRuleModel.ruleChange$).pipe().subscribe(i))}};Ii=a1([l.OnLifecycle(l.LifecycleStages.Ready,Ii),hn(0,k.Inject(E.IRenderManagerService)),hn(1,k.Inject(l.IUniverInstanceService)),hn(2,k.Inject(h.RangeProtectionRuleModel)),hn(3,k.Inject(exports.SheetSkeletonManagerService)),hn(4,l.IPermissionService)],Ii);var l1=Object.defineProperty,c1=Object.getOwnPropertyDescriptor,d1=(n,i,e,t)=>{for(var o=t>1?void 0:t?c1(i,e):i,r=n.length-1,s;r>=0;r--)(s=n[r])&&(o=(t?s(i,e,o):s(o))||o);return t&&o&&l1(i,e,o),o},ti=(n,i)=>(e,t)=>i(e,t,n),ni;exports.UniverSheetsUIPlugin=(ni=class extends l.Plugin{constructor(i={},e,t,o,r){super(),this._config=i,this._injector=e,this._localeService=t,this._renderManagerService=o,this._univerInstanceService=r,this._config=l.Tools.deepMerge({},oS,this._config)}onStarting(i){[[_n],[je,{useClass:exports.EditorBridgeService}],[Ct,{useClass:exports.SheetClipboardService}],[$t,{useClass:Fh}],[Nt,{useClass:Eo}],[Dn,{useClass:Ks}],[Yi,{useClass:cu}],[Ot,{useClass:exports.AutoFillService}],[tt],[exports.SheetSkeletonManagerService],[Me,{useClass:exports.SelectionRenderService}],[cr,{useClass:fp}],[Gt,{useClass:exports.MarkSelectionService}],[exports.HoverManagerService],[exports.DragManagerService],[exports.SheetCanvasPopManagerService],[exports.CellAlertManagerService],[si],[exports.AutoHeightController],[ci],[exports.FormulaEditorController],[exports.HeaderFreezeRenderController],[ai],[exports.SheetRenderController],[vn,{useFactory:()=>this._injector.createInstance(vn,this._config)}],[di],[exports.StatusBarController],[li],[exports.AutoFillController],[pi],[ye],[kn],[Ii],[h.WorksheetProtectionRenderService],[fi],[exports.SheetPermissionInterceptorBaseController],[Si]].forEach(e=>i.add(e)),this._injector.add([Cn,{useFactory:()=>this._injector.createInstance(Cn,this._config)}])}onReady(){this._markSheetAsFocused(),this._registerRenderControllers()}_registerRenderControllers(){[exports.SheetCanvasView,exports.HeaderMoveRenderController,Wo,exports.HeaderFreezeRenderController,Ho,exports.HeaderResizeRenderController,Mi,exports.SheetsScrollRenderController,Ao,xo,hi,gi,Vo,exports.HoverRenderController,exports.DragRenderController,mi,exports.CellCustomRenderController,Bo,Fo,vi,Ci].forEach(i=>{this.disposeWithMe(this._renderManagerService.registerRenderController(l.UniverInstanceType.UNIVER_SHEET,i))})}_markSheetAsFocused(){const i=this._univerInstanceService;i.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET).pipe(Ri.filter(e=>!!e)).subscribe(e=>{i.focusUnit(e.getUnitId())})}},w(ni,"pluginName","SHEET_UI_PLUGIN"),w(ni,"type",l.UniverInstanceType.UNIVER_SHEET),ni);exports.UniverSheetsUIPlugin=d1([ti(1,k.Inject(k.Injector)),ti(2,k.Inject(l.LocaleService)),ti(3,E.IRenderManagerService),ti(4,l.IUniverInstanceService)],exports.UniverSheetsUIPlugin);exports.APPLY_TYPE=ce;exports.ApplyFormatPainterCommand=Fi;exports.AutoFillCommand=In;exports.COPY_TYPE=mt;exports.CellAlertType=jt;exports.CellEditorManagerService=Ks;exports.DATA_TYPE=_e;exports.ExpandSelectionCommand=Ye;exports.IAutoFillService=Ot;exports.ICellEditorManagerService=Dn;exports.IEditorBridgeService=je;exports.IFormulaEditorManagerService=Yi;exports.IMarkSelectionService=Gt;exports.ISelectionRenderService=Me;exports.ISheetClipboardService=Ct;exports.JumpOver=et;exports.MoveSelectionCommand=Fe;exports.PASTE_SPECIAL_MENU_ID=Jt;exports.PREDEFINED_HOOK_NAME=Ee;exports.ResetScrollCommand=Wc;exports.SHEET_UI_PLUGIN_NAME=tl;exports.SHEET_VIEW_KEY=ue;exports.ScrollCommand=Mt;exports.ScrollToCellCommand=Os;exports.SelectionShape=_i;exports.SetCellEditVisibleArrowOperation=Tn;exports.SetCellEditVisibleOperation=Le;exports.SetRangeBoldCommand=yn;exports.SetRangeItalicCommand=Pn;exports.SetRangeStrickThroughCommand=On;exports.SetRangeUnderlineCommand=En;exports.SetScrollOperation=ft;exports.SetScrollRelativeCommand=Sn;exports.SetZoomRatioOperation=$e;exports.SheetCopyCommand=Ko;exports.SheetCutCommand=Qo;exports.SheetMenuPosition=Ce;exports.SheetPasteColWidthCommand=Li;exports.SheetPasteCommand=qt;exports.SheetPasteShortKeyCommand=Ti;exports.VIEWPORT_KEY=Q;exports.deriveStateFromActiveSheet$=Oe;exports.expandToContinuousRange=Ms;exports.getAutoFillRepeatRange=pl;exports.getCommentDisable$=Yc;exports.getCoordByCell=Po;exports.getCoordByOffset=Yt;exports.getCurrentRangeDisable$=oe;exports.getEditorObject=ki;exports.getRepeatRange=hc;exports.getSheetObject=It;exports.getTransformCoord=ri;exports.mergeSetRangeValues=Mo;exports.rangeToDiscreteRange=Bt;exports.useActiveWorkbook=au;exports.useActiveWorksheet=lu;exports.useHighlightRange=Ja;exports.virtualizeDiscreteRanges=Zt;exports.whenFormulaEditorActivated=El;exports.whenSheetEditorFocused=le;
|